Jorge Ramió - RSA cumple 36 años y se le ha caducado el carné joven [Rooted CON 2014]
1. 1
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
RSA cumple 36 años y se le ha
caducado el carné joven
Jorge Ramió Aguirre
UPM - Criptored
jramio@eui.upm.es
Madrid, 7 de marzo de 2014
2. 2
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Desarrollo de la presentación
Introducción al tema
Cosas simpáticas de RSA
Los ataques más ortodoxos no prosperan
– Ataque por factorización entera
– Ataque por cifrado cíclico
– Ataque por paradoja del cumpleaños
Los ataques por canal lateral sí prosperan
Pero, no sólo RSA se ve afectado …
3. 3
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Interés en algoritmo RSA …
Es un estándar … y eso marca
Como algoritmo es interesante
Febrero de 1978 – Febrero de 2014
Longevo, acaba de cumplir 36 años
Increíble pero sigue aguantando
Su diseño es sencillo
Fácil compresión, incluso ellos se enteran
DENTRO VÍDEO…
4. 4
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Los enteraos … 7 magníficos
5. 5
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Las operaciones en RSA …
Cifrado: Ne mod n (intercambio clave)
Descifrado: Cd mod n
Se realizan dentro de un cuerpo
Es necesario calcular inversos, lo de clave pública y
clave privada
Y poco más…
Eso sí, no confundir cuerpo por cuerpazo ni
inversos por lo otro
DENTRO VÍDEO…
6. 6
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Otros cuerpos … y otros inversos
7. 7
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Breve repaso del algoritmo (1)
Febrero de 1978: Ron Rivest, Adi Shamir y
Leonard Adleman proponen el algoritmo de cifra
con clave pública RSA.
1. Cada usuario elige un grupo n = pq (pueden
ser y de hecho son distintos).
2. Los valores p y q no se hacen públicos.
3. Cada usuario calcula (n) = (p-1)(q-1).
4. Cada usuario elige una clave pública e de
forma que 1 < e < (n) y que cumpla con la
condición: mcd [e, (n)] = 1.
8. 8
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Breve repaso del algoritmo (2)
5. Cada usuario calculará ahora su clave privada
d = inv [e,(n)].
6. Se hace público el cuerpo n y la clave e.
7. Se guarda en secreto la clave d. También se
guardarán en secreto p y q para la operación
de descifrado con el Teorema Chino del Resto.
8. Cifra: C = NeR mod nR (ojo... sólo números)
9. Firma: C = h(M)dE mod nE
9. 9
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Fortaleza de RSA
Factorización entera (NP) para poder
calcular la clave privada (complicado …)
Ataque al secreto por cifrado cíclico
(mucho más complicado …)
Ataque directo (P) a la clave secreta por
paradoja del cumpleaños … (más de lo
mismo, aunque puede ser distribuido)
Otros ataques no al algoritmo sino al
entorno físico: canal lateral (escuchan
sonidos, leen energía consumida, ...)
10. 10
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Once preguntas y once NO (1)
1. ¿Puedo elegir los primos p y q de igual valor?
2. ¿Puedo elegir como clave pública e el valor que yo
quiera?
3. ¿Se cifrarán todos los números secretos que pueda
generar como clave de sesión?
4. ¿Debo preocuparme porque mi clave RSA tenga
números que no se cifren y vayan en claro?
5. ¿Si hay una clave pública, existe entonces una única
clave privada?
6. ¿Debo preocuparme si mi clave RSA tiene más de una
clave privada?
Ver documento a publicarse en Criptored el 10/03/2014
11. 11
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Once preguntas y once NO (2)
7. ¿El secreto intercambiado está asegurado si no se
conoce la clave privada del destino?
8. ¿En el ataque por cifrado cíclico, si el resultado de
una cifra se vuelve a cifrar con los mismos
parámetros y la operación se repite varias veces,
recorremos todo el cuerpo?
9. ¿Es factible el ataque por factorización entera
para claves reales?
10. ¿Todos los ataques a RSA son del tipo NP?
11. ¿Los ataques de canal lateral tienen poco futuro?
Los temas 7 al 10 se analizarán con demos
12. 12
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 7
7. Secreto roto sin conocer clave privada
Demo clave
de 30 bits
13. 13
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 8
8. Anillos en ataque por cifrado cíclico
Interesante … no será “mi tessooro” … Demo clave
de 20 bits
14. 14
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 9
9. Factorización entera con Msieve151
Thu Feb 27 20:35:10 2014 Msieve v. 1.51 (SVN 845)
Thu Feb 27 20:35:10 2014 random seeds: a38426d0 91daea70
Thu Feb 27 20:35:10 2014 factoring
… un producto de dos primos consecutivos de 45 dígitos c/u (297 bits)
Thu Feb 27 21:12:58 2014 elapsed time 00:37:48
Demo clave
de 200 bits
15. 15
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 10
10. Paradoja del cumpleaños en local: servidor
Demo clave
de 60 bits
16. 16
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 10
10. Paradoja del cumpleaños en local: cliente
17. 17
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 10
HIGH PERFORMANCE DATA CENTER
VALLEKAS 2
18. 18
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 10
10. Paradoja del cumpleaños red: servidor
Sin red , no
hay demo
19. 19
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 10
10. Paradoja del cumpleaños red: cliente
20. 20
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 11
11. Ataque por canal lateral (no sólo para RSA)
Los ceros y los unos …The sound of silence
21. 21
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Cuestión 11
11. Canal lateral (el verdadero peligro)
22. 22
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Soluciones
Ir a la raíz … TEMPEST
Implementación …
23. 23
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Referencias básicas
J. Ramió; Curso Crypt4you
http://www.criptored.upm.es/crypt4you/temas/RSA/leccion0/leccion0
0.html
J. Ramió, Artículo RSA cumple 36 años y se le ha caducado el
carné joven (29 páginas)
http://www.criptored.upm.es/guiateoria/gt_m001k1.htm
A. Fuentes, L. Hernández, A. Martín, B. Alarcos; CIBSI 2013. Diseño
de un conjunto de herramientas software para ataques por canal
lateral.
http://www.criptored.upm.es/descarga/ListadoActasCIBSI_TIBETS2
013.zip
D. Genkin, A. Shamir, E. Tromer; RSA Key Extraction via Low-
Bandwidth Acoustic Cryptanalysis
http://www.tau.ac.il/~tromer/papers/acoustic-20131218.pdf