TLS (Transport Layer Security) es el protocolo que cifra las comunicaciones en la web (convierte HTTP en HTTPS). Es el sucesor de SSL, hoy obsoleto. Garantiza tres propiedades: confidencialidad (cifrado), integridad (no se altera) y autenticidad (el servidor es quien dice ser).
El handshake TLS es la negociación inicial donde cliente y servidor verifican identidades y acuerdan una clave secreta de sesión, combinando todo lo visto en el pilar: certificados, cifrado asimétrico, intercambio de claves y cifrado simétrico.
El handshake paso a paso (simplificado):
- ClientHello → el navegador saluda e indica qué versiones y algoritmos (cipher suites) soporta.
- ServerHello + Certificado → el servidor elige los parámetros y envía su certificado X.509.
- Verificación → el cliente valida el certificado contra una CA de confianza (¿válido?, ¿no vencido?, ¿firmado por una CA conocida?).
- Acuerdo de clave → mediante cifrado asimétrico / Diffie-Hellman se establece de forma segura una clave de sesión simétrica.
- Comunicación cifrada → a partir de aquí, todo se cifra con esa clave simétrica (rápida).
Por qué se combinan los dos tipos de cifrado (cifrado híbrido):
| Cifrado | Rol en TLS | Razón |
|---|---|---|
| Asimétrico (RSA/ECC/DH) | Acordar la clave de sesión | Permite hacerlo sin secreto previo |
| Simétrico (AES) | Cifrar todos los datos | Es mucho más rápido |
TLS usa lo mejor de cada uno: el asimétrico solo al inicio, para intercambiar la clave; el simétrico para el grueso del tráfico.
Notas de seguridad:
- Usar TLS 1.2 o 1.3; SSL y TLS 1.0/1.1 son inseguros.
- TLS 1.3 simplificó y aceleró el handshake, eliminando opciones débiles.
- Un certificado inválido o una advertencia del navegador no deben ignorarse.
El handshake TLS es el punto donde cifrado simétrico, asimétrico, Diffie-Hellman y certificados/PKI trabajan juntos. Es la aplicación práctica de todo el pilar de Criptografía y la base de HTTPS y las VPN.