Wi-Fi Easy Connect

Android 10 führt Unterstützung für das Wi-Fi Easy Connect-Protokoll ein, auch bekannt als Device Provisioning Protocol (DPP). Wi-Fi Easy Connect wurde von der Wi-Fi Alliance (WFA) als Alternative zu Wi-Fi Protected Setup (WPS) eingeführt. WPS wurde in Android 9 veraltet.

Wi-Fi Easy Connect bietet eine einfache und sichere Methode für:

  • Integrieren Sie Wi-Fi-Geräte (einschließlich Headless-Geräte) in ein Netzwerk, ohne ein Passwort einzugeben.
  • Treten Sie Wi-Fi-Netzwerken bei, ohne ein Passwort zu kennen oder einzugeben.

Bootstrapping und Authentifizierung werden mithilfe eines URI konfiguriert, der durch Scannen eines QR-Codes (mit einer Kamera) erfasst wird, oder werden Out-of-Band, beispielsweise mithilfe von BLE oder NFC, konfiguriert.

Wi-Fi Easy Connect verwendet einen verschlüsselten Kanal, um Wi-Fi-Anmeldeinformationen zwischen Geräten zu senden. Da öffentliche Aktionsrahmen verwendet werden, können Geräte vorhandene Zugriffspunkte verwenden.

Android 10 unterstützt Wi-Fi Easy Connect nur im Initiatormodus (Responder-Modus wird nicht unterstützt). Diese Betriebsarten werden unterstützt:

  • Initiator-Konfigurator: Senden Sie Netzwerkanmeldeinformationen an ein neues Gerät, indem Sie dessen QR-Code scannen.
  • Initiator-Anmelder: Treten Sie einem Netzwerk bei, indem Sie den Netzwerk-QR-Code scannen.

Android 10 unterstützt das Pre-Shared-Key-Protokoll (PSK) für WPA2 und das Simultaneous Authentication of Equals-Protokoll (SAE) für WPA3.

Wi-Fi Easy Connect wird nur im Client-Modus unterstützt (SoftAP-Modus wird nicht unterstützt).

Implementierung

Um Wi-Fi Easy Connect zu unterstützen, implementieren Sie die im Android Open Source Project (AOSP) bereitgestellte Supplicant-Schnittstelle. Abhängig von der implementierten Schnittstelle ist dies:

Zur Unterstützung von DPP ist Folgendes erforderlich:

  • Linux-Kernel-Patches zur Unterstützung von DPP:

    • cfg80211
    • nl80211
  • wpa_supplicant mit Unterstützung für DPP

  • WLAN-Treiber mit Unterstützung für DPP

  • Wi-Fi-Firmware mit Unterstützung für DPP

Öffentliche APIs sind in Android 10 für die Verwendung durch Apps verfügbar:

Aktivieren von Wi-Fi Easy Connect

Um Wi-Fi Easy Connect im Android-Framework zu aktivieren, fügen Sie die Kompilierungsoption CONFIG_DPP in die wpa_supplicant Konfigurationsdatei android.config ein:

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

Validierung

Führen Sie die folgenden Tests aus, um Ihre Implementierung zu testen.

Unit-Tests

Führen Sie DppManagerTest aus, um das Verhalten der Funktionsflags für DPP zu überprüfen.

atest DppManagerTest

Integrationstest (ACTS)

Um einen Integrationstest auszuführen, verwenden Sie die Android Comms Test Suite (ACTS)-Datei WifiDppTest.py , die sich unter tools/test/connectivity/acts_tests/tests/google/wifi befindet.

VTS-Tests

Wenn die HIDL-Schnittstelle implementiert ist, führen Sie VtsHalWifiSupplicantV1_2TargetTest aus, um das Verhalten des Supplicant HAL v1.2 zu testen.

Wenn die AIDL-Schnittstelle implementiert ist, führen Sie VtsHalWifiSupplicantStaIfaceTargetTest aus, um das Verhalten des Supplicant-HAL zu testen.