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:
- 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.
- 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: Esto es, comprobar que
la firma corresponde a los datos recibidos.
- Autenticidad de los datos: Esto es,
comprobar que la firma es de quien dice ser.
- Vigencia de la firma (certificado): Significa comprobar que
la firma estaba vigente en el momento de firmar el documento.
Integridad de los datos
Para comprobar que la firma corresponde a los datos recibidos,
realizamos tres pasos sencillos:
- Realizar nosotros el hash de los datos recibidos.
- Descifrar la firma recibida, que nos dará el hash de
los datos del que firmó el documento.
- 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