El cifrado WEP

En el post anterior proporcioné una introducción a la seguridad WEP en redes inalámbricas, en este post vamos a ver el detalle de cómo funciona el cifrado WEP y cuáles son las vías para atacarlo. El cifrado WEP se basa en el algoritmo RC4.

RC4 es un cifrador de flujo (stream cipher) muy simple que emplea dos algoritmos: un algoritmo de planificación de claves (KSA por sus siglas en inglés) y un generador de números seudoaleatorios (PRGA por sus siglas en inglés).

Sin entrar en muchos detalles de funcionamiento, el generador de números seudo-aleatorios se inicializa empleando la clave que es un secreto compartido entre los dos extremos de la comunicación. El cifrado se realiza mediante una operación de disyunción exclusiva (XOR) entre los bytes del mensaje y los bytes seudo-aleatorios de la secuencia generada por el algoritmo RC4. El descifrado en el extremo opuesto se realiza haciendo la operación XOR entre los bytes del mensaje cifrado y la secuencia de bytes seudo-aleatorios generados por el algoritmo RC4 en el extremo receptor que deberá ser la misma que la empleada en el extremo emisor.

El cifrado WEP se aplica, exclusivamente, a la porción de datos contenidas en las tramas de datos 802.11. Las cabeceras y las tramas de gestión se envían en claro. Tal y como vimos, WEP emplea un secreto compartido de 40 bits o 104 bits. A este secreto compartido se le prepone un vector de inicialización (IV) de 24 bits y el conjunto se utiliza como semilla para la inicialización del algoritmo de planificación de claves (KSA) de RC4.

En el cifrado de los datos de las tramas de datos 802.11 se calcula una suma de comprobación (CRC32) sobre los datos a retransmitir y los cuatro bytes resultantes se añaden al final de los datos. El conjunto de datos y suma de comprobación se cifra mediante una operación de disyunción exclusiva (XOR) entre los datos originales (incluyendo la suma de comprobación) y la secuencia de bytes que se obtiene del PRGA de RC4. El descifrado se hace de forma análoga, al descifrar se emplea la suma de comprobación para verificar que el proceso de descifrado ha sido correcto.

Resultado de imagen de WEP Encryption

En teoría, ambos extremos de la comunicación tienen que conocer tanto el secreto compartido como los vectores de inicialización para poder reconstruir el mensaje original.

image

El vector de inicialización viaja en claro en cada trama codificada con WEP mientras que el secreto compartido se establece durante la configuración inicial de los puntos de acceso y estaciones.

Sin embargo, en la práctica, lo que se usa para cifrar son las secuencias de números seudoaleatorios generados por el PRGA por lo que si somos capaces de obtenerlas, podremos descifrar el tráfico de la red sin necesidad de conocer el secreto compartido. El obtener los PRGA es, por lo tanto, uno de los objetivos en los ataques al cifrado WEP.

Para cifrar, lo que se hace es una operación XOR entre los bits del mensaje y los bits generados por el PRGA. En el caso de las operaciones XOR existen las siguientes relaciones:

image

Por lo tanto, si conocemos un texto en claro y el mismo texto cifrado, podemos obtener el PRGA empleado para el cifrado mediante una simple operación XOR. Una vez conocido el PRGA, podremos descifrar los mensajes cifrados con el vector de inicialización usado.

El problema es, por lo tanto, ser capaces de conseguir el suficiente número de PRGAs para poder descifrar las tramas intercambiadas y esto, como veremos, requiere el conocimiento de los mensajes en claro y la obtención de los correspondientes mensajes cifrados.

En los siguientes posts veremos algunas técnicas para obtener esta información.

Anuncios

Autor: dotorqantico

Químico y escéptico, me gusta la ciencia, la lectura, el golf y el ciclismo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s