Title: Criptograf
1Criptografía de clave pública
2Indice
- Criptosistemas de clave pública
- Aplicaciones
- Requerimientos criptográficos
- Algoritmo RSA
- Distribución de claves
3Criptosistemas de clave pública
- El sistema criptográfico de clave pública no es
simétrico. - Aquel sistema que desea recibir información
confidencial genera dos claves una de ellas
permanece privada KRb y la otra se hace pública
KUb. - El sistema emisor encripta empleando la clave
pública, YEKUbX, y el sistema receptor
desencripta empleando la otra, XDKRbY, - Problemas
- Es de suponer que el enemigo conoce el método y
accede a la clave pública.
4(Criptosistemas de clave pública) Privacidad
- Habitualmente la clave pública KUb y el mensaje
cifrado se envían por el mismo canal público. - Este mecanismo resuelve el problema de la
distribución de la clave (al menos en teoría), si
el problema equivalente de ataque criptoanalista
es suficientemente difícil.
5(Criptosistemas de clave pública) Autentificación
- Si el emisor encripta un mensaje utilizando su
clave privada KRa y el receptor puede comprobar
que emisor es quien dice ser porque se puede
desencriptar con su clave pública KUa. - Este mecanismo es posible si las claves son
intercambiables. - Solo es necesario encriptar una parte del
mensaje, p.ej. su autentificador. - Se puede utilizar como prueba, si el receptor
guarda ambos mensajes X e Y y puede demostrar que
en ese momento la clave pública del emisor era
KUa. En este caso se convierte en una firma
digital.
6(Criptosistemas de ...) Privacidad y
Autentificación
- La primera encriptación del usuario sobre el
autentificador del documento de la fuente
proporciona firma digital. La segunda
encriptación protege el envio proporcionando
privacidad. - Su desventaja principal se encuentra en el coste
computacional de la encriptación y
desencriptación de los métodos de clave pública.
7Aplicaciones
- Encriptación/desencriptación El emisor encripta
el mensaje con la clave pública del receptor. - Firma digital El emisor firma un mensaje con
su clave privada. La firma se realiza por el
algoritmo criptográfico aplicado al mensaje o a
un pequeño bloque de datos atado al mensaje. - Intercambio de claves Dos hosts cooperan para
intercambiar una clave para la sesión, que se
utilizará en criptografía de clave privada. - Algoritmo Encriptado/desencriptado Firma
digital Intercambio de claves - RSA Si (malo en bloques grandes) Si Si
- LUC Si (malo en bloques grandes) Si Si
- DSS No Si No
- Diffie-Hellman No No Si
8Requerimientos criptográficos
- Es poco costoso, computacionalmente (comp.),
generar el par de claves. - Es poco costoso, (comp.), encriptar el texto de
origen. - Y EKUbX
- Es poco costoso, (comp.), desencriptar el texto
cifrado. - X DKRbY DKRbEKUbX
- Es inabordable, (comp.), determinar la clave
privada conociendo la clave pública. - De otro modo, es inabordable, (idem), para el
criptoanalista obtener el texto de origen
partiendo del método de encriptado/desencriptado,
la clave pública y el texto cifrado. - Es deseable que las funciones de encriptación y
desencriptación sean intercambiables. - X EKUbDKRbX
9Algoritmo RSA
- Desarrollado en el MIT en 1977 por R. Rivest, A.
Shamir y L Adleman. - Su fundamento teórico está en la Teoría de
Números y la Teoría de la Complejidad. - Su utilidad está ampliamente demostrada.
- Es un encriptador de bloques, donde el texto
cifrado y el texto plano son enteros entre 0 y n
-1 ,para algún n. - Y Xe mod n
- X Yd mod n (Xe)d mod n Xed mod n
- donde ambos (emisor y receptor) conocen n. El
emisor conoce la clave pública KU e, n y el
receptor la clave privada KR d, n. - La robustez de este método es mayor cuanto más
dígitos tienen las claves, típicamente a partir
de 150 hasta 200 (habitualmente).
10Algoritmo RSA
- Generación de claves
- Seleccionar p, q p y q son ambos primos
- Calcular n p q
- Seleccionar d gcd(F(n),d1 1ltdltF(n)
- Función de Euler. F(n) número de enteros
positivos lt n y primos relativos a n. - Calcular e e d-1 mod F(n)
- Clave pública KU e, n
- Clave privada KR d, n
- Encriptación
- Texto simple M lt n
- Texto cifrado C Me (mod n)
- Desencriptación
- Texto cifrado C
- Texto sencillo M Cd (mod n)
11Algoritmo RSA
- Ejemplo
- Seleccionar numeros primos, p 7 y q 17
- Calcular n pq 7x17 119
- Calcular F(n) (p-1)(q-1) 96
- Seleccionar e tal que e es primo relativo a F(n)
96 y menor que F(n) en este caso e 5. - Determinar d tal que de1 mod 96 y d lt 96. El
valor es d 77 porque 77x5 385 4x961 - KU 5,119, KR 77, 119.
- Si M19, C 195 mod 119 2476099 mod 119 66
- Y resulta que, al revés M 6677 mod 119 19
12Distribución de claves
- La distribución de claves secretas es una de las
aplicaciones más importantes de la criptografía
de clave pública. - Las dos vertientes existentes son
- Distribución de claves públicas.
- Distribución de claves privadas que garantiza
una mayor velocidad de transferencia de datos
entre interlocutores.
13(Distribución de claves) Públicas
- Posibilidades
- Anuncio público
- Directorio disponible públicamente
- Autoridad de distribución de claves públicas
- Certificados de clave pública.
14(Distribución de claves) Públicas
- Anuncio público
- Los usuarios de criptosistemas de clave pública
hacen público por cualquier método su clave
pública. - problema un intruso puede emplear la clave y la
identidad de otro - Se pueden capturar mensajes criptografiados.
- El intruso puede usar claves interceptadas para
autentificación. - Directorio disponible públicamente. Típicamente
mediante alguna organización fiable - La autoridad provee un listado nombre, clave
pública - La autoridad provee cada registro bajo demanda.
- Se publica periódicamente el listado actualizado
- Se puede acceder al listado electrónicamente
mediante una comunicación autentificada, al menos
del distribuidor al usuario. - problema si se compromete el sistema (por
cualquier otro método) se puede suplantar a
cualquier usuario del listín.
15(Distribución de claves) Públicas
- Autoridad de clave pública
- Se puede mejorar el sistema frente a intrusos que
impersonen a la autoridad de claves, ni en
peticiones falsas ni con tiempos empleados
anteriormente pasos (1), (2), (4) y (5) - Tambien se mejora la autentificación mediante
identificaciones posteriores entre A y B. ID-A,
N1 y N2 en pasos (3), (6) y (7) - El diálogo se mantiene solo una vez por sesión,
pero sigue siendo un cuello de botella, además de
que en la autoridad sigue recayendo la seguridad
del sistema
16(Distribución de claves) Públicas
- Autoridad de certificados
- La autoridad de certificación crea certificados
bajo demanda, solo la autoridad de certificación
puede expedirlos, a causa de KRaut. - Los interlocutores intercambian sus certificados
y pueden verificarlos con KUaut, comprobando su
origen y validez temporal. - El sello temporal puede aplicarse con intervalos
de validez con el soporte de la autoridad de
certificación.
17(Distribución de claves) Privadas
- Posibilidades
- Distribución simple de clave secreta
- Distribución de clave secreta con
confidencialidad y autentificación - Esquema híbrido con centro de distribución de
claves
18(Distribución de claves) Privadas
- Distribución simple de clave secreta
- La clave se genera en B, y es de suponer que solo
A puede conocerla empleando KRa. - Una vez intercambiada la clave secreta, Ks, A
desecha las claves KRa y KUa. - Es sensible a los ataques activos, donde un
intruso puentea las conexiones entre A y B
empleando su propio par KRi, KUi, de modo que
reenvia los mensajes (1) y (2) apropiandose de la
clave. - En consecuencia solo es útil en entornos donde
solo es posible la inspección del canal.
19(Distribución de claves) Privadas
- Distribución de clave secreta con
confidencialidad y autentificación - A y B comprueban su identidad mutuamente
asegurándose que solo ambos pueden encriptar y
decodificar el mensaje, donde se incluyen sendas
firmas N1 y N2 pasos (1), (2) y (3). - Al mismo tiempo intercambian sus claves públicas
KUa y KUb. - A selecciona una clave Ks y la envia con KRa (lo
que garantiza que la envía A) y KUb (lo que
garantiza la privacidad).
20(Distribución de claves) Privadas
- Esquema híbrido con centro de distribución de
claves - El KDC pone de acuerdo en la clave privada de la
conexión, encriptándola con sendas claves
privadas maestras, que mantiene con cada uno de
los usuarios del KDC. - Estas claves maestras se obtienen del servidor
mediante un esquema de criptografía de clave
pública. - ventajas
- Las claves públicas se utilizan solo cuando se
actualiza cada clave maestra, con lo que el
sistema es más ágil. - Este esquema es compatible con el esquema
convencional de KDC basado en criptografía de
clave secreta. - Estas ventajas le hacen apropiado a sistemas
basados en transacciones, donde las conexiones
son cortas, aunque pueden ser muy frecuentes.