cómo Qué es una firma digital
En la lección pasada vimos que lo que cierra una clave pública 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 él tiene, y cualquiera pudiera comprobar que esa marca es genuina usando la clave pública de esa persona?
Si no sabes quién lo envió
Digamos que llega una carta.
Al final hay el nombre de alguien.
Pero de verdad lo escribió esa persona?
Cualquiera puede copiar un nombre.
El contenido también pudo ser alterado en silencio.
Solo por las letras no hay forma de saberlo.
No es cuestión 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 quedó 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 cambió.
Probarlo tú mismo resultó frustrante.
Aun con un nombre escrito, no puedes estar seguro.
La carta alterada también se veía perfecta.
Necesitamos dos cosas.
Una, prueba de que vino de verdad de esa persona.
Dos, prueba de que quedó sin cambios por el camino.
Sería bueno tener una marca que muestre ambas a la vez.
Y debe ser una que nadie más pueda imitar.
Por suerte, el par de llaves de la lección pasada
puede hacer justo eso.
Firma con la clave privada
En la lección pasada cerraste con la clave pública del destinatario.
Una firma va en dirección 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 más como estampar un sello junto al mensaje.
El contenido queda del todo visible.
Solo que ese sello viaja con él.
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 él.
Al tocar la clave privada, se adjuntó una firma.
Ni una letra del mensaje quedó oculta.
No se cerró, solo se añadió un sello.
Esta firma está ligada al contenido del mensaje.
Justo ese punto importa a continuación.
Y para estampar este sello,
debes tener la clave privada de esa persona.
La clave privada nunca deja la mano de su dueño,
así que nadie más puede hacer el mismo sello.
Entonces, cómo comprueba esto el lado receptor?
Verifica con la clave pública
El receptor usa la clave pública de esa persona.
Una clave pública, recuerda, está abierta a todos.
Con esa clave pública verifica la firma.
Verificar es hacer una pregunta.
Fue este sello estampado de verdad con esa clave privada?
Si es así, la verificación pasa.
La clave pública y la privada son un par,
así que pasa solo cuando el par coincide.
Un sello estampado con la clave privada de otra persona
falla al comprobarlo contra esa clave pública.
Verifica varias firmas con la clave pública de esa persona. Solo la estampada por la clave privada pareja pasa, las otras fallan.
Solo la firma estampada por la clave privada pareja pasó.
Las estampadas con una llave equivocada fallaron todas.
Lo que significa pasar es claro.
Este mensaje vino de verdad de esa persona.
La clave pública está bien para que la tenga el mundo entero.
Con una clave pública solo puedes verificar, no hacer una firma.
El poder de estampar el sello es solo del dueño de la clave privada,
mientras que comprobar el sello está abierto a cualquiera.
Este es el reflejo de espejo del cierre de la lección pasada.
Pero pasar no habla solo de autenticidad.
Real, y sin cambios
La firma está firmemente ligada al contenido del mensaje.
Así que pasar la verificación dice dos cosas a la vez.
Una es autenticidad, que vino de verdad de esa persona.
La otra es integridad, que ni un carácter cambió.
Si alguien altera el contenido aunque sea un poco por el camino,
ya no encaja con la firma ligada.
Entonces la verificación se rompe al instante.
Un solo carácter cambiado se vuelve la alarma.
Así que pasar significa tanto que es real
como que no se tocó por el camino.
Cambia un carácter del mensaje firmado. La firma ligada al contenido ya no encaja, y la verificación se rompe.
Solo un carácter cambiado,
y la verificación pasó a fallo al instante.
La firma ligada ya no coincide.
El receptor ve este fallo y se da cuenta
de que esto no está como estaba al principio.
Así que puede detenerse en vez de confiar a la ligera.
Justo esta ruptura protege la integridad.
No hay forma de ser engañado 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 línea, es esto.
Una firma digital usa la criptografía de clave pública al revés.
El remitente firma el mensaje con su propia clave privada.
El receptor verifica con la clave pública de esa persona.
Si pasa, se prueba a la vez que vino de verdad de esa persona
y que quedó sin cambios por el camino.
Cerrar mantiene secreto el contenido,
firmar prueba quién lo envió y que no fue alterado.
El mismo par de llaves, solo invertido en dirección, 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 línea.
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 pública del destinatario para el secreto,
firma con la clave privada del remitente para autenticidad e integridad.
Una sola dirección separa el uso.
Pero para que la verificación se sostenga, hay una premisa.
Esa clave pública debe pertenecer de verdad a esa persona.
Cómo confias en esa clave pública es la próxima historia.