Apertura avanzata WPA3 e Wi-Fi

Android 10 introduce il supporto per Wi-Fi Protected Access versione 3 (WPA3) e gli standard Wi-Fi Enhanced Open della Wi-Fi Alliance (WFA). Per maggiori informazioni, consulta la pagina Sicurezza sul sito 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 uguali (SAE) instead of pre-shared key (PSK), fornendo agli utenti protezioni di sicurezza più efficaci contro attacchi come attacchi a dizionario offline, recupero di chiavi e creazione di messaggi falsi.
  • WPA3-Enterprise:offre metodi di autenticazione e crittografia di livello link più efficaci e una modalità di sicurezza facoltativa a 192 bit per 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 non protette da password in luoghi come bar, hotel, ristoranti e biblioteche. La funzionalità Apri avanzata non fornisce l'autenticazione.

WPA3 e Wi-Fi Enhanced Open migliorano la sicurezza complessiva del Wi-Fi, offrendo una maggiore privacy e robustezza 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 la connessione, 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 per la gestione supporta contemporaneamente gli standard aperti e OWE. In questa modalità, i dispositivi Android 10 si connettono tramite OWE e 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 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 Enhanced Open sono supportati solo in modalità client.

Implementazione

Per supportare WPA3 e Wi-Fi Enhanced Open, implementa l'interfaccia HAL del supplicant. 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 del fornitore utilizzano HIDL. L'interfaccia HIDL è disponibile in hardware/interfaces/wifi/supplicant/1.3/, mentre l'interfaccia AIDL è disponibile in hardware/interfaces/wifi/supplicant/aidl/.

Per supportare WPA3 e OWE sono necessari i seguenti requisiti:

  • Patch del kernel Linux per supportare SAE e OWE

    • cfg80211
    • nl80211
  • wpa_supplicant con 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 dell'API pubblica per consentire alle app di determinare il supporto del dispositivo per le seguenti funzionalità:

WifiConfiguration.java contiene nuovi tipi di gestione delle chiavi, nonché crittografi a coppie, crittografi di gruppo, crittografi di gestione del gruppo e crittografi della Suite B, che sono obbligatori per OWE, WPA3-Personal e WPA3-Enterprise.

Attiva 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_SAE nel file di configurazione di wpa_supplicant.

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-Enterprise: includi le opzioni di compilazione CONFIG_SUITEB192 e CONFIG_SUITEB nel file di configurazione wpa_supplicant.

    # WPA3-Enterprise (SuiteB-192)
    CONFIG_SUITEB=y
    CONFIG_SUITEB192=y
    
  • Wi-Fi Enhanced Open: includi l'opzione di compilazione CONFIG_OWE nel wpa_supplicant file di configurazione.

    # 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, eseguire la scansione 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 degli indicatori di funzionalità 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