WPA2 tiene tres tipos de teclas principales:
- Clave maestra de Pairwise (PMK) - la frase de contraseña compartida
- Pairwise Transient Key (PTK): una clave utilizada para asegurar las comunicaciones con clientes individuales
- Clave temporal de grupo (GTK): una clave utilizada para proteger el tráfico de multidifusión
El PTK se genera a partir de los siguientes datos:
- frase de contraseña compartida (PMK)
- Un valor nonce generado por el punto de acceso (ANonce)
- Un valor nonce generado por la estación cliente (SNonce)
- dirección MAC del punto de acceso
- dirección MAC de la estación del cliente
El valor de SNonce tiene su autenticidad e integridad provista por un Código de integridad del mensaje (MIC). Estrictamente hablando, esto debería llamarse MAIC, porque proporciona autenticidad e integridad.
Los valores anteriores (excluyendo el MIC) se concatenan y se ponen a través de PBKDF2 -SHA1, para generar el PTK . Después de esto, el AP envía el GTK (y un MIC correspondiente) al cliente. El PTK y el GTK se usan luego como claves de cifrado para transmisiones posteriores, para unicast y multicast respectivamente.
El saludo general se ve así:
SielatacantecapturalosvaloresdePTK,ANONCE,SNONCE,APMACyMACdelclientemedianteelrastreodelared,entoncespuedeforzarlaPMKconfuerzabruta.LosMICnonecesitanserconocidosporquenoaportanelvalorPTK.
DadoquePBKDF2esunalgoritmodederivacióndeclavelenta,unafuerzabrutanormalseríabastanteineficiente.Unataquedediccionarioesmuchomásfactible.
Lecturaadicional: