Firma electrónica y firma digital
En criptografía aplicada, la firma electrónica es el mecanismo que permite comprobar quién firmó un documento y que nadie lo ha cambiado desde entonces. Su forma técnica fuerte es la firma digital, que combina una función hash con criptografía de clave pública, y su valor depende por completo de dos cosas que no son matemáticas: que la clave privada siga siendo privada y que alguien verifique la firma de verdad.
Qué es
«Firma electrónica» es el término amplio: cualquier dato en forma electrónica que se asocia a un documento y sirve para identificar a quien firma. Bajo esa etiqueta cabe desde la imagen de una rúbrica pegada en un PDF, que no demuestra gran cosa, hasta una firma respaldada por criptografía y por un certificado emitido por un tercero de confianza.
«Firma digital» es esta última, la forma técnica concreta, y es la única que permite demostrarle a un tercero que el documento no ha cambiado y que salió de una clave determinada. La distinción importa porque las dos se venden con la misma palabra: lo que aporta garantías no es que el proceso sea electrónico, sino que haya una clave privada detrás y una verificación que de verdad se ejecute.
Cómo funciona
Una firma digital combina una función hash con criptografía de clave pública. El firmante calcula el resumen del mensaje y cifra ese resumen con su clave privada; el resultado es la firma, que va adjunta al mensaje. Cualquiera que tenga la clave pública del firmante puede recalcular el resumen, contrastarlo con la firma descifrada y confirmar dos cosas a la vez: que el mensaje no cambió (integridad) y que vino del poseedor de la clave privada (autenticidad), que juntas dan el no repudio.
La confianza en la clave pública sale de una infraestructura de clave pública, así que una firma es tan fiable como lo sea el certificado que ata esa clave a una identidad, y quien lo emite es una autoridad de certificación. Se distingue de un código de integridad con clave como HMAC, que usa un secreto compartido y por eso no puede demostrar cuál de las dos partes lo produjo.
Qué sale mal
Las firmas fallan por los bordes, no por las matemáticas. Si el hash de debajo tiene rota la resistencia a colisiones (MD5 o SHA-1), un atacante puede construir dos mensajes con el mismo resumen, y una firma sobre uno es una firma válida sobre el otro, que es una falsificación en todo el sentido de la palabra. La verificación es el otro punto blando: una aplicación que acepta una firma sin comprobar que el certificado es válido, que no ha caducado y que no está revocado, o que confía en la identidad firmante equivocada, no gana nada con la criptografía.
En la cadena de suministro esto importa de forma directa: la firma de código existe para demostrar el origen del software, y un ataque a la cadena de suministro que abusa de una clave de firma robada o de una verificación laxa derrota justo el control que debía detenerlo. El horizonte cuántico aprieta además antes aquí que en el cifrado, porque un documento firmado hoy tiene que seguir siendo verificable dentro de muchos años, que es el terreno de la criptografía post-cuántica.
Dónde aparece esto en una auditoría
Allá donde una firma decide la confianza (código firmado, documentos firmados, registros DNS firmados con DNSSEC, tokens y actualizaciones) comprobamos el algoritmo y la verificación. Marcamos las firmas que se apoyan en un hash con la resistencia a colisiones rota y, con más frecuencia todavía, las verificaciones incompletas: validez y revocación del certificado sin comprobar, o un ancla de confianza demasiado amplia. El hallazgo se escribe contra el algoritmo débil o contra el paso de verificación que falta, porque una firma que no se verifica bien no le da autenticidad a nadie y es un control solo de nombre.