11.4 WPA (Wi-Fi Protected Access)
WPA vzniklo jako přechodná náhrada za prolomený WEP. Později přišel robustnější standard WPA2 a následně nejmodernější WPA3. Kromě lepších šifrovacích algoritmů definují rodiny standardů WPA různé režimy autentizace, včetně složitějšího procesu ustavení klíčů, tzw. 4-way handshake.
Verze a režimy
- WPA Personal: Využívá předem sdílený klíč - heslo sítě. Tento režim je známý jako WPA-PSK (Pre-Shared Key).
- WPA Enterprise: Využívá externí autentizační server (typicky RADIUS), který poskytuje odlišné klíče pro každého uživatele (často integrace např. s Active Directory přes protokoly EAP, 802.1X).
- WPS (Wi-Fi Protected Setup): Mechanismus pro snadné připojení pomocí tlačítka nebo PINu (historicky obsahuje závažnou zranitelnost pro získání PINu).
Algoritmy šifrování
- TKIP (Temporal Key Integrity Protocol): Postavený na šifře RC4. Sloužil jako rychlá náhrada WEP na starším hardwaru. Dnes zastaralý a prolomený.
- CCMP (CTR mode with CBC-MAC Protocol): Postaven na moderní šifře AES. Jedná se o standard, který přineslo WPA2.
- GCMP (Galois/Counter Mode Protocol): Stejně jako CCMP postaven na AES, využíván typicky s novějšími revizemi pro vyšší výkon a bezpečnost.
WPA 4-way Handshake
Před samotným zašifrovaným přenosem dat musí AP a stanice dohodnout dočasné šifrovací klíče. Provede se tzv. čtyřcestný handshake. Tento proces zajišťuje, že obě strany znají správné heslo k síti, aniž by si heslo napřímo a nezašifrovaně posílaly po síti.
- PMK (Pairwise Master Key): Základní tajemství. V režimu Personal je PMK odvozeno z hesla (PSK), SSID sítě a dalších parametrů (např. pomocí funkce PBKDF2 s HMAC-SHA1 na 4096 iterací).
- PTK (Pairwise Transit Key): Unikátní dočasný klíč, sloužící k šifrování unicast komunikace mezi klientem a AP.
- GTK (Group Temporal Key): Klíč k šifrování multicast a broadcast provozu v síti.
- GMK (Group Master Key): Klíč na AP sloužící k výpočtu GTK.
- ANONCE: Náhodné číslo (nonce), které vygeneruje AP.
- SNONCE: Náhodné číslo (nonce), které vygeneruje klient (stanice).
Výpočet PTK probíhá lokálně na obou zařízeních s využitím funkce PRF (Pseudo Random Function), která bere tyto vstupy: PTK = PRF(PMK, "Pairwise Key Expansion", MAC_AP, MAC_Klient, ANONCE, SNONCE).
Z bezpečnostních důvodů se k prokázání vlastnictví PTK přenáší v handshaku kryptografický hash, tzv. MIC (Message Integrity Code).
Nejnovější standard WPA3 nahrazuje klasické WPA2 PSK odvozování pomocí hesla novým protokolem Simultaneous Authentication of Equals (SAE), nazývaným též Dragonfly. SAE se opírá o Diffie-Hellmanovu výměnu klíčů a brání pasivnímu zachycení komunikace k offline útokům hrubou silou na slovník, kterými historicky trpělo WPA2.