-
WPA
- Improvement over WEP with TKIP encryption and message integrity checks (MIC)
- TKIP dynamically generates a new 128-bit key for each packet with MIC
-
WPA2
- Uses AES
- AES keys can be 128, 192 or 256 bits
-
Two modes
- WPA personal
- Uses Pre-Shared key
- Encryption key is derived from the passphrase
- Can be vulnerable to dictionary attacks if weak passphrase is used
- Uses Pre-Shared key
- WPA Enterprise
- Uses 802.1x security
- Uses Extensible Authentication Protocol (EAP)- TLS
- RADIUS server for authentication
- WPA personal
4-Way handshake
- The AP sends the ANonce (authenticator nonce) in an EAPOL-key message to the client.
- The client generates an SNonce (Supplicant nonce), derives the Pairwise Transient Key (PTK) from the Pairwise Master Key (PMK) + ANonce + SNonce + AP MAC + Client MAC and sends the SNonce plus a MIC in an EAPOL-Key message to the AP.
- The AP derives the same PTK, to validate the message verifies the client's MIC, installs the PTK and sends an EAPOL-Key message with it's own MIC and key installation/ack flags to the client.
- The client verifies the AP MIC, installs the PTK and sends a final EAPOL-Key ACK to confirm successful key installation.
Pairwise Master Key
- The PMK is derived from the PSK + the SSID of the network.
- PBKDF2 is used with HMAC-SHA1
- The SSID is the SALT and 3096 iterations of the PBKDF2 function is used.
- The PMK is never transmitted between the client and the AP.
- It is used to derive the PTK
PMK = PBKDF2(HMAC-SHA, PSK, SSID, 4096, 256)
Pairwise Transient Key
PTK = PMK + ANonce + SNonce + AP MAC + Client MAC
Message Integrity Codes
MIC = HMAC-SHA1(PMK, ANonce || SNonce || AP MAC || Client MAC || Message Length)
Capture the PSK methods
- Handshake capture
- PMKID capture
- WPS
- Evil-twin
- Social Engineering