自治区交通运输厅召开全区出租汽车改革推进会
IEEE 802.11i o, più brevemente 802.11i, è un emendamento dello standard IEEE 802.11 che definisce l'implementazione del meccanismo Wi-Fi Protected Access 2 o WPA2. Il documento è stato ratificato da IEEE il 24 giugno 2004[1] e specifica i meccanismi di sicurezza per le reti wireless, sostituendo il breve paragrafo Authentication and privacy dello standard originale con un capitolo Security più dettagliato. Il documento depreca l'algoritmo Wired Equivalent Privacy (WEP) ed è stato incorporato allo standard generale nella versione IEEE 802.11-2007.[2]
Caratteristiche
[modifica | modifica wikitesto]La specifica annulla e sostituisce il meccanismo di sicurezza WEP, unico previsto fino a quel momento, che si era dimostrato altamente vulnerabile.[3][4] Il consorzio Wi-Fi Alliance aveva già introdotto nel 2003 una versione preliminare del Wi-Fi Protected Access, nota anche come WPA, basata su una bozza intermedia della 802.11i, per iniziare a risolvere le vulnerabilità del WEP.[5] Questa versione è in grado di interoperare con la versione definitiva dello standard.[6]
L'algoritmo finale definito da 802.11i utilizza la cifratura a blocchi Advanced Encryption Standard (AES), mentre WEP e WPA si basano sulla cifratura a flusso RC4.[1]
Protocolli
[modifica | modifica wikitesto]IEEE 802.11i estende lo standard precedente IEEE 802.11-1999 introducendo due nuovi protocolli che permettono di qualificare una rete wireless come Robust Security Network (rete a sicurezza robusta):[7] l'handshake a quattro vie (four-way handshake) e il group key handshake (handshake a chiave di gruppo). Per il calcolo e lo scambio delle opportune chiavi crittografiche, entrambi i protocolli impiegano i servizi di autenticazione e di controllo di accesso alle porte descritti nello standard IEEE 802.1X.[8]
Lo standard prevede inoltre due meccanismi per la confidenzialità e l'integrità dei dati sempre di tipo Robust Security Network Associations (RSNA): il Temporal Key Integrity Protocol (protocollo di integrità della chiave temporale, TKIP) e la crittografia di tipo CCMP, obbligatoria dato che i suoi meccanismi di confidenzialità e integrità sono più robusti rispetto a quelli del TKIP.[9] Il motivo principale per l'implementazione del TKIP è garantire la compatibilità con la maggior parte dei dispositivi più vecchi il cui hardware supporta solo WEP.[10]
Il processo di autenticazione iniziale avviene utilizzando una chiave pre-condivisa (Pre-Shared Key, PSK), o tramite Extensible Authentication Protocol (EAP) secondo lo standard 802.1X, nella modalità Extensible Authentication Protocol Over LAN (EAPOL) che richiede la presenza di un server per l'autenticazione. Questo processo assicura che il dispositivo client (client station, STA) sia prima di tutto autenticato verso l'Access Point (AP). Dopo che è avvenuta l'autenticazione, viene generata una chiave segreta condivisa, denominata Pairwise Master Key (PMK). Con l'autenticazione a chiave pre-condivisa, la PMK coincide con la PSK,[11] che è ottenuta per derivazione dalla password del Wi-Fi usando SHA-1 come funzione di hash.[12] Nel caso di autenticazione basata su EAP/802.1X, la PMK è derivata dai parametri EAP forniti dal server di autenticazione,[13] in particolare dai primi 256 bit di una chiave speciale, la Master Session Key (MSK) che viene scambiata o generata durante l'autenticazione 802.1X.[14] A partire dalla MSK l'AP genera anche una Group Master Key (GMK) per la crittografia dei messaggi di tipo multicast e broadcast. Allo scadere dell'intervallo temporale configurato, questa chiave viene rigenerata per ridurre il rischio di compromissione.
Handshake a quattro vie
[modifica | modifica wikitesto]L'handshake a quattro vie[1] è concepito in maniera tale che l'Access Point (che svolge il ruolo di "autenticatore", authenticator) e il client wireless (che svolge il ruolo di "richiedente", supplicant) sono in grado di dimostrarsi a vicenda che conoscono la PSK/PMK senza aver bisogno di rivelarla o trasmetterla e sulla base di questo generare le chiavi crittografiche come derivazione dalla PSK/PMK.
Per verificare che la PSK/PMK sia effettivamente la stessa, l'AP e il cliente si scambiano messaggi cifrati che possono essere decrittati solo tramite la PMK già condivisa: l'operazione, se va a buon fine, dimostra la conoscenza reciproca della chiave. L'handshake a quattro vie è cruciale per la protezione della PMK da parte di access point malevoli - per esempio una SSID ingannevole che imita un punto di accesso reale - dato che il client non comunica mai la sua PMK all'Access Point e l'handshake fallirebbe in caso di SSID ingannevoli.[15]
Come indica il nome, l'handshake a quattro vie richiede lo scambio di quattro messaggi tra l'autenticatore (AP) e il richiedente (la stazione supplicant, STA).[14] Alla fine dello scambio, vengono generate una chiave transitoria usata per la crittografia dei messaggi di tipo unicast, ossia quelli diretti tra AP e un singolo cliente (Pairwise Transient Key, PTK), e una chiave di gruppo (Group Temporal Key, GTK), derivata dalla GMK, che viene usata dall'AP per crittare i messaggi di tipo multicast o broadcast destinati a più client contemporaneamente; dato che i client possono trasmettere solo traffico unicast, utilizzano questa chiave solo per decrittare i messaggi multicast o broadcast.[14] Mentre la GTK è condivisa da tutti i client connessi alla rete wireless, la PTK è unica e differente per ogni singolo client.[14]
Generazione delle chiavi
[modifica | modifica wikitesto]La generazione delle chiavi di tipo PTK si basa su cinque parametri:[14]
- Un numero pseudocasuale (nonce) che viene generato autonomamente dall'AP (ANonce); il numero è lungo 256 bit[16]
- Un numero pseudocasuale (nonce) che viene generato autonomamente dalla stazione STA (SNonce); il numero è lungo 256 bit[16]
- L'indirizzo MAC dell'Authenticator (AP), che è nativo per l'AP e noto alla STA tramite le frame ricevute dall'AP (MACAuth)
- L'indirizzo MAC del cliente supplicant (STA), che è nativo per la STA e noto all'AP tramite le frame ricevute dalla STA (MACSupp)
- La PMK condivisa
Il valore finale della PTK viene calcolato in questo modo:[17]
dove è una funzione pseudocasuale, è l'operatore di concatenazione e la lunghezza in bit della chiave, che nel caso di AES-CCMP è pari a 384.[18]
La PTK risultante combina in realtà tre chiavi crittografiche:[17]
- I primi 128 bit della PTK (0–127) costituiscono la Key Confirmation Key (KCK) che è una chiave di sessione legata all'autenticazione
- I secondi 128 bit della PTK (128–255) costituiscono la Key Encryption Key (KEK) che è una chiave di sessione usata per crittare le chiavi
- I rimanenti bit della PTK (256–) costituiscono la Temporal Key (chiave temporale, TK).
La chiave di gruppo GTK viene invece calcolata in modo totalmente autonomo dall'AP come derivazione dalla GMK.[14]
Diagramma di flusso
[modifica | modifica wikitesto]
All'inizio della sequenza di handshaking, ogni entità coinvolta possiede queste informazioni:
- AP: PMK, ANonce, indirizzo MAC dell'AP e indirizzo MAC della STA (più la GMK precalcolata)
- STA: PMK, SNonce, indirizzo MAC dell'AP e indirizzo MAC della STA
I quattro messaggi della sequenza sono:[14]
- AP invia a STA il valore di ANonce. Con questo valore, STA possiede tutti i parametri per eseguire il calcolo della PTK.
- STA invia ad AP il valore di SNonce, insieme alle proprie caratteristiche di RSN e un Message Integrity Check (controllo dell'integrità del messaggio, MIC) che AP utilizza per verificare che il messaggio è stato ricevuto senza errori. Anche AP possiede adesso tutti i parametri per eseguire il calcolo della PTK e procede al calcolo della GTK.
- AP invia a STA ANonce, le proprie caratteristiche di RSN, MIC e il valore di GTK. STA, una volta verificata l'integrità del messaggio, procede a installare le chiavi crittografiche.
- STA invia ad AP un messaggio finale di conferma dell'installazione delle chiavi crittografiche.
Da questo momento in avanti, tutti i messaggi unicast scambiati tra STA ed AP sono decrittati tramite PTK e tutti i messaggi multicast o broadcast inviati da AP sono decrittati tramite GTK.[14]
Group Key Handshake
[modifica | modifica wikitesto]Quando un client (stazione) esce dalla rete wireless, l'AP deve ricalcolare e rigenerare la GTK per evitare che la stazione possa continuare a decriptare messaggi multicast o broadcast che non sono più indirizzati a lei. Per comunicare il nuovo valore alle stazioni rimaste nella rete, si utilizza un handshake specifico a due vie (Group Key Handshake) che prevede le seguenti fasi:[19][20]
- AP manda a ciascun client il nuovo valore della GTK, crittato con la chiave KEK,[21] insieme al MIC di controllo dell'integrità. Il client decritta il messaggio e installa la nuova chiave di gruppo
- Il client manda ad AP un messaggio di conferma, insieme al relativo MIC, per segnalare che la nuova GTK è stata installata.
Va osservato che questo processo di rigenerazione riguarda solo la GTK: la PTK generata per i messaggi di tipo unicast non viene modificata.[20]
Vulnerabilità
[modifica | modifica wikitesto]WPA2 si è dimostrato vulnerabile agli attacchi di tipo KRACK (Key Reinstallation AttaCK, attacco tramite reinstallazione della chiave), scoperto nel 2016[22] e dettagliato nel 2017[23]. La vulnerabilità è intrinseca all'handshaking a quattro vie, in particolare l'attacco sfrutta il terzo messaggio dell'handshaking simulando una perdita di connessione temporanea e resettando in continuazione l'ANonce inviato in tale messaggio. A ogni reset, il messaggio diventa sempre più leggibile fino ad arrivare a poter leggere in chiaro le chiavi crittografiche.[24]
Per mitigare il rischio di questo tipo di vulnerabilità, senza tuttavia annullarne la possibilità, il consorzio Wi-Fi Alliance ha definito WPA3,[25] il cui supporto è stato indicato come obbligatorio nella normativa IEEE 802.11ax per le frequenze a 6 GHz.[26]
Note
[modifica | modifica wikitesto]- ^ a b c IEEE 802.11i
- ^ (EN) IEEE Std 802.11-2007 (PDF), su people.iith.ac.in, 12 giugno 2007, p. IV.
- ^ (EN) L.Barken, WEP vulnerabilities: Wired equivalent privacy?, su researchgate.net, giugno 2003.
- ^ (EN) Kwabena Akomea-Agyin e Michael Asante, Analysis of Security Vulnerabilities in Wired Equivalent Privacy (WEP), in International Research Journal of Engineering and Technology (IRJET), vol. 6, n. 1, gennaio 2019, pp. 529-536.
- ^ (EN) Alissa Irei, Wireless security: WEP, WPA, WPA2 and WPA3 differences, su techtarget.com, 6 dicembre 2022.
- ^ WEP, WPA, WPA2 e WPA3: differenze e descrizione, su kaspersky.it.
- ^ (EN) Sheila Frankel, Bernard Eydt, Les Owens e Karen Scarfone, Establishing Wireless Robust Security Networks: A Guide to IEEE 802.11i (PDF), Special Publication 800-97, NIST - National Institute of Standards and Technology, febbraio 2007.
- ^ IEEE 802.11i, p.14
- ^ IEEE 802.11i, p.43
- ^ Che cos'è il protocollo di integrità della chiave temporale (TKIP)?, su lenovo.com.
- ^ IEEE 802.11i, p.33
- ^ IEEE 802.11i, p.165
- ^ (EN) Kwangjo Kim, Hyunrok Lee, Taehwan Yoo e Jeesook Eun, Key Management for Link Layer Security (PDF), su ieee802.org.
- ^ a b c d e f g h (EN) 4-Way Handshake, su [802.11] Wi-Fi Security Concepts, community.nxp.com, 6 ottobre 2020.
- ^ (EN) Hélo?se Gollier e Mathy Vanhoef, SSID Confusion: Making Wi-Fi Clients Connect to the Wrong Network (PDF), WiSec '24, 27-30 maggio 2024, Seul, pp. 2-4.
- ^ a b 802.11i Overview, p.59
- ^ a b 802.11i Overview, p.45
- ^ 802.11i Overview, p.46
- ^ (EN) Cristian Chi?u, Chapter 12. Security Improvements Within IEEE 802.11i Wireless Local Area Networks (WLANs), in Alfred P. Martinhoff (a cura di), Progress in Wireless Communications Research, Fig.16, p.300, Nova Science Publishers, Inc, 2007, pp. 279-303, ISBN 978-160021-675-6.
- ^ a b (EN) CWAP – Group Key Handshake, su artofrf.com, 15 aprile 2019.
- ^ 802.11i Overview, p.53
- ^ (EN) Catalin Cimpanu, New KRACK Attack Breaks WPA2 WiFi Protocol, su bleepingcomputer.com, 16 ottobre 2017.
- ^ (EN) Alex Hern, 'All Wifi Networks' Are Vulnerable to Hacking, Security Expert Discovers, in The Guardian, 16 ottobre 2017.
- ^ (EN) Mathy Vanhoef e Frank Piessens, Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2 (PDF), su papers.mathyvanhoef.com, 2017.
- ^ (EN) What Is WPA3?, su jumpcloud.com, 14 febbraio 2025.
- ^ (EN) Overview of Wi-Fi 7 (IEEE 802.11be), su mathworks.com.
Bibliografia
[modifica | modifica wikitesto]- (EN) IEEE 802.11i-2004: Amendment 6: Medium Access Control (MAC) Security Enhancements (PDF), IEEE, 23 luglio 2004 (archiviato dall'url originale il 17 maggio 2005).
- (EN) Clint Chaplin, Emily Qi, Henry Ptasinski, Jesse Walker e Sheung Li, 802.11i Overview (PDF), doc.: IEEE 802.11-04/0123r1, IEEE, 9 febbraio 2005.