Cerrarlo para que nadie espíe: HTTPS
Imagina escribir tu contraseña en una postal. Cualquiera por cuyas manos pase puede leerla. El HTTP normal es justo así: lo que envías y recibes queda a la vista ahí, en el camino. Entonces, ¿cómo puedes enviar con tranquilidad el número de una tarjeta por internet? Ese secreto es HTTPS.
Alguien espía en medio
Como vimos la lección pasada,
HTTP es la promesa de intercambiar petición y respuesta.
Pero ese contenido
pasa por el camino como letras a la vista.
Cualquiera sentado en medio
puede echar un vistazo y leerlo todo.
Contraseñas, números de tarjeta, todo.
Es como enviar una postal.
Todos por cuyas manos pasa pueden leerla.
Toca a la 'persona en medio' del camino para espiar un mensaje HTTP en claro. El secreto se lee tal cual.
Ahora vemos que lo espían,
porque el contenido queda abierto en el camino.
¿Cómo lo impedimos?
No podemos cortar el camino ni quitar a la persona en medio.
Internet pasa por muchas manos por naturaleza.
Así que damos la vuelta a la idea.
Hacer que sea ilegible aunque lo vean.
Cerramos el contenido bajo llave.
Esa es la próxima historia.
Ciérralo con llave
El primer paso es cerrar con llave.
Antes de enviar, revolvemos el contenido
para que no se pueda descifrar.
Esto se llama cifrado.
El contenido cerrado son letras revueltas,
así que la persona en medio no ve sentido.
Solo el receptor lo abre y lo vuelve al original.
Es como enviar la postal dentro de una caja cerrada.
Ves la caja, pero no lo que hay dentro.
Toca el mensaje para cerrarlo (cifrar). Una vez cerrado, las letras quedan revueltas y la persona en medio no puede leerlo.
Cerrado, la persona en medio no puede leerlo.
Eso tranquiliza.
Pero hay una parte difícil.
El receptor tiene que abrir lo que cerramos.
Para eso, debemos entregar la llave.
Pero si enviamos esa llave por el camino,
la persona en medio se lleva también la llave.
Es como cerrarlo y enviar la llave junto a ello.
¿Cómo resolvemos este dilema?
Reparte el candado, guarda la llave
Hay un truco ingenioso.
Separamos el candado de la llave que abre.
Cualquiera puede tomar el candado
y cerrarlo. A esto lo llamamos clave pública.
Lo que cierra solo se abre con mi clave privada.
Así que no importa esparcir el candado por el camino.
Solo puede cerrar, nunca abrir.
Si cierras con el candado que envió un receptor,
solo se abre con la clave privada de ese receptor.
El receptor reparte una clave pública (un candado). Cierra con ella y envía, y solo la clave privada de esa persona lo abre. La llave de la persona en medio no.
Ahora el dilema de la llave está resuelto.
Podemos repartir el candado libremente,
porque la clave privada que abre queda solo en mi mano.
Aunque la persona en medio agarre el candado,
solo puede cerrar, nunca abrir.
Pero aún queda una cosa.
Ese otro lado que me entregó el candado,
¿es de verdad el sitio que buscaba?
¿Y si un impostor tendió el candado?
Comprueba que es real
La última pieza es comprobar la identidad.
Junto con el candado, el sitio
también presenta un certificado, un documento de identidad.
Es una prueba emitida por un lugar de confianza.
El receptor mira ese certificado
y confirma: "ah, este de verdad es el sitio".
Un sitio falso no puede presentar tal prueba.
Así que cuando el certificado no coincide,
salta un aviso y nos detiene.
Dos sitios presentan certificados. Toca cada uno para comprobar si es real. El real pasa, el falso lanza un aviso.
Ahora lo tenemos todo.
El contenido está cerrado para que no se pueda leer,
la clave privada que abre es solo mía,
y un certificado comprueba que el otro lado es real.
Con estas tres juntas,
estamos a salvo aunque haya alguien en medio.
No pueden leerlo, y un impostor queda al descubierto.
El icono del candado en la barra de direcciones
significa justo que esta promesa está activada.
Resumamos
Reunido en una línea, es esto.
El HTTP normal va en claro, así que todo se ve en medio.
HTTPS cierra el contenido (cifrado).
El candado, una clave pública, se entrega a cualquiera,
y lo que cierra solo se abre con mi clave privada.
Un certificado comprueba además que el otro lado es real.
Así hasta un número de tarjeta se envía con tranquilidad.
HTTPS es el último cierre del viaje por la red.
Toca los puntos clave en orden para repasar. (el texto en claro se espía → ciérralo → reparte el candado, guarda la privada → comprueba lo real por certificado)
Aquí termina la historia de la red.
Desde qué es una red,
hasta los paquetes, encontrar rutas, las direcciones, la entrega fiable,
y ahora cerrarlo para que nadie espíe.
Vimos todas las promesas por las que
una sola letra pequeña cruza internet
y llega completa, correcta y segura.
Bien hecho. De ahora en adelante, al mirar internet,
verás las promesas que hay detrás.