Connessione facile Wi-Fi

Android 10 introduce il supporto per il protocollo Wi-Fi Easy Connect, noto anche come protocollo di provisioning dei dispositivi (DPP). Wi-Fi Easy Connect è stato introdotto dalla Wi-Fi Alliance (WFA) come alternativa al Wi-Fi Protected Setup (WPS). WPS è stato deprecato in Android 9.

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

  • Dispositivi Wi-Fi integrati (compresi i dispositivi headless) in una rete senza inserire una password.
  • Accedi alle reti Wi-Fi senza conoscere o inserire una password.

Il bootstrap e l'autenticazione vengono configurati utilizzando un URI, acquisito tramite la scansione di un codice QR (utilizzando una fotocamera), oppure sono configurati fuori banda, ad esempio utilizzando BLE o NFC.

Wi-Fi Easy Connect utilizza un canale crittografato per inviare credenziali Wi-Fi tra dispositivi e, poiché vengono utilizzati frame di azione pubblici, i dispositivi possono utilizzare punti di accesso esistenti.

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

  • Iniziatore-Configuratore: invia le credenziali di rete a un nuovo dispositivo scansionando il suo codice QR.
  • Iniziatore-iscritto: unisciti a una rete eseguendo la scansione del codice QR della rete.

Android 10 supporta il protocollo a chiave precondivisa (PSK) per WPA2 e il protocollo di autenticazione simultanea di uguali (SAE) per WPA3.

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

Implementazione

Per supportare Wi-Fi Easy Connect, implementare l'interfaccia supplicant fornita nel progetto Android Open Source (AOSP). A seconda dell'interfaccia implementata, questo è:

Per sostenere il DPP sono necessari:

  • 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

Le API pubbliche sono disponibili in Android 10 per l'utilizzo da parte delle app:

Abilitazione della connessione Wi-Fi facile

Per abilitare Wi-Fi Easy Connect nel framework Android, includere l'opzione di compilazione CONFIG_DPP nel file di configurazione wpa_supplicant , android.config :

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

Validazione

Per testare la tua implementazione, esegui i seguenti test.

Test unitari

Eseguire DppManagerTest per verificare il comportamento dei flag di funzionalità per DPP.

atest DppManagerTest

Prova di integrazione (ACTS)

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

Prove VTS

Se è implementata l'interfaccia HIDL, eseguire VtsHalWifiSupplicantV1_2TargetTest per testare il comportamento del supplicant HAL v1.2.

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