Proste połączenie z Wi-Fi

W Androidzie 10 wprowadziliśmy obsługę protokołu Wi-Fi Easy Connect, noszącego nazwę protokołu obsługi administracyjnej urządzeń (DPP). Funkcja 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:

  • Wprowadź do sieci urządzenia Wi-Fi (w tym urządzenia 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 jest konfigurowany poza zakresem, np. przez BLE lub NFC.

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

Android 10 obsługuje Łatwe połączenie Wi-Fi tylko w trybie inicjującym (tryb respondenta nie jest obsługiwany). Obsługiwane są następujące tryby działania:

  • Initiator-Configurator: wysyłanie danych logowania do sieci do nowego urządzenia przez zeskanowanie jego kodu QR.
  • Initiator-enrollee: połącz się z siecią, skanując jej kod QR.

Android 10 obsługuje protokół klucza wstępnego (PSK) w przypadku WPA2 oraz uwierzytelnianie jednoczesne (SAE) w przypadku WPA3.

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

Implementacja

Aby zapewnić obsługę Wi-Fi Easy Connect, wdróż interfejs dostawcy w ramach projektu Android Open Source Project (AOSP). W zależności od wdrożonego interfejsu będzie to:

Do obsługi DPP wymagane są:

  • Poprawki jądra systemu Linux obsługujące DPP:

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

  • Sterownik Wi-Fi z obsługą DPP

  • Oprogramowanie Wi-Fi z obsługą DPP

Publiczne interfejsy API są dostępne w Androidzie 10 do wykorzystania przez aplikacje:

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 sprawdzić implementację, przeprowadź te testy.

Testy jednostkowe

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

atest DppManagerTest

Testy VTS

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

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