Connessione facile Wi-Fi

Android 10 introduce il supporto per il protocollo Wi-Fi Easy Connect, noto anche come protocollo di provisioning del dispositivo (DPP). Wi-Fi Easy Connect è stato introdotto da Wi-Fi Alliance (WFA) come alternativa alla Configurazione protetta Wi-Fi (WPS). La funzionalità WPS è stata ritirata in Android 9.

Wi-Fi Easy Connect offre un metodo semplice e sicuro per:

  • Configurare i dispositivi Wi-Fi (inclusi i dispositivi headless) in una rete senza inserire una password.
  • Connettiti alle reti Wi-Fi senza conoscere o inserire una password.

L'inizializzazione e l'autenticazione vengono configurate utilizzando un URI, che viene acquisito tramite la scansione di un codice QR (utilizzando una fotocamera) o viene configurato out-of-band, ad esempio utilizzando BLE o NFC.

Wi-Fi Easy Connect utilizza un canale criptato per inviare le credenziali Wi-Fi tra i dispositivi e, poiché vengono utilizzati i frame di azioni pubbliche, i dispositivi possono usare i punti di accesso esistenti.

Android 10 supporta Wi-Fi Easy Connect solo in modalità iniziatore (la modalità di risposta non è supportata). Sono supportate le seguenti modalità di funzionamento:

  • Initiator-Configurator: invia le credenziali di rete a un nuovo dispositivo scansionandone il codice QR.
  • Autore dell'inizializzazione-Abbonato:partecipa a una rete scansionando il codice QR della rete.

Android 10 supporta il protocollo con chiave pre-condivisa (PSK) per WPA2 e il protocollo di autenticazione simultanea di uguali (SAE) per WPA3.

La funzionalità Wi-Fi Easy Connect è supportata solo in modalità client (la modalità SoftAP non è supportata).

Implementazione

Per supportare Wi-Fi Easy Connect, implementa l'interfaccia supplicant fornita nell'Android Open Source Project (AOSP). A seconda dell'interfaccia implementata, si trova all'indirizzo:

Per supportare il DPP sono necessari i seguenti requisiti:

  • Patch del kernel Linux per supportare DPP:

    • cfg80211
    • nl80211
  • wpa_supplicant con supporto per DPP

  • Driver Wi-Fi con supporto per DPP

  • Firmware Wi-Fi con supporto per DPP

In Android 10 sono disponibili API pubbliche che possono essere utilizzate dalle app:

Attiva Connessione facile Wi-Fi

Per attivare la funzionalità Wi-Fi Easy Connect nel framework Android, includi l'opzione di compilazione CONFIG_DPP nel file di configurazione wpa_supplicant, android.config:

# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y

Convalida

Per testare l'implementazione, esegui i seguenti test.

Test delle unità

Esegui DppManagerTest per verificare il comportamento dei flag di capacità per DPP.

atest DppManagerTest

Test VTS

Se l'interfaccia HIDL è implementata, esegui VtsHalWifiSupplicantV1_2TargetTest per testare il comportamento dell'HAL supplicant 1.2.

Se l'interfaccia AIDL è implementata, esegui VtsHalWifiSupplicantStaIfaceTargetTest per testare il comportamento dell'HAL supplicant.