Las
firmas digitales hacen posible el intercambio seguro de documentos
electrónicos, al permitir comprobar tanto la autenticidad como la integridad de
la información que se intercambia. Al aumentar drásticamente el número de
organizaciones que intercambian datos de forma electrónica, así como la
cantidad de datos que se intercambian hoy en día, la transmisión segura de
información ha pasado a ser algo clave para todas las empresas,
independientemente del sector.
Una firma
digital se crea por medio de una serie de procesos matemáticos que transforman
los datos (p. ej. un documento Word, un PDF o un archivo XML) en un mensaje
resumen cifrado. El remitente codifica el mensaje resumen (también llamado
firma digital), lo adjunto o lo incrusta en un archivo y envía el paquete al
destinatario. Una vez recibido el paquete y descifrado el mensaje resumen, se
puede determinar la autenticidad y la integridad de los datos.
La
función hash
Un
archivo (o colección de datos) se transforma en un mensaje resumen por medio de
una función matemática que recibe el nombre de función "hash". La
función hash reduce el tamaño del archivo, que pasa a tener un número fijo de
bits. El archivo más pequeño contiene una representación del contenido del
documento original (algo parecido a la versión en código Morse del archivo).
La función hash funciona como cualquier otra fórmula matemática. Es decir, el resultado (mensaje resumen/firma digital) dependerá del operando (archivo) al que se aplica la función. Al igual que la función matemática "multiplicar por siete" dará como resultado 49 si el operando es siete y 35 si el operando es cinco, la función hash creará un mensaje resumen único dependiendo del contenido del archivo.
La firma
digital (también llamada a veces "huella digital") creada por la
función hash es totalmente única porque cada archivo tiene un contenido y
características distintas.
En la
actualidad se usan varias funciones hash diferentes, como la MDF5 de Rivest,
que convierte el archivo en un mensaje resumen de 128 bits y la SHA (algoritmo
hash seguro) de NIST, que crea un mensaje resumen de 160 bits.
Además de
ser un algoritmo sin colisiones de hash (o un algoritmo que crea un mensaje
resumen totalmente único), a la firma digital creada con la función hash no se
le puede aplicar ingeniería inversa. En otras palabras, dado el resultado de la
función hash (es decir, la firma o el mensaje resumen) es prácticamente
imposible reconstruir el documento o colección de datos a partir de esa
información.
Codificación
Una vez
creado el mensaje resumen con la función hash, este se codifica.
Para
codificar un mensaje, es necesario enlazarlo con una identidad digital única
(como si se tratase del número de la seguridad social, por ejemplo). Este
identificador único emite un par de "claves", una privada (que sólo
conoce el remitente) y una pública (utilizada por quienes intercambian mensajes
codificados con el propietario de la clave privada).
Las
claves son en realidad algoritmos asociados usados para transformar los datos
(p. ej. el contenido del mensaje) en un formato ininteligible para el ser
humano y transformarlos después otra vez. Sólo la clave asociada puede
desbloquear el contenido codificado por la otra clave.
El
proceso de generación, asignación y gestión de identificadores digitales únicos
y de emisión de claves es llevado a cabo por instituciones externas y
acreditadas llamadas "entidades de certificación" (p. ej. Thawte,
Symantec o Microsoft Certificate Services, que funcionan sistemas operativos de
servidores Windows). Estas entidades externas y las normas que regulan la
emisión de identificadores digitales son una parte importante de la
infraestructura de clave pública (PKI) que hace posible el uso de firmas
digitales y otras medidas de seguridad.
Después
de aplicar la función hash al archivo y crear el mensaje resumen, el remitente
usa su clave privada única para codificar el mensaje resumen. Una vez
codificada, la firma digital se puede incrustar en el archivo (lo que llamamos
"firma envuelta") o se puede adjuntar como archivo separado (lo que
llamamos firma "separada"). Después se envía el paquete al
destinatario.
Cuando
recibe el paquete, el destinatario "desbloquea" el mensaje resumen
con una clave pública asociada a la clave privada del remitente (esto se
denomina criptografía asimétrica). Si la clave pública consigue descodificar la
firma digital, significa que el archivo fue enviado por la persona a la que
está asociado el identificador digital (o, en el peor de los casos, alguien
tuvo acceso a dicho identificador).
Tenga en
cuenta que hay otro proceso de codificación alternativo por el cual el
remitente y el destinatario usan la misma clave para codificar y descodificar
el archivo (criptografía simétrica). Sin embargo, este otro proceso no es
compatible con las firmas digitales, ya que estas se basan en la asociación
existente entre un identificador digital y una persona concreta, para que el
remitente no pueda repudiar el mensaje. En otras palabras, un remitente cuya
firma digital esté adjunta a un archivo no puede negar haberlo enviado porque
su "DNA digital" está asociado al archivo.
Una vez
descodificado el mensaje resumen y confirmada la autenticidad de la firma
digital, se puede confirmar también la integridad del archivo.
Recrear
el mensaje resumen.
Como
dijimos antes, el mensaje resumen o la firma digital se crea al aplicar una
función hash al archivo.
Cuando el
destinatario recibe el archivo y descodifica la firma digital, se aplica la
misma función hash. Si el mensaje resumen creado en el lado del destinatario es
idéntico al mensaje resumen del archivo, significa que no se realizaron cambios
en el archivo desde que la firma digital se adjuntó o incrustó en él. Si la
firma digital original no concuerda en algún aspecto con la firma digital
recreada, significa que se realizó algún cambio en el archivo.



0 comentarios:
Publicar un comentario