El Apretón de Manos

Cuando comenzaste a leer esta historieta, tu navegador puso un candado verde en la barra de direcciones.

¿Cómo fue que sucedió eso?

Tu navegador se comunicó con nuestro servidor, donde está hospedada esta historieta, y ambos establecieron una conexión segura para transmitirse mensajes.

Pero primero, tuvieron que ponerse de acuerdo en cómo comunicarse en forma segura.

Si esta negociación no resulta, tu navegador te avisa mostrando un error o advertencia.
Si se llega a un acuerdo, tu navegador está feliz de indicarlo, poniendo un candado verde en la barra de direcciones.

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.

Navegapájaro será tu navegador.
Compuperro será nuestro servidor.

¡Vamos chicos!

¿Listos? Acá vemos cómo funciona el 'apretón de manos' en cámara lenta.

Palmas con la izquierda
Palmas con la derecha
Teléfono vertical
Teléfono rota a horizontal
Cosquillitas

¡Listo!

Hagámoslo de nuevo, pero más rápido.

Palma izquierda - Palma derecha - Teléfono - Teléfono rotado - Cosquillas.

¡D-E N-U-E-V-O!

¡Paren!

Analicémoslo de nuevo. Paso a paso.

Paso Uno: Palma izquierda. Alias 'Hola del Cliente' ('Client Hello').

Te envío una lista de versiones y algoritmos de cifrado SSL/TLS que puedo usar con Compuperro.

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.

Paso dos: Palma derecha. Alias 'Hola del Servidor' ('Server Hello').

Elijo la mejor versión y algoritmo de cifrado SSL/TLS entre los que me envió Navegapájaro, basado en mis preferencias.

Respondo con mi certificado, que incluye mi llave pública, para que así puedan verificar quién soy yo.

Paso tres: Teléfono vertical. Alias 'Intercambio de Llave de Cliente' ('Client Key Exchange').

Reviso el certificado de Compuperro para asegurarme que es legítimo.

Creo una 'llave pre-maestra' que podemos usar ambos después, cuando creemos una llave única.

Cifro esta llave pre-maestra con la llave pública de Compuperro y entonces se la envío.

Paso cuatro: Teléfono rota a horizontal. Alias 'Cambio en especificación de cifrado' ('Change Cipher spec').

Uso mi llave privada para descifrar la llave pre-maestra.

Hasta el momento toda la comunicación ha sido a la vista de todos. No han asegurado ninguno de los mensajes.

Han usado llaves asimétricas (públicas y privadas) para cifrar la llave pre-maestra, para que nadie haya podido espiarla.

Ahora que ambos generaron el mismo 'secreto compartido', es que lo usarán como llave simétrica.
Y Navegapájaro envía una prueba: '¡Que tal! Este es un mensaje cifrado con el secreto compartido. ¿Puedes leerlo? Desde ahora en adelante, cifraré todo con esta llave.'
Compuperro responde: '¡Sí! Lo veo perfecto. Revisa que tu también puedas leer esto. Desde ahora en adelante, cifraré todo con esta llave.'
Paso cinco: Cosquillitas. Alias 'Todo está seguro ahora'.
Ahora todos los datos enviados y recibidos entre Navegapájaro y Compuperro están seguros, por el resto de la sesión.

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.

Próximamente en HowHTTPS.works...

HTTPS, SSL, TLS, ¡oh cielos! Acabo de hacer una sopa de letras para el almuerzo. ¿Qué significan? ¿Son todas la misma cosa?

Siga leyendo