Loading learning content...
WPA3, announced by the Wi-Fi Alliance in January 2018, represents a significant advancement in wireless security. While WPA2 remains secure when properly configured, it has fundamental architectural limitations—particularly around password-based authentication and the vulnerability of captured handshakes to offline attack.
WPA3 addresses these issues through new cryptographic protocols that provide:
By the end of this page, you will understand SAE (Simultaneous Authentication of Equals) and the Dragonfly key exchange, how forward secrecy prevents retrospective decryption, Opportunistic Wireless Encryption (OWE) for open networks, the 192-bit enterprise security mode, and the practical deployment considerations for WPA3.
WPA3 certification became mandatory for all new Wi-Fi CERTIFIED devices in July 2020. Most devices manufactured since then support WPA3, with backward compatibility to WPA2. Enterprise adoption is accelerating, and consumer router support is now widespread.
WPA3's design was motivated by specific weaknesses in WPA2 that couldn't be addressed through patches:
1. Offline Dictionary Attacks
WPA2-PSK's 4-way handshake provides everything needed for offline password cracking:
This means a weak password is vulnerable forever once the handshake is captured. With modern GPUs testing billions of candidates per second, any password below ~80 bits of entropy is at risk.
2. No Forward Secrecy
In WPA2, all session keys derive from the PMK (which derives from the password):
PMK = f(password, SSID)
PTK = f(PMK, nonces, addresses)
Traffic Keys = f(PTK)
If an attacker:
This 'harvest now, decrypt later' attack is particularly concerning for high-value targets.
3. Open Network Exposure
WPA2 provides no encryption for open (passwordless) networks. Coffee shop WiFi transmits all traffic in plaintext, enabling:
HTTPS mitigates this somewhat, but not all traffic is TLS-protected.
| Vulnerability | WPA2 Behavior | WPA3 Solution |
|---|---|---|
| Offline dictionary attack | Handshake enables unlimited offline attempts | SAE requires online interaction per attempt |
| No forward secrecy | Password compromise exposes all past traffic | Ephemeral key exchange per session |
| Open network exposure | No encryption without password | OWE provides encryption without PSK |
| Deauth attacks | Management frames unprotected (optional PMF) | PMF mandatory |
| Legacy cipher support | TKIP allowed in mixed mode | GCMP/CCMP only |
WPA2's 4-way handshake was designed in an era when capturing WiFi traffic required expensive equipment. Today, anyone with a $10 adapter can capture handshakes. The protocol's security assumptions no longer hold for the threat environment.
Simultaneous Authentication of Equals (SAE) replaces WPA2's 4-way handshake for PSK authentication. SAE is a variant of the Dragonfly Key Exchange, a password-authenticated key exchange (PAKE) protocol standardized in RFC 7664.
What Makes SAE Different:
Zero-Knowledge Proof: Neither party reveals information about the password during the exchange. An eavesdropper learns nothing about the password from the transcript.
Resistance to Offline Attack: Unlike WPA2's handshake, SAE transcripts cannot be used for offline dictionary attacks. Each password guess requires completing an interactive protocol with a party that knows the password.
Forward Secrecy: SAE generates a fresh shared secret via ephemeral elliptic curve Diffie-Hellman. Even if the password is later compromised, past sessions remain protected.
Mutual Authentication: Both parties simultaneously prove password knowledge without either trusting the other first (hence 'Simultaneous' and 'Equals').
SAE High-Level Flow:
┌─────────┐ ┌─────────┐
│ Client │ │ AP │
└────┬────┘ └────┬────┘
│ │
│ ──────── SAE Commit ──────────► │ (scalar, element)
│ ◄─────── SAE Commit ─────────── │ (scalar, element)
│ │
│ [Both derive shared secret] │
│ │
│ ──────── SAE Confirm ─────────► │ (confirm value)
│ ◄─────── SAE Confirm ────────── │ (confirm value)
│ │
│ [Both verify peer's confirm] │
│ │
│ [PMK established] │
│ │
│ ──────── 4-Way Handshake ─────► │ (derive PTK)
│ │
SAE produces a PMK that then feeds into the standard 4-way handshake for PTK derivation. The difference: the PMK now incorporates ephemeral secrets that an eavesdropper cannot obtain.
Password-Authenticated Key Exchange (PAKE) protocols have been known since 1992 (EKE, SRP), but their complexity delayed adoption. Dragonfly/SAE represents a practical PAKE suitable for constrained environments, enabling WiFi to finally escape the password-equivalent vulnerability that plagued WPA2.
Dragonfly uses elliptic curve cryptography to enable password-authenticated key agreement. Understanding its operation requires some elliptic curve concepts:
Elliptic Curve Background:
Password Element Generation:
Both parties derive a point P on the elliptic curve from the password:
P = H2C(password, MAC1, MAC2)
= Hash-to-Curve(password || max(MAC1,MAC2) || min(MAC1,MAC2))
Multiple methods exist for hash-to-curve (hunting-and-pecking, SSWU). The key property: P is derived deterministically from the password and MACs, but an attacker cannot reverse-engineer the password from P.
Commit Phase:
Each party generates ephemeral secrets and computes a commit:
Client: AP:
rand ← random integer rand' ← random integer
mask ← random integer mask' ← random integer
scalar = (rand + mask) mod q scalar' = (rand' + mask') mod q
Element = mask × P (point multiplication) Element' = mask' × P
Send: (scalar, Element) Send: (scalar', Element')
The scalar and element commitments reveal nothing about the password because:
Key Derivation:
After exchanging commits, each party computes:
Client computes:
ss = rand × (scalar' × P - Element')
= rand × ((rand' + mask') × P - mask' × P)
= rand × (rand' × P)
= rand × rand' × P
AP computes:
ss = rand' × (scalar × P - Element)
= rand' × (rand × P)
= rand' × rand × P (same point!)
PMK = KDF(ss, "SAE key derivation")
Both arrive at the same shared secret (rand × rand' × P) without either party knowing the other's ephemeral values directly.
Confirm Phase:
To ensure both parties computed the same PMK (proving password agreement):
Confirm = HMAC(KCK, scalar || peer_scalar || Element || peer_Element || MAC)
Each party verifies the peer's confirm matches the expected value. If the passwords differ, the shared secrets differ, KCKs differ, and confirms don't match—authentication fails with no password information leaked.
Security Properties:
| Property | Mechanism |
|---|---|
| Offline attack resistance | Computing ss requires knowing P (from password) |
| Forward secrecy | rand, rand' are ephemeral; forgotten after session |
| Zero-knowledge | Transcript reveals no password information |
| Mutual authentication | Both parties prove password knowledge via confirm |
To verify a password guess, an attacker would need to compute the password element P from the guessed password, compute the shared secret ss, derive KCK, and verify the confirm value. But without the ephemeral rand/rand' values (never transmitted), the attacker cannot compute ss. The only way to test a password is to actively engage in the protocol—which the AP rate-limits.
Forward secrecy (sometimes called perfect forward secrecy or PFS) is a property of key exchange protocols that ensures past session keys cannot be compromised even if long-term secrets are later exposed.
WPA2 Without Forward Secrecy:
Password leaked → PMK computed → All captured PTKs derivable → All traffic decrypted
Timeline:
Year 1: Traffic captured (encrypted, stored)
Year 2: Password leaked via breach
Year 3: Attacker decrypts all Year 1 traffic
This 'harvest now, decrypt later' attack is especially concerning because:
WPA3 With Forward Secrecy:
Password leaked → PMK computable BUT →
Ephemeral secrets (rand, rand') not stored →
ss unrecoverable →
Session keys unrecoverable →
Past traffic remains encrypted
Timeline:
Year 1: Traffic captured (encrypted, ephemeral secrets forgotten)
Year 2: Password leaked via breach
Year 3: Attacker can only compromise NEW sessions (if password not changed)
Technical Implementation:
Forward secrecy in SAE comes from the Diffie-Hellman core:
Shared secret = rand × rand' × P
Where:
Even with P known (password compromised), recovering the shared secret requires solving:
Given: A = rand × P, B = rand' × P
Find: rand × rand' × P
This is the Computational Diffie-Hellman (CDH) problem—believed hard.
Key Storage Implications:
For forward secrecy to hold, implementations must:
Forward secrecy protects against future password compromise, not current exploitation. If an attacker learns the password and is actively on the network, they can authenticate and potentially mount other attacks. Forward secrecy specifically protects already-captured historical traffic.
Opportunistic Wireless Encryption (OWE), defined in RFC 8110, addresses a long-standing problem: open networks (hotels, coffee shops, airports) transmit all traffic unencrypted, enabling trivial eavesdropping.
The Problem with Open Networks:
Traditional 'captive portal' networks use no encryption:
Even with HTTPS for sensitive operations, DNS queries, HTTP traffic, and some app communications expose user behavior.
OWE Solution:
OWE uses unauthenticated Diffie-Hellman to establish encryption without a password:
┌─────────┐ ┌─────────┐
│ Client │ │ AP │
└────┬────┘ └────┬────┘
│ │
│ Association Request │
│ (OWE DH Public Key) │
│ ─────────────────────────────► │
│ │
│ Association Response │
│ (OWE DH Public Key) │
│ ◄───────────────────────────── │
│ │
│ [Both compute shared secret] │
│ [Derive PMK from DH secret] │
│ │
│ ──────── 4-Way Handshake ────── │
│ │
How It Works:
PMK = HKDF(g^(ab), "OWE Key Generation")Operators can run 'OWE Transition Mode' with two SSIDs: an open SSID for legacy clients and a hidden OWE SSID. OWE-capable clients automatically prefer the encrypted variant. This enables gradual migration without breaking compatibility.
WPA3-Enterprise introduces an optional 192-bit security mode aligned with the Commercial National Security Algorithm (CNSA) suite, designed for environments requiring the highest level of cryptographic protection.
CNSA Suite Components:
| Function | WPA2-Enterprise | WPA3-Enterprise 192-bit |
|---|---|---|
| Key Exchange | ECDH P-256 | ECDH P-384 |
| Signature | RSA-2048 / ECDSA P-256 | ECDSA P-384 |
| Encryption | AES-128 CCMP | AES-256 GCMP |
| Integrity | AES-128 CCMP | AES-256 GCMP |
| PRF/KDF | HMAC-SHA-256 | HMAC-SHA-384 |
| EAP Authentication | Various | EAP-TLS with TLS 1.3 |
The 192-bit mode ensures consistent security strength across all cryptographic operations. In WPA2, mixing 128-bit and 256-bit algorithms created potential weak points.
GCMP: Galois/Counter Mode Protocol
WPA3 introduces GCMP as an alternative to CCMP:
CCMP: AES-CTR (encryption) + CBC-MAC (authentication)
GCMP: AES-CTR (encryption) + GHASH (authentication)
GCMP Advantages:
GCMP-256 Specifics:
EAP-TLS with TLS 1.3:
WPA3-Enterprise 192-bit mandates EAP-TLS using TLS 1.3:
192-bit mode is designed for government, financial, and defense applications with long-term secrecy requirements. For most organizations, standard WPA3-Enterprise (128-bit) provides adequate security with better compatibility and performance. 192-bit mode requires infrastructure upgrades for certificate chain support.
In April 2019, researchers Mathy Vanhoef and Eyal Ronen (who previously discovered KRACK) disclosed Dragonblood—a set of vulnerabilities in WPA3 implementations and some aspects of the SAE protocol.
Vulnerability Categories:
1. Transition Mode Downgrade
WPA3 transition mode allows both WPA2 and WPA3 clients:
Mitigation: Use WPA3-only mode when all clients support it.
2. Security Group Downgrade
SAE supports multiple elliptic curve groups (P-256, P-384, etc.):
Mitigation: Configure AP to only accept strong groups.
3. Timing Side-Channel Attacks
The hash-to-curve operation in SAE (converting password to curve point):
Two variants discovered:
Mitigation: Use constant-time implementations; prefer SSWU over hunting-and-pecking.
4. Denial of Service
SAE commit phase is computationally expensive:
Mitigation: Anti-clogging tokens (cookies) before expensive computation.
| CVE | Type | Impact | Fix |
|---|---|---|---|
| CVE-2019-9494 | Timing side-channel | Dictionary attack assistance | Constant-time implementation |
| CVE-2019-9495 | Cache side-channel | Dictionary attack assistance | Cache-resistant code |
| CVE-2019-9496 | DoS via commit flood | Service unavailability | Anti-clogging tokens |
| CVE-2019-9497 | Reflection attack (EAP-pwd) | Authentication bypass | Protocol fix |
| CVE-2019-9498 | Downgrade attack | WPA3 → WPA2 downgrade | Strict mode enforcement |
Dragonblood vulnerabilities were implementation issues and protocol edge cases, not fundamental breaks. Unlike WEP (fundamentally broken) or early KRACK (protocol gap), Dragonblood attacks typically require proximity, significant resources, or work only against weak passwords. The Wi-Fi Alliance issued clarifications and implementation guidance that address these issues.
WPA3 represents a significant security evolution, addressing fundamental limitations in WPA2 while maintaining practical deployability. Its core innovations—SAE for password-based authentication and OWE for open networks—solve problems that no amount of WPA2 configuration could address.
Deployment Recommendations:
What's Next:
The final page covers Security Best Practices—a comprehensive guide to securing wireless networks regardless of protocol generation. This includes defense-in-depth strategies, monitoring, and operational practices that complement the cryptographic protections we've discussed.
You now understand WPA3's core technologies: SAE providing offline-attack-resistant password authentication with forward secrecy, OWE enabling encryption for open networks, and 192-bit mode for enterprise requiring maximum cryptographic strength. These advances address WPA2's structural limitations while providing a migration path for existing deployments.