Krack
From charlesreid1
KRACK attack refers to a WPA2 attack on the WPA2 handshake process. The basic attack forces clients to re-use a nonce, which is a kind of one-time key, enabling attackers to crack the key and decrypt packets between a client and a router.
Original Paper
The original paper publication by Mathy Vanhoef can be found here: https://papers.mathyvanhoef.com/ccs2017.pdf
Overview of WPA2 Handshake Process
The WPA2 handshake process involves a 4-way exchange of packets between a router/AP (authenticator) and a client (supplicant):
- Mutual authentication between authenticator and supplicant is based on Pairwise Master Key
- The PMK is derived from either a pre-shared password and negotiated using 802.1x authentication
- During the handshake process, a fresh session key called Pairwise Transient Key (PTK) is negotiated
- The PTK derived from PMK, authenticator nonce (anonce), supplicant nonce (snonce), and MAC address of supplicant and authenticator
PTK is generated from those three things, and it is split into three keys:
- key confirmation key (KCK)
- key encryption key (KEK)
- temporal key (TK)
Purpose:
- KCK and KEK protect handshake messages
- TK protects normal data frames
WPA2 also transports the group temporal key (GTK) to supplicant.