Sin título de diapositiva

Anuncio
Seguridad Informática
Capítulo 05: Criptografía
asimétrica
Titulación: Ingeniero en Informática.
Curso 5º - Cuatrimestral (2007-2008)
Javier Jarauta Sánchez
Rafael Palacios Hielscher
José María Sierra
Tema 11: Criptografía
¾ Introducción y conceptos básicos
¾ Historia de la criptografía asimétrica
¾ Criptografía de clave pública (asimétrica)
¾ Algoritmos asimétricos: Diffie-Hellman, RSA
¾ Aplicaciones: SSL, Firma electrónica
2
Capítulo 11
Historia de la criptografía
• Data Encryption Standard (DES)
– 1975. IBM Lucifer para NIST
• Diffie-Hellman (DH)
– 1976. New Directions in Cryptography
• Rivest-Shamir-Addleman (RSA)
– 1977. Válido para firma y cifrado
• Digital Signature Algorithm (DSA)
– 1991. Desarrollado por NSA para NIST
3
Capítulo 11
Tipos de algoritmos criptográficos
• Asimétricos. Clave Pública
– Utiliza dos claves diferentes, una para cifrar y otra
para descifrar
– Ambas están relacionadas, y de una no puede
deducirse la otra
– Una se mantiene en secreto y la otra se publica
– Se utilizan para cifrado, autenticación y
negociación automática de claves
4
Capítulo 11
Algoritmos Asimétricos o de Clave
Pública
Una Clave para cifrar
Texto Claro
Algoritmo
Criptográfico
Cifrar
Otra Clave para descifrar
Texto Cifrado
Algoritmo
Criptográfico
Texto Descifrado
Descifrar
•
•
•
•
•
Utiliza dos claves diferentes matemáticamente relacionadas.
Lo que una cifra la otra lo descifra, y viceversa.
Conociendo una, no puede deducirse la otra
Una de las claves se hace pública y la otra se mantiene privada.
Fortaleza: Facilita la gestión de claves, permite firma electónica
• Debilidades: Muy lento, ineficiente para grandes cantidades de datos
• Ejemplos: DH, RSA, PGP
5
Capítulo 11
Criptografía de Clave Pública
(Asimétrica)
6
Capítulo 11
Autenticación con claves públicas
Clave Privada Origen
Clave Pública Origen
Origen
Destino
Cifrar
Descifrar
Documento original
Documento firmado
7
Capítulo 11
Confidencialidad con claves publicas
Clave Pública Destino
Clave Privada Destino
Origen
Destino
Cifrar
Descifrar
8
Capítulo 11
Algoritmos asimétricos
•
•
RSA:
– Diseñado en 1977 por Rivest, Shamir y Adleman
– Utiliza claves de 512, 768, 1024 o 2048 (típico 1024)
– Basado en la complejidad de factorizar enteros muy grandes
– Utilizado mayoritariamente para firmar
DH:
– Diseñado en 1977 por Diffie y Hellman.
– Claves de 512, 1024
– Basado en las propiedades de los logaritmos discretos
– Utilizado mayoritariamente para negociar claves
– Necesita autenticación adicional (man-in-the-middle)
9
Capítulo 11
Algoritmos Asimétricos
•
El Gammal:
– Diseñado en 1984 por Taher ElGamal
– Puede realizar cifrado y firma
– Basado en la dificultad de calcular logaritmos discretos
•
DSA - Digital Standard Algorithm:
– Diseñado por el NIST (National Institute of Standards and Techonology)
– Inicialmente se utilizaban claves de 512 y posteriormente se incrementó
a 1024 para mayor seguridad
– Es una variante de Schnorr y ElGamal
10
Capítulo 11
Algoritmos de exponenciación
Clave Pub B
Generador
Par de claves
Variable inicial
A
B
Clave Priv B
C = M^Pub B (mod p)
M = C^Priv B(mod p)
Mensaje
M
Descifrar
Cifrar
Mensaje M
Receptor
Transmisor
Los algoritmos criptográficos exponenciales cifran y descifran
según la siguiente formula:
P
C=M
ub E
M =C
Priv D
mod p
mod p
M es el texto claro y C el texto cifrado
11
Capítulo 11
Algoritmo RSA
C=M
Pub D
M =C
Priv D
mod n
PubD
n=pq
mod n
Clave
Pública del
Destinatario
Clave Privada del
Destinatario
Mensaje
M
Cifrar
Transmisor
•
•
•
M=C^PrivD(mod n)
C=M^PubD(mod n)
Descifrar
Mensaje M
Destinatario
Inventado en 1977 por Ronald Rivest, Adi Shamir, y
Leonard Adleman.
Sistema de clave pública utilizado para cifrar y autenticar.
Modulo n está basado en dos números largos, p y q.
12
Capítulo 11
Algoritmo RSA
C=M
Pub D
M =C
Donde,
M = Mensaje Claro
Pub = Clave Pública
(Para Cifrar)
n =p.q
Priv D
mod n
mod n
C = Mensaje Cifrado
Priv = Clave Privada
(Para Descifrar)
Pub . Priv = 1 mod (p-1) (q-1)
La clave pública, Pub , y el módulo n se hacen públicos mientras
que la clave privada, Priv , se mantiene en secreto.
Ejemplo:
p = 11, q = 31, n = 11 * 31 = 341
Pub = 53, Priv = 17 and M=2.
53
C = 253 (mod 341) = 8
El cifrado con RSA es muy lento.
17
M = 817 (mod 341) = 2
13
Capítulo 11
Negociación de claves mediante
Diffie-Hellman
Alicia
a, p son enteros largos
Priv A = Entero largo
aleatorio
Pub A
=
a Priv A (mod p)
a y p no tienen que
ser secretos
PubA
PubB
Benito
a, p son enteros largos
Priv B = Entero largo
aleatorio
Pub B
=
a Priv B (mod p)
Z = Pub B Priv A (mod p)
Z ' = Pub A Priv B (mod p)
Z = Z’
Z’ = Z
El transmisor Alicia y el receptor Benito
utilizan Z como la clave de sesión para cifrar
el mensaje.
14
Capítulo 11
Ejemplo de intercambio de clave
mediante Diffie-Hellman
a=12
p= 47
a y p no tienen que
ser secretos
PrivA= 3
Pub A = 12 3 (mod47) = 36
a= 12
p= 47
PrivB=5
36
14
Pub B = 12 5 (mod47) = 14
Z = 14 3 (mod47) = 18
Z ' = 36 5 (mod47) = 18
18
18
Ambas partes utilizarán 18 como Clave de
Sesión para cifrar el mensaje.
15
Capítulo 11
SSL - Secure Sockets Layer
Autenticación de servidor:
PubServer - Certificado
Autenticación de cliente:
PubBrowser - Certificado
SSL 3
Browser
Browser
Internet
Web
Web
Web
Web
Server
Server
Web
Web
Server
Server
Server
Server
Cifrado de la sesión
con algoritmo simétrico
16
Capítulo 11
Aplicación: Firma electrónica
Origen
Mensaje Transmitido
Destino
Mensaje
Mensaje
Mensaje
Hash
Descifrar
Firma
Cifrar
Clave
Privada
Firma
Clave
Pública
Hash
Hash
Hash iguales = Firma verificada + Integridad
17
Capítulo 11
Descargar