Qué es la firma digital y cómo funciona

Qué es la firma digital y cómo funciona

Una firma digital o firma electrónica es un conjunto de datos asociados a un mensaje que permite asegurar la identidad del firmante y la integridad del mensaje. Esto es, mediante la firma digital se puede comprobar fácilmente si el documento ha sido modificado o si el firmante no es quien dice ser.

En los documentos impresos o escritos sobre papel, la forma de demostrar su autenticidad es mediante una firma manuscrita o un sello oficial. La integridad se puede garantizar comprobando que el documento no ha sido alterado físicamente. Aunque hay verdaderos expertos, las modificaciones de un documento o una firma falsa suelen detectarse a simple vista.

Por contra, los documentos en formato electrónico están formados por ceros y unos que, en principio, podrían ser modificados fácilmente por cualquier interesado. Para acceder al contenido de un archivos electrónicos es necesario utilizar una aplicación que, en general, no registra de forma fiable, ni las modificaciones del documento, ni su autor. Gracias a la firma digital, cualquier modificación del archivo es fácilmente detectada. Por otro lado, la firma digital incluye una marca que garantiza que el firmante es quien dice ser.

A pesar de lo anterior, hay que tener claro que la firma digital no garantiza la confidencialidad del documento. Esto quiere decir que un mensaje firmado es perfectamente legible. Si, adicionalmente, se desea garantizar que su contenido no sea accesible por terceros, habrá que cifrar el mensaje o, alternativamente, ponerlo a buen recaudo.

Veamos qué es la firma digital y cómo funciona.

Firmar un documento digitalmente
Firmar un documento digitalmente

Formas de proteger un documento digital

Los documento digitales tienen la gran ventaja de poderse copiar y modificar con facilidad. Trabajar con documentos fue mucho más fácil desde que se creó el primer ordenador personal y, mucho más, con la aparición de Internet. El reto con el que ha habido que enfrentarse es cómo seguir garantizando la validez de estos documentos. Básicamente, los riesgos de los documentos digitales son tres:

  • Confidencialidad. Esto significa que terceras personas no puedan acceder a la información.
  • Integridad. Garantía de que la información no es manipulada por terceros.
  • Autenticidad. Asegurarse de que el firmante es quien dice ser.

La firma electrónica resuelve los problemas de integridad y autenticidad. Para la confidencialidad es necesario utilizar soluciones de cifrando del documento. Cuando es necesario, las aplicaciones y los servicios digitales suelen incorporar utilidades de cifrado. Por ejemplo, el servicio Whatsapp de mensajería cifra todas las comunicaciones de extremo a extremo. Si le interesa el cifrado, este artículo le ampliará la información: Qué es el cifrado de datos y para qué sirve.

Formas de proteger un documento digital
Formas de proteger un documento digital

Protección de la autenticidad

La verificación de la autenticidad es básica para la práctica de cualquier intercambio por medios electrónicos. Desde el comercio electrónico hasta la relación con la Administración necesita tener claro que los participantes son quienes dicen ser. En el entorno electrónico, la verificación de la autenticidad se basa en tres características:

  • En lo que una persona sabe. Éste es el caso del uso de las claves de acceso. En teoría, sólo la persona autorizada conoce la clave de acceso correspondiente. Este método se considera poco seguro porque las claves pueden olvidarse, adivinarse o descubrirse. Sin embargo, es el método más fácil de implantar y el más habitual hoy en día.
  • En lo que una persona posee. Quiere decir que la persona posee lo que la identifica. Éste es el caso, por ejemplo, de las tarjetas electrónicas o de la firma digital. La firma digital se instala físicamente en el ordenador de la persona. Éste es el sistema que más pujanza está teniendo en los últimos tiempos. De hecho, los estados no solamente están regulando su uso, sino que lo fomentan en las relaciones electrónicas con los ciudadanos.
  • En lo que una persona es. Las alternativas que se presentan en este caso se refieren a las características físicas de la persona o a las características de su comportamiento. A partir del análisis de cualquiera de estas características se genera una ficha biométrica. Esta ficha biométrica se utilizaría de forma similar a la firma digital. Las fichas biométricas están todavía poco maduras y escasamente integradas en usos prácticos.

