Sto cercando di capire come sono derivate le chiavi effimere nell'handshake a 4 vie WPA2.
A partire da 4 pacchetti EAPOL che sniffano, ho ricavato con successo PMK e PTK leggendo ANonce , SNonce e conoscendo ASCII-PSK e SSID.
Da PTK ho derivato, dividendolo, il KCK (128 bit), il KEK (128 bit), il TK per ENC (128 bit) e il TK per MIC (128 bit) .
Sono bloccato in una derivazione GTK .
Se ho capito bene, il GTK viene trasmesso crittografato da AP a ST nel campo Dati chiave WPA usando la suite di chip descritta nel primo campo di Informazioni chiave , nel mio caso "AES C ipher .
In WPA2 AES è usato in modalità CTR per riservatezza, quindi ho provato a decrittografare i Dati chiave usando OpenSSL, usando KEK come chiave e archiviato Chiave IV come %codice%. Ottengo IV dalla decodifica, ma leggendo IEEE 802.11 ho visto che il primo octect Dati chiave in EAPOL Key Frame è Tipo e dovrebbe essere 6c 1b 11 38 1f 8e 01 ee e1 d0 7b [...] , così la decrittografia fallisce.
Cosa c'è che non va?