viernes, 26 de abril de 2013

¿Cuánto pesa la seguridad WiFi de mi router? (1ª parte)

La característica principal de las redes Wireless (comunicación inalámbrica) es que la información no se transmite a través de un cable, sino que la información "viaja" por el aire en forma de ondas electromagnéticas.

De esta manera podemos mover los dispositivos con cierta libertad (dentro del radio de acción del router), pero presenta el inconveniente de que cualquier persona que esté en la zona puede interceptar la información que se transmite por el aire.

Software que captura información de redes WiFi
Por ello se hace especialmente necesario en este tipo de conexiones cifrar los datos que se envían, de modo que la información interceptada no pueda leerse si no se posee la contraseña del cifrado. Los protocolos de cifrado de conexiones WiFi más extendidos son WEP y WPA/WPA2.


El cifrado WEP utiliza una clave, cuyo tamaño puede ser de 64 bits, de 128 bits o incluso 256 bits. La clave más habitual es la de 128 bits, que está formada por un vector de 24 bits y la contraseña de 104 bits.

¿Cuántos caracteres tiene una contraseña WEP-128? Un carácter hexadecimal (0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f) ocupa 4 bits (2^4=16), por tanto la contraseña WEP-128 puede contener hasta 26 (104:4) caracteres hexadecimales.

Ejemplo de contraseña WEP-128 de 26 caracteres hexadecimales: 03662a2352f235235bc146af49


A alguien se le puede ocurrir intentar romper la seguridad de la clave anterior "a lo bruto", es decir, probando claves hasta dar con la buena. En ese caso resultaría útil conocer cuántas claves se pueden formar con exactamente 26 caracteres hexadecimales. Podemos enfocar la cuestión anterior como si tuviéramos que llenar 26 espacios con 16 caracteres disponibles que se pueden repetir. Estamos por tanto ante un caso de variaciones con repetición:
16^26 = 20.282.409.603.651.670.423.947.251.286.016 combinaciones posibles.


Con el dato anterior resulta evidente que la probabilidad de acertar la clave probando algunas al azar es pequeñísima. Pero, ¿por qué no creamos un fichero (diccionario) con todas las combinaciones posibles y que un programa las vaya probando una a una? Hay dos cuestiones importantes respecto a la pregunta anterior: una es cuánto tiempo necesitamos para probar todas esas claves y otra, la que tratamos aquí, es el tamaño aproximado del diccionario.

¿Cuánta memoria del disco duro ocuparía el diccionario de todas las contraseñas posibles (de 26 caracteres)?
Cada combinación tiene 26 caracteres y cada carácter hexadecimal ocupa medio byte (4 bits) de memoria, lo que hace un total de (sin tener en cuenta el bit/byte que separa una combinación de la siguiente, en caso de que fuera necesario):
(26·16^26)/2 = 263.671.324.847.471.715.511.314.266.718.208 bytes


Es decir, mucho mucho muchísimo más que la capacidad de cualquier disco duro que podamos comprar. Por tanto, la estrategia de realizar un ataque por fuerza bruta con un diccionario de esas características no parece una buena idea.

Hasta aquí, desde un punto de vista teórico, se podría concluir que la combinatoria nos dice que la seguridad WiFi "pesa" demasiado y, por tanto, que podemos estar relativamente tranquilos. Pero en la práctica, la realidad es otra. Existe una serie de aspectos que deben tenerse en cuenta porque pueden hacer que nuestra seguridad WiFi caiga y se pueda romper fácilmente.


Continúa leyendo la segunda parte.

No hay comentarios: