TEMAS | Tecnología | SSL
         
 

A finales del siglo XX, Netscape Communications Corporation se embarcó en la tarea de desarrollar un protocolo que permitiera el intercambio seguro de información entre un usuario y un servidor, sin importar el sistema operativo utilizado por ambos.

En 1994, Netscape culminó su primera versión de este protocolo, al que denominó Secure Sockets Layer o SSL (Capa Segura de Conexiones) Esta versión nunca salió al mercado y sólo meses después salió a la calle una actualización bajo el nombre de SSL 2.0.

La versión 3.0 de SSL salió en 1995 y desde entonces ha sido la solución más ampliamente implementada para el establecimiento de comunicaciones seguras entre usuarios y servidores.

Su éxito se ha debido a la facilidad de su implementación por parte de los administradores de sistemas y a la transparencia para el usuario que desea conectarse al servidor, quien no tendrá que realizar ninguna acción para resguardar el intercambio de información.

¿Cómo trabaja SSL?

Para establecer una sesión segura a través de SSL, el cliente debe hacer una solicitud al servidor para establecer comunicación. En ese momento, ambos acuerdan las condiciones para la autenticación de los involucrados y el cifrado de la información a intercambiar. Este proceso se da sin que el usuario que se encuentra frente al computador tenga noción de que estos pasos se están dando.

Este trámite de negociación es realizado a través del protocolo Handshake, parte importante del SSL, y consta de las siguientes fases:

Saludo: Cliente y servidor intercambian mensajes para establecer el conjunto de algoritmos que utilizarán para mantener la privacidad de las comunicaciones durante la sesión segura. El cliente informa al servidor qué algoritmos de criptografía puede utilizar, solicita una verificación de la identidad del servidor y le envía un número aleatorio. El servidor responde enviando su identificador digital (un certificado que el administrador debe tramitar previamente con un ente certificador) el cual incluye su clave pública, el conjunto de algoritmos criptográficos (código que se va a utilizar para cifrar los datos) y de compresión y otro número aleatorio. En ocasiones, el servidor también puede pedir al cliente que se identifique solicitando un certificado.
Aprobación del Cliente: En esta fase, el usuario verifica la validez del certificado del servidor, comprobando su vigencia (Período de validez) y procedencia (Ente emisor). Para ello, el cliente desencripta la información recibida usando la clave pública del emisor. Si éste aprueba al servidor, le envía una clave maestra encriptada con la clave pública del servidor, la misma servirá para que ambos se reconozcan durante la sesión segura, en el caso de que el handshake concluya con éxito.
Verificación: Cliente y servidor se reenvían los mensajes compartidos, hasta el momento encriptados, con la clave maestra establecida en el paso anterior. Si ambas partes confirman que no ha habido interrupción en sus comunicaciones se culmina exitosamente el proceso de handshake y se inicia la sesión segura.
 

Al finalizar el handshake ambas partes han acordado la clave secreta y los algoritmos criptográficos y de compresión a ser utilizados para compartir información de forma segura. Cabe destacar que se genera una clave secreta para cada sesión; de esta manera, si la contraseña es descifrada por un tercero, ésta no podrá utilizarla para interceptar datos de nuevas sesiones.

Mientras dure la sesión, cliente y servidor intercambian datos fragmentando los mensajes y comprimiéndolos a través del protocolo record o de registro. A cada parte de bloque dividido se le adjunta la información necesaria para que el receptor logre reorganizarlo.

Durante una misma sesión pueden establecerse varias comunicaciones entre cliente y servidor. Además, una vez finalizada una sesión esta puede retomarse mediante un proceso más corto de Handshake sin poner en riesgo la seguridad de la comunicación.

Preguntas Frecuentes

¿Por qué es insegura la transmisión de datos por Internet?

En los paquetes de datos que viajan a través del protocolo TCP (Estándar de Internet) la información es transmitida en un formato que permite que sea leída por terceros que logren interceptarla.

¿Por qué es seguro SSL?

SSL codifica los datos enviados a través de protocolo TCP utilizando un algoritmo distinto en cada sesión (el cual es acordado por cliente y servidor), de esta forma si la comunicación es interrumpida por un tercero, este no podrá descifrar la información contenida en el mensaje.

Aunque los algoritmos que SSL utiliza para codificar los datos compartidos en una comunicación segura son conocidos, el interceptor debe conseguir descifrar cuál es el que se está usando en una sesión determinada mientras dure la misma.

¿Por qué es versátil SSL?

SSL trabaja en una capa intermedia encima de TCP y debajo de protocolos como HTTP, IMAP y LDAP, lo que le permite brindar seguridad a diferentes herramientas en la red (FTP, Correo electrónico, etc.) y no sólo a las de comercio electrónico.

¿Cómo sé que estoy en un sitio seguro?

Cuando se visita un sitio seguro, la barra de estado del navegador mostrará un candado amarillo cerrado. Haciendo clic en el mismo es posible acceder a la información del certificado del servidor.


Enlaces

Artículo de SSL en el Consejo Superior de Investigaciones Científicas de España