Per una descrizione dettagliata è meglio fare riferimento alla RFC, come suggerito prima. Ci sono delle panoramiche semplificate, come questa immagine . Un altro post utile potrebbe essere questo . Il punto cruciale che manca nella descrizione è che la chiave derivata da SSID e PSK è nota come "Chiave master a coppie". Questa non è la chiave effettiva utilizzata per la crittografia. Invece, puoi usarlo per calcolare una chiave di sessione segreta senza passare la chiave di sessione sul filo. Questo è ciò per cui sono usati ANounce e SNounce. Quindi, inviando messaggi crittografati nei punti 3 e 4 AP e la stazione si provano reciprocamente, conoscono il PMK.
Se condividi un segreto con qualcuno, puoi sempre usarlo per autenticarsi l'un l'altro e calcolare una chiave di sessione. È sufficiente generare un numero casuale, inviarlo al proprio partner (crittografato con il segreto). Il partner la decrittografa, incrementa di un'unità e restituisce il messaggio (di nuovo, crittografato). Quindi verifichi ciò che ottieni è ciò che hai inviato più uno.
Simile alla generazione di una chiave di sessione. Entrambe le parti generano un valore casuale, lo scambiano. La chiave di sessione potrebbe essere HMAC (random1 + random2 + secret). Anche se un intercettatore conosce random1 + 2 non può generare la chiave perché non conosce il segreto.