El Talón de Aquiles del estandar 802.11i: Proceso de autenticación PSK (II)

Si leyeron la entrada de ayer, nos quedamos preguntándonos por los elementos que se utilizan para construir la PMK. La respuesta es muy sencilla: la contraseña precompartida, el ESSID del AP, la longitud del ESSID, y un barajado de 4096 procesos. Todo ello es generado por una función matemática llamada PBKDF2 (PBKDF2 es una función de PKCS #5 v2.0: Password-based Cryptography Standard) ofreciendo como resultado una clave PMK de 256 bits:

PMK = PBKDF2 (Frase secreta, ESSID, Long(ESSID), 4096, 256)

Una vez obtenida esta clave, comienza el proceso de autenticación con el AP al que se denomina 4-Way Handshake, o saludo inicial, que se puede ver en la imagen al final del post. En ese proceso, tanto la estación como el AP generan la PTK y la GTK utilizadas para cifrar los datos, siendo ambas diferentes en cada sesión.

¿Cómo es generada esta PTK? Para ello se utiliza una función pseudo aleatoria PRF-X que toma como fuente los datos siguientes:

  • PMK: Calculada mediante la PSK y el algoritmo PBKDF2.
  • SNonce: Numero aleatorio determinado por la estación.
  • ANonce : Número aleatorio determinado por el AP.
  • MAC del AP: MAC del punto de acceso.
  • MAC de la estación.

La comunicación es iniciada mediante el envío de un paquete tipo “EAPOL start” desde la estación al AP. Seguidamente el AP genera un número aleatorio “ANonce” que es transmitido a la estación. Ésta contesta remitiéndole otro número aleatorio llamado “SNonce“. Llegado este punto, ambos pueden generar ya su PTK con la que cifrarán el tráfico unicast a partir de los valores mencionados. A su vez, el AP esta en disposición de generar la GTK, procediendo a transmitirla a la estación de forma cifrada. Como último paso, se envía un paquete de reconocimiento cerrando así el proceso de autenticación. Este proceso se puede ver en la siguiente imagen.

psk.jpg

En cuanto a la autenticación en entornos empresariales, los requerimientos estrictos de cifrado y autenticación hacen que sea más adecuada la utilización de WPA con los mecanismos IEEE802.1X y el protocolo de autenticación extensible EAP, que disponen de procedimientos de gestión de claves dinámicos. EAP es utilizado para el transporte de extremo a extremo para los métodos de autenticación entre el dispositivo de usuario y el punto de acceso, mientras que IEEE802.1X es utilizado como marco para encapsular los mensajes EAP en el enlace radio. El conjunto de estos dos mecanismos junto con el esquema de cifrado forman una fuerte estructura de autenticación, que utiliza un servidor de autenticación centralizado, como por ejemplo RADIUS.

En el siguiente post abordaremos el proceso por el cual es posible vulnerar WPA-PSK mediante ataques de diccionario.

Comments

  1. Por lo menos podías decir que el dibujo es de un artículo de la revista hacking9, es lo mínimo.

  2. Manuel Benet says

    Si ves el final de la siguiente entrada de esta serie, comprobarás que la revista hakin9 es una de las referencias utilizadas (artículo).

    De cualquier modo, si lees el artículo de hakin9, verás que no tiene nada que ver con el contenido de este.