seegongsik
Redes

Cómo funciona HTTPS

Imagina que escribes tu contraseña en una postal. Cualquiera en las oficinas de correos por las que pasa podría leerla sin que te enteres. El HTTP normal es igual: lo que envías y recibes se ve tal cual por el camino. Y, sin embargo, enviamos números de tarjeta por internet sin preocuparnos. El secreto es HTTPS.

01

Alguien espía en medio

Como hemos visto, HTTP es el acuerdo para intercambiar peticiones y respuestas. Pero con el HTTP normal, el contenido viaja por el camino como texto plano.
Un paquete pasa por el router de casa y por muchos otros routers, y cualquiera que mire por el camino puede leer contraseñas y números de tarjeta tal cual. Es como enviar una postal: todos por cuyas manos pasa pueden leerla. El número de la cookie que nos preocupaba en la lección anterior queda igual de expuesto.

>
Yo
PW: 1234
#
Sitio
Toca a la "persona en medio" del camino para espiar

Toca a la "persona en medio" del camino para espiar un mensaje enviado por HTTP normal. El secreto se lee tal cual.

Comprobamos que basta con espiar para leerlo todo, porque el contenido va al descubierto por el camino.
Entonces, ¿cómo evitarlo? No podemos cortar el camino ni quitar a todos los que están en medio: internet se construyó como un camino que pasa por muchas manos. Así que cambiamos la idea: hacer que, aunque se vea, no se pueda leer. Ponerle un candado al contenido.

02

Ponerle candado

El primer paso es cerrar con candado. Antes de enviar, el contenido se revuelve siguiendo una regla fija para que nadie pueda entenderlo. Esto se llama cifrado, y devolver el contenido revuelto a su forma original se llama descifrado.
El contenido cerrado es un revoltijo de caracteres, así que la persona en medio no le encuentra sentido. Solo quien recibe, que tiene la llave, lo devuelve al texto original. Es como enviar la postal dentro de una caja con candado: se ve la caja, pero no lo que hay dentro.

Persona en mediolegible
Toca el mensaje para cerrarlo (cifrar)

Toca el mensaje para cerrarlo con candado (cifrado). Una vez cerrado, los caracteres quedan revueltos y la persona en medio no puede leerlos.

Con el candado puesto, la persona en medio no puede leerlo. Pero queda una dificultad: para abrirlo, quien recibe necesita la llave.
No puedes haber compartido una llave de antemano con un sitio que visitas por primera vez, así que la llave también tendría que viajar por el camino. Y entonces la persona en medio se quedaría también con la llave. Sería como cerrar la caja y enviar la llave junto con ella. ¿Cómo se resuelve esto?

03

Repartir el candado, guardar la llave

Hay una solución ingeniosa: fabricar por separado el candado que cierra y la llave que abre. Cualquiera puede llevarse el candado y cerrarlo; a esto se le llama clave pública. Lo que se cierra con él solo se abre con la clave privada que le corresponde.
Por eso no importa repartir el candado por el camino: solo sirve para cerrar, nunca para abrir. Si cierras algo con el candado que repartió quien recibe, solo se abre con la clave privada que únicamente esa persona tiene.

[ ]PW: 1234
Primero, cierra con la clave pública (candado) que dio el receptor

Quien recibe reparte una clave pública (el candado). Si cierras con ella y envías, solo la clave privada de esa persona lo abre. La llave de la persona en medio no sirve.

Ahora el problema de la llave está resuelto. El candado se puede repartir libremente, porque la clave privada que lo abre solo está en manos de quien recibe.
En el HTTPS real, este método se usa una sola vez al principio para acordar de forma segura una llave secreta que comparten los dos lados; a partir de ahí, esa llave sirve para cerrar y abrir rápido. Pero todavía queda algo. ¿Quien te dio el candado es de verdad el sitio que buscabas? ¿Y si un impostor te hubiera ofrecido su propio candado?

04

Comprobar que es auténtico

La última pieza es comprobar la identidad. Junto con el candado, el sitio presenta un documento de identidad llamado certificado. Un certificado es un documento en el que una entidad de confianza garantiza que "este candado pertenece de verdad a este sitio".
El navegador ya tiene una lista de entidades de confianza, así que mira el certificado y comprueba si es auténtico. Un sitio falso no puede conseguir esa garantía, de modo que, si el certificado no coincide, aparece una advertencia que nos detiene.

[?]
mybank.com
[?]
rnybank.com
Toca el certificado de cada sitio para comprobar si es real

Dos sitios presentan certificados. Toca cada uno para comprobar si es auténtico. El auténtico pasa; el falso muestra una advertencia.

Ya está todo listo. El contenido va cerrado para que no se pueda leer, solo quien recibe tiene la clave privada que lo abre, y un certificado comprueba que el otro lado es auténtico. Con estas tres cosas juntas, estamos tranquilos aunque haya alguien en medio: no puede leer nada, y un impostor queda al descubierto.
El candado de la barra de direcciones significa justamente que este acuerdo está activado. Pero el candado solo indica que la conversación está cerrada; no garantiza que el sitio en sí sea de fiar.

05

En resumen

En pocas palabras: el HTTP normal deja el contenido al descubierto, así que en medio se ve todo. HTTPS le pone candado al contenido (cifrado).
El candado, la clave pública, se reparte a cualquiera, y lo que cierra solo se abre con la clave privada que le corresponde. Un certificado comprueba además que el otro lado es auténtico. Por eso se pueden enviar sin miedo números de tarjeta y también cookies de inicio de sesión.

Toca los puntos clave en orden para repasar

Toca en orden los puntos clave para repasar. (el texto plano se puede espiar → cerrarlo con candado → repartir el candado, guardar la clave privada → comprobar con un certificado que es auténtico)

Ahora ya sabes cómo se protegen los datos que viajan por la red: cerrarlos con candado, guardar la llave y comprobar quién está al otro lado.
Hasta aquí hemos visto, uno por uno, los paquetes, las direcciones, la búsqueda de rutas, la búsqueda de nombres, la entrega fiable, las conversaciones de la web y cómo se protegen. La próxima lección junta todas estas piezas y sigue, de principio a fin, todo lo que ocurre desde que escribes una dirección hasta que la página aparece en pantalla.

En una líneaEl HTTP normal deja el contenido al descubierto, así que cualquiera en medio puede espiarlo. HTTPS le pone candado al contenido (cifrado), de modo que, aunque se vea por el camino, es un revoltijo que no se puede leer. Hay dos ideas clave. Primera: el candado llamado clave pública se reparte a cualquiera, pero lo que cierra solo se abre con la clave privada que le corresponde. Segunda: un certificado comprueba primero que el otro lado es de verdad ese sitio. Por eso puedes enviar un número de tarjeta por internet sin preocuparte.
← Redes
¿Te fue útil? Apoyar seegongsik