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 monitorloser Geräte) ohne Passworteingabe in einem Netzwerk einrichten
- Sie können sich mit WLANs verbinden, ohne ein Passwort zu kennen oder einzugeben.
Bootstrapping und Authentifizierung werden mithilfe eines URI konfiguriert, der durch Scannen eines QR-Codes (mit einer Kamera) oder Out-of-Band, z. B. mit BLE oder NFC, erfasst wird.
Bei Wi‑Fi Easy Connect werden WLAN-Anmeldedaten über einen verschlüsselten Kanal zwischen Geräten gesendet. 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 dessen 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
: Fragt das Framework ab, um festzustellen, ob das Gerät Wi-Fi Easy Connect unterstützt.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Ermöglicht es Apps, Wi‑Fi Easy Connect in den Onboarding-/Einrichtungsablauf zu integrieren.
Wi‑Fi Easy Connect 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 des 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.