6Firma digital

Las firmas digitales son uno de los desarrollos más importantes relativos al uso de criptografía de clave pública, ya que proporcionan un conjunto de capacidades que serían difíciles de implementar en cualquier otra forma. 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. Las firmas digitales son fácilmente transportables y no pueden ser imitadas por una persona que no sea el remitente real.

Las firmas digitales se basan en las firmas manuscritas. Dichas firmas manuscritas deben satisfacer las siguientes propiedades:

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:

  1. Calcular el hash del documento que debe ser firmado.
  2. Usando criptografía de clave pública, se debe cifrar el hash calculado en el paso anterior con la clave privada del remitente para obtener la firma digital.
  3. Añadir la firma digital al documento.
image
Fig 6.1 Hash based digital signature

El receptor puede verificar la autenticidad de esta firma digital siguiendo los siguientes pasos:

  1. Evaluar el hash del documento (excluyendo la parte de firma digital).
  2. Usando criptografía de clave pública, descifrar la firma digital con la clave pública del remitente para obtener el hash del mensaje.
  3. Comparar los resultados obtenidos en los dos pasos.
image
Fig 6.2 Proceso de verificación de una firma digital basada en hash

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.