jornadas gratuitas de criptografÍa y seguridad informÁtica
DESCRIPTION
JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA. EST Escuela Superior Técnica Facultad de Ingeniería del Ejército Buenos Aires, 14 de noviembre de 2013. Fortalezas y debilidades de la cifra con clave pública: el caso de RSA. Ejemplos prácticos del estándar. Jorge Ramió Aguirre - PowerPoint PPT PresentationTRANSCRIPT
EST Escuela Superior TécnicaFacultad de Ingeniería del Ejército
Buenos Aires, 14 de noviembre de 2013
Jorge Ramió AguirreProfesor UPM, Director proyectos Criptored, Intypedia y Crypt4you
http://www.lpsi.eui.upm.es/~jramio
En febrero de 1978 Ron Rivest, Adi Shamir y Leonard Adleman proponen RSA, un algoritmo de clave pública
Pasos del algoritmo
1.Cada usuario elige un grupo n = pq con p y q primos
2.Los valores p y q no se hacen públicos
3.Cada usuario calcula (n) = (p-1)(q-1) … la trampa
4.Cada usuario elige una clave pública e
5.Condiciones de clave pública: 1 < e < (n) y mcd [e, (n)] = 1
3Fortalezas y debilidades en RSA: casos
prácticos
6. Cada usuario calcula la clave privada d = inv [e, (n)]
7. Se hace público el grupo n y la clave e
8. Se guarda en secreto la clave d. También guardará p y q
puesto que en la operación de descifrado usará el Teorema
del Resto Chino
9. Operación de Cifra: C = NeR mod nR
10. Operación de Firma: C = h(M)dE mod nE
4Fortalezas y debilidades en RSA: casos
prácticos
¿Y dónde reside la seguridad del sistema?
Básicamente en que dado un valor n, producto de dos primos
p y q ambos grandes, es muy difícil encontrar estos dos
primos en el sentido que dicha tarea tarda mucho tiempo y
consume demasiados recursos
Se trata del Problema de la Factorización Entera, que se
vuelve intratable cuando los números que se encuentran
implicados son muy grandes…
5Fortalezas y debilidades en RSA: casos
prácticos
Mucho tiempo y demasiados recursos: miles de millones de
años y toda la capacidad de cómputo mundial … pero …
¿Qué se considera hoy en día un número grande? Hablamos
de al menos 1.024 bits, unos 300 dígitos, … pero lógicamente
estos valores aún no han sido factorizados
No entraremos en conceptos matemáticos (problemas NP)…
lo comprobaremos en las siguientes diapositivas de una
manera más simple y coloquial
6Fortalezas y debilidades en RSA: casos
prácticos
Cálculo fácil o polinomial (función directa)
Calcular “a mano” los siguientes productos de dos primos y
tome el tiempo aproximado que tarda en la operación:
a) 13*31 b) 113*131 c) 1.013*1.031 ... calcule ...
Dificultad polinomial (rápido) … no vale usar calculadora
13*31 = 403; 113*131 = 14.803; 1013*1031 = 1.044.403
A medida que aumenta el tamaño de la entrada, el tiempo de
cálculo aumenta proporcionalmente con el número de dígitos
7Fortalezas y debilidades en RSA: casos
prácticos
Cálculo difícil o polinomial no determinista (función inversa)
Usando la criba de Eratóstenes, factorice en dos primos los
siguientes números y vuelva a tomar el tiempo empleado:
a) 629 b) 17.399 c) 1.052.627 calcule...
Ayuda: en el caso
◦ a) son primos de 2 dígitos
◦ b) son primos de 3 dígitos
◦ c) son primos de 4 dígitos
8Fortalezas y debilidades en RSA: casos
prácticos
Paciencia, un computador va a sufrir lo mismo ...
Dificultad polinomial no determinista (lento)
a) 629 b) 17.399 c) 1.052.627
Da igual que el algoritmo sea éste -muy elemental- u otro más
eficaz; el tiempo de cálculo aumenta mucho al incrementar
en un solo dígito los números en cuestión. Esto es NO lineal.
Los resultados a), b) y c) son el producto de los números
primos inmediatamente superiores a los que se usaron en el
cálculo polinomial es decir 17*37; 127*137; 1019*1033.
9Fortalezas y debilidades en RSA: casos
prácticos
Ejercicio básico realizado con software factor.exe
Existen programas mucho más rápidos, e.g. Msieve
10Fortalezas y debilidades en RSA: casos
prácticos
¿Hay otros frentes de ataque?
Sí y uno muy interesante: paradoja del cumpleaños
Con 23 personas escogidas al azar, la probabilidad que dos de
ellas cumplan años en el mismo día es mayor que el 50%.
Solución:
◦ Pizarra con los 365 días del año
◦ Las personas entran al aula de una en una y van marcando el día de su
cumpleaños en la pizarra … hasta que entre una que ya lo vea marcado
◦ Cuando haya una colisión, se cuentan los accesos y se repite proceso
◦ Para superar esa confianza del 50% basta que entren sólo 23 personas
11Fortalezas y debilidades en RSA: casos
prácticos
C = NeR mod nR (el atacante conoce eR y nR)
Elige un valor de ataque N cualquiera (e.g. N = 2)
Elige dos números aleatorios distintos i, j, dentro del cuerpo de
cifra público n. Normalmente i = 1 y j = (n/2) + 1
Calcula Ni mod n = Ci y Nj mod n = Cj. Comprueba si Ci = Cj
Si no hay colisión, incrementa i y j, repitiendo el proceso y
comparando todos los resultados de i con los de j … PERO …
sucede algo muy interesante (anillos) que optimiza el ataque.
12Fortalezas y debilidades en RSA: casos
prácticos
13Fortalezas y debilidades en RSA: casos
prácticos
Ejemplon = 133 e = 5N = 25
Con simples ecuaciones y conociendo que e = 5, se puede encontrar la clave privada d.
14Fortalezas y debilidades en RSA: casos
prácticos
Ataque a RSA 70 bits monousuario: 21 min, 45 seg (servidor)
15Fortalezas y debilidades en RSA: casos
prácticos
Ataque a RSA 70 bits monousuario: 21 min, 45 seg (cliente)
16Fortalezas y debilidades en RSA: casos
prácticos
Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (servidor)
17Fortalezas y debilidades en RSA: casos
prácticos
Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (Cliente1)
18Fortalezas y debilidades en RSA: casos
prácticos
Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (Cliente2)
19Fortalezas y debilidades en RSA: casos
prácticos
Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (Cliente3)
20Fortalezas y debilidades en RSA: casos
prácticos
Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (Cliente4)
21Fortalezas y debilidades en RSA: casos
prácticos
Diferentes pruebas con software LegionRSA.
Explicación del software.
Particularidades: linealidad del ataque
Trabajo Futuro.
Viabilidad de un ataque real:
◦ Muy interesante pero desgraciadamente, o afortunadamente, no es
viable … sin embargo, se está actualmente evaluando y cuantificando la
capacidad de cómputo necesaria.
22Fortalezas y debilidades en RSA: casos
prácticos
Con los algoritmos actuales y los tamaños de clave que se usan y que los
protocolos fuerzan, podemos estar tranquilos … al menos en el entorno civil.
No obstante, en criptografía la paranoia es una máxima, en tanto una de sus
funciones es asegurar la confidencialidad o el secreto de las comunicaciones.
No es necesario ahondar en las matemáticas para entender qué hace y cómo
funciona la criptografía, para diseñarla no.
Con la llegada de la computación cuántica, toda la actual criptografía podría ser
papel mojado …, se quedaría en una hermosa historia como las cifras del César,
Vigenère, etc. de la criptografía clásica.
En seguridad es sano ser algo paranoico… pero sin pasarse.
Muchas gracias