Criptografía de clave pública

Anuncio
Criptografía y Seguridad de
Datos
Criptografía de clave pública y
autenticación de mensajes (II)
Carlos Figueira.
Universida Simón Bolívar
Basado en láminas del Profesor
Henric Johnson (http://www.its.bth.se/staff/hjo/
[email protected])
Contenido
●
●
●
●
Principios de Criptografía de Clave
Pública (CP)
Algoritmos de criptografía CP
Firmas digitales
Administración de claves
Carlos Figueira
2
Criptografía de clave
pública: principios
●
●
Tiene implicaciones en: distribución de
claves, confidencialidad y autenticación
Seis ingredientes (una clave más que en
cifrado convencional)
–
–
–
–
–
Texto en claro
Algoritmo de cifrado
Clave Pública y Clave Privada
Texto/mensaje cifrado
Algoritmo de descifrado
Carlos Figueira
3
Cifrado usando sistema de
CP
Carlos Figueira
4
Autenticación usando
sistemas de CP
Carlos Figueira
5
Aplicaciones de sistemas
CP
●
Tres categorías:
– Cifrado/descifrado: Emisor cifra con
clave pública del receptor
– Firma digital: Emisor firma con su
clave privada
– Intercambio de claves: Ambos
lados cooperan en intercambio de
clave de sesión
Carlos Figueira
6
Requerimientos
1. Computacionalmente fácil generar un
par de claves (clave pública KUb, clave
privada KRb)
2. Fácil para emisor generar texto cifrado
C= E KUb  M 
3. Fácil para el receptor descifrar usando
clave privada:
M = DKRb  C = DKRb [E KUb  M  ]
Carlos Figueira
7
Requerimientos (cont.)
4.No computacionalmente factible
determinar privada (KRb) a partir de la
pública (KUb)
5.No computacionalmente factible
recuperar M sabiendo KUb y cifrado C
6.Cualquiera de las claves puede usarse
para cifrar y la otra para descifrar
M = DKRb [ E KUb  M  ]= D KUb [ E KRb  M  ]
Carlos Figueira
8
Algoritmos de CP
●
●
RSA y Diffie-Hellman
RSA - Ron Rivest, Adi Shamir y Len
Adleman de MIT, en 1977.
– RSA es cifrador de bloque
– El más ampliamente usado
●
Diffie-Hellman
– Intercambia clave secreta de forma privada
– Calcula logaritmos discretos
Carlos Figueira
9
RSA: generación de claves
●
●
●
●
●
●
●
Selecciona p,q
p y q primos
Calcula
n=pxq
Calcula
f(n) = (p-1)(q-1)
Selecciona entero e tal que
gcd(f(n),e)=1; 1<e<f(n)
Calcula d tal que
1=d e mod(f(n))
Pública
KU = {e,n}
Privada
KR = {d,n}
Carlos Figueira
10
RSA: Cifrado
●
Texto claro:
M<n
●
Texto cifrado:
C = Me (mod n)
Carlos Figueira
11
RSA: descifrado
●
Texto cifrado:
C
●
Texto claro:
M = Cd (mod n)
Carlos Figueira
12
Ejemplo de Algoritmo RSA
(p=7, q=17, n=119)
Carlos Figueira
13
Observaciones
●
Ataque de Intermediario (man in
the middle):
– A pide clave pública a B; C la
intercepta y envía la suya!
●
RSA
– escoger claves > 1024.
– ¡Firmar primero y después cifrar!
– Ataques
●
●
texto claro escogido
exponentes bajos (algunas implem.)
Carlos Figueira
14
Intercambio de clave de
Diffie-Hellman
●
●
●
Ambos conocen q (número primo) y
α (α < q y α raíz primitiva de q)
Seleccionar un par de claves
pública/privada Y/X en cada lado
(X<q, Y=αX mod q)
Para calcular la clave secreta:
K=(YB)X A mod q = (YA)X B mod q
Carlos Figueira
15
Intercambio de clave de
Diffie-Hellman
Carlos Figueira
16
Otros algoritmos de CP
●
Estándar de firma digital (Digital
Signature Standard DSS)
– Creado en 1991 por NIST
– Usa
●
●
SHA-1(que fue creado para DSS) y
posteriormente SHA-2
DSA (Digital Signature Algorithm), variante
de ElGamal, como algoritmo de clave
pública/privada para firma
– No se usa para cifrado o intercambio
de clave
Carlos Figueira
17
Otros algoritmos de CP
●
Criptografía de Curva Elíptica (ECC)
– Mejor para claves menores
– Menos confiable (por ser menos
probado) que RSA
– Muy complejo
Carlos Figueira
18
Verificación de CP:
certificados
Carlos Figueira
19
Descargar