Вы находитесь на странице: 1из 17

Criptologia

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 ciphertext. cryptography, 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 p 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 C.

Criptologia

Introduccin al Criptoanlisis

Tipos ataques criptogrficos


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

Ci h Ciphertext only attack l k 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 C.

Criptologia

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

Criptologia

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 q p almacenada se deduzca una no almacenada

Lmina 8

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

Criptologia

Introduccin al Criptoanlisis

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

F i hash (H) Funcion h 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 H h finales

Lmina 10

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

Dr. Roberto Gmez C.

Criptologia

Introduccin al Criptoanlisis

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

casino H

h97j j R2 5mpi H R2 ty223 t 223 H R2

nikko H

8aw1 R3 78ef H R3 u0i6 0i6 H R3

tele H

h12

algo

carro R1

paris

gato H ron H Ultimo valor hash

2ki

w234 234 R1

secreto t

vodka dk

l1i

Dr. Roberto Gmez Crdenas

La bsqueda
ty223 hotel h t l 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 C.

Criptologia

Introduccin al Criptoanlisis

Funciones reduccin y hash


Uno de los secretos de esta tcnica se encuentra en la funciones de reduccin reduccin. Recordemos que esta funcin convierte una cadena de caracteres en un conjunto de bits que representa un valor hash.

Lmina 13

Dr. Roberto Gmez Crdenas

Implementaciones

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

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

Lmina 14

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

Criptologia

Introduccin al Criptoanlisis

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 abajo.
Se vera como un arcoiris

Lmina 15

Dr. Roberto Gmez Crdenas

Observaciones
Aun se requiere de espacio
P Pero no t t como el de fuerza bruta tanto ld f b t

Solo sirve para contraseas calculadas sin salto


El salto es un parmetro adicional a la contrasea para calcular el hash. p No hay forma de diferenciar entre una contrasea con salto y una contrasea sin salto, ya que las tablas fueran calculadas sin tomar en cuenta los saltos.
Lmina 16 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

Criptologia

Introduccin al Criptoanlisis

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 17

Ci
Dr. Roberto Gmez Crdenas

Diagrama ataque diferencial


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

E(X) K

E(X*) K

E(X) E(X*) input difference p

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


Lmina 18

P(S(E(X*) K))
Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

Criptologia

Introduccin al Criptoanlisis

Timing attack
Descubierto por Paul Kocher Atacante cuenta con medidas de tiempo ( p (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 clc los lla e 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 19 Dr. Roberto Gmez Crdenas

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 20 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

10

Criptologia

Introduccin al Criptoanlisis

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 t l que H(M) = H(M), a esto se le tal H(M) t l concoce como colisin.

Lmina 21

Dr. Roberto Gmez Crdenas

Birthday attack
Es un problema de tipo estadstico. k 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 b bilid d d l d grupo de k gentes, cumplan aos el mismo da, sea mayor a 0.5?
Respuesta: 23
Lmina 22 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

11

Criptologia

Introduccin al Criptoanlisis

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 23

Dr. Roberto Gmez Crdenas

Es complejo el ataque?
Asumir funcin hash produce una salida de m bits y se almacena en x. 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 24 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

12

Criptologia

Introduccin al Criptoanlisis

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 , RIPEMD, Dengguo Feng 2 , Xuejia Lai 3 , Hongbo Yu 1 Near-Collisions of SHA-0 Eli Biham and Rafi Chen
Lmina 25 Dr. Roberto Gmez Crdenas

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 7 7e b3 c9 8f 03 7e 83 c4 ab b 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 3 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 26 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

13

Criptologia

Introduccin al Criptoanlisis

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 27 Dr. Roberto Gmez Crdenas

Colisin MD5 en certificados X.509


Seguimiento con OpenSSL de dos certificados X.509 distintos y con igual firma, mostrado por Lenstra, Wang y g p g 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 28 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

14

Criptologia

Introduccin al Criptoanlisis

Certificados C1 y C2 X.509

Lmina 29

Dr. Roberto Gmez Crdenas

Integridad del cdigo ejecutable

Clculo de hash con OpenSSL

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


Lmina 30 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

15

Criptologia

Introduccin al Criptoanlisis

Alicia y su jefe Csar

Lmina 31

MD5 = a25f7f0b29ee0b3968c860738533a4b9

Dr. Roberto Gmez Crdenas

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 32 Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

16

Criptologia

Introduccin al Criptoanlisis

Pginas relacionadas
Artculo colisiones de Arturo Quirantes en Kriptpolis
http://www kriptopolis org/sha-1-y-las-colisiones-dehttp://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/ http://www.ahazu.com/

NIST's Plan for New Cryptographic Hash Functions


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

Lmina 33

Dr. Roberto Gmez Crdenas

Dr. Roberto Gmez C.

17

Вам также может понравиться