Łatwe połączenie Wi-Fi

Android 10 wprowadza obsługę protokołu Wi-Fi Easy Connect, znanego też jako protokół provisioning urządzenia (DPP). Wi-Fi Easy Connect zostało wprowadzone przez stowarzyszenie Wi-Fi Alliance (WFA) jako alternatywa dla bezpiecznej konfiguracji Wi-Fi (WPS). Protokół WPS został wycofany w Androidzie 9.

Wi-Fi Easy Connect pozwala w prosty i bezpieczny sposób na:

  • urządzenia z wbudowanym Wi-Fi (w tym urządzenia bez obudowy) z dostępem do sieci bez konieczności wpisywania hasła;
  • łączyć się z sieciami Wi-Fi bez znajomości hasła i bez konieczności jego wpisywania.

Inicjowanie i uwierzytelnianie są konfigurowane za pomocą identyfikatora URI, który można uzyskać, skanując kod QR (za pomocą aparatu) lub skonfigurować poza pasmem, na przykład za pomocą BLE lub NFC.

Wi-Fi Easy Connect używa szyfrowanego kanału do wysyłania danych logowania do Wi-Fi między urządzeniami. Ponieważ używane są publiczne ramki działań, urządzenia mogą korzystać z dostępnych punktów dostępu.

Android 10 obsługuje Wi-Fi Easy Connect tylko w trybie inicjującym (tryb respondenta nie jest obsługiwany). Obsługiwane są te tryby działania:

  • Inicjator-konfigurator: wysyłanie danych logowania do sieci na nowe urządzenie przez zeskanowanie jego kodu QR.
  • Inicjator – osoba zarejestrowana: dołącz do sieci, skanując kod QR sieci.

Android 10 obsługuje protokół klucza wstępnego (PSK) w przypadku WPA2 oraz protokół jednoczesnej autentykacji równych (SAE) w przypadku WPA3.

Łatwe łączenie Wi-Fi jest obsługiwane tylko w trybie klienta (tryb SoftAP nie jest obsługiwany).

Implementacja

Aby obsługiwać Wi-Fi Easy Connect, zaimplementuj interfejs supplicanta udostępniony w ramach Projektu Android Open Source (AOSP). W zależności od zaimplementowanego interfejsu jest to:

Aby obsługiwać DPP, musisz:

  • Aktualizacje jądra Linux do obsługi DPP:

    • cfG80211
    • nl80211
  • wpa_supplicant z obsługą DPP

  • Sterownik Wi-Fi z obsługą DPP

  • Oprogramowanie Wi-Fi z obsługą DPP

Interfejsy API dostępne publicznie są dostępne w Androidzie 10 do użytku w aplikacjach:

Włącz Wi-Fi Easy Connect

Aby włączyć Wi-Fi Easy Connect na platformie Androida, uwzględnij opcję kompilacji CONFIG_DPP w pliku konfiguracji wpa_supplicant android.config:

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

Weryfikacja

Aby przetestować implementację, uruchom te testy.

Testy jednostkowe

Uruchom DppManagerTest, aby sprawdzić działanie flag możliwości w przypadku DPP.

atest DppManagerTest

Testy VTS

Jeśli interfejs HIDL jest zaimplementowany, uruchom VtsHalWifiSupplicantV1_2TargetTest, aby przetestować działanie supplicanta HAL w wersji 1.2.

Jeśli interfejs AIDL jest zaimplementowany, uruchom polecenie VtsHalWifiSupplicantStaIfaceTargetTest, aby przetestować działanie dodatkowej HAL.