Sei sulla pagina 1di 16

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Introduccin al Criptoanlisis
Roberto Gmez Crdenas rogomez@itesm.mx

Lmina 1

Dr. Roberto Gmez Crdenas

Un punto de vista
Breaking a cipher doesn't necessarily mean finding a practical way for an eavesdropper to recover the plaintext from just the ciphertext. In academic cryptography, the rules are relaxed considerably. Breaking a cipher simply means finding a weakness in the cipher that can be exploited with a complexity less than brute-force. Never mind that brute-force might require 2128 encryptions; an atack requiring 2110 encryptions would be considered a break. Breaks might also require unrealistic amounts of known or chosen plaintext -- 256 blocks or unrealistic amounts of storage: 280.Simply put, a break can just be a "certificational weakness": evidence that the cipher does not perform as advertised. --Bruce Schneier; from his "Self-Study Course in Block Cipher Cryptanalysis"
Lmina 2 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Tipos ataques criptogrficos


Clasificacin de acuerdo a los datos que se requieren para el ataque.

Ciphertext only attack Known-Plaintext attack Chosen text attack


Chosen plaintext Attack Chosen ciphertext Attack Adaptive Chosen Plaintext Attack Adaptive Chosen Ciphertext Attack

Lmina 3

Dr. Roberto Gmez Crdenas

Ciphertext only attack


Dado:
criptograma

Se busca por
texto claro o llave

Ejemplo
Anlisis de frecuencia en el criptograma

Lmina 4

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Known-Plaintext Attack

Dado:
criptograma un fragmento del texto claro

Se busca por
resto texto claro o llave

Ejemplo
Bsqueda exhaustiva de llave (ataque de fuerza bruta)
llaves sucesivas
criptograma

Lmina 5

Dr. Roberto Gmez Crdenas

Ataques contraseas
Ataques por diccionario Ataques por fuerza bruta

Lmina 6

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Una alternativa
Calcular todos los valores hash generados al cifrar todas las posibles contraseas y almacenarlos en una tabla. Una vez construida, un atacante solo tendra que consultar la tabla para encontrar la contrasea asociada a un hash.

Lmina 7

Dr. Roberto Gmez Crdenas

Dos problemitas
El tiempo que toma llevar a cabo todo el clculo
Computo paralelo o distribuido

El espacio de almacenamiento
Almacenar solo una parte de toda la informacin, de tal forma que a partir de una almacenada se deduzca una no almacenada

Lmina 8

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Generando cadenas
Textos planos Texto Plano Inicial H R1 H R2 H R3 H Hash

Funcion hash (H) Funciones de reduccin (Ri)

Hash final
Lmina 9 Dr. Roberto Gmez Crdenas

Al final

Textos Planos Iniciales


estos hashes no son almacenados pero pueden ser generados y buscados

Hashes finales

Lmina 10

iaisudhiu -> 4259cc34599c530b1e4a8f225d665802 oxcvioix -> c744b1716cbf8d4dd0ff4ce31a177151 9da8dasf -> 3cd696a8571a843cda453a229d741843 [...] sodifo8sf -> 7ad7d6fa6bb4fd28ab98b3dd33261e8f Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Un ejemplo
hotel H 8rt1 R1 x78a H toto H Texto plano
Lmina 11

casino H

h97j R2 5mpi H R2 ty223 H R2

nikko H

8aw1 R3 78ef H R3 u0i6 H R3

tele H

h12

algo

carro R1

paris

gato H ron H Ultimo valor hash

2ki

w234 R1

secreto

vodka

l1i

Dr. Roberto Gmez Crdenas

La bsqueda
ty223 hotel algo h12 g31j 2ki l1i H vodka R2 ty223 cachafas R3 ty223

toto

l1i

toto H

w234 R1

secreto H

ty223

Lmina 12

Texto plano

Hash
Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Implementaciones

El proyecto RainbowCrack
http://www.antsight.com/zsl/rainbowcrack

La herramienta Ophcrack
SourceForge http://ophcrack.sourceforge.net/es.index.php

Lmina 13

Dr. Roberto Gmez Crdenas

Por qu arcoiris?

Cada una de las columnas usa una funcin de reduccin diferente. Si cada funcin reduccin fuera de un color diferente y el texto plano se pone en la parte superior y el hash abajo.
Se vera como un arcoiris

Lmina 14

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Observaciones
Aun se requiere de espacio
Pero no tanto como el de fuerza bruta

Solo sirve para contraseas calculadas sin salto


El salto es un parmetro adicional a la contrasea para calcular el hash

Lmina 15

Dr. Roberto Gmez Crdenas

