Comprobar que una carta es real, la firma
En la leccion pasada vimos que lo que cierra una clave publica solo abre con la clave privada pareja. Pero a veces un mensaje no necesita ser secreto, y solo quieres confirmar que de verdad vino de esa persona. Y si alguien tomara su nombre y enviara una carta falsa? Y si el remitente dejara una marca tipo sello con la clave privada que solo el tiene, y cualquiera pudiera comprobar que esa marca es genuina usando la clave publica de esa persona?
Si no sabes quien lo envio
Digamos que llega una carta.
Al final hay el nombre de alguien.
Pero de verdad lo escribio esa persona?
Cualquiera puede copiar un nombre.
El contenido tambien pudo ser alterado en silencio.
Solo por las letras no hay forma de saberlo.
No es cuestion de secreto o no.
El contenido puede estar del todo a la vista.
Solo quieres saber si vino de verdad de esa persona,
y si quedo sin cambios por el camino.
Examina una carta con solo un nombre. Por el texto solo no distingues un nombre copiado de uno real, ni si el contenido cambio.
Probarlo tu mismo resulto frustrante.
Aun con un nombre escrito, no puedes estar seguro.
La carta alterada tambien se veia perfecta.
Necesitamos dos cosas.
Una, prueba de que vino de verdad de esa persona.
Dos, prueba de que quedo sin cambios por el camino.
Seria bueno tener una marca que muestre ambas a la vez.
Y debe ser una que nadie mas pueda imitar.
Por suerte, el par de llaves de la leccion pasada
puede hacer justo eso.
Firma con la clave privada
En la leccion pasada cerraste con la clave publica del destinatario.
Una firma va en direccion opuesta.
El remitente usa su propia clave privada.
Con la clave privada adjunta una firma al mensaje.
Esto no es cerrar con un candado.
Es mas como estampar un sello junto al mensaje.
El contenido queda del todo visible.
Solo que ese sello viaja con el.
Como solo esa persona tiene la clave privada,
solo esa persona puede estampar este sello.
Toca la clave privada para adjuntar una firma al mensaje. El contenido sigue visible, y un sello que solo esa persona puede hacer viaja con el.
Al tocar la clave privada, se adjunto una firma.
Ni una letra del mensaje quedo oculta.
No se cerro, solo se anadio un sello.
Esta firma esta ligada al contenido del mensaje.
Justo ese punto importa a continuacion.
Y para estampar este sello,
debes tener la clave privada de esa persona.
La clave privada nunca deja la mano de su dueno,
asi que nadie mas puede hacer el mismo sello.
Entonces, como comprueba esto el lado receptor?
Verifica con la clave publica
El receptor usa la clave publica de esa persona.
Una clave publica, recuerda, esta abierta a todos.
Con esa clave publica verifica la firma.
Verificar es hacer una pregunta.
Fue este sello estampado de verdad con esa clave privada?
Si es asi, la verificacion pasa.
La clave publica y la privada son un par,
asi que pasa solo cuando el par coincide.
Un sello estampado con la clave privada de otra persona
falla al comprobarlo contra esa clave publica.
Verifica varias firmas con la clave publica de esa persona. Solo la estampada por la clave privada pareja pasa, las otras fallan.
Solo la firma estampada por la clave privada pareja paso.
Las estampadas con una llave equivocada fallaron todas.
Lo que significa pasar es claro.
Este mensaje vino de verdad de esa persona.
La clave publica esta bien para que la tenga el mundo entero.
Con una clave publica solo puedes verificar, no hacer una firma.
El poder de estampar el sello es solo del dueno de la clave privada,
mientras que comprobar el sello esta abierto a cualquiera.
Este es el reflejo de espejo del cierre de la leccion pasada.
Pero pasar no habla solo de autenticidad.
Real, y sin cambios
La firma esta firmemente ligada al contenido del mensaje.
Asi que pasar la verificacion dice dos cosas a la vez.
Una es autenticidad, que vino de verdad de esa persona.
La otra es integridad, que ni un caracter cambio.
Si alguien altera el contenido aunque sea un poco por el camino,
ya no encaja con la firma ligada.
Entonces la verificacion se rompe al instante.
Un solo caracter cambiado se vuelve la alarma.
Asi que pasar significa tanto que es real
como que no se toco por el camino.
Cambia un caracter del mensaje firmado. La firma ligada al contenido ya no encaja, y la verificacion se rompe.
Solo un caracter cambiado,
y la verificacion paso a fallo al instante.
La firma ligada ya no coincide.
El receptor ve este fallo y se da cuenta
de que esto no esta como estaba al principio.
Asi que puede detenerse en vez de confiar a la ligera.
Justo esta ruptura protege la integridad.
No hay forma de ser enganado para tomar un mensaje alterado como real.
Autenticidad e integridad, un sello protege ambas a la vez.
Ahora pongamos cerrar y firmar lado a lado.
Resumamos
Reunido en una linea, es esto.
Una firma digital usa la criptografia de clave publica al reves.
El remitente firma el mensaje con su propia clave privada.
El receptor verifica con la clave publica de esa persona.
Si pasa, se prueba a la vez que vino de verdad de esa persona
y que quedo sin cambios por el camino.
Cerrar mantiene secreto el contenido,
firmar prueba quien lo envio y que no fue alterado.
El mismo par de llaves, solo invertido en direccion, hace ambas cosas.
Cerrar es para el secreto, firmar es para la autenticidad y la integridad.
Toca cerrar y firmar para comparar. Cerrar es para el secreto, firmar para la autenticidad y la integridad, la diferencia en una linea.
Ahora conoces la diferencia entre cerrar y firmar.
Cerrar guarda un secreto,
firmar prueba que es real y sin cambios.
Ambos salen del mismo par de llaves.
Cierra con la clave publica del destinatario para el secreto,
firma con la clave privada del remitente para autenticidad e integridad.
Una sola direccion separa el uso.
Pero para que la verificacion se sostenga, hay una premisa.
Esa clave publica debe pertenecer de verdad a esa persona.
Como confias en esa clave publica es la proxima historia.