WPA3 e Wi-Fi Enhanced aperti

Android 10 introduce il supporto per gli standard Wi-Fi Protected Access versione 3 (WPA3) e Wi-Fi Enhanced Open di Wi-Fi Alliance (WFA). Per ulteriori informazioni, vedere Sicurezza nel sito WFA .

WPA3 è un nuovo standard di sicurezza WFA per reti personali e aziendali. Mira a migliorare la sicurezza Wi-Fi generale utilizzando algoritmi di sicurezza moderni e suite di crittografia più potenti. WPA3 ha due parti:

  • WPA3-Personal: utilizza l'autenticazione simultanea di equals (SAE) anziché la chiave pre-condivisa (PSK), fornendo agli utenti protezioni di sicurezza più solide contro attacchi come gli attacchi dei dizionari offline, il ripristino delle chiavi e la contraffazione dei messaggi.
  • WPA3-Enterprise: offre metodi di autenticazione e crittografia a livello di collegamento più avanzati e una modalità di sicurezza a 192 bit opzionale per ambienti di sicurezza sensibili.

Wi-Fi Enhanced Open è un nuovo standard di sicurezza WFA per reti pubbliche basato sulla crittografia opportunistica wireless (OWE). Fornisce crittografia e privacy su reti aperte non protette da password in aree come bar, hotel, ristoranti e biblioteche. L'apertura avanzata non fornisce l'autenticazione.

WPA3 e Wi-Fi Enhanced Open migliorano la sicurezza Wi-Fi generale, fornendo una migliore privacy e robustezza contro gli attacchi noti. Poiché molti dispositivi non supportano ancora questi standard o non hanno ancora avuto aggiornamenti software per supportare queste funzionalità, WFA ha proposto le seguenti modalità di transizione:

  • Modalità di transizione WPA2/WPA3: il punto di accesso che serve supporta gli standard WPA2 e WPA3 contemporaneamente. In questa modalità, i dispositivi Android 10 utilizzano WPA3 per connettersi e 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 che serve supporta gli standard WPA2-Enterprise e WPA3-Enterprise contemporaneamente.
  • Modalità di transizione OWE: il punto di accesso che serve supporta sia OWE che standard aperti contemporaneamente. In questa modalità, i dispositivi Android 10 utilizzano OWE per connettersi e i dispositivi con Android 9 o versioni precedenti si connettono allo stesso punto di accesso senza alcuna crittografia.

Android 12 supporta l'indicazione Transition Disable, un meccanismo che indica a un dispositivo di non utilizzare WPA2 e 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, vedere 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 AIDL per la definizione HAL. Per le versioni precedenti ad Android 13, le interfacce e le partizioni del fornitore utilizzano HIDL. L'interfaccia HIDL può essere trovata in hardware/interfaces/wifi/supplicant/1.3/ e l'interfaccia AIDL può essere trovata in hardware/interfaces/wifi/supplicant/aidl/ ,

Per supportare WPA3 e OWE sono necessari:

  • 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

I metodi dell'API pubblica sono disponibili in Android 10 per consentire alle app di determinare il supporto del dispositivo per queste funzionalità:

WifiConfiguration.java contiene nuovi tipi di gestione delle chiavi, oltre a crittografie a coppie, crittografie di gruppo, crittografie di gestione di gruppo e crittografie Suite B, necessarie per OWE, WPA3-Personal e WPA3-Enterprise.

Abilitazione WPA3 e Wi-Fi Enhanced Open

Per abilitare WPA3-Personal, WPA3-Enterprise e Wi-Fi Enhanced Open nel framework Android:

  • WPA3-Personal: includere l'opzione di compilazione CONFIG_SAE nel file di configurazione wpa_supplicant .

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-Enterprise: include 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: include l'opzione di compilazione CONFIG_OWE nel file di configurazione wpa_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 abilitati, gli utenti non potranno aggiungere, scansionare o connettersi manualmente a questi tipi di reti.

Convalida

Per testare la tua implementazione, esegui i seguenti test.

Test unitari

Eseguire 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 funzione.

atest WifiManagerTest

Test di integrazione (ACTS)

Per eseguire un test di integrazione, utilizza il file Android Comms Test Suite (ACTS), WifiWpa3OweTest.py , che si trova in tools/test/connectivity/acts_tests/tests/google/wifi .

Prove VTS

Se l'interfaccia HIDL è implementata, eseguire:

atest VtsHalWifiSupplicantV1_3TargetTest

Se l'interfaccia AIDL è implementata, eseguire:

atest VtsHalWifiSupplicantStaIfaceTargetTest