Después de que el protocolo WEP haya dejado mucho que desear, ya que se puede romper en menos de 5 minutos, decicieron diseñar un protocolo más seguro, el problema era que si hacían algo demasiado sólido se necesitaría un cambio de hardware por parte del cliente por lo que diseñaron algo intermedio primero, que será el WPA (WiFi Protected Acces).
La Wi-Fi Alliance propuso WPA, que usará TKIP (que está basado en WEP), que no se puede romper tan fácilmente la clave como en WEP. De esta forma no se necesitará que se cambie el hardware, solo actualizar el firmware.
La opción más sólida que propusieron más tarde fue WPA2 basada en AES, y utilizará CCMP. Para este si que se necesitarían cambios hardware. Ambos tienen edición personal y empresarial. La personal usa PSK, y la empresarial usa Radius.
Una pregunta que puede que os llevéis haciendo tiempo, es como sabe el cliente si el AP es WEP, WPA o WPA2. Se puede ver en los Beacon Frames que emite el AP, y en los probe response un campo llamado WPA Information Element en donde nos dice el tipo de cifrado y el tipo de autenticación.
Lo más normal es que se sigan estas correspondencias:
Filtro Wirehsark: (wlan.addr == 00:1a:2b:89:fa:e3) && (wlan.addr == 38:48:4c:6f:78:bf)
El cliente para conectarse automáticamente a una red WPA/WPA2 lo que hará será mirar en el paquete Probe Response la configuración de WPA para ver el tipo de cifrado y el tipo de autenticación, y si tiene guardada una red con el mismo ESSID y coinciden estas configuraciones, se conectará automaticamente a este. De esta forma podriamos montar un Fake AP a modo de honeypot para que el cliente se conecte a nosotros.
Una de las mayores diferencias y mejoras entre WEP y WPA es que WPA ya no utilizará claves estáticas para cifrar los paquetes, si no que usará claves dinámicas. La contraseña de la red WiFi será el Passpfrase, a partir de esta obendremos el PSK de 256 bit, ambas estarán también en el AP.
Una vez el cliente está conectado al AP, este enviará un paquete llamado ANonce con información acerca del método que se usará para cifrar entre otras cosas. Después el cliente generará para la conexión una clave PTK que será la clave dinámica de la que hablábamos. La clave PSK 256 bits también es llamada PMK. El cliente contesta con un paquete que contiene el Snounce y MIC. El que nos importa es MIC que se ha creado a partir del PTK, es decir, que el AP lo descifrará y podrá comprobar que tiene el mismo PTK que el cliente. El tercer paquete que se envia del AP al cliente es el key installation, indicando que se guarde la clave en el cliente. Por ultimo el cliente enviará un paquete ACK al AP y este guardará entonces la clave y así ambos tendrán la misma.
Roberto (@leurian)
Highsec