Una firma digital es una firma electrónica que se puede utilizar para autenticar la identidad del remitente de un mensaje o el firmante de un documento. Asimismo, también garantiza la integridad del mensaje.
La firma digital de un remitente para un documento no puede ser generada por ningún otro usuario. La firma digital es una herramienta necesaria para el no repudio; si un usuario recibe un documento firmado por un determinado remitente, este remitente no podrá posteriormente negar que él ha enviado el documento.
Las firmas digitales se basan en las firmas manuscritas, por ello presentaremos en primer lugar las propiedades que estas últimas deben satisfacer:
En la práctica, ninguna de estas características se cumplen al cien por cien en las firmas manuscritas. Las firmas digitales también deben satisfacer todos esos requisitos.
Sin embargo, aparecen nuevos problemas asociados a aspectos prácticos de la firma digital. Los documentos digitales pueden copiarse fácilmente, parte de un documento se puede transmitir a otro documento y un documento firmado se puede modificar fácilmente. Por lo tanto, se deben formular nuevos requisitos adicionales para una firma digital:
Una firma digital se puede utilizar con cualquier tipo de mensaje, ya sea cifrado o no, se trata simplemente que el receptor puede estar seguro de la identidad del remitente y que el mensaje ha llegado intacto (no ha sido modificado).
Hay varios esquemas posibles para firma digital. Uno de los esquemas más aceptados se basa en las funciones hash. En este caso, si un usuario desea firmar digitalmente un documento debe seguir los siguientes pasos:
El receptor puede verificar la autenticidad de esta firma digital siguiendo los siguientes pasos:
Si los valores de hash obtenidos en los dos pasos son iguales, el destinatario sabe que los datos firmados no han sido modificados, y por tanto, la firma es correcta.