jueves, 24 de junio de 2010

Firma digital


Ahora sí...ya está preparados para entender qué es la F.D.

La firma digital hace referencia, en la transmisión de mensajes telemáticos y en la gestión de documentos electrónicos, a un método criptográfico que asocia la identidad de una persona o de un equipo informático al mensaje o documento. En función del tipo de firma, puede, además, asegurar la integridad del documento o mensaje.

La firma electrónica, como la firma hológrafa (autógrafa, manuscrita), puede vincularse a un documento para identificar al autor, para señalar conformidad (o disconformidad) con el contenido, para indicar que se ha leído y, en su defecto mostrar el tipo de firma y garantizar que no se pueda modificar su contenido.

La teoríaLa firma digital de un documento es el resultado de aplicar cierto algoritmo matemático, denominado función hash, a su contenido y, seguidamente, aplicar el algoritmo de firma (en el que se emplea una clave privada) al resultado de la operación anterior, generando la firma electrónica o digital. El software de firma digital debe además efectuar varias validaciones, entre las cuales podemos mencionar:
Vigencia del certificado digital del firmante,
Revocación del certificado digital del firmante (puede ser por OCSP o CRL),
Inclusión de sello de tiempo.



La función hash es un algoritmo matemático que permite calcular un valor resumen de los datos a ser firmados digitalmente. Funciona en una sola dirección, es decir, no es posible, a partir del valor resumen, calcular los datos originales. Cuando la entrada es un documento, el resultado de la función es un número que identifica inequívocamente al texto. Si se adjunta este número al texto, el destinatario puede aplicar de nuevo la función y comprobar su resultado con el que ha recibido. Ello no obstante, este tipo de operaciones no están pensadas para que las lleve a cabo el usuario, sino que se utiliza software que automatiza tanto la función de calcular el valor hash como su verificación posterior.
Para que sea de utilidad, una función hash debe satisfacer dos importantes requisitos:

debe ser difícil encontrar dos documentos cuyo valor para la función hash sea idéntico.

Dado uno de estos valores, debe ser imposible producir un documento con sentido que de lugar a ese hash.

Existen funciones hash específicamente designadas para satisfacer estas dos importantes propiedades.

Algunos sistemas de cifrado de clave pública se pueden usar para firmar documentos. El firmante cifra el hash calculado de un documento con su clave privada y cualquiera que quiera comprobar la firma y ver el documento, no tiene más que usar la clave pública del firmante para descifrar el hash, y comprobar que es el que corresponde al documento. La verdad que la firma electrónica se encuentra en el ciberespacio, pues se puede observar que en Guatemala, por ejemplo, está la ley de la firma electrónica.

La solución

Un algoritmo efectivo debe hacer uso de un sistema de clave pública para cifrar sólo la firma. En particular, el valor "hash" se cifra mediante el uso de la clave privada del firmante, de modo que cualquiera pueda comprobar la firma usando la clave pública correspondiente. El documento firmado se puede enviar usando cualquier otro algoritmo de cifrado, o incluso ninguno si es un documento público. Si el documento se modifica, la comprobación de la firma fallará, pero esto es precisamente lo que la verificación se supone que debe descubrir.
El Digital Signature Algorithm es un algoritmo de firmado de clave pública que funciona como hemos descrito. DSA es el algoritmo principal de firmado que se usa en GnuPG.

Función Hash


Última aclaración

En serio...es el último.

--------------------------------

En informática, Hash se refiere a una función o método para generar claves o llaves que representen de manera casi unívoca a un documento, registro, archivo, etc., resumir o identificar un dato a través de la probabilidad, utilizando una función hash o algoritmo hash. Un hash es el resultado de dicha función o algoritmo (explicado).

Son usadas en múltiples aplicaciones, como los arrays asociativos, criptografía ( explicado), procesamiento de datos y firmas digitales, entre otros.

Criptografía asimétrica

Seguro que ya están entiendo (espero), porque un concepto nos lleva a otro y les explico cada unos de ellos para ir a la F.D.

Empezemos...Les prometo que ya acabo :D

---------------------------

La criptografía asimétrica es el método criptográfico que usa un par de claves para el envío de mensajes. Las dos claves pertenecen a la misma persona a la que se ha enviado el mensaje. Una clave es pública y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella. Además, los métodos criptográficos garantizan que esa pareja de claves sólo se puede generar una vez, de modo que se puede asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves.

Si el remitente usa la clave pública del destinatario para cifrar el mensaje, una vez cifrado, sólo la clave privada del destinatario podrá descifrar este mensaje, ya que es el único que la conoce. Por tanto se logra la confidencialidad del envío del mensaje, nadie salvo el destinatario puede descifrarlo.

Si el propietario del par de claves usa su clave privada para cifrar el mensaje, cualquiera puede descifrarlo utilizando su clave pública. En este caso se consigue por tanto la identificación y autentificación del remitente, ya que se sabe que sólo pudo haber sido él quien empleó su clave privada (salvo que alguien se la hubiese podido robar). Esta idea es el fundamento de la firma electrónica.

En conclusión

Con las claves públicas no es necesario que el remitente y el destinatario se pongan de acuerdo en la clave a emplear. Todo lo que se requiere es que, antes de iniciar la comunicación secreta, el remitente consiga una copia de la clave pública del destinatario.

Clave pública y clave privada


El principio del cifrado asimétrico (también conocido como cifrado con clave pública) apareció en 1976, con la publicación de un trabajo sobre criptografía por Whitfield Diffie y Martin Hellman.

En un criptosistema asimétrico (o criptosistema de clave pública), las claves se dan en pares:

*Una clave pública para el cifrado;
**Una clave secreta para el descifrado.
En un sistema de cifrado con clave pública, los usuarios eligen una clave aleatoria que sólo ellos conocen (ésta es la clave privada). A partir de esta clave, automáticamente se deduce un algoritmo (la clave pública). Los usuarios intercambian esta clave pública mediante un canal no seguro.

Cuando un usuario desea enviar un mensaje a otro usuario, sólo debe cifrar el mensaje que desea enviar utilizando la clave pública del receptor (que puede encontrar, por ejemplo, en un servidor de claves como un directorio LDAP). El receptor podrá descifrar el mensaje con su clave privada (que sólo él conoce).

Para ilustrarlo con un ejemplo, sería como si un usuario creara de forma aleatoria una pequeña llave metálica (la clave privada) y luego produjera una gran cantidad de candados (claves públicas) que guarda en un casillero al que puede acceder cualquiera (el casillero sería el canal no seguro). Para enviarle un documento, cada usuario puede usar un candado (abierto), cerrar con este candado una carpeta que contiene el documento y enviar la carpeta al dueño de la clave pública (el dueño del candado). Sólo el dueño podrá abrir la carpeta con su clave privada.


Deacuerdoooooooooo....seguro alguno de ustedes no han entendido...No te preocupes, puesto que te lo explico en otras palabras.

Veamos...

Esquema de encriptación ( ya está explicado) en el que cada persona tiene dos claves: la pública y la privada. Los mensajes se encriptan usando la clave pública del destinatario y sólo pueden ser descifrados usando su clave privada.

*La clave pública lo puede conocer cualquier persona que lo solicite.
** La clave secreta (privada) como su nombre lo dice, secreto; conocido por una parte.

Algoritmo


Los diagramas de flujo sirven para representar algoritmos de manera gráfica

------------------------------------------------
Ahora bien... seguimos...Sí lo sé...se pregunta...¿Y ésto que tiene que ver con la Firma Digital?... pues mucho...pues ésto se usa mucho en las Ciencias Computacionales.

Definición

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo s un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien lo ejecute.2 Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.1
En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemáticas son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.

Fácil, ¿Cierto?

Son cierto parámetros preestablecidos a seguir para llegar a un objetivo.

*En la siguiente edición sigue: Criptografía asimétrica