FSM criptoanálisis WEP (I)

Es de sobra conocido que el algoritmo de seguridad inalámbrica WEP presenta numerosas vulnerabilidades que hacen que su despliegue en redes 802.11 represente una puerta abierta a cualquier atacante. Una de ellas y quizás la mas significativa es la que utiliza técnicas estadísticas y de fuerza bruta para recuperar completamente la clave de cifrado. A continuación, y en sucesivas entradas, trataremos de determinar los entresijos de estas técnicas.

La vulnerabilidad descubierta por Scott Fluhrer, Itsik Mantin y Adi Shamir, y a la que a partir de ahora nos referiremos como FMS, trata de explotar diversas carencias en el algoritmo RC4 que permiten la obtención de la clave de cifrado utilizando para ello ataques estadísticos. Con la diferencia de que este ataque supone una vulnerabilidad total del sistema de cifrado WEP, ya que no sólo es posible desencriptar un paquete de datos, sino que es posible obtener la clave permitiendo el acceso total a la red inalámbrica y a los datos que por ella circulan. Son muchos los estudios posteriores que se han realizado a partir de la investigación de Fluhrer, Mantin y Shamir (FMS, en adelante), y que mejoran su trabajo reduciendo el tiempo de recuperación de la clave. Básicamente esta vulnerabilidad se centra en el modo de operación de RC4 y sus dos módulos KSA y PNRG ya comentados en secciones anteriores. El estudio demuestra matemáticamente la existencia de un vulnerabilidad en la fase KSA del algoritmo RC4. Trataremos de evitar —dentro de lo posible— la complejidad matemática asumiendo algunos hechos que pueden ser consultados y analizados mas a fondo en el artículo de FMS.

Pasemos a definir qué es lo que hace tan vulnerable a este algoritmo de cifrado, estableciendo dos premisas claves. En primera instancia como ya sabemos, todo texto plano a trasmitir lleva como prefijo 3 bytes del vector de inicialización IV y que hacen única a la trama. Por otra parte FMS observaron mediante el estudio del tráfico de una red 802.11, que los tres primeros bytes de la trama en texto plano generalmente son los mismos: “0xAA:0xAA:0x03”. Dichos bytes son los pertenecientes a la cabecera SNAP (Subnetwort Access Protocol. Véase B. Schneier. Applied Cryptography. Protocols, Algorithms, and Source Code in C. John Wiley & Sons, Inc. 1994.) e identifican al protocolo. Dadas estas dos premisas analizaron la relación que existía entre los IVs de la cadena que conforma la entrada al algoritmo KSA y la clave maestra de cifrado, observando que ciertos IVs reflejaban información acerca de dicha clave. A estos vectores de inicialización los llamaron WeakIV o IVs débiles. Pudieron llegar a la conclusión, y esto se reserva como consulta a su articulo, de que los IVs débiles tenían la forma

[A+3, 255, X]

donde “A” es el índice del primer byte de la clave maestra y “X” es un valor cualquiera. Así pues, para un valor de “A = 0″ estaríamos haciendo referencia al primer byte de la contraseña. Como ya comentamos anteriormente, estos 3 bytes de forma característica, son concatenados a la clave maestra formando la cadena de entrada al algoritmo KSA, por lo que una encriptación WEP de 64 bits tendría como vector de entrada la siguiente cadena:

[A+3, 255, X, ?, ?, ?, ?, ?]

donde los signos “?” representan la clave que tanto la estación como el Acess Point conocen. Cabe destacar que para una encriptación de 128 bits los caracteres “?” se extenderían hasta 13. Y con esto lo dejamos por hoy. Mañana entraremos a analizar el algoritmo KSA, para rematar el viernes con el último capítulo de la serie.

Comments

  1. hola navegando por la red encontre este documento y la verdad quisiera pedirte de la manera mas atenta que me dieras las ligas o links de donde puedo leer el funcionamiento exacto del RC4 pues estoy haciedo una investigacion para el IPN ESIME Zacatenco, y es que si en encontrado informacion pero no tan exacta como la que redactas aqui, mi correo es andres17mi@hotmail.com te lo agradeceria con toda el alma o dime en que te puedo ayudar para poder conseguir esa informacion.

    gracias.

  2. Hola Andrés, principalmente el estudio esta basado en dos fuentes:

    -El propio paper de FMS

    http://www.crypto.com/papers/others/rc4_ksaproc.pdf

    -Articulo de la revista Linux Magazine

    https://www.linux-magazine.es/issue/05/CriptoWep.pdf

    Saludos