Wi-Fi Easy Connect

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

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

  • Eseguire l'onboarding di dispositivi Wi-Fi (inclusi i dispositivi headless) a una rete senza inserire una password.
  • Connettersi alle reti Wi-Fi senza conoscere o inserire una password.

Il bootstrapping e l'autenticazione vengono configurati utilizzando un URI, che viene acquisito scansionando 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 frame di azioni pubbliche, i dispositivi possono utilizzare i 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à di funzionamento:

  • Iniziatore-configuratore: invia le credenziali di rete a un nuovo dispositivo scansionando il relativo codice QR.
  • Iniziatore-iscritto:entra in una rete scansionando il codice QR della rete.

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

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

Implementazione

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

Per supportare 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 DPP

  • Firmware Wi-Fi con supporto DPP

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

Attivare Wi-Fi Easy Connect

Per attivare Wi-Fi Easy Connect nel framework Android, includi l'opzione CONFIG_DPP di compilazione 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 funzionalità per DPP.

atest DppManagerTest

Test VTS

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

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