Progreso del curso: 0%
Tema 34.4

Cómo funciona la firma digital

34.4 Cómo funciona la firma digital

La firma digital es el proceso mediante el cual se garantiza la autenticidad, integridad y no repudio de un documento electrónico. A diferencia de una firma manuscrita, que simplemente identifica al firmante, la firma digital es un mecanismo criptográfico que vincula matemáticamente el documento con la identidad del firmante de forma que es prácticamente imposible falsificar o modificar sin ser detectado. Después de comprender cómo se obtienen los dispositivos que almacenan las claves criptográficas, es esencial entender el proceso técnico mediante el cual estos dispositivos generan firmas que tienen validez legal en España y en toda la Unión Europea.

El funcionamiento de la firma digital se basa en la criptografía asimétrica, utilizando un par de claves: una privada (secreta, conocida solo por el titular) y una pública (divulgada libremente). El proceso es simple en concepto pero complicado en ejecución: la clave privada es utilizada para crear una firma que solo puede ser verificada con la correspondiente clave pública, creando así una relación matemática única entre el documento y el firmante.

El proceso paso a paso

Cuando un usuario desea firmar digitalmente un documento, el proceso comienza con la selección del archivo a firmar. El software de firma digital calcula una huella digital (hash) del documento, utilizando un algoritmo criptográfico como SHA-256. Esta huella es una representación única del contenido del documento: si el documento es modificado en un solo carácter, la huella cambia completamente. Esta huella tiene típicamente una longitud fija (256 bits para SHA-256), independientemente del tamaño del documento original.

A continuación, el dispositivo criptográfico (tarjeta inteligente o token USB) solicita al usuario que introduzca el PIN de seguridad. Tras verificar el PIN correctamente, el dispositivo utiliza la clave privada almacenada para cifrar criptográficamente la huella digital. Este proceso genera un número único que constituye la firma digital. La firma es posteriormente asociada al documento en forma de un archivo adjunto o metadata integrada, dependiendo del formato de firma utilizado (los formatos comunes incluyen XAdES-XML y CAdES-CMS).

Verificación de la firma por un tercero

Cuando una tercera parte recibe un documento firmado digitalmente, puede verificar la autenticidad de la firma sin necesidad de contactar con el firmante. El software de verificación extrae la firma del documento y utiliza la clave pública del firmante (que está incluida en el certificado digital y es de acceso público) para descifrar la firma y obtener la huella digital original que el firmante calculó.

Simultáneamente, el software calcula una nueva huella digital del documento recibido. Si la huella extraída de la firma coincide exactamente con la huella calculada del documento actual, esto demuestra que: el documento no ha sido modificado desde que fue firmado, y que la firma fue efectivamente creada por el titular de la clave privada. Si las huellas no coinciden, el software indica que el documento ha sido modificado o que la firma no es válida.

Garantías criptográficas: integridad y autenticidad

La firma digital garantiza dos aspectos fundamentales: integridad e autenticidad. La integridad se garantiza porque cualquier modificación al documento, aunque sea mínima, genera una huella diferente que no coincidirá con la almacenada en la firma, revelando así la manipulación. La autenticidad se garantiza porque solo el titular de la clave privada puede haber creado una firma que sea correctamente descifrable con su clave pública.

Además de integridad y autenticidad, la firma digital también proporciona no repudio, que es la garantía legal de que el firmante no puede negar posteriormente que firmó el documento. Esto es especialmente importante en transacciones comerciales: si un empresario firma digitalmente un contrato, no puede argumentar después que la firma fue falsificada o que no autorizó el documento, puesto que matemáticamente solo su clave privada podría haber generado esa firma.

Algoritmos criptográficos utilizados

Los algoritmos criptográficos utilizados para firma digital han evolucionado a lo largo del tiempo. Históricamente, se utilizaban algoritmos como RSA (Rivest-Shamir-Adleman) con pares de claves de 1024 bits, considerado ahora insuficiente. Actualmente, la normativa europea (Reglamento eIDAS) establece que los certificados cualiificados deben utilizar pares de claves de al menos 2048 bits para RSA, o equivalentes en otros algoritmos como ECDSA (Elliptic Curve Digital Signature Algorithm).

Para el cálculo de huellas digitales, los algoritmos recomendados incluyen SHA-256 y superiores (SHA-384, SHA-512). El algoritmo antiguo SHA-1 ha sido deprecado por considerarse criptográficamente débil. La elección de algoritmos está regulada en España por la AEPD (Agencia Española de Protección de Datos) y a nivel europeo por ETSI, asegurando que todas las firmas digitales generadas en el territorio mantengan los mismos estándares de seguridad.

Formatos de firma digital

Existen diferentes formatos para almacenar y transmitir firmas digitales. El formato XAdES (XML Advanced Electronic Signatures) es ampliamente utilizado en administraciones españolas, almacenando la firma como datos XML junto con metadatos sobre el acto de firma (timestamp, información del certificado, etc.). El formato CAdES (CMS Advanced Electronic Signatures) utiliza el estándar CMS (Cryptographic Message Syntax) y es común en sistemas empresariales.

El programa AutoFirma, desarrollado por la AEPD, es el software oficial para firma electrónica en España y soporta múltiples formatos. Un documento firmado con AutoFirma puede ser verificado por cualquier software compatible en cualquier administración española, garantizando la interoperabilidad necesaria para la administración electrónica.

Firmas avanzadas versus cualificadas

La normativa española diferencia entre firma electrónica simple, firma electrónica avanzada y firma electrónica cualificada. Una firma simple es cualquier método que vincula el documento con el firmante, incluso una contraseña. Una firma avanzada requiere un certificado digital y proporciona garantías criptográficas de autenticidad e integridad. Una firma cualificada es una firma avanzada generada mediante un certificado cualificado (emitido por un prestador cualificado) y proporciona máximas garantías legales, siendo equivalente a una firma manuscrita en procedimientos administrativos.

Timestamp y sello de tiempo

Para proporcionar evidencia temporal de cuándo se realizó la firma, se utiliza un sello de tiempo (timestamp) generado por una autoridad de sello de tiempo. Este sello demuestra el momento exacto en que el documento fue firmado, proporcionando una prueba temporal inmutable. Los sellos de tiempo son especialmente importantes en procedimientos administrativos donde la fecha de firma es relevante para determinar derechos o obligaciones.

Ideas clave

  • La firma digital utiliza criptografía asimétrica para vincular matemáticamente el documento con la identidad del firmante, garantizando integridad, autenticidad y no repudio.
  • El proceso de firma implica calcular una huella criptográfica del documento y cifrarla con la clave privada, creando un número único que solo puede verificarse con la clave pública.
  • La verificación de una firma compara la huella extraída de la firma con una nueva huella del documento, demostrando que no ha habido modificaciones.
  • Los algoritmos recomendados actualmente incluyen RSA-2048 bits o superior, ECDSA, y SHA-256 para huellas digitales, establecidos por la normativa europea eIDAS.
  • Los formatos de firma más utilizados son XAdES (en administraciones españolas) y CAdES (en sistemas empresariales), ambos interoperables entre sí.
  • La firma cualificada, emitida por prestadores cualificados, tiene plena validez legal equivalente a firma manuscrita en procedimientos administrativos.
¿Has terminado este apartado? Tu progreso se guarda en este navegador. Regístrate para conservarlo en tu cuenta.