Cuando comenzaste a leer esta historieta, tu navegador puso un candado verde en la barra de direcciones.
¿Cómo fue que sucedió eso?
Pero primero, tuvieron que ponerse de acuerdo en cómo comunicarse en forma segura.
Este proceso, la negociación entre un navegador y un servidor, se le llama 'el apretón de manos'.
Sucede muy rápido. Te mostraremos cómo funciona.
¡Vamos chicos!
¿Listos? Acá vemos cómo funciona el 'apretón de manos' en cámara lenta.
¡Listo!
Hagámoslo de nuevo, pero más rápido.
¡D-E N-U-E-V-O!
¡Paren!
Analicémoslo de nuevo. Paso a paso.
Envío a Compuperro una lista de versiones de SSL/TLS y de algoritmos de cifrado con los que puedo trabajar. Hoy en día prefiero TLS 1.3, así que también envío un key_share.
Una palabra elegante para la lista de algoritmos de cifrado es 'suite de cifrado'.
Con eso ya puedes sonar profesional en tu próxima conversación de cena.
Los protocolos SSL y TLS han evolucionado a través del tiempo, hablaremos de ellos muy pronto.
Y después espero una respuesta de Compuperro.
Elijo TLS 1.3 y un conjunto de cifrado (cipher suite). También devuelvo mi key_share. A partir de aquí, TLS 1.3 cifra el resto del handshake.
Inmediatamente después envío mi certificado, que incluye mi clave pública, para que puedan verificar quién soy.
Reviso el certificado de Compuperro para asegurarme que es legítimo.
Como ambos enviamos un key share antes, ambos podemos derivar el mismo secreto, activando la confidencialidad.
Desde ServerHello (paso dos) en adelante, el handshake está cifrado.
Intercambian los mensajes Finished para demostrar que derivaron el mismo secreto — y listo, las claves de sesión están listas en un solo viaje.
Contraseñas, detalles de tarjeta de crédito, todo.
Simple, ¿cierto?
La próxima vez que te conectes a un sitio web seguro con HTTPS, dale a tu navegador unas palmas ahora que conoces su apretón de manos secreto.