Tanto
empresas como particulares realizan diariamente múltiples
aplicaciones a través de Internet. Esta
nueva dinámica ha llevado a los investigadores informáticos
ha crear métodos cada vez más infalibles para satisfacer
una de las mayores preocupaciones de todo usuario: la seguridad.
La comunicación
humana, en esencia, requiere siempre de un emisor y un receptor.
Normalmente, los mensajes deben estar adecuados al medio en el
que van a ser transmitidos para no dar lugar a equívocos.
Siguiendo este mismo razonamiento, las comunicaciones vía
web cuentan hoy más que nunca con mecanismos que las hacen
seguras y fiables. Entre ellas destaca, por su utilidad, la firma
digital.
Una firma digital es un grupo
de datos ligados a un mensaje, que nos indican la identidad del
firmante y la integridad del mensaje. Tal y como ocurre con la
firma en un documento en papel, la firma digital vendría
a ser la marca o símbolo personal que autentifica la procedencia
y autoría del mensaje enviado.
Esto ocurre gracias a una función
conocida como "resumen o huella digital". Este resumen
o huella digital se contrasta con una clave privada, dando como
resultado la firma digital enviada de forma adjunta al mensaje
original.
Para entender un poco más
cómo funciona la firma digital, debemos comenzar por ver
en profundidad algunos conceptos asociados: la encriptación
o cifrado, la integridad, la criptografía de clave pública
y la ya mencionada huella digital.
¿Qué
es una huella digital?
Una huella digital es un conjunto
de datos asociados a un mensaje que permiten asegurar que el mensaje
no fue modificado. La huella digital o resumen de un mensaje,
se obtiene aplicando una función denominada "hash"
a dicho mensaje.
Una función "hash" tiene, entre otras, las
siguientes propiedades:
1. Dos mensajes iguales producen
huellas digitales iguales.
2. Dos mensajes parecidos producen
huellas digitales completamente diferentes.
3. Dos huellas digitales idénticas
pueden ser el resultado de dos mensajes iguales o de dos mensajes
completamente diferentes.
4. Una función "hash"
es irreversible (no se puede deshacer), por tanto su comprobación
se realizará aplicando de nuevo la misma función
"hash" al mensaje.
¿Qué
significa encriptación o cifrado?
Conocemos como encriptación
o cifrado al mecanismo de seguridad que permite modificar un mensaje
de modo que su contenido sea ilegible, salvo para su destinatario.
De modo inverso, la desencriptación o descifrado permitirá
hacer legible un mensaje que ya estaba cifrado. Usando la criptografía
de clave pública, el emisor del mensaje cifrará
el mensaje aplicando la clave pública del destinatario.
Será por tanto el destinatario, el único que podrá
descifrar el mensaje aplicando su clave privada.
¿Qué
significa integridad?
La integridad es un servicio de
seguridad que permite comprobar que no se ha producido manipulación
alguna en el mensaje original. La integridad de un mensaje se
obtiene adjuntando al mismo, otro conjunto de datos de comprobación
de la integridad.
Una función "hash" que genere una huella digital
asociada a un mensaje, es un mecanismo que aporta esta característica.
¿Qué
es la criptografía de clave pública?
La criptografía de clave
pública esta basada en el uso de un par de claves, una
de conocimiento público y otra conocida sólo por
el propietario. La clave del propietario debe ser guardada de
forma segura y se denomina clave privada. La clave pública
es dada a conocer a todos aquellos que quieran comunicarse de
forma segura con el propietario.
La utilidad de la firma digital
es muy amplia, aunque de momento esta siendo utilizada mayormente
por empresas y entes gubernamentales. Su característica
más importante es que cualquier receptor podrá comprobar
que el mensaje enviado o recibido no ha sido modificado desde
su creación, ya que podrá generar el mismo resumen
o huella digital aplicando la misma función al mensaje.
Además, podrá comprobar su autoría descifrando
la firma digital con la clave pública del firmante, lo
que dará como resultado de nuevo el resumen o huella digital
del mensaje. En resumen, es una comprobación infalible
para comunicarse de forma segura por Internet.