La utilización de claves de acceso es el procedimiento más utilizado. Sin embargo, los delincuentes encuentran soluciones cada vez más imaginativas para hacerse con las mismas (el fishing, por ejemplo). Esto ha obligado a complementar el uso de las claves con comprobaciones adicionales. La verificación en dos pasos, además de la clave de acceso, pide confirmar la recepción de un código a través del teléfono móvil.

La utilización de la huella o, incluso, el reconocimiento facial, está siendo cada vez más utilizado por distintos servicios y aplicaciones. Las firmas biométricas tiene la gran ventaja de que nuestro cuerpo siempre está con nosotros y no es transferible. No obstante, también tiene inconvenientes, como los relacionados con los aspectos de privacidad y legalidad de esta solución.

La firma digital se conforma como una solución de autenticidad que, si ser ideal, está resultado ser muy práctica y segura.

Protección de la integridad

La integridad de un documento podría protegerse mediante el cifrado de toda la información transmitida. No obstante, debido a la lentitud de este proceso, se han desarrollado sistemas alternativos que permiten comprobar la integridad y autenticidad de la información de una forma más simple y rápida.

Para garantizar que la información original transmitida por Internet no es manipulada por terceros se utiliza una función matemática conocida como función Hash. La función Hash es un algoritmo que se aplica al documento y da como resultado una cadena de bits de longitud fija. Estos bits están relacionados de forma inequívoca con el documento original.

Esto quiere decir que, si se modifica el documento original, se puede comprobar fácilmente que ya no se corresponde con la cadena hash proporcionada.

Qué hace una función Hash
Qué hace una función Hash

Función Hash

Como se ha visto, la función Hash es un algoritmo matemático que permite generar una cadena de bits de longitud fija a partir de textos de cualquier tamaño. A esta cadena de bits se la conoce como documento Hash comprimido. La particularidad de las funciones Hash es que son públicas e irreversibles. Esto quiere decir que son funciones conocidas por todo el mundo y que, a partir de la cadena Hash, es imposible recuperar el documento original. Por otro lado, dos documentos nunca pueden generar el mismo documento Hash comprimido.

Al destinatario se le envía el documento original más el documento Hash comprimido. Al aplicarle la función Hash al documento recibido debe dar como resultado el mismo documento Hash comprimido, lo que permite asegurar que el texto no ha sido modificado en ningún punto intermedio (integridad).

Para asegurar además que el emisor es quien dice ser (autenticidad), el sistema cifra el documento Hash comprimido en origen utilizando una clave privada de la persona. Esto produce una huella digital. Por comparación del documento Hash descifrado en destino con la clave pública de la persona y del resultado de aplicar la función Hash al documento recibido en destino se garantiza tanto la integridad como la autenticidad del documento.

Los algoritmos Hash más utilizados son los siguientes:

  • MD5. Inventado en 1992 por Ronald Rivest. Genera un bloque de salida de 128 bits de tamaño. Aunque este algoritmo es muy fácil de aplicar, hace tiempo que se le encontraron debilidades (se ha logrado hackear). MD5 ya no suele ser utilizado, a menos que no los requisitos de seguridad sean muy bajos.
  • SHA (Secure Hash Algorithm). Inventado en 1994 por la agencia americana Nist. Genera un bloque de salida de 160 bits de tamaño. Utilizado durante muchos años para firmar los certificados digitales SSL/TLS de millones de webs
  • SHA2 y SHA3. Se trata de las nuevas versiones de SHA, mucho más seguras. SHA2 tiene cuatro variantes según el número de bits de salida, son SHA2-224, SHA2-256, SHA2-384 y SHA2-512. SHA3 fue publicado por el NISH en 2015 con el objetivo de sustituir a SHA2.

