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?