W Androidzie 10 wprowadziliśmy obsługę Wi-Fi Easy Protokół Connect nazywany też protokołem obsługi administracyjnej urządzeń (DPP). Wi-Fi Easy Connect została wprowadzona przez Wi-Fi Alliance (WFA) jako alternatywę dla WPS (Wi-Fi Protected Setup). Protokół WPS został wycofany w Androidzie 9.
Wi-Fi Easy Connect pozwala w prosty i bezpieczny sposób na:
- wprowadzanie do sieci urządzeń Wi-Fi (w tym urządzeń bez interfejsu graficznego), bez wpisywania hasła.
- łączyć się z sieciami Wi-Fi bez znajomości i wprowadzania hasła;
Wczytywanie i uwierzytelnianie jest konfigurowane za pomocą identyfikatora URI, który jest pobierany przez zeskanowanie kodu QR (za pomocą aparatu) lub przez skonfigurowanie urządzenia spoza zakresu na przykład za pomocą BLE lub NFC.
Wi-Fi Easy Connect korzysta z zaszyfrowanego kanału do przesyłania danych logowania do Wi-Fi między a ze względu na to, że są używane publiczne ramki działań, punktów dostępu.
Android 10 obsługuje Easy Connect tylko w tych krajach: tryb inicjatora (tryb respondenta to nieobsługiwane). Obsługiwane są następujące tryby działania:
- Initiator-Configurator: wysyłanie danych logowania do sieci do nowego urządzenia. przez zeskanowanie jej kodu QR.
- Initiator-enrollee: połącz się z siecią, skanując jej kod QR.
Android 10 obsługuje protokół klucza PSK (PSK) dla WPA2 i protokołu SAE (równoczesnego uwierzytelniania) w przypadku WPA3.
Wi-Fi Easy Connect jest obsługiwane tylko w trybie klienta (tryb SoftAP nie jest obsługiwane).
Implementacja
Aby zapewnić obsługę Wi-Fi Easy Connect, wdróż interfejs dostawcy udostępnione w ramach projektu Android Open Source Project (AOSP). W zależności od wdrożonego interfejsu będzie to:
hardware/interfaces/wifi/supplicant/1.2/
lub nowsza wersja HIDLhardware/interfaces/wifi/supplicant/aidl/
dla AIDL
Do obsługi DPP wymagane są:
Poprawki jądra systemu Linux obsługujące DPP:
- cfG80211
- nl80211
wpa_supplicant
z obsługą DPPSterownik Wi-Fi z obsługą DPP
Oprogramowanie Wi-Fi z obsługą DPP
Publiczne interfejsy API są dostępne w Androidzie 10 do użytku przez: Aplikacje:
WifiManager#isEasyConnectSupported
: Zapytanie o platformę w celu określenia, czy urządzenie obsługuje Wi-Fi Easy Połącz.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Umożliwia aplikacjom integrację Easy Connect z funkcją Wi-Fi Easy Connect podczas procesu rejestracji lub konfiguracji.
Włącz Wi-Fi Easy Connect
Aby włączyć Wi-Fi Easy Connect w strukturze Androida, dodaj
Kompilacja: CONFIG_DPP
w pliku konfiguracji wpa_supplicant
,
android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Weryfikacja
Aby sprawdzić implementację, przeprowadź te testy.
Testy jednostkowe
Bieganie
DppManagerTest
w celu sprawdzenia działania flag możliwości DPP.
atest DppManagerTest
Testy VTS
Jeśli interfejs HIDL jest zaimplementowany, uruchom polecenie
VtsHalWifiSupplicantV1_2TargetTest
w celu przetestowania działania dodatkowego HAL w wersji 1.2.
Jeśli interfejs AIDL jest zaimplementowany, uruchom polecenie
VtsHalWifiSupplicantStaIfaceTargetTest
aby przetestować działanie dodatkowego HAL.