Garden of KnowledgeApplied Sciences › Computer Science › Software › Security › Networking › Network Security › WiFi
May 17, 2026

WPA3 et Vulnérabilités Modernes

WPA3 (2018) corrige plusieurs faiblesses de WPA2 : brute-force offline, absence de forward secrecy, hotspots non chiffrés. Mais le standard a lui-même connu des CVE majeures (Dragonblood, FragAttacks).

WPA3-Personal — SAE (Dragonfly handshake)§

SAE = Simultaneous Authentication of Equals. Échange de clé à mot de passe authentifié, basé sur l’élément password element dérivé du PSK.

Différence clé avec WPA2§

AspectWPA2-PSKWPA3-SAE
Capture d’un échangeSuffit à brute-forcer offlineInutile (pas de matériel exploitable hors ligne)
Brute-forceOffline, illimité (GPU)Online uniquement (rate-limited par l’AP)
Forward secrecyNonOui (clés éphémères)
Protection trame managementPMF optionnelPMF obligatoire

Le handshake SAE simplifié§

Client                              AP
  │                                  │
  │ ── Commit (scalar, element) ──→  │
  │                                  │
  │ ←── Commit (scalar, element) ──  │
  │                                  │
  │ ── Confirm (PMK derived) ────→   │
  │                                  │
  │ ←── Confirm (PMK derived) ───    │
  │                                  │
  │ ────── 4-way handshake ──────→   │  (comme WPA2 ensuite)

Chaque échange dépend d’un secret éphémère → impossible de rejouer ou bruteforcer hors ligne sans nouvelles interactions.

WPA3-Enterprise§

OWE — Opportunistic Wireless Encryption§

Remplace les hotspots “Open” non chiffrés. Diffie-Hellman entre client et AP pour chiffrer la session sans authentification.

CVE majeures§

KRACK — Key Reinstallation Attack (2017)§

CVE-2017-13077 à 13088 — Mathy Vanhoef.

Principe : pendant le 4-way handshake WPA2, si l’attaquant rejoue le message 3, le client réinstalle la même clé mais avec un compteur de nonce réinitialisé → réutilisation de nonce → décryption partielle possible.

Impact :

# PoC officielle Vanhoef
git clone https://github.com/vanhoefm/krackattacks-scripts
cd krackattacks-poc-zerokey
sudo ./krack-test-client.py wlan0
# Teste si le client cible est vulnérable

Patch : maj wpa_supplicant ≥ 2.7, maj iOS ≥ 11.1, Android ≥ patch Nov 2017.

Dragonblood (2019) — WPA3 / SAE§

CVE-2019-9494 à 9499 — Vanhoef & Ronen.

Plusieurs failles dans l’implémentation SAE :

CVETypeEffet
9494Cache-based side-channelRécupération du password par observation des accès cache
9496Downgrade WPA3 → WPA2Forcer un client WPA3 à utiliser WPA2 sur un AP en mode transition
9497Resource exhaustionDoS sur l’AP (CPU épuisé par commit floods)
9498Timing side-channelRécupération password par mesure du temps de réponse
# Outil dédié
git clone https://github.com/vanhoefm/dragondrain-and-time
# Permet de tester :
# - dragondrain : DoS par flood de Commit
# - dragontime  : extraction par timing
# - dragonforce : brute-force après partitioning attack

Patch : hostapd/wpa_supplicant ≥ 2.10, mises à jour vendor (Apple, Samsung, Cisco).

Downgrade Transition (WPA3-Transition)§

En mode transition (WPA2 + WPA3 simultanément), un Evil Twin WPA2-only avec le même SSID peut forcer un client à se rabattre sur WPA2.

# Imitations sans WPA3
hostapd /tmp/wpa2-only.conf
# La victime se connecte → handshake WPA2 capturable → crack offline

Mitigation : passer en WPA3-only dès que tout le parc est compatible.

FragAttacks (2021)§

CVE-2020-24586 à 24588 et 26139 à 26147 — Vanhoef.

12 vulnérabilités touchant la fragmentation et l’agrégation des trames 802.11. Présentes dans presque tous les appareils WiFi depuis 1997.

CVEType
24586Cache de fragments non purgé → mélange de trames cross-network
24587Fragments chiffrés avec clés différentes assemblés
24588A-MSDU avec EAPOL injection
26139Forwarding EAPOL avant authentification
26144-26147Injection de trames en clair via traitement A-MSDU

Impact :

# Outil de test fragattack
git clone https://github.com/vanhoefm/fragattacks
cd fragattacks/research
sudo ./fragattack.py wlan0 ping
# Teste 45 variantes sur le client/AP

Patch : Linux kernel ≥ 5.12, iOS ≥ 14.6, Windows updates 2021-05, firmware AP vendor.

SAE-PT (Hash-to-Element)§

Pour mitiger Dragonblood, SAE-PT (Hash-to-Element, RFC 9380) remplace la dérivation hash-to-curve par une version sans branchement → élimine les side-channels de timing/cache.

Activé par défaut sur Wi-Fi 6E et au-delà. Vérifier dans hostapd.conf :

sae_pwe=2          # 0=hunting-and-pecking, 1=H2E, 2=both

Quel est l’état de l’art aujourd’hui ?§

NiveauRecommandation
DomestiqueWPA3-Personal SAE (PSK longue), PMF, désactiver WPS
EntrepriseWPA3-Enterprise + EAP-TLS, AC interne, validation cert obligatoire
PublicOWE (au minimum), VPN systématique côté client
CritiqueWPA3-Enterprise Suite-B 192 bits, certificats clients HSM-backed

Voir aussi§

—The Gardener