Como curiosidad diremos que, además de para las firmas digitales, las funciones Hash se utilizan también para proteger la confidencialidad de las claves de usuario. En vez de guardar las claves en la base de datos como texto plano, se guarda su función Hash. Cuando el usuario introduce la clave se calcula su función Hash y, si coincide con la almacenada, se le da paso. La gran ventaja de esta solución es que, si alguien se hace fraudulentamente con el archivo de la base de datos, no podrá conocer las claves. Las nuevas versiones de función Hash para contraseñas (como KDF) utilizan un número variable de bits de salida, para hacerla aún más segura.

Proceso de firma digital
Proceso de firma digital

Infraestructura de clave pública

La firma digital no es algo aislado con validez por sí mismo dentro de Internet, sino que es posible gracias a todo un montaje de una arquitectura completa. Hoy en día, lo que da soporte a la firma digital es lo que se conoce como Infraestructura de clave pública o PKI (Public Key Infrastructure). A la Infraestructura de clave pública también se le ha dado el nombre más ilustrativo de Terceras partes de confianza, TPC.

La infraestructura de clave pública está definida por la UIT-T (Unión Internacional de Telecomunicaciones) en la norma X.509. En ella se especifica, entre otras cosas, su sintaxis, para la que se emplea el lenguaje ASN.1 (Abstract Syntax Notation One), y los formatos de codificación. Los más comunes son DER (Distinguish Encoding Rules) o PEM (Privacy Enhanced Mail). Todo lo relacionado con la Infraestructura de clave pública está regulado y, como cualquier otra tecnología, ha sufrido distintas evoluciones desde sus comienzos. Actualmente utilizamos la versión 3 que viene recogida en el documento RFC5280 de la IETF.

Resumiendo, la infraestructura de clave pública dispone de los siguientes componentes:

  • Certificados.
  • Autoridades de certificación.
  • Autoridades de registro.
  • Lista de revocación de certificados.

La firma digital está basada en el sistema de clave asimétrica o de clave pública. En estos sistemas existen dos claves: la clave privada que no se transmite, y por lo tanto es segura, y la clave pública que es la que se da a conocer. Lo que se cifra con una clave privada, solo puede ser descifrado con su clave pública correspondiente. Por otro lado, una autoridad certifica la identidad de la persona o entidad que recibe cada conjunto de claves (pública/privada). En el caso de las personas, se le exige que acuda presencialmente con su documentos de identificación oficial. El hecho es que, si algo ha sido cifrado con esa clave privada, solo ha podido hacerlo esa persona o entidad concreta.

Lo que se cifra con la clave privada no es el documento, sino solamente la información de identificación de la firma. Esta información se adjunta al documento que se firma. Por tanto, para que la firma digital funcione, es necesaria la existencia de certificados y de Autoridades de certificación.

Autoridad de certificación

Un certificado relaciona de forma segura un conjunto de claves pública/privada con los datos de su propietario. Esto es, para que la firma digital sea válida, tiene que ir acompañada de un certificado que contiene una clave pública que garantice su veracidad. Como se ha visto anteriormente, utilizando la clave pública se puede abrir el certificado para comprobar quien es la persona que firma el documento.

Los certificados son emitidos por una entidad denominada Autoridad de certificación, CA (Certificate Authority).

Los certificados contienen los siguientes datos:

  • Identidad del usuario de la clave pública.
  • Clave pública del usuario.
  • Período de validez del certificado.
  • Datos generales (versión, formato y algoritmos usados, etc.).
  • Firma de una tercera persona de confianza.

La firma de la tercera persona de confianza (la autoridad de certificación) es la que realmente asegura que la persona del certificado es quien dice ser. Esta firma la pone la Autoridad de certificación. El usuario, por tanto, tiene que acudir a una de estas autoridades y desplazarse hasta sus oficinas físicamente con la documentación que acredite que es la persona que dice ser.

