WPA2 ha tre tipi di chiavi principali:
- Chiave master a coppie (PMK) - la frase segreta condivisa
- Pairwise Transient Key (PTK) - una chiave utilizzata per proteggere le comunicazioni con i singoli clienti
- Group Temporal Key (GTK) - una chiave utilizzata per proteggere il traffico multicast
Il PTK viene generato dai seguenti dati:
- Passphrase condivisa (PMK)
- Un valore nonce generato dal punto di accesso (ANonce)
- Un valore nonce generato dalla stazione client (SNonce)
- Indirizzo MAC del punto di accesso
- Indirizzo MAC della stazione client
Il valore SNonce ha la sua autenticità e integrità fornite da un Message Integrity Code (MIC). A rigor di termini, questo dovrebbe essere chiamato MAIC, perché fornisce autenticità e integrità.
I valori di cui sopra (escluso il MIC) sono concatenati e messi in PBKDF2 -SHA1, al fine di generare il PTK . Dopo questo, l'AP invia il GTK (e un MIC corrispondente) al client. PTK e GTK vengono quindi utilizzati come chiavi di crittografia per ulteriori trasmissioni, rispettivamente per unicast e multicast.
L'handshake globale ha questo aspetto:
Sel'attaccanteacquisisceivaloriPTK,ANonce,SNonce,APMACeclientMACtramitelosniffingdellarete,puòquindiforzarelaPMK.IMICnondevonoessereconosciuti,perchénoncontribuisconoalvalorePTK.
PoichéPBKDF2èunalgoritmodiderivazioneachiavelenta,unanormaleforzabrutasarebbepiuttostoinefficiente.Unattaccodizionarioèmoltopiùfattibile.
Ulterioriletture: