Capítulo 3: Cifrado en flujo

23
Outline Cifrado en Flujo Cifrado basado en LFSR Algoritmo RC4 CIFRADO EN FLUJO Juan Manuel Garc´ ıa Garc´ ıa 26 de agosto de 2010 Juan Manuel Garc´ ıa Garc´ ıa CIFRADO EN FLUJO

Transcript of Capítulo 3: Cifrado en flujo

Page 1: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

CIFRADO EN FLUJO

Juan Manuel Garcıa Garcıa

26 de agosto de 2010

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 2: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Cifrado en FlujoDefiniciones

Cifrado basado en LFSRRegistros LFSRCifrado A5/1Ataques a A5/1

Algoritmo RC4Operacion de RC4Ataques a RC4Cifrado WEP

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 3: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Definiciones

Definiciones

1. Cifrado en flujo: Cifrado de clave simetrica donde los bits deltexto plano son combinados con un flujo de bitspseudo-aleatorios de cifrado, tıpicamente mediante unaoperacion XOR.

2. Los dıgitos del texto plano son cifrados uno a la vez, y latransformacion de dıgitos sucesivos varia durante el cifrado.

3. En la practica los dıgitos son un solo bit o un byte.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 4: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Definiciones

Aproximacion al OTP

◮ El cifrado en flujo puede considerarse una aproximacion alcifrado de Vernam o al One-Time Pad (OTP).

◮ El One-Time Pad utiliza una secuencia cifrante de dıgitoscompletamente aleatorios.

◮ Si la secuencia cifrante es completamente aleatoria, de lamisma longitud del mensaje y se usa una sola vez, el OTP esseguro (Shannon, 1949).

◮ Un cifrado en flujo utiliza una llave mas corta (128 bits,tıpicamente) para generar una secuencia pseudo-aleatoria quese combina con los digitos del texto plano de modo similar alOTP.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 5: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Definiciones

Ejercicios:

1. Proponga un metodo para generar bits verdaderamentealeatorios.

2. ¿Como demostrarıa que los bits generados por su metodo sonverdaderamente aleatorios?

3. Proponga un sistema para utilizar los bits aleatorios generadospor su metodo en una implementacion del OTP.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 6: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Registros LFSRCifrado A5/1Ataques a A5/1

Registros LFSR

◮ Un registro de desplazamiento de retroalimentacion lineal(linear feedback shift (LFSR)) es un registro de corrimiento debits cuyo bit de entrada es una funcion lineal de su estadoprevio.

◮ La unica funcion lineal sobre bits es el XOR, por lo tanto elbit de entrada depende del XOR de los valores de algunos bits(taps) del registro.

◮ El valor inicial del registro es denominado la semilla. Dado quela operacion del registro es determinıstica, la secuencia devalores producidos por el registro esta completamentedeterminado por el estado actual.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 7: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Registros LFSRCifrado A5/1Ataques a A5/1

Figura: Registros LFSR

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 8: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Registros LFSRCifrado A5/1Ataques a A5/1

A5/1

◮ A5/1 es un cifrado en flujo para proporcionar confidencialidaden telefonia celular GSM estandar.

◮ A5/1 es utilizado en Europa y Estados Unidos. Una versionmas debil, A5/2 se utiliza para exportacion.

◮ A5/1 fue desarrollado en 1987 y A5/2 en 1989. Inicialmentemantenidos ambos en secreto, el diseno fue filtrado en 1994, yse hizo ingenierıa inversa completa en 1999 a partir de untelefono GSM.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 9: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Registros LFSRCifrado A5/1Ataques a A5/1

A5/1: Operacion

◮ Una transmision GSM esta compuesta por secuencias derafagas (bursts).

◮ En un canal unidireccional , una rafaga es enviada cada 4.615milisegundos y contiene 114 bits.

◮ A5/1 produce una secuencia cifrante de 114 bits que esoperada en XOR con los 114 bits de datos antes de lamodulacion.

◮ A5/1 es inicializado utilizando una clave de 64 bits combinadacon una numero de marco de 22 bits publicamente conocido.

◮ A5/1 esta basado en una combinacion de tres LFSR.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 10: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Registros LFSRCifrado A5/1Ataques a A5/1

Figura: Registros LFSR del A5/1

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 11: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Registros LFSRCifrado A5/1Ataques a A5/1

Ataques a A5/1

◮ Ekdahl y Johnson publicaron en 2003 un ataque en elprocedimiento de inicializacon que rompe A5/1 en unosminutos utilizando de dos a cinco minutos de conversacion entexto plano.

◮ En 2004, el ataque fue mejorado para romper el cifrado enmenos de un minuto y unos cuantos segundos de conversacionconocida. Fue mejorado todavia mas por Barkan y Biham en2005.

◮ En 2006, Barkan, Biham y Keller publicaron ataques activoscontra A5/X.

◮ En 2008, la Universidad de Bochum lanzaron el proyecto dedesarrollo del cripto-acelerador COPACABANA, que puederomper el cifrado A5/1 y A5/2.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 12: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Registros LFSRCifrado A5/1Ataques a A5/1

Ataques a A5/2 (2)

◮ En la conferencia Black Hat de 2009 se anuncio el proyectoA5/1 Cracking Project que utiliza una arquitectura decomputo distribuida peer-to-peer de GPUs NVidia.

◮ En mayo de 2010 se anuncio el rompimiento de A5/1utilizando las tablas generadas.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 13: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

RC4

◮ RC4 es un algoritmo para cifrado en flujo disenado por RonRivest en 1987 para RSA Security.

◮ Inicialmente un secreto industrial, su descripcion fue posteadaanonimamente en la lista de correos de Cypherpunks.

◮ El codigo filtrado ha sido confirmado como genuino dado quesus salidas son iguales a las del software propietario que usalicencias de RC4.

◮ RC4 es el metodo de cifrado en flujo mas ampliamenteutilizado y se aplica en protocolos populares como SSL yWEP.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 14: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Operacion de RC4

◮ RC4 genera un flujo de bits pseudo-aleatorios (secuenciacifrante).

◮ El cifrado en flujo se opera en XOR con los bits de los datos(como en el cifrado de Vernam).

◮ Para generar el cifrado en flujo, se utiliza un estado internoconsistente en dos partes:

1. Una permutacion de todos los 256 bytes posibles.2. Dos ındices de 8 bits.

◮ La permutacion es inicializada con una clave de longitudvariable, tıpicamente de entre 40 y 256 bits.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 15: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Key-Scheduling Algorithm (KSA)

for i = 0 to 255 doS [i ]← i

end forj ← 0for i = 0 to 255 do

j ← (j + s[i ] + k[i mod keylength]) mod 256Swap s[i] and s[j]

end for

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 16: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Pseudo-Random Generation Algorithm (PRGA)

while GeneratingOutput doi ← (i + 1) mod 256j ← (j + S [i ]) mod 256Swap values of S[i] and S[j]K ← S [(S [i ] + S [j ]) mod 256]Output K

end while

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 17: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Figura: RC-4

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 18: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Sistemas basados en RC4

1. WEP (Wired Equivalent Privacy)

2. WPA (Wi-Fi Protected Access)

3. Protocolo de cifrado de BitTorrent

4. Microsoft P-t-P Encryption

5. SSL (Secure Socket Layer)

6. SSH

7. Skype

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 19: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Ataque de Fluhrer, Mantin y Shamir

◮ En 2001, Fluhrer, Mantin y Shamir descubrieron que laestadıstica de los primeros bytes del flujo cifrante esfuertemente no-aleatoria, proporcionando informacion sobre lallave.

◮ La clave puede ser encontrada analizando un numerosuficientemente grande de mensajes.

◮ Fue utilizado para romper el protocolo de cifrado WEP (WiredEquivalent Privacy) utilizado en redes inalambricas 802.11.

◮ Los criptosistemas pueden defenderse de este ataquedescartando la porcion inicial del flujo cifrante. El algoritmoasi modificado se le denomina RC4-drop[n] donde n es elnumero de bytes a descartar, tıpicamente 768 bytes.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 20: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Ataque de Klein

◮ En 2005, Andreas Klein presento un analisis de RC4mostrando mayores correlaciones entre el flujo cifrante y laclave.

◮ Erik Tews, Ralf-Philipp Weinman, y Andre Pychkine usaroneste analisis para crear aircrack-ptw, una herramienta querompe el RC-4 de 104 bits utilizado en WEP de 128 bits enmenos de un minuto.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 21: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Figura: Cifrado WEP

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 22: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Rompimiento de WEP

El ataque FMS fue utilizado para recuperar la clave a partir de unnumero de mensajes capturados. Esta implementado enherramientas como AirSnort y aircrack

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO

Page 23: Capítulo 3: Cifrado en flujo

OutlineCifrado en Flujo

Cifrado basado en LFSRAlgoritmo RC4

Operacion de RC4Ataques a RC4Cifrado WEP

Ejercicio (opcional)

Utilizar aircrack-ng para romper el cifrado en una red inalambrica.

Juan Manuel Garcıa Garcıa CIFRADO EN FLUJO