Estoy tratando de aprender cómo se derivan las claves efímeras en el protocolo de enlace de 4 vías WPA2.
A partir de la detección de 4 paquetes EAPOL, obtuve con éxito PMK
y PTK
leyendo ANonce
, SNonce
, y conociendo ASCII-PSK y el SSID.
De PTK
I derivé, al dividirlo, KCK
(128bit), KEK
(128bit), TK
para ENC (128bit) y TK
para MIC
(128bit) .
Estoy atrapado en una derivación de GTK
.
Si entendí correctamente, el GTK
se transmite cifrado de AP a ST en el campo WPA Key Data usando el conjunto de chiper descrito en el primer campo de Key Information , en mi caso "AES C ipher .
En WPA2, AES se usa en modo CTR por confidencialidad, así que intenté descifrar los Datos clave usando OpenSSL, usando KEK
como clave y archivé Clave IV como %código%. Obtengo IV
del descifrado, pero al leer el IEEE 802.11 vi que el primer octeto de Key Data en el Marco de clave EAPOL es Type y debería ser 6c 1b 11 38 1f 8e 01 ee e1 d0 7b [...]
, por lo que el descifrado falla.
¿Qué pasa?