Android 10 unterstützt jetzt Wi-Fi Easy Verbindungsprotokoll, auch als Device Provisioning Protocol (DPP) bezeichnet. WLAN Easy Connect wurde von der Wi-Fi Alliance (WFA) als Alternative Wi-Fi Protected Setup (WPS). 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) in ein Netzwerk einbinden ohne ein Passwort eingeben zu müssen.
- Du kannst WLANs beitreten, ohne ein Passwort zu kennen oder es einzugeben.
Bootstrapping und Authentifizierung werden mithilfe eines URI konfiguriert, der abgerufen wird durch Scannen eines QR-Codes (mit einer Kamera) oder Out-of-Band, z. B. mit BLE oder NFC.
Wi-Fi Easy Connect nutzt einen verschlüsselten Kanal, um WLAN-Anmeldedaten zwischen Geräte verwendet werden. Da öffentliche Aktionsframes verwendet werden, können auf Geräten vorhandene Zugangspunkten.
Android 10 unterstützt Wi-Fi Easy Connect nur in Initiatormodus (Reaktionsmodus ist nicht unterstützt). Folgende Betriebsmodi werden unterstützt:
- Initiator-Configurator:Anmeldedaten für das Netzwerk an ein neues Gerät senden indem Sie seinen 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 Client-Modus unterstützt. Der SoftAP-Modus ist nicht unterstützt).
Implementierung
Implementieren Sie die supplicant-Schnittstelle, um Wi-Fi Easy Connect zu unterstützen die im Android Open Source Project (AOSP) bereitgestellt werden. 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
Öffentliche APIs sind in Android 10 für die Nutzung durch Apps:
WifiManager#isEasyConnectSupported
: Fragt das Framework ab, um festzustellen, ob das Gerät Wi-Fi Easy unterstützt. Verbinden.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
Um Wi-Fi Easy Connect im Android-Framework zu aktivieren, fügen Sie den
CONFIG_DPP
-Kompilierung
in der Konfigurationsdatei wpa_supplicant
,
android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Zertifizierungsstufe
Führe die folgenden Tests aus, um deine Implementierung zu testen.
Einheitentests
Ausführen
DppManagerTest
um das Verhalten der Funktions-Flags für DPP zu überprüfen.
atest DppManagerTest
VTS-Tests
Wenn die HIDL-Schnittstelle implementiert ist, führe den folgenden Befehl aus:
VtsHalWifiSupplicantV1_2TargetTest
um das Verhalten von HAL v1.2 zu testen.
Wenn die AIDL-Schnittstelle implementiert ist, führen Sie den folgenden Befehl aus:
VtsHalWifiSupplicantStaIfaceTargetTest
um das Verhalten des Hilfs-HAL zu testen.