El protocolo SSL (Secure Sockets Layer) fue diseñado originalmente por la empresa Netscape para proporcionar comunicaciones seguras entre un navegador y un servidor Web, pero se puede utilizar en cualquier otro tipo de conexión cliente/servidor. El protocolo SSL proporciona los siguientes servicios de seguridad:
- Autenticación.
- Confidencialidad.
- Integridad.
El protocolo TLS (Transport Layer Security) es una evolución del protocolo SSL, una versión avanzada, que proporciona más algoritmos criptográficos y mayor seguridad frente a nuevos ataques, pero opera de igual forma que SSL.
¿Cómo funciona el protocolo SSL?
Antes de poder garantizar una comunicación segura entre una cliente y un servidor, se deben acordar o negociar una serie de parámetros en la comunicación en unas fases previas, es lo que se conoce como acuerdo o handshake (apretón de manos), el SSL/TLS Handshake Protocol. Por otra parte, el protocolo SSL/TLS Record Protocol especifica la forma de encapsular los datos transmitidos y recibidos, incluso los de negociación.
Te indicamos de manera simplificada las fases que se siguen con SSL.
- Fase inicial. Negociar los algoritmos criptográficos a utilizar.
- Fase de autenticación y clave de sesión. Intercambio de claves y autenticación mediante certificados, utilizando criptografía asimétrica. Se crea la clave para cifrar los datos transmitidos con criptografía simétrica, para agilizar las transmisiones.
- Fase fin. Verificación del canal seguro.
- A partir de aquí, comunicación segura.
Una vez negociados los parámetros de comunicación queda establecido el canal seguro, pero si falla la negociación, la comunicación o canal no se establece.
En su funcionamiento se pueden utilizar entre otros, los siguientes algoritmos:
- Algoritmos de cifrado simétrico: DES, 3DES, RC2, RC4, IDEA.
- Algoritmos de clave pública: RSA.
- Algoritmos de resumen: MD5, SHA.
- Certificados: DSS, RSA.
- Clave de sesión distinta en cada transacción.
Se trata por tanto de un protocolo de cifrado híbrido, que utiliza criptografía asimétrica en las fases de negociación y criptografía simétrica en la transmisión de datos.