Android 10 introduce il supporto per gli standard Wi-Fi Protected Access versione 3 (WPA3) e Wi-Fi Advanced Open di Wi-Fi Alliance (WFA). Per ulteriori informazioni, consulta la pagina Sicurezza sul sito WFA.
WPA3 è un nuovo standard di sicurezza WFA per reti personali e aziendali. Punta a migliorare la sicurezza generale del Wi-Fi utilizzando moderni algoritmi e suite di crittografia più potenti. WPA3 è costituito da due parti:
- WPA3-Personal: utilizza l'autenticazione simultanea degli pari (SAE) anziché la chiave precondivisa (PSK), offrendo agli utenti una protezione di sicurezza più efficace contro attacchi come attacchi a dizionario offline, recupero di chiavi e contraffazione di messaggi.
- WPA3-Enterprise: offre metodi di autenticazione e crittografia a livello di link più efficaci e una modalità di sicurezza facoltativa a 192 bit per gli ambienti di sicurezza sensibili.
Wi-Fi Advanced Open è un nuovo standard di sicurezza WFA per reti pubbliche basato sulla crittografia wireless opportunistica (OWE). Fornisce crittografia e privacy su reti aperte e non protette da password in aree come bar, hotel, ristoranti e biblioteche. L'apertura avanzata non fornisce l'autenticazione.
WPA3 e Wi-Fi Advanced Open migliorano la sicurezza Wi-Fi generale, fornendo privacy e solidità contro gli attacchi noti. Poiché molti dispositivi non supportano ancora questi standard o non hanno ancora ricevuto upgrade del software per supportare queste funzionalità, 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 per la gestione supporta contemporaneamente gli standard WPA2-Enterprise e WPA3-Enterprise.
- Modalità di transizione OWE: il punto di accesso per la gestione supporta contemporaneamente gli standard aperti e OWE. In questa modalità, i dispositivi Android 10 utilizzano OWE per la connessione e i dispositivi con Android 9 o versioni precedenti si connettono allo stesso punto di accesso senza crittografia.
Android 12 supporta l'indicazione Transizione Disabilita, un meccanismo che indica a un dispositivo di non usare WPA2 e di usare invece 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 WPA3 Hash-to-Element (H2E). Per ulteriori informazioni, consulta la specifica WPA3.
WPA3 e Wi-Fi Advanced Open sono supportati soltanto in modalità client.
Implementazione
Per supportare WPA3 e Wi-Fi Advanced Open, implementa l'interfaccia Supplicant HAL.
A partire da Android 13,
l'interfaccia utilizza AIDL per la definizione dell'HAL.
Per le release precedenti ad Android 13,
le interfacce e le partizioni dei fornitori usano l'HIDL.
L'interfaccia HIDL è disponibile in hardware/interfaces/wifi/supplicant/1.3/
, mentre l'interfaccia AIDL è disponibile in hardware/interfaces/wifi/supplicant/aidl/
,
Per il supporto di WPA3 e OWE, è necessario quanto segue:
Patch del kernel Linux per supportare SAE e OWE
- cfg80211
- nl80211
wpa_supplicant
con supporto per SAE, SUITEB192 e OWEDriver Wi-Fi con supporto di 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 dell'API pubblica per consentire alle app di stabilire il supporto dei dispositivi per queste funzionalità:
WifiManager#isWpa3SaeSupported
WifiManager#isWpa3SuiteBSupported
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
contiene nuovi tipi di gestione delle chiavi, nonché crittografie a coppie, crittografie di gruppo, crittografie di gestione dei gruppi e crittografie Suite B, necessarie per OWE, WPA3-Personal e WPA3-Enterprise.
Attiva l'apertura avanzata di WPA3 e Wi-Fi
Per attivare WPA3-Personal, WPA3-Enterprise e Wi-Fi Advanced Open nel framework Android:
WPA3-Personal: includi l'opzione di compilazione
CONFIG_SAE
nel file di configurazione diwpa_supplicant
.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: includi le opzioni di compilazione
CONFIG_SUITEB192
eCONFIG_SUITEB
nel file di configurazionewpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Apertura avanzata Wi-Fi:includi l'opzione di compilazione
CONFIG_OWE
nel file di configurazionewpa_supplicant
.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Se le opzioni WPA3-Personal, WPA3-Enterprise o Wi-Fi avanzate Open non sono abilitate, gli utenti non potranno aggiungere, cercare o connettersi manualmente a questi tipi di reti.
Convalida
Per testare l'implementazione, esegui questi test.
Test delle unità
Esegui SupplicantStaIfaceHalTest
per verificare il comportamento dei flag di capacità per WPA3 e OWE.
atest SupplicantStaIfaceHalTest
Esegui WifiManagerTest
per verificare il comportamento delle API pubbliche per questa funzionalità.
atest WifiManagerTest
Test VTS
Se l'interfaccia HIDL è implementata, esegui:
atest VtsHalWifiSupplicantV1_3TargetTest
Se l'interfaccia AIDL è implementata, esegui:
atest VtsHalWifiSupplicantStaIfaceTargetTest