Android 10 introduce il supporto per gli standard Wi-Fi Protected Access versione 3 (WPA3) e Wi-Fi Enhanced Open della Wi-Fi Alliance (WFA). Per ulteriori informazioni, consulta la sezione Sicurezza sul sito della WFA.
WPA3 è un nuovo standard di sicurezza WFA per reti personali e aziendali. Il suo obiettivo è migliorare la sicurezza complessiva del Wi-Fi utilizzando algoritmi di sicurezza moderni e suite di crittografia più efficaci. WPA3 è composto da due parti:
- WPA3-Personal: utilizza l'autenticazione simultanea di pari (SAE) anziché la chiave precondivisa (PSK), fornendo agli utenti protezioni di sicurezza più efficaci contro attacchi come quelli a dizionario offline, il recupero delle chiavi e la falsificazione dei messaggi.
- WPA3-Enterprise:offre metodi di autenticazione e crittografia del livello di collegamento più efficaci e una modalità di sicurezza a 192 bit facoltativa per ambienti di sicurezza sensibili.
Wi-Fi Enhanced Open è un nuovo standard di sicurezza WFA per le reti pubbliche basato sulla crittografia wireless opportunistica (OWE). Fornisce crittografia e privacy su reti aperte e non protette da password in aree come caffè, hotel, ristoranti e biblioteche. Enhanced Open non fornisce l'autenticazione.
WPA3 e Wi-Fi Enhanced Open migliorano la sicurezza complessiva del Wi-Fi, offrendo una migliore privacy e robustezza contro gli attacchi noti. Poiché molti dispositivi non supportano ancora questi standard o non hanno ancora ricevuto aggiornamenti software per supportare queste funzionalità, la WFA ha proposto le seguenti modalità di transizione:
- Modalità di transizione WPA2/WPA3:il punto di accesso di servizio supporta contemporaneamente gli standard WPA2 e WPA3. In questa modalità, i dispositivi Android 10 utilizzano WPA3 per connettersi, mentre i dispositivi con Android 9 o versioni precedenti utilizzano WPA2 per connettersi allo stesso punto di accesso.
- Modalità di transizione WPA2/WPA3-Enterprise: il punto di accesso di servizio supporta contemporaneamente gli standard WPA2-Enterprise e WPA3-Enterprise.
- Modalità di transizione OWE:il punto di accesso di servizio supporta contemporaneamente OWE e standard aperti. In questa modalità, i dispositivi Android 10 utilizzano OWE per connettersi, mentre i dispositivi con Android 9 o versioni precedenti si connettono allo stesso punto di accesso senza alcuna crittografia.
Android 12 supporta l'indicazione di disattivazione della transizione, un meccanismo che indica a un dispositivo di non utilizzare WPA2 e di utilizzare WPA3. Quando un dispositivo riceve questa indicazione, utilizza WPA3 per connettersi a una rete WPA3 che supporta una modalità di transizione. Android 12 supporta anche lo scambio di autenticazione Hash-to-Element (H2E) WPA3. Per ulteriori informazioni, consulta la specifica WPA3.
WPA3 e Wi-Fi Enhanced Open sono supportati solo in modalità client.
Implementazione
Per supportare WPA3 e Wi-Fi Enhanced Open, implementa l'interfaccia HAL Supplicant.
A partire da Android 13, l'interfaccia utilizza Android
Interface Definition Language (AIDL) per la definizione HAL. Per le release precedenti
Android 13, le interfacce e le partizioni fornitore utilizzano HAL
Interface Definition Language (HIDL). L'interfaccia HIDL si trova in
hardware/interfaces/wifi/supplicant/1.3/, mentre l'interfaccia AIDL si trova in
hardware/interfaces/wifi/supplicant/aidl/.
Per supportare WPA3 e OWE è richiesto quanto segue:
- Patch del kernel Linux per supportare SAE e OWE
- cfg80211
- nl80211
wpa_supplicantcon supporto per SAE, SUITEB192 e OWE- Driver Wi-Fi con supporto per SAE, SUITEB192 e OWE
- Firmware Wi-Fi con supporto per SAE, SUITEB192 e OWE
- Chip Wi-Fi con supporto per WPA3 e OWE
In Android 10 sono disponibili metodi API pubblici per consentire alle app di determinare il supporto del dispositivo per queste funzionalità:
WifiManager#isWpa3SaeSupportedWifiManager#isWpa3SuiteBSupportedWifiManager#isEnhancedOpenSupported
WifiConfiguration.java contiene nuovi tipi di gestione delle chiavi, nonché
cifrari a coppie, cifrari di gruppo, cifrari di gestione dei gruppi e cifrari Suite B,
che sono necessari per OWE, WPA3-Personal e WPA3-Enterprise.
Attivare WPA3 e Wi-Fi Enhanced Open
Per attivare WPA3-Personal, WPA3-Enterprise e Wi-Fi Enhanced Open nel framework Android:
WPA3-Personal:includi l'opzione di compilazione
CONFIG_SAEnel file di configurazionewpa_supplicant.# WPA3-Personal (SAE) CONFIG_SAE=yWPA3-Enterprise:includi le opzioni di compilazione
CONFIG_SUITEB192eCONFIG_SUITEBnel file di configurazionewpa_supplicant.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=yWi-Fi Enhanced Open:includi l'opzione di compilazione
CONFIG_OWEnel file di configurazionewpa_supplicant.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Se WPA3-Personal, WPA3-Enterprise o Wi-Fi Enhanced Open non sono attivati, gli utenti non potranno aggiungere, scansionare o connettersi manualmente a questi tipi di reti.
Convalida
Per testare l'implementazione, esegui i seguenti test.
Test delle unità
Esegui SupplicantStaIfaceHalTest per verificare il comportamento dei flag delle funzionalità per WPA3 e OWE.
atest SupplicantStaIfaceHalTestEsegui WifiManagerTest per verificare il comportamento delle API pubbliche per questa
funzionalità.
atest WifiManagerTestTest VTS
Se l'interfaccia HIDL è implementata, esegui:
atest VtsHalWifiSupplicantV1_3TargetTestSe l'interfaccia AIDL è implementata, esegui:
atest VtsHalWifiSupplicantStaIfaceTargetTest