Wi‑Fi Easy Connect

Mit Android 10 wird das Wi‑Fi Easy Connect-Protokoll, auch bekannt als Gerätebereitstellungsprotokoll (DPP), eingeführt. 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 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 eingeben zu müssen.

Das Bootstrapping und die Authentifizierung werden über einen URI konfiguriert, der durch Scannen eines QR-Codes (mit einer Kamera) abgerufen oder out-of-band konfiguriert wird, z. B. über BLE oder NFC.

Wi‑Fi Easy Connect verwendet einen verschlüsselten Kanal, um WLAN-Anmeldedaten zwischen Geräten zu senden. Da öffentliche Aktions-Frames verwendet werden, können Geräte vorhandene Zugriffspunkte nutzen.

Android 10 unterstützt Wi-Fi Easy Connect nur im Initiatormodus (der Antwortmodus wird nicht unterstützt). Die folgenden Betriebsarten werden unterstützt:

  • Initiator-Konfigurator:Senden Sie Anmeldedaten für das Netzwerk an ein neues Gerät, indem Sie den QR‑Code des Geräts scannen.
  • Initiator-Enrollee:Sie können einem 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 (der SoftAP-Modus wird nicht unterstützt).

Implementierung

Um Wi‑Fi Easy Connect zu unterstützen, implementieren Sie die Supplicant-Schnittstelle, die im Open-Source-Projekt für Android (AOSP) bereitgestellt wird. Je nach implementierter Schnittstelle befindet sich die Datei unter:

Folgendes ist erforderlich, um DPP zu unterstützen:

  • 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

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

Die folgenden öffentlichen APIs sind in Android 10 für die Verwendung durch Apps verfügbar:

WLAN Easy Connect aktivieren

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

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

Validierung

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

Einheitentests

Führen Sie DppManagerTest aus, um das Verhalten der Funktionsflags 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.