Łatwe połączenie Wi-Fi

W Androidzie 10 wprowadzono obsługę protokołu Wi-Fi Easy Connect, znanego również jako protokół udostępniania urządzeń (DPP). Wi-Fi Easy Connect zostało wprowadzone przez stowarzyszenie Wi-Fi Alliance (WFA) jako alternatywa dla Wi-Fi Protected Setup (WPS). Funkcja WPS została wycofana w systemie Android 9.

Wi-Fi Easy Connect zapewnia prostą i bezpieczną metodę:

  • Podłącz urządzenia Wi-Fi (w tym urządzenia bezgłowe) do sieci bez podawania hasła.
  • Dołącz do sieci Wi-Fi bez znajomości i wprowadzania hasła.

Bootstrapping i uwierzytelnianie konfiguruje się za pomocą identyfikatora URI, który jest uzyskiwany poprzez zeskanowanie kodu QR (za pomocą aparatu) lub konfiguruje się poza pasmem, na przykład za pomocą BLE lub NFC.

Wi-Fi Easy Connect wykorzystuje szyfrowany kanał do przesyłania danych uwierzytelniających Wi-Fi między urządzeniami, a ponieważ używane są publiczne ramki akcji, urządzenia mogą korzystać z istniejących punktów dostępu.

Android 10 obsługuje Wi-Fi Easy Connect tylko w trybie inicjatora (tryb respondenta nie jest obsługiwany). Obsługiwane są następujące tryby pracy:

  • Inicjator-Konfigurator: Wyślij dane uwierzytelniające sieci do nowego urządzenia, skanując jego kod QR.
  • Inicjator-rejestrujący: Dołącz do sieci, skanując sieciowy kod QR.

Android 10 obsługuje protokół klucza wstępnego (PSK) dla WPA2 i protokół jednoczesnego uwierzytelniania równości (SAE) dla WPA3.

Wi-Fi Easy Connect jest obsługiwane tylko w trybie klienta (tryb SoftAP nie jest obsługiwany).

Realizacja

Aby obsługiwać Wi-Fi Easy Connect, zaimplementuj interfejs suplikanta dostarczony w projekcie Android Open Source Project (AOSP). W zależności od zaimplementowanego interfejsu jest to:

Do obsługi programu DPP wymagane są:

  • Poprawki jądra Linuksa obsługujące DPP:

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

  • Sterownik Wi-Fi z obsługą DPP

  • Oprogramowanie sprzętowe Wi-Fi z obsługą DPP

Publiczne interfejsy API są dostępne w systemie Android 10 i mogą być używane przez aplikacje:

Włączanie łatwego połączenia Wi-Fi

Aby włączyć Wi-Fi Easy Connect w środowisku Android, dołącz opcję kompilacji CONFIG_DPP w pliku konfiguracyjnym wpa_supplicant , android.config :

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

Walidacja

Aby przetestować implementację, uruchom następujące testy.

Testy jednostkowe

Uruchom DppManagerTest , aby sprawdzić zachowanie flag możliwości programu DPP.

atest DppManagerTest

Test integracyjny (ACTS)

Aby uruchomić test integracji, użyj pliku Android Comms Test Suite (ACTS), WifiDppTest.py znajdującego się w tools/test/connectivity/acts_tests/tests/google/wifi .

Testy VTS

Jeśli zaimplementowano interfejs HIDL, uruchom VtsHalWifiSupplicantV1_2TargetTest aby przetestować zachowanie suplikanta HAL v1.2.

Jeśli zaimplementowano interfejs AIDL, uruchom VtsHalWifiSupplicantStaIfaceTargetTest aby przetestować zachowanie suplikanta HAL.