Uno de los certificado más conocidos en España es el DNI electrónico (documento nacional de identidad). En este caso, quien certifica la identificación de la persona es la propia policía. También existe la firma electrónica. Se trata de un archivo que contiene el certificado y que es otorgado por distintos organismos oficiales (Hacienda, etc.).

Las Autoridades de certificación o CA son entidades públicas o privadas. La CA privada más conocida es Verisign, aunque existen muchas otras, como: Thawte, las empresas de tarjetas de crédito Visa, Mastercard y American Express, etc. En España, las más conocidas son ACE y Feste.

Infraestructura de clave pública
Infraestructura de clave pública

Autoridades de registro y de validación

Las Autoridades de registro o RA (Registration Authority) son los intermediarios entre las Autoridades de certificación y el usuario final. La finalidad de las Autoridades de registro es simplemente descargar de trabajo a las Autoridades de certificación.

Cuando un usuario solicita un certificado piensa que se lo está pidiendo a una Autoridad de certificación pero realmente se lo solicita a una Autoridad de registro. Las Autoridades de registro se encargan de solicitar el certificado a la Autoridad de certificación en nombre del usuario.

Por otro lado, existen también las Autoridades de validación o VA (Validation Authority). Estas son las encargadas de comprobar la validez de los certificados digitales.

Para terminar de cerrar el círculo, también existen Autoridades de sellado de tiempo o TSA (TimeStamp Authority). Éstas se encargan de firmar documentos con la finalidad de probar que existen en un determinado momento.

Adicionalmente, las Autoridades de certificación mantienen distintas bases de datos (llamados repositorios) con la información de los certificados que emite. Los dos repositorios más importantes son el repositorio de certificados y el de listas de revocación de certificados. Esta última incluye todos los certificados que, por algún motivo, se han invalidado antes de su fecha de caducidad.

Por último, aunque la firma digital es muy utilizada por personas o entidades para identificarse electrónicamente, también la utilizan empresas para identificar el proveedor de los servicios que ofrece. Por ejemplo, un servidor web sería una entidad que firma el contenido de sus páginas antes de enviarlas al navegador web del destinatario. Este navegador comprueba siempre por defecto que los certificados del servidor son correctos. En caso contrario, se lo advierte al usuario final.

Listas de revocación de certificados

Las listas de revocación de certificados o CRL (Certificate Revocation Lists) son bases de datos que contienen los números de serie de los certificados revocados (anulados). Cada Autoridad de certificación genera y mantiene su propia CRL. Hay que aclarar que esta lista sólo contiene los certificados revocados no expirados. Si no fuera así la CRL tendría tal tamaño que sería inmanejable. Por otro lado, los certificados expirados ya no son válidos de por sí.

Técnicas de seguridad
Técnicas de seguridad

Cómo se utiliza la firma digital

La firma digital es aplicable a todo tipo de documentos y servicios de intercambio de información. Si el servicio es ofrecido por un tercero, lo normal es que esta empresa tenga instalado los recursos necesarios para hacer uso de la firma digital. La solución utilizada puede depender del servicio de que se trate. Por ejemplo:

  • Página webs seguras. Los servicios webs seguros disponen del certificado en el servidor y los navegadores web (Chrome, Edge, etc.) verifican estos certificados de forma automática, avisando al usuario en caso de encontrar errores. Esta opción es utilizada especialmente en los servicios de comercio electrónico.
  • Firmar un correo electrónico. Los programas clientes de correo electrónico o los servicios de correo web ofrecen las opciones necesarias para que el usuario pueda firmar los mensajes que envía. El usuario debe disponer del archivo de su certificado de firma digital.
  • Firmar documentos. La firma digital se puede utilizar para firmar cualquier documento que posteriormente se puede intercambiar por cualquier procedimiento. Esta solución es muy utilizada para firmar documentos con formato PDF (contratos, facturas, presupuestos, etc.).
Configurar la firma digital en un servicio de correo electrónico
Configurar la firma digital en un servicio de correo electrónico

Firmar un documento

De forma práctica, la firma electrónica es un archivo que puede guardarse en un dispositivo (un ordenador o un lápiz USB) o en el propio documento de identificación. Este es el caso del DNI electrónico. Cuando se va a firmar un documento, es necesario utilizar un software particular que nos solicita dicho archivo y se encarga de añadir la firma al documento. Este software puede ser de dos tipos:

  • Una aplicación instalada en el dispositivo local, sin conexión a Internet. En este caso, la aplicación es la encargada de generar el documento firmado. Existen multitud de programas en el mercado que ayudan a digitalizar la firma.
  • Firmar el documento online. En este caso, la aplicación está en Internet en el servidor del servicio online que estemos utilizando. Los servicios en Internet de las Administraciones (Seguridad Social, Hacienda, etc.) cuentan con esta opción.

En ambos casos se genera un nuevo documento electrónico, idéntico al original, pero que contiene nuestra firma. Hay que tener en cuenta que este archivo es el que tiene validez legal. Si lo cambiamos de formato perderá la firma y la validez legal. Igualmente, la copia impresa del documento tampoco tiene validez (a menos que le añadamos nuestra firma manuscrita).

Comprobar la validez de la firma de un documento

Si recibimos un documento firmado (una factura, un contrato, etc.) podemos verificar la firma. La forma más fácil de hacerlo es conectándose a una Autoridad de validación. Por ejemplo, el servicio Valide es ofrecido por la Administración españolas y permite validar firmas y certificados, así como firmar documentos.

Comprobar la firma digital de un documento con Adobe Acrobat Pro
Comprobar la firma digital de un documento con Adobe Acrobat Pro

Por otro lado, los propios lectores de documento, como Acrobat Reader, permiten comprobar que el documento está correctamente firmado y mostrar la identificación de la persona o entidad que lo firma.

El riesgo de la firma digital

La firma digital está siendo cada vez más utilizada en todo tipo de intercambio de documento y de comunicaciones. La firma digital tiene una completa validez legal y, una vez firmado un documento, no se puede negar que se ha hecho (no se puede repudiar).

El no repudio es una característica imprescindible para que la firma digital tenga utilidad. No obstante, tiene sus riesgos. Hay que tener en cuenta que la utilización de la firma digital se lleva a cabo de la forma lo más transparente posible para el usuario. Esto quiere decir que, al final, el certificado de firma digital se encuentra en un dispositivo o servicio web al que el usuario accede mediante un nombre de usuario y clave. Por tanto, la seguridad de la firma es tan débil como la seguridad de la clave utilizada para acceder al dispositivo o servicio web que la contiene.

Riesgos de la firma digital
Riesgos de la firma digital

Falsificar técnicamente una firma digital es prácticamente imposible, pero hacerse con las claves de la persona a la que se quiere suplantar, es relativamente asequible. Por tanto, es recomendable no mantener una copia del archivo de firma digital en ordenadores vulnerables. Es mejor guardarla, por ejemplo, en un lápiz USB que esté a buen recaudo.

Más información

Aquí se ha expuesto de forma resumida lo qué es la firma digital y cómo funciona. Con suerte, habré sido capaz de generar dudas y crear curiosidad sobre muchos aspectos relacionados con este tema. En este blog se dispone de varios otros contenidos relacionados con la seguridad en Internet. Por otro lado, tengo la intención de seguir desarrollando los detalles de la tecnología, uso y aplicaciones relacionadas con la seguridad.

Si le interesa algún detalle concreto, puede probar a utilizar el buscador de contenido de este blog. Por lo pronto, le sugiero estos otros artículos:

REF: INET PG261

Deja una respuesta

Tu dirección de correo electrónico no será publicada.