viernes, 9 de abril de 2010

Firma Electronica Conceptos

Introducción al concepto de firmas electrónicas

El paradigma de firmas electrónicas (también llamadas firmas digitales) es un proceso que hace posible garantizar la autenticidad del remitente (función de autenticación) y verificar la integridad del mensaje recibido.

Las firmas electrónicas también poseen una función de reconocimiento de autoría, es decir, hacen posible garantizar que el remitente ha enviado verdaderamente el mensaje (en otras palabras, se aseguran de que el remitente no pueda negar el envío del mensaje).
¿Qué es una función hash?

Una función hash es una función que hace posible obtener un hash (también llamado resumen de mensaje) de un texto, es decir, obtener una serie moderadamente corta de caracteres que representan el texto al cual se le aplica esta función hash. La función hash debe ser tal que asocie únicamente un hash con un texto plano (esto significa que la mínima modificación del documento causará una modificación en el hash). Además, debe ser una función unidireccional para que el mensaje original no pueda ser recuperado a partir del hash. Si existiera una forma de encontrar el texto plano desde el hash, se diría que la función hash presenta una "trapdoor".

Crear una huella digital de un documento utilizando la función hash



Como tal, puede decirse que la función hash representa la huella digital de un documento.

Los algoritmos hash más utilizados son:

* MD5 (MD que significa Message Digest; en castellano, Resumen de mensaje). Desarrollado por Rivest en 1991, el MD5 crea, a partir de un texto cuyo tamaño es elegido al azar, una huella digital de 128 bits procesándola en bloques de 512 bits. Es común observar documentos descargados de Internet que vienen acompañados por archivos MD5: este es el hash del documento que hace posible verificar su integridad.
* SHA (Secure Hash Algorithm; en castellano, Algoritmo Hash Seguro) crea una huella digital que tiene 160 bits de longitud.
SHA-1 es una versión mejorada de SHA que data de 1994. Produce una huella digital de 160 bits a partir de un mensaje que tiene una longitud máxima de 264 bits y los procesa en bloques de 512 bits.

VERIFICACIÓN DE LA INTEGRIDAD

Al enviar un mensaje junto con su hash, es posible garantizar la integridad de dicho mensaje, es decir, el destinatario puede estar seguro de que el mensaje no ha sido alterado (intencionalmente o por casualidad) durante la comunicación.



Cuando un destinatario recibe un mensaje simplemente debe calcular el hash del mensaje recibido y compararlo con el hash que acompaña el documento. Si se falsificara el mensaje (o el hash) durante la comunicación, las dos huellas digitales no coincidirían.

SELLADO DE DATOS

Al utilizar una función hash se puede verificar que la huella digital corresponde al mensaje recibido, pero nada puede probar que el mensaje haya sido enviado por la persona que afirma ser el remitente.

Para garantizar la autenticidad del mensaje, el remitente simplemente debe cifrar (generalmente decimos firmar) el hash utilizando su clave privada (el hash firmado se denomina sello) y enviar el sello al destinatario.



Al recibir el mensaje, el destinatario deberá descifrar el sello con la clave pública del remitente, luego deberá comparar el hash obtenido con la función hash del hash recibido como adjunto. Esta función de creación de sellos se llama sellado.

MÁS INFORMACIÓN

SHA1 Secure Hash Algorithm - Version 1.0
RFC 3174 (rfc3174) - US Secure Hash Algorithm 1 (SHA1)
RFC 1321 (rfc1321) - The MD5 Message-Digest Algorithm


Última actualización el jueves, 16 de octubre de 2008, 15:43:34 .

Certificados


INTRODUCCIÓN AL CONCEPTO DE CERTIFICADOS

Los algoritmos de cifrado asimétrico se basan en el hecho de compartir una clave pública entre varios usuarios. En general, esta clave se comparte mediante un directorio electrónico (normalmente en formato LDAP) o una página Web.

Sin embargo, este modo de compartir presenta un inconveniente importante: nada garantiza que la clave pertenezca al usuario con el que está asociada. Un hacker puede corromper la clave pública que aparece en el directorio remplazándola con su propia clave pública. Por consiguiente, el hacker podrá descifrar todos los mensajes que se cifraron con la clave que aparece en el directorio.

Un certificado permite asociar una clave pública con una entidad (una persona, un equipo, etc.) para garantizar su validez. El certificado es como la tarjeta de identificación de la clave, emitido por una entidad llamada Entidad de certificación (que frecuentemente se abrevia CA, por sus siglas en inglés).

La entidad de certificación es responsable de emitir los certificados, de asignarles una fecha de validez (similar a la fecha de vencimiento de los alimentos) y de revocarlos antes de esta fecha en caso de que la clave (o su dueño) estén en una situación de riesgo.

ESTRUCTURA DE LOS CERTIFICADOS

Los certificados son pequeños archivos divididos en dos partes:

La parte que contiene la información
La parte que contiene la firma de la entidad de certificación
La estructura de los certificados está estandarizada por la norma X.509 (más precisamente, X.509v3) de la UIT, que define la información que contiene el certificado:

La versión de X.509 a la que corresponde el certificado;
El número de serie del certificado;
El algoritmo de cifrado utilizado para firmar el certificado;
El nombre (DN, siglas en inglés de Nombre distinguido) de la entidad de certificación que lo emite;
La fecha en que entra en vigencia el certificado;
La fecha en que finaliza el período de validez del certificado;
El objeto de utilización de la clave pública;
La clave pública del dueño del certificado;
La firma del emisor del certificado (huella digital).
La entidad de certificación firma toda esta información (información + clave pública del solicitante) y esto implica que una función hash crea una huella digital de esta información y luego este hash se cifra con la clave privada de la entidad de certificación. La clave pública se distribuye antes de tiempo para permitir a los usuarios verificar la firma de la entidad de certificación con su clave pública.


Cuando un usuario desea comunicarse con otra persona, sólo debe obtener el certificado del receptor. Este certificado contiene el nombre y la clave pública del receptor, y está firmado por la entidad de certificación. De esta forma, es posible verificar la validez del mensaje aplicando, primero, la función hash a la información contenida en el certificado y, segundo, descifrando la firma de la entidad de certificación con la clave pública y comparando los dos resultados.


FIRMAS DEL CERTIFICADO

Existen varios tipos de certificados en función del nivel de sus firmas:

Los certificados firmados localmente son certificados de uso interno. Al estar firmados por un servidor local, este tipo de certificados permiten garantizar los intercambios confidenciales dentro de una organización, por ejemplo, en una Intranet. Los certificados firmados localmente se pueden usar para autentificar usuarios.
Los certificados firmados por una entidad de certificación son necesarios cuando se deben garantizar los intercambios seguros con usuarios anónimos, por ejemplo, en el caso de una página Web segura al que pueda acceder el público general. La certificación de un tercero garantiza al usuario que el certificado pertenece efectivamente a la organización a la que dice pertenecer.
TIPOS DE USO

Los certificados se utilizan principalmente en tres tipos de contextos:

Los certificados de cliente se almacenan en la estación de trabajo del usuario o se integran en un contenedor como una tarjeta inteligente, y permiten identificar a un usuario y asociarlo con ciertos privilegios. En la mayoría de los casos, se transmiten al servidor cuando se establece una conexión y el servidor asigna privilegios en función de la acreditación del usuario. Son verdaderas tarjetas de identificación digitales que usan un par de claves asimétricas con una longitud de 512 a 1024 bits.
Los certificados de servidor se instalan en un servidor Web y permiten conectar un servicio con el dueño del servicio. En el caso de página Web, permiten garantizar que la dirección URL de la página Web y especialmente su dominio pertenecen realmente a tal o cual compañía. También permiten proteger las transacciones con usuarios gracias al protocolo SSL.
Los certificados VPN (Red privada virtual) se instalan en un equipo de red y permiten cifrar flujos de comunicación de extremo a extremo entre dos puntos (por ejemplo, dos ubicaciones de una compañía). En este tipo de escenario, los usuarios tienen un certificado cliente, los servidores aplican un certificado de servidor y el equipo de comunicación usa un certificado especial (generalmente un certificado IPSec).
PUBLICADO POR ADAN SANCHEZ EN 15:59 0 COMENTARIOS
Paginas relacionadas
Libro Electrónico de Seguridad Informática y Criptografía
http://www.lpsi.eui.upm.es/SInformatica/diapositivas.htm

ExpoCrip: Software para Generación de Claves, Cifra y Firma RSA, ElGamal y DSS
http://www.criptored.upm.es/software/sw_m001l.htm
PUBLICADO POR ADAN SANCHEZ EN 15:19 0 COMENTARIOS

Fte: http://zytrust1.blogspot.com/2009_04_01_archive.html

No hay comentarios:

Publicar un comentario