Android 10 unterstützt das Wi‑Fi Easy Connect-Protokoll, auch als Device Provisioning Protocol (DPP) bezeichnet. 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 eingestellt.
Wi‑Fi Easy Connect bietet eine einfache und sichere Methode für Folgendes:
- WLAN-Geräte (einschließlich headless-Geräte) ohne Eingabe eines Passworts in ein Netzwerk einbinden.
- Sie können sich mit WLANs verbinden, ohne ein Passwort zu kennen oder einzugeben.
Das Bootstrapping und die Authentifizierung werden über einen URI konfiguriert, der durch Scannen eines QR-Codes (mit einer Kamera) abgerufen wird oder out-of-band konfiguriert wird, z. B. mit BLE oder NFC.
Wi‑Fi Easy Connect verwendet einen verschlüsselten Kanal, um WLAN-Anmeldedaten zwischen Geräten zu senden. Da öffentliche Aktionsframes verwendet werden, können Geräte vorhandene Zugangspunkte nutzen.
Android 10 unterstützt Wi‑Fi Easy Connect nur im Initiator-Modus. Der Responder-Modus wird nicht unterstützt. Folgende Betriebsmodi werden unterstützt:
- Initiator-Configurator:Senden Sie Netzwerkanmeldedaten an ein neues Gerät, indem Sie den QR-Code scannen.
- Initiator-Registrant:Sie können ein Netzwerk beitreten, indem Sie den QR-Code des Netzwerks scannen.
Android 10 unterstützt das PSK-Protokoll (Pre-Shared Key) für WPA2 und das SAE-Protokoll (Simultaneous Authentication of Equals) für WPA3.
Wi‑Fi Easy Connect wird nur im Clientmodus unterstützt (SoftAP-Modus wird nicht unterstützt).
Implementierung
Implementieren Sie zur Unterstützung von Wi‑Fi Easy Connect die Supplicant-Benutzeroberfläche, die im Android Open Source Project (AOSP) bereitgestellt wird. Je nach implementierter Schnittstelle ist das unter folgenden URLs möglich:
hardware/interfaces/wifi/supplicant/1.2/
oder eine höhere Version für HIDLhardware/interfaces/wifi/supplicant/aidl/
für AIDL
Für die Unterstützung von DPP sind folgende Voraussetzungen erforderlich:
Linux-Kernel-Patches zur Unterstützung von DPP:
- cfg80211
- nl80211
wpa_supplicant
mit Unterstützung für DPPWLAN-Treiber mit Unterstützung für DPP
WLAN-Firmware mit Unterstützung für DPP
In Android 10 sind folgende öffentliche APIs für Apps verfügbar:
WifiManager#isEasyConnectSupported
: Wird das Framework abgefragt, um festzustellen, ob das Gerät die Funktion „Einfache WLAN-Verbindung“ unterstützt.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Ermöglicht es Apps, Wi‑Fi Easy Connect in den Onboarding-/Einrichtungsablauf zu integrieren.
WLAN-Einrichtungsassistent aktivieren
Wenn Sie Wi‑Fi Easy Connect im Android-Framework aktivieren möchten, fügen Sie die CONFIG_DPP
-Kompilierungsoption in die wpa_supplicant
-Konfigurationsdatei ein, android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Zertifizierungsstufe
Führen Sie die folgenden Tests aus, um Ihre Implementierung zu testen.
Einheitentests
Führen Sie DppManagerTest
aus, um das Verhalten der Flags für DPP zu prüfen.
atest DppManagerTest
VTS-Tests
Wenn die HIDL-Schnittstelle implementiert ist, führen Sie VtsHalWifiSupplicantV1_2TargetTest
aus, um das Verhalten der Supplicant HAL v1.2 zu testen.
Wenn die AIDL-Schnittstelle implementiert ist, führen Sie VtsHalWifiSupplicantStaIfaceTargetTest
aus, um das Verhalten der Supplicant-HAL zu testen.