25 sept 2012

Protocolo WEP: Funcionamiento

En este artículo se tratará uno de los protocolos más castigados por la historia, el protocolo de sistemas Wireless WEP. WEP significa Wired Equivalent Privacy, y es un protocolo que no ofrece ningún tipo de seguridad en una red inalámbrica. Realmente, decir que no ofrece ninguna seguridad es algo irreal, ofrece seguridad, pero lo que ofrece es obsoleto y se conocen diversas maneras de descifrar el contenido de las tramas que van cifradas con WEP.

Últimamente me ha tocado pasar horas con WEP y WPA, y terminar de entender su funcionamiento a un nivel más o menos bajo. En este caso, toca destripar a WEP, sus conceptos y su funcionamiento. Entender como funcionan realmente los protocolos es una de las cosas que más interesante me resulta, quién sabe quizá en un futuro toque escribir de ello de manera más formal... Bien, ¿Preparados? Comenzamos...

Hay que diferenciar entre la autenticación, confidencialidad e integridad. El protocolo WEP no ofrece una gran capa de seguridad en ninguna de estas 3 fases. En primer lugar veremos la autenticación, en la cual se distinguen dos métodos:

  • Open System
  • Shared Key

Open System deja autenticarse a todos los clientes en el punto de acceso, mientras que el método de autenticación Shared Key requiere que el cliente envíe un mensaje solicitando conexión, el punto de acceso contesta con un desafío, el cual debe ser cifrado por el cliente y reenvíado al punto de acceso, si éste puede descifrarlo la autenticación es válida.

La fase de confidencialidad dispone de los siguientes elementos:

  • RC4. Es el algoritmo utilizado para generar el keystream, el cual se define más adelante.
  • IV. Vector de inicialización, son la parte dinámica de los keystream. Cada trama lleva un IV distinto, siempre que se pueda, ya que son generados aleatoriamente. Cuidado, el IV va en la parte NO cifrada de la trama WEP.
  • RC4 es simétrico, con la misma clave que se cifra se puede descifrar.
  • La creación del keystream dispone de 2 fases: KSA y PRGA.

En la imagen se puede visualizar el proceso que se lleva a cabo para formar la trama WEP que se enviará, ya sea del AP al cliente o del cliente al AP. pero comencemos por partes, La shared key es estática, es la típica clave que configura el dueño de la red en el punto de acceso, o en casa en los router WiFi, la típica de 5 caracteres o 10 hexadecimales, o la de 13 caracteres o 26 hexadecimales... Los IV, como se ha dicho anteriormente, van cambiando aleatoriamente en cada trama enviada. La concatenación del IV y la clave estática es pasada al algoritmo RC4 como entrada, la salida de este algoritmo produce el KEYSTREAM. Este KEYSTREAM es realmente el que generará el cifrado mediante la operación lógica XOR. El resultado de la operación lógica XOR entre el KEYSTREAM y el texto plano da como resultado la parte cifrada de la trama WEP. Hay que hacer un inciso, ya que la integridad se calcula sobre el texto plano, mediante el ICV como se puede visualizar en la imagen.

La operación XOR es una operación cuya inversa genera el resultado inicial, ¿Cómo? explicamos a continuación, pero antes recordemos su tabla de verdad:

Solo cuando las 2 entradas son iguales, el resultado es 0, si no el resultado de la operación es 1. Por lo que se puede entender que A XOR B XOR B = A, ¿Qué se quiere decir con esto? Bien, cuando el cliente genera la parte cifrada de la trama se utiliza un KEYSTREAM XOR texto, obteniendo un CIFRADO.

Cuandoo el AP reciba esa trama si le aplica el mismo KEYSTREAM XOR CIFRADO obtendrá el texto, en otras palabras texto XOR KEYSTREAM XOR KEYSTREAM = texto.

El Keystream se crea mediante el algoritmo RC4, el cual recibe como entrada un seed o semilla, que es el IV, y la clave estática. En la siguiente imagen se puede visualizar como queda formado la trama WEP.

¿Qué problemas tiene WEP?

Por el uso de la clave estática se puede realizar ataques de observación y gracias a la estadística conseguir sacar el patrón de la clave, y de este modo conseguir la clave estática.

El IV se envia siempre en claro, por lo que son captados por cualquiera, además de los 24 bits de los que están compuestos que es un valor demasiado corto. Recolectando un número alto de IVs se puede, mediante ataque estadístico descifrar la clave. La autenticación se realiza del AP al cliente, pero no del cliente al AP, por lo que el cliente no sabe realmente si se conecta al AP que dice ser. Por esta razón existen los Rogue AP, o MITM a través de un AP.

5 comentarios:

  1. Buen post, siempre me hice esa pregunta y poco investigue...

    ResponderEliminar
  2. Creo que WEP ha sido injustamente calificado de inseguro, muchos dicen que no vale para nada. Pero eso es gracias a las herramientas actuales. A la mayoría de esos "hackers" que se rien de wep, les quitamos las herramientas realizadas por otros y les retamos a romper WEP si usar un programa ajeno ¿cuanto tardarían en logarlo si es que lo logran?

    ResponderEliminar
  3. @miguel injustamente... tampoco, es un protocolo no seguro, eso es una realidad, lo que pasa que bueno decir que no ofrece nada de seguridad, algo al menos sí... pero rompible muy fácilmente.Gracias por el feedback señores!

    ResponderEliminar
  4. [...] ¿Quieres aprender cómo funciona el protocolo WEP? ¡No te pierdas este artículo!. [...]

    ResponderEliminar
  5. [...] tipo de cifrado, para que esta situación no se dé, aunque como hemos visto en el artículo sobre funcionamiento WEP no es un protocolo que nos dé mucha [...]

    ResponderEliminar