22
EST Escuela Superior Técnica Facultad de Ingeniería del Ejército Buenos Aires, 14 de noviembre de 2013

JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

  • Upload
    ura

  • View
    35

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

EST Escuela Superior TécnicaFacultad de Ingeniería del Ejército

Buenos Aires, 14 de noviembre de 2013

Page 2: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Jorge Ramió AguirreProfesor UPM, Director proyectos Criptored, Intypedia y Crypt4you

http://www.lpsi.eui.upm.es/~jramio

Page 3: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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

Page 4: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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

Page 5: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

¿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

Page 6: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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

Page 7: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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

Page 8: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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 ...

Page 9: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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

Page 10: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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

Page 11: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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

Page 12: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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

Page 13: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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.

Page 14: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

14Fortalezas y debilidades en RSA: casos

prácticos

Ataque a RSA 70 bits monousuario: 21 min, 45 seg (servidor)

Page 15: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

15Fortalezas y debilidades en RSA: casos

prácticos

Ataque a RSA 70 bits monousuario: 21 min, 45 seg (cliente)

Page 16: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

16Fortalezas y debilidades en RSA: casos

prácticos

Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (servidor)

Page 17: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

17Fortalezas y debilidades en RSA: casos

prácticos

Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (Cliente1)

Page 18: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

18Fortalezas y debilidades en RSA: casos

prácticos

Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (Cliente2)

Page 19: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

19Fortalezas y debilidades en RSA: casos

prácticos

Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (Cliente3)

Page 20: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

20Fortalezas y debilidades en RSA: casos

prácticos

Ataque a RSA 70 bits en red con 4 clientes: 5 min, 18 seg (Cliente4)

Page 21: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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.

Page 22: JORNADAS GRATUITAS DE CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

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