Artículos

¿Cómo funciona la firma digital?

Una información de Ovejas electricas sobre firma digital que nos recomendó Virgilio Ruilova.

Si intentamos saber qué es y cómo funciona la firma digital nos toparemos con un desfile de siglas indescifrables y conceptos misteriosos con nombres intimidantes. Aquí explicamos todo eso en un lenguaje sencillo y directo.

Lo primero es explicar que en la literatura técnica se distingue firma digital de firma electrónica. La firma digital se entiende como un tipo particular de firma electrónica. En efecto, mientras que la firma electrónica puede ser cualquier registro de identificación que se adjunta a un documento, la firma digital está basada en un proceso criptográfico que protege el documento y que aquí explicaremos cómo opera.

En consecuencia la firma digital no consiste en escanear una rúbrica (que, en definitiva, no es más que una foto de la firma) ya que ello no aporta ningún valor probatorio a un documento electrónico. Por el contrario, la tecnología de firma digital se basa en sistemas que permiten no solo autenticar a los firmantes sino que también logran garantizar la integridad de lo firmado. En otras palabras, no solo se tienen garantías de que quien firma es quien dice ser, que no hay una suplantación del suscrito, sino que además se garantiza que el documento firmado digitalmente no haya sido adulterado.

Claramente estas dos características, tomadas en su conjunto, permiten sostener que ese tipo de firma, basada en Tecnologías de la Información, es más fiable que otras formas de firma electrónica y es mucho más confiable que la firma manuscrita tradicional, la cual es susceptible de ser imitada , corriéndose también el riesgo que los documentos firmados a mano sean alterados con posterioridad al acto de firmarlos.

La firma digital se implementa mediante un sistema de tres procesos que se conjugan: firmado, autenticación y verificación. Estos tres procesos se describen a continuación:

  • Proceso de Firma: Cuando una persona desea firmar un documento electrónico mediante firma digital lo primero que debe hacer el sistema es verificar la autenticidad del firmante. Esto se debe hacer mediante una combinación de algo que la persona tiene (su huella digital, por ejemplo) más algo que la persona sabe (una contraseña o un PIN). Para ello se pueden utilizar mecanismos tales como biometría o contraseñas volátiles (one-time password). Una vez que la identidad del firmante ha sido verificada, el sistema proporciona dos claves (una privada y una pública) que serán necesarias para encriptar y desencriptar respectivamente. El sistema luego genera una secuencia de bits, denominado “función hash”, cuyo valor cambia si cambia algo en el documento. Esta función hash es luego encriptada con la clave privada y adosada al documento electrónico, con lo cual se le considera firmado y así se envía al destinatario.
  • Proceso de Autenticación: Cuando una persona recibe un documento firmado digitalmente, lo primero que el sistema debe conseguir es la clave pública del firmante. Ya que las claves pública y privada han sido generadas mediante un proceso denominado “criptografía asimétrica”, la misma clave no puede usarse para encriptar y desencriptar, siendo necesario el uso de una de las dos en cada caso. Por lo tanto, ya que en el proceso de firma usamos la clave privada, en la verificación corresponde usar la clave pública. De esta forma se logra desencriptar la función hash, demostrando que se ha usado la clave privada correspondiente para firmar, por lo que el firmante queda autenticado (ya que él es el único que tiene “acceso” a su propia clave privada).
  • Proceso de Verificación: La integridad del documento se verifica desencriptando la función hash con la clave pública del firmante y comparándola con la función hash que se obtiene al procesar nuevamente el mismo documento. Si ambas hashs son idénticas significa que el documento no ha sido alterado. (En rigor hay una pequeñísima probabilidad teórica de que dos documentos distintos arrojen el mismo hash, pero en la práctica cualquier cambio que se introduzca romperá esa simetría. El hash está diseñado con ese propósito y podemos pensar en esta función como la “huella digital”, no del firmante, sino que del documento firmado, por lo que hasta el menor cambio generaría otro hash y la alteración se podría detectar).

Este esquema de firma, autenticación y validación se basa en un sistema propuesto en 1977 por Rivest, Shamir y Adleman, conocido como RSA, y forma parte fundamental de la denominada Infraestructura de Clave Pública (PKI, por sus siglas en inglés), que internacionalmente se emplea como el estándar de políticas y procedimientos de seguridad para la  firma digital y también para las transacciones electrónicas. Tanto el RSA como la PKI sacan partido de las características que tiene la criptografía asimétrica, una de las cuales es que se pueden generar tantos pares de claves (pública y privada) como sean necesarias y que los pares de claves nunca se repetirán, lo que permite que dos personas distintas nunca reciban el mismo par de claves.

Los componentes principales de una PKI consisten en “autoridades” y “repositorios”. Las autoridades típicas de una PKI (y sus respectivas siglas en inglés) son las siguientes:

  • Autoridad Certificadora (CA): Es la encargada de emitir y revocar los certificados digitales.
  • Autoridad Registradora (RA): Es la responsable de mantener el vínculo entre las claves públicas de los certificados y la identidad de sus titulares. Para este fin se implementa un proceso de “enrolamiento” que permite identificar a cada potencial firmante.
  • Autoridad Validadora (VA): Es la encargada de comprobar la validez de los certificados digitales.
  • Autoridad de Sellado de Tiempo (TSA): Es la encargada de incorporar en los documentos a firmar un sello de tiempo que registra el momento de la firma.

Los repositorios son “bases de datos” seguras que permiten almacenar la información primordial de la PKI. Los dos más importantes son el repositorio de certificados y la “lista de revocación de certificados” (CRL), que incluye todos los certificados que han dejado de ser válidos.

Cabe señalar que actualmente se está haciendo una diferencia entre dos formas de PKI que se explican a continuación:

  • PKI Interna: Los certificados digitales necesarios para firmar son proporcionados por la empresa que ofrece este servicio. Estos certificados pueden ser reutilizados y son almacenados en dispositivos seguros como los denominados tokens (un dispositivo seguro que se asemeja a un pendrive). Una clara desventaja de este sistema es que, al recibir un documento firmado, el sistema informático del receptor típicamente no tendrá almacenado el certificado correspondiente, denominado “certificado raíz”, y, por lo tanto, se desplegará un mensaje de error o advertencia de que el documento ha sido firmado con un certificado desconocido o que no es de confianza.
  • PKI Externa: El esquema no se basa en certificados permanentes sino en la generación de certificados volátiles que se pueden utilizar sólo una vez. Una forma de hacerlo es a través de Internet. De esta manera los certificados no se almacenan en un token ni en ningún otro dispositivo “tangible” sino que “en la nube”. Un sistema integral permitiría que todo el proceso se haga en la web, con lo que se evita la necesidad de instalar software específico, haciendo el proceso mucho más amistoso para el usuario final. Por otra parte se soluciona el problema de los certificados raíces, ya que estos van a estar siempre disponibles en la medida que correspondan a emisores confiables.

En muchos países la PKI Externa no es aún reconocida como una firma digital calificada o firma electrónica avanzada, por lo que deberán adecuarse sus normativas para dotarla de respaldo jurídico.

En la sociedad del conocimiento la documentación tiende a ser digital, por lo tanto dotar a esa documentación de mecanismos confiables y seguros, que den garantías de autenticación e integridad como los que brinda la firma digital, es una necesidad imperiosa y urgente. La PKI es la respuesta a ese requerimiento, en la medida que se implemente adecuadamente y con los mecanismos de fiscalización apropiados.

Hay reportes de que GnuPG sirve.