Chosen plaintext attack


Dado:
Capacidad de encriptar un fragmento arbitrario, elegido, del texto en claro
mdulo encripcin

Se busca por
llave Mi M*i

Ejemplo
Criptoanlisis diferencial

i=1,...N

mdulo encripcin

Ci
Lmina 16

Ci
Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Diagrama ataque diferencial


X E(X) X* E(X*)

X* E(X*) K
K

E(X)

E(X)

E(X*)

E(X) E(X*) input difference

P(S(E(X))) P(S(E(X*))) output difference P(S(E(X)


Lmina 17

K))

P(S(E(X*)

K))
Dr. Roberto Gmez Crdenas

Timing attack
Descubierto por Paul Kocher Atacante cuenta con medidas de tiempo (obtenidas a travs de fisgoneo) y elige varios criptogramas c1, c2, ... cn Objetivo
deducir llave secreta K por ejemplo: RSA, atacante hace que objetivo calcule ce mod n, para descubrir e

Toma ventaja de la lentitud de calculo de la llave pblica Velocidad de los clculos depende de la llave de encripcin y de los datos de entrada Para algunos algoritmos, algunos bits de la llave pueden ser adivinados observando el tiempo del procesador cuando esta haciendo los clculos de la llave secreta
Lmina 18 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Otros ataques
Chosen-key attack
similar a criptoanlisis diferencial, pero examina diferencias entre las llaves atacante elige una relacin entre llaves, pero no conoce la llave independiente del nmero de iteraciones de encripcin no es un ataque prctico, pero es interesante

Rubber-hose cryptoanalysis
threats, blackmails, torturas hasta que se obtiene la llave soborno, tambin conocido como purchase-key attack mejor forma de romper un algoritmo y la ms efectiva
Lmina 19 Dr. Roberto Gmez Crdenas

Ataques sobre funciones de un solo sentido


Existen dos ataques de fuerza bruta sobre una funcin de slo un sentido:
dado el hash de un mensaje, H(M), el adversario quiere ser capaz de crear otro documento M tal que H(M) = H(M). el adversario quisiera encontrar dos mensajes al azar, M y M tal que H(M) = H(M), a esto se le concoce como colisin.

Lmina 20

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

10

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Birthday attack
Es un problema de tipo estadstico. Cul es el valor mnimo de k, para que la probabilidad de que al menos una persona, en un grupo de k gentes, cumpla aos el mismo da que usted, sea mayor a 0.5?
Respuesta: 253

Cul es el valor mnimo de k, para que la probabilidad de que al menos dos personas, en un grupo de k gentes, cumplan aos el mismo da, sea mayor a 0.5?
Respuesta: 23
Lmina 21 Dr. Roberto Gmez Crdenas

Analoga con funciones un solo sentido


Encontrar a alguien con un da de nacimiento es anlogo a encontrar un mensaje que coincida con un valor de hash conocido. Encontrar a dos gentes con el mismo da de cumpleaos al azar es anlogo a encontrar una colisin de mensajes. Este es conocido como el birthday attack.

Lmina 22

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

11

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Es complejo el ataque?
Asumir funcin hash produce una salida de m bits y se almacena en x. Encontrar un mensaje cuyo valor hash sea igual a x, requiere aplicar la funcin a 2m mensajes. Encontrar dos mensajes cuyo valor hash sea igual a x, requiere aplicar la funcin a 2m/2 mensajes. Una mquina que procese un milln de mensajes por segundo tomara 600,000 aos para encontrar un mensaje que colisione con un valor hash de 64 bits.
Lmina 23 Dr. Roberto Gmez Crdenas

Sin embargo
Algunas vulnerabilidades se han encontrado
Conferencia Crypto 2004

Multicollisions in iterated hash functions. Application to cascaded constructions , Antoine Joux Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD, Xiaoyun Wang 1 , Dengguo Feng 2 , Xuejia Lai 3 , Hongbo Yu 1 Near-Collisions of SHA-0 Eli Biham and Rafi Chen
Lmina 24 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

12

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Ejemplo de colisin en MD5


Archivos datos 1 (en hexadecimal)
d1 2f 55 08 d8 dd e9 c6 31 ca ad 51 82 53 9f 98 dd b5 34 25 3e e2 33 21 02 87 06 e8 31 b4 42 bc c5 12 09 f7 56 87 0f b6 e6 46 f4 cd 34 da 57 a8 ee 7e b3 c9 8f 03 7e 83 c4 ab 02 9f 5b fd e8 93 69 40 83 d9 ae 02 ce 96 3d 04 e4 1d 6d 39 54 f9 9a 58 88 bd ac 63 b6 65 06 3e 83 f2 d4 06 70 2b 98 b8 25 80 36 d2 80 6f af fb 71 37 c9 48 a8 f7 f9 7f 41 3c 19 cd 0d 2a 5c 89 5a 5b c6 a0 1e 70

Hay hasta 24 bits diferentes

Los primeros 4 de 8 bits son distintos.

Archivo datos 2 (en hexadecimal)


d1 2f 55 08 d8 dd e9 c6 31 ca ad 51 82 53 9f 98 dd b5 34 25 3e e2 33 21 02 07 06 e8 31 34 42 bc c5 12 09 f7 56 87 0f b6 e6 46 f4 cd 34 da 57 a8 ee 7e b3 c9 8f 03 7e 83 c4 ab 02 9f 5b fd e8 93 69 40 83 d9 ae 02 ce 96 3d 04 e4 1d 6d 39 54 f9 9a 58 88 bd ac 63 b6 65 06 3e 83 72 d4 06 70 ab 98 b8 25 80 36 d2 80 6f af fb f1 37 c9 48 28 f7 f9 7f 41 3c 19 cd 0d 2a 5c 89 5a 5b c6 a0 1e 70

Y la funcin hash MD5 es:

MD5 = 79 05 40 25 25 5f b1 a2 6e 4b c4 22 ae f5 4e b4
Lmina 25 Dr. Roberto Gmez Crdenas

Caso anecdtico de la multa de trfico


Australia, agosto de 2005: fotografa de un radar tomada por la polica a un automvil por exceso de velocidad. El abogado defensor del infractor recurre la denuncia argumentando que la imagen puede ser de otro automvil (no de su cliente) o se puede haber alterado el original. La polica responde que usa MD5 para comprobar la integridad de las fotografas de dicho aparato electrnico, pero luego no encuentra ningn perito que se atreva a demostrar ante el juez la infalibilidad de ese algoritmo! Conclusin: se retira la denuncia y se anula la multa. Una jurisprudencia muy peligrosa si se lleva esta situacin por ejemplo al escenario de una certificacin X.509! Referencia:
http://www.hispasec.com/unaaldia/2489
Lmina 26 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

13

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Colisin MD5 en certificados X.509


Seguimiento con OpenSSL de dos certificados X.509 distintos y con igual firma, mostrado por Lenstra, Wang y Weger en el artculo Colliding X.509 Certificates. Dos certificados X.509 vlidos, firmados por la misma autoridad, con igual nmero de serie, pero distintos en sus datos del mdulo RSA y por consiguiente con diferente huella digital o fingerprint, entregan la misma firma digital RSA sobre MD5. En este ejemplo, el mdulo n de RSA con 2.048 bits tiene 6 bytes distintos. Referencia:
http://www.win.tue.nl/~bdeweger/CollidingCertificates
Lmina 27 Dr. Roberto Gmez Crdenas

Certificados C1 y C2 X.509

Lmina 28

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

14

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

Integridad del cdigo ejecutable

Clculo de hash con OpenSSL

Artculo de Peter Selinger http://www.mathstat.dal.ca/~selinger/md5collision/


Lmina 29 Dr. Roberto Gmez Crdenas

Alicia y su jefe Csar

Lmina 30

MD5 = a25f7f0b29ee0b3968c860738533a4b9

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

15

Introduccin a la Seguridad Informtica

Introduccin al Criptoanlisis

NIST nuevo estndar hash


Debido a los ataques a las funciones hash, varias voces reconocidas venan pidiendo un concurso similar al que se realiz con el algoritmo AES para encontrar un nuevo estndar para estas funciones.
adems de seguro, sea duradero.

Finalmente el NIST publica una nota de prensa el 23 de enero 2007 con un borrador para nuevo estndar en hash. El 30 de abril se cerr el plazo para envo de comentarios. Se espera que est operativo para 2009, aunque otros lo ponen ms lejos... y los ms escpticos dicen que habr que cambiar de estndar cada 5 aos...
Lmina 31 Dr. Roberto Gmez Crdenas

Pginas relacionadas
Artculo colisiones de Arturo Quirantes en Kriptpolis
http://www.kriptopolis.org/sha-1-y-las-colisiones-decumpleanos

Implementacin del trabajo de Xiaoyun Wang, et al.


http://www.stachliu.com/collisions.html

Base de datos de huellas digitales


http://www.ahazu.com/

NIST's Plan for New Cryptographic Hash Functions


http://csrc.nist.gov/pki/HashWorkshop/

Lmina 32

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez Crdenas

16

Potrebbero piacerti anche