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
- Du kannst WLANs beitreten, ohne ein Passwort zu kennen oder es 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.
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 verwenden.
Android 10 unterstützt Wi-Fi Easy Connect nur im Initiatormodus. Der Antwortmodus 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-Registeree:Sie können einem Netzwerk beitreten, indem Sie den Netzwerk-QR-Code scannen.
Android 10 unterstützt das PSK-Protokoll (Pre-Shared Key) für WPA2 und die gleichzeitige Authentifizierung des Equals-Protokolls (SAE) für WPA3.
Wi-Fi Easy Connect wird nur im Clientmodus unterstützt. Der SoftAP-Modus wird nicht unterstützt.
Implementierung
Implementieren Sie die im Android Open Source Project (AOSP) bereitgestellte Schnittstelle, um Wi-Fi Easy Connect zu unterstützen. Abhängig von der implementierten Schnittstelle finden Sie dies unter:
hardware/interfaces/wifi/supplicant/1.2/
oder eine neuere Version für HIDLhardware/interfaces/wifi/supplicant/aidl/
für AIDL
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 DPPWLAN-Treiber mit Unterstützung für DPP
WLAN-Firmware mit Unterstützung für DPP
In Android 10 sind öffentliche APIs zur Verwendung durch 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 Apps, Wi-Fi Easy Connect in den Einrichtungs-/Onboarding-Ablauf einzubinden.
Wi-Fi Easy Connect aktivieren
Zum Aktivieren von Wi-Fi Easy Connect im Android-Framework fügen Sie die Kompilierungsoption CONFIG_DPP
in die Konfigurationsdatei wpa_supplicant
android.config
ein:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Zertifizierungsstufe
Führe die folgenden Tests aus, um deine Implementierung zu testen.
Einheitentests
Führen Sie DppManagerTest
aus, um das Verhalten der Funktions-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 des supplicant HAL zu testen.