Da quanto ho capito, questo è il modo in cui WPA2 funziona per le reti domestiche:
- PSK (Pre-Shared Key) viene utilizzato per generare PMK (Pairwise Master Key), che viene utilizzato insieme a ANonce (AP Nonce) per creare PTK (Pairwise Transient Key).
- PTK è suddiviso in KCK (chiave di conferma chiave, 128 bit), KEK (chiave di crittografia chiave, 128 bit) e TEK (chiave di crittografia temporanea, 128 bit).
- KCK è usato per costruire MAC nei pacchetti EAPOL 2,3 e 4.
- KEK viene utilizzato per crittografare alcuni dati inviati al client (ad esempio GTK).
- TEK viene utilizzato per crittografare il traffico tra client e AP, in seguito durante la sessione.
Ora l'handshake a 4 vie WPA:
- AP invia ANonse (AP Nonce) al client, che è fondamentalmente un intero casuale di 256 bit.
- Il client utilizza ANonce e PMK per generare PTK (Pairical Transient Key) e inviare CNonce (Client Nonce) e MAC.
- AP invia MAC e GTK (Group Temporal Key) al client.
- Il client invia ACK con MAC.
Ora, come funziona il cracking di handshake (ad esempio l'attacco al dizionario) se non viene utilizzato l'intero PTK (KCK e KEK vengono utilizzati durante l'handshake, ma TEK no)? Capisco che le parole del dizionario siano usate come PSK per generare PMK e Anonce (che è anche catturato nell'handshake) per generare PTK, ma come faccio a sapere quando PTK è corretto quando non si usa mai 1/3 della chiave?