viernes, 21 de mayo de 2010

Como funciona una Firma Digital

Con la finalidad que las comunicaciones electrónicas sean seguras y garanticen la identidad de las partes que negocian por Internet, las Firmas Digitales cumplen para ello dos funciones principales:

  • Encriptación de datos
  • Autenticidad de identidad


Encriptación de datos

Encriptación es el proceso por el cual un mensaje se cifra y se hace ininteligible; es como si lo metiéramos en una caja fuerte y lo cerramos, de tal modo que sólo aquél que tuviese la llave apropiada pudiera abrirlo.
Veamos el ejemplo siguiente para entender el funcionamiento de la encriptación:

Carlos (Izquierda) desea enviar un mensaje a Juan (Derecha) sin que nadie pueda entender el contenido del mensaje, incluso si éste fuese interceptado por una tercera persona .
Para ello Juan dispone de dos llaves: una es la Llave Pública y la otra es la Llave Privada ; la Llave Pública es conocida por todos y la puede poseer todo el mundo y permite a cualquier persona enviar mensajes codificados o descifrar los mensajes recibidos.
La Llave Privada , es personal y le permite únicamente al usuario descifrar los mensajes cifrados que reciba y poder firmar digitalmente sus mensajes.

Juan envía su Llave Pública a Carlos por cualquier medio que pueda hacerlo, inclusive Carlos puede haberla copiado con la finalidad de utilizarla para cifrar o cerrar el mensaje que le enviará por Internet a Juan.
Por el camino una tercera persona , podría haber copiado el mensaje, pero no le serviría de nada pues sólo Juan dispone de la llave para abrirlo y desencriptarlo.
Cuando el mensaje llega a Juan , éste utiliza su Llave Privada, que sólo él conoce y procede a abrir el mensaje.

Este sistema parece en sí seguro, pero tiene un problema; imaginémonos que Carlos envía todas las semanas dinero a Juan, un Hacker se percata de ello y trama lo siguiente:
Crea dos llaves, Privada y Pública y envía la Pública a Carlos solicitándole que envíe mas dinero durante la semana ; Carlos procede entonces a enviar los datos del Banco por correo electrónico y los cifra con la supuesta Llave Pública de Juan. El dinero terminaría en manos del Hacker puesto que solo él dispone de la Llave para desencriptar los datos del Banco. El problema aquí es que el Hacker se ha hecho pasar por Juan ; apareciendo entonces la necesidad de crear una tercera entidad en la transacción : La Autoridad de Certificación.

El Certificador es una entidad o persona en la que tanto Juan como Carlos confían, por lo que certifica a Carlos que la Llave Pública que le llega a éste es de Juan y no del Hacker.
Veamos ahora como se realiza una comunicación electrónica segura:

1.- Juan adquiere dos llaves, una Privada y una Pública; la Pública se la entrega a la entidad de Certificación en la que confía.
2.- La entidad de Certificación es una entidad debidamente registrada y autorizada y quien se encarga de verificar que la Llave Pública que le estan entregando es de Juan y no del Hacker. Hasta aquí todo va bien, tenemos la certeza que la Llave Pública es de Juan por tanto la autoridad certificadora le dá un certificado a Juan similar a un DNI (Documento Nacional de Identificación); este Certificado contiene:
-La llave Pública
-Su nombre
-La fecha de caducidad
-El nombre de la Autoridad de Certificación que ha emitido el Certificado.
-Un número de serie
-Y alguna otra información adicional (huella digital, tipo de encriptación, etc)
3.- Juan envía el certificado junto con la llave Pública a Carlos para que éste le envíe el dinero. Carlos escarmentado de la mala experiencia anterior no confía por lo que lee el Certificado y llama a la Autoridad Certificadora , la cuál le garantiza que la Llave es de Juan.
4.- Carlos con total seguridad encripta los datos bancarios y se los manda a Juan.
5.- Por el camino, el Hacker que no cesa en su empeño de delinquir, intercepta el mensaje, él posee la Llave Pública pero no posee la Privada que sólo Juan posee no sirviéndole de nada el mensaje interceptado puesto que no lo puede descifrar .
6.- El mensaje llega a Juan que abre ó descencripta el mensaje con la seguridad de que nadie lo ha abierto.

Hemos visto de cómo Carlos envía un mensaje a Juan, el procedimiento inverso es simétrico, tan solo se necesitaría que Carlos tuviera dos pares de Llaves, una Pública y otra Privada que sólo él mismo conociese. Por supuesto la mayor parte de este proceso es transparente a Juan y a Carlos; es decir, ellos solamente tendrán que pedir una sola vez el Certificado a la Autoridad Certificadora pudiendo después hacer tantas transacciones como ellos quieran, encargándose el software de realizar las comprobaciones por ellos.

Autenticidad de Identidad

Otra utilidad de la Firma Digital además de la encriptar los mensajes es la verificación de la autenticidad de la identidad de la persona que firma un documento.
El ejemplo que a continuación les señalamos, muestra como Juan envía un documento a Carlos y cómo éste reconoce la autenticidad del documento al reconocer la firma electrónica de Juan.

Juan utilizando su Llave Privada, firma el documento que quiere enviar a Carlos, éste recibe el documento firmado por Juan y utilizando la Llave Pública de Juan verifica la firma del primero.
Esta es una situación similar a la de la encriptación; imaginémonos que un hacker crea dos llaves una Pública y otra Privada, le hace llegar la Pública a Carlos y seguidamente le envía un documento firmado con la supuesta Llave Privada de Juan, pidiéndole dinero a su amigo Carlos.
Carlos en posesión de la supuesta Llave Pública de Juan, verifica que es Juan, cuando en su lugar es el hacker haciéndose pasar por Juan.
Aparece la necesidad de una tercera entidad llamada Autoridad de Certificación que como en el caso de la encriptación, certifique la autenticidad de dicha firma .

El certificador es una entidad o persona en la que tanto Juan como Carlos confían, por lo que certifica a Carlos que la firma que le llega a éste es de Juan y no del Hacker.
Veamos ahora como se realizaría una comunicación segura:

1.- Juan adquiere dos llaves, una Privada y una Pública; la Pública se la entrega a la entidad de Certificación en la que confía.
2.- La entidad de Certificación es una entidad debidamente registrada y autorizada y quien se encarga de verificar que la Llave Pública que le estan entregando es de Juan y no del Hacker. Hasta aquí todo va bien, tenemos la certeza que la Llave Pública es de Juan por tanto la autoridad certificadora le dá un certificado a Juan similar a un DNI (Documento Nacional de Identificación); este Certificado contiene:
-La llave Pública
-Su nombre
-La fecha de caducidad
-El nombre de la Autoridad de Certificación que ha emitido el Certificado.
-Unnúemro de serie
-Y alguna otra información adicional (huella digital, tipo de encriptación, etc)
3.- Juan envía el Certificado junto con la Llave Pública a Carlos.
4.- Juan envía un documento a Carlos pidiéndole que ingrese dinero en una cuenta bancaria y lo firma utilizando su Llave Privada.
5.- A Carlos le llega la petición de su amigo Juan, y como no se fía, comprueba con el Certificado y la Llave Pública que la firma es de su amigo y no del hacker.
6.- Por el camino el Hacker que no cesa en su empeño de delinquir, crea un par de llaves, una Pública y otra Privada y se hace pasar por Juan pidiendo dinero a Carlos.
7.- A Carlos le llega la falsa petición y no fiándose comprueba con su Certificado y la verdadera Llave Pública de Juan que la firma no es correcta y por lo tanto no envía el dinero evitando ser sorprendido.

Hemos visto como Juan envía su firma a Carlos, el procedimiento inverso es simétrico, tan sólo se necesitaría que Carlos tuviera dos pares de Llaves, una Pública y otra Privada que sólo él mismo conociese. Por supuesto la mayor parte de este proceso es transparente a Juan y a Carlos; es decir, ellos solamente tendrán que pedir una sola vez el Certificado a la Autoridad Certificadora pudiendo después hacer tantas transacciones como ellos quieran, encargándose el software de realizar las comprobaciones por ellos.

a manera de conclusión podemos señalar lo siguiente :

EMISOR DE UN MENSAJE

Con la llave pública del receptor

=

Encripta ó

cifra mensaje

Con la llave privada del emisor
=
Firma el Mensaje

RECEPTOR DEL MENSAJE

Con la llave pública del emisor

=
Verifica la firma digital
Con la llave privada del receptor
=
Desencripta ó descifra el mensaje

No hay comentarios:

Publicar un comentario