Seguridad informática

Firma digital

Las firmas y certificados digitales han supuesto un gran avance en nuestros días. La explicación es sencilla, pero es conveniente que antes de continuar, tenga claros los conceptos de hash y cifrado asimétrico. Con estos conceptos construiremos la estructura de lo que es una firma digital.

Si lo desea, puede descargar el esquema completo: Firmas y Certificados Digitales.pdf.

¿Qué es una firma?

Primero debemos saber qué es una firma. Como estamos habituados a ella, primero veamos qué es una firma manuscrita:

Firma manuscrita

Es un trazo escrito sobre un documento (con nombre o rubrica) que asocia a la persona que firma con ese documento.

Como los rasgos de personalidad, memoria muscular, cultura, sistema nervioso; se reflejan en la firma, esta suele ser dificil de falsificar.

En resumen es una marca dificil de falsificar, que asocia al firmante con un documento.

Firma con sellos

Cuando usamos nuestro DNI para identificarnos en un hotel o aeropuerto, estamos usando un documento con nuestros datos, con unos sellos y grabados, muy difíciles de falsificar.

Esos grabados asocian a la policía (firmante) con el documento que contiene nuestra información personal.

Esas marcas son la firma del documento DNI. La policía hace de "testigo" y firma de que lo que figura es correcto y se corresponde con nuestra persona.

Podemos ver también marcas de seguridad en la moneda en papel. Estas son la firma del estado para dar autenticidad al valor que refleja ese billete.

Firma digital

De modo análogo, una firma digital es una marca muy dificil de falsificar, que asocia al firmante con el documento firmado.

En este caso, la marca es un número que depende del contenido del documento y de una clave que solo conoce el firmante.

El número se obtiene cifrando con clave privada el hash de los datos que se desean acreditar.

Además, es incluso mucho más difícil de falsificar, puesto que no depende de materiales ni recursos técnicos del falsificador.

Expliquemos lo dicho con los pasos que damos para firmar:

  1. Creamos un hash de los datos que queremos firmar. De esta forma tenemos un número que depende de los datos. Si variamos cualquier dato, varía el hash.

  2. Ciframos el hash con nuestra clave privada. Cuando ciframos con nuestra clave privada, asociamos ese número cifrado a nosotros de forma irrefutable, pues creamos una cadena que solo nosotros podemos crear, ya que solo nosotros conocemos nuestra clave privada. Ese número cifrado es la firma de los datos.
La firma la enviamos junto al documento que queremos que queremos acreditar como nuestro. El receptor, cuando reciba el documento y la firma, solo debe comprobar que la firma corresponde a esos datos y a su propietario. Eso es validar la firma.

Validar la firma

Validar la firma significa tres comprobaciones simultaneas:

Integridad de los datos

Para comprobar que la firma corresponde a los datos recibidos, realizamos tres pasos sencillos:
  1. Realizar nosotros el hash de los datos recibidos.

  2. Descifrar la firma recibida, que nos dará el hash de los datos del que firmó el documento.

  3. Comparar los dos hashes: El recibido que hemos descifrado y el que obtenemos nosotros de los datos.

La firma (hash cifrado) se debe descifrar con la clave pública del firmante que obtenemos en el directorio público de claves públicas (recordamos que las claves son intercambiables y está firmado con la clave privada).

Una vez obtenidos los dos hashes (el descifrado y el que creamos con los datos recibidos), los comparamos. Si coinciden, el documento recibido es el mismo que el firmado por el transmisor. Si no coinciden, el documento recibido ha sido alterado.

Autenticidad de los datos

Hasta aquí hemos visto cómo comprobar si los datos que recibo, son los mismos que ha firmado el remitente.

Si conocemos al firmante, este nos puede enviar previamente su clave pública para que yo descifre la firma del documento.

Sin embargo, este mundo digital, recibimos firmas de remitentes que no conocemos. ¿Cómo sabemos que el firmante es quien dice ser?

Para esto existen los certificados digitales, la Autoridad Certificadora y la Autoridad de Validación.

Artículos relacionados:


Volver al índice

Seguridad informática por juan@segura.pro está bajo licencia CC BY-NC-SA 4.0
Propiedad intelectual registrada