t03 02 criptografia
Post on 16-Aug-2015
102 Views
Preview:
TRANSCRIPT
Para obtener la Confianza de las partes “CIDAN”
• Confidencialidad– Confianza en la privacidad de la información.
• Integridad– Confianza en que los datos no sean modificados.
• Disponibilidad– Se trata de la capacidad de un servicio, de unos datos o de un sistema, a
ser accesible y utilizable por los usuarios (o procesos) autorizados cuando estos lo requieran.
• Autenticación– Confianza en la identidad de todas las entidades.
• No repudio– Confianza en que las partes no se desdigan.
• Adicionalmente– La Fecha y la Hora Cierta de la Firma “Secure Time Stamp” en la que se ha
generado, y se ha recibido el documento– Conservación, e información histórica
Criptografía• El conjunto de técnicas que permiten asegurar que un
mensaje sólo es entendible por aquel al que va dirigido– Criptografía (del griego κρύπτω krypto, «oculto», y γράφως
graphos, «escribir», literalmente «escritura oculta») – Es el arte de escribir en clave– Protege la información del acceso de quien no está
autorizado a conocerla
• La criptografía oculta datos– Cifrado: ocultación de datos– Descifrado: liberación de datos
• Elementos: – Clave y algoritmos
Clases de Criptografía
• Criptografía de clave privada• Criptografía de clave pública• Funciones resumen o hash
Criptografía simétrica o de clave privada
• Se basa en el uso de una única llave entre las partes implicadas, el remitente y el receptor.– La información se cifra con una clave privada que tienen
tanto el remitente como el receptor– Utiliza la misma clave para cifrado y descifrado– Muy rápidos, adecuados para cifrar grandes volúmenes de
datos– Se utilizan longitudes de clave cortas: 8, 16, 24 bits.– Ejemplos:
• DES, Triple DES, DESX: aplicaciones bancarias, EFS• IDEA: PGP• RC4, RC5: SSL• AES: Rijndael• Blowfish, CAST, SAFER,...
– Problemas: • Número y gestión de clave
Cifrado simétrico o convencional
Clave secreta compartida por el emisor y el receptor
Texto cifrado transmitido
Texto nativo de salidaTexto nativo de entradaAlgoritmo de descifrado (p.e. DES) Algoritmo de descifrado (algoritmo de cifrado inverso)
Clave secreta compartida por el emisor y el receptor
Ataques al cifrado convencional
• Criptoanálisis:– Se basa en la naturaleza del algoritmo mas algún
conocimiento de las características generales del texto nativo.– Intento de deducir un texto nativo o la clave.
Ataque de fuerza bruta (o búsqueda exhaustiva de claves)Fuerza bruta:
Consisten en probar una a una todas las posibles combinaciones de la clave, hasta que se obtenga una traducción inteligible del texto nativo.
Para una clave de n bits, el número total de claves posibles (o el tamaño del espacio de claves) es igual a 2n.
En promedio, habrá que probar la mitad de claves hasta dar con la correcta.
Hoy para que el ataque de fuerza bruta sea computacionalmente irrealizable se recomienda una longitud mínima de 128 bits de clave.
Criptografía de clave pública o asimétrica
• Está basada en el uso de dos claves por cada entidad, dos claves separadas pero relacionadas (asimétrica)– Una pública y otra privada– La privada sólo es conocida por su propietario
• Debe permanecer en secreto y bajo el control del usuario
– La pública puede y debe ser conocida por todo el mundo• Puede difundirse
• Dichas llaves se caracterizan por que:– Son diferentes,– Están matemáticamente asociadas– No se puede obtener la llave privada a partir de la pública.– Longitudes de clave a partir de 512 bits (512, 1024, 2048, etc).– Cada llave únicamente puede descifrar lo que la otra ha cifrado, por tanto;
• a.- Con la llave pública del suscriptor, cualquiera puede cifrar un mensaje, que solo puede ser descifrado por la llave privada del suscriptor, se logra la confidencialidad.
• b.- Con la llave pública del suscriptor, cualquiera puede descifrar un mensaje, y así verificar la identidad del documento que ha sido cifrado por el suscriptor usando su llave privada.
Cifrado de clave pública
• El suscriptor puede establecer la integridad y el origen (autoría) de la información (datos) que envía a otro participante, firmando digitalmente dicha información, cifrándola con su llave privada.– Quien recibe la información puede usar la llave pública asociada del
suscriptor para validar que proviene del suscriptor (tenedor de la llave privada), y verificar la integridad de la información.
• Más lentos, adecuados para:– Autenticación– Distribución de claves de sesión– Firmas digitales
• Ejemplos: – RSA, Diffie-Hellman, ElGamal, Algoritmos de curva elíptica
Pasos
• Cada usuario genera un par de claves.
• Cada usuario publica la clave pública.
• Para enviar un mensaje al usuario, se cifra el mensaje utilizando la clave pública.
• El usuario descifra el mensaje utilizando su clave privada.
Características del cifrado asimétrico• La clave pública debe ser conocida por todo el mundo,
pero la clave privada sólo debe conocerla su propietario
• A partir del conocimiento de la clave pública o del texto cifrado no se puede obtener la clave privada
• Lo que se cifra con una clave, sólo puede descifrarse con la otra
• Cualquiera puede cifrar un mensaje con la clave pública, pero sólo el propietario de la clave privada puede descifrarlo– Proporciona confidencialidad
• Si el propietario de la clave privada cifra con ella un mensaje, cualquiera puede descifrarlo con la correspondiente clave pública– Proporciona integridad, autenticación y no repudio
Distribución de claves secretas mediante criptografía asimétrica
• El emisor envía la clave secreta, generada aleatoriamente, cifrada con la clave pública del receptor, el único capaz de descifrarla usando su correspondiente clave privada
Autenticación mediante criptografía asimétrica
• El emisor cifra el mensaje con su clave privada, operación que sólo él puede realizar
• Cualquiera puede descifrarlo con su clave pública, verificando así su autoría
• El mensaje se comprime antes de ser firmado
Funciones Resumen o Hash
• Transforman mensajes de longitud arbitraria en mensajes de longitud fija.– No se puede recobrar a partir del
resumen(Message Digest)– Es completamente diferente si cambia un
solo bit de el mensaje original.– Función con determinados requisitos.– Ejemplos:
• MD4, MD5, SHA, SHA-1, SHA-256, RIPEMD-160
SSSL (Secure Sockets Layer)
● La empresa Netscape Communication crea en la década de los 90 el protocolo estándar SSL, un procedimiento para proporcionar comunicaciones seguras en una red.
● Es un protocolo criptográfico que proporciona confidencialidad, autenticidad e integridad en una comunicación cliente/servidor
¿Cómo establecer una comunicación segura con SSL?
● SSL Handshake protocol– Facilita la negociación de parámetros de
seguridad para facilitar la confidencialidad, integridad y autenticidad en una comunicación entre cliente y servidor.
● SSL Record protocol– Especifica la forma de encapsular los datos
transmitidos y recibidos, incluidos los de negociación.
Aplicaciones del protocolo TLS/SSL
● VoIPTLS: – Mejora SSL en la protección frente a nuevos
ataques (nuevos algoritmos criptográficos, evitadowngrade, etc.).
● USOS:– Comercio electrónico y banca online
– Securizarredes privadas virtuales (OpenVPN)
– Autenticación y cifrado de datos VoIP
Seguridad del protocolo TLS/SSL
● La versión más moderna del protocolo TLS con las extensiones recomendadas, puede considerarse segura frente a los ataques conocidos.
● Los ataques que vulneran su seguridad se centran especialmente en engañar al usuario con la dirección a la que se conecta o con el certificado digital que autentifica al servidor.
Firma Electrónica / Firma Digital
• Debemos distinguir dos términos que solemos utilizar indistintamente: firma electrónica y firma digital.
Firma Electrónica Reconocida• La Ley distingue entre dos tipos de firma, avanzada y
reconocida, y también nos dice de forma expresa y tácita que únicamente la firma reconocida se podrá considerar equivalente a la firma manuscrita.
Una firma electrónica que sea reconocida debe cumplir las siguientes propiedades o requisitos:
(b) Usando cifrado de clave pública
Compara
Men
s aje
Men
s aje
Men
s aje
Kprivada Kpública
Enfoque típico de firma digital
Estándares PKCS● PKCS: Familia de estándares para los sistemas de
criptografía de clave pública definidos por los Laboratorios RSA:– PKCS#1,#2,#4: RSA Cryptography Standard
– PKCS#3: Diffie-Hellman Key Agreement Standard
– PCKS#5: Password-Based Cryptography Standard
– PKCS#6: Extended-Certificate Syntax Standard
– PKCS#7: Cryptographic Message Syntax Standard
– PKCS#8: Private Key Information Syntax Standard
– PKCS#9: Selected Attibuites Types
– PKCS#10: Certification Request Syntax Standard
– PKCS#11: Cryptographic Token Interface Standard
– PKCS#12: Password Information Exchange Syntax Standard
– PKCS#13: Elliptic Curve Cryptography Standard
top related