Android 10 est compatible avec le protocole Wi-Fi Easy Connect, également appelé protocole de préparation de l'appareil (DPP). Wi-Fi Easy Connect a été introduit par la Wi-Fi Alliance (WFA) comme alternative à la configuration Wi-Fi protégée (WPS). Le WPS est obsolète dans Android 9.
Wi-Fi Easy Connect fournit une méthode sécurisée pour :
- intégrer des appareils Wi-Fi (y compris des appareils sans interface) à un réseau sans saisir de mot de passe ;
- rejoindre des réseaux Wi-Fi sans connaître ni saisir de mot de passe.
L'amorçage et l'authentification sont configurés à l'aide d'un URI, qui est obtenu en scannant un QR code (à l'aide d'un appareil photo) ou configuré hors bande, par exemple à l'aide de BLE ou de NFC.
Wi-Fi Easy Connect utilise un canal chiffré pour envoyer les identifiants Wi-Fi entre les appareils. Comme des trames d'action publiques sont utilisées, les appareils peuvent utiliser des points d'accès existants.
Android 10 n'est compatible avec Wi-Fi Easy Connect qu'en mode initiateur (le mode répondeur n'est pas compatible). Les modes de fonctionnement suivants sont compatibles :
- Initiateur-Configurateur : envoyez les identifiants réseau à un nouvel appareil en scannant son QR code.
- Initiateur-Participant : rejoignez un réseau en scannant le QR code du réseau.
Android 10 est compatible avec le protocole de clé pré-partagée (PSK) pour WPA2 et le protocole d'authentification simultanée des égaux (SAE) pour WPA3.
Wi-Fi Easy Connect n'est compatible qu'en mode client (le mode SoftAP n'est pas compatible).
Implémentation
Pour prendre en charge Wi-Fi Easy Connect, implémentez l'interface de demandeur fournie dans le Projet Android Open Source (AOSP). Selon l'interface implémentée, elle se trouve à l'emplacement suivant :
hardware/interfaces/wifi/supplicant/1.2/ou version ultérieure pour HIDLhardware/interfaces/wifi/supplicant/aidl/pour AIDL
Les éléments suivants sont requis pour prendre en charge le DPP :
Correctifs du noyau Linux pour prendre en charge le DPP :
- cfg80211
- nl80211
wpa_supplicantavec prise en charge du DPPPilote Wi-Fi avec prise en charge du DPP
Micrologiciel Wi-Fi avec prise en charge du DPP
Les API publiques sont disponibles dans Android 10 pour être utilisées par les applications :
WifiManager#isEasyConnectSupported: interroge le framework pour déterminer si l'appareil est compatible avec Wi-Fi Easy Connect.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI): permet aux applications d'intégrer Wi-Fi Easy Connect dans leur flux d'intégration ou de configuration.
Activer Wi-Fi Easy Connect
Pour activer Wi-Fi Easy Connect dans le framework Android, incluez l'
CONFIG_DPPoption de
compilation dans le wpa_supplicant fichier de configuration,
android.config :
# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y
Validation
Pour tester votre implémentation, exécutez les tests suivants.
Tests unitaires
Exécutez
DppManagerTest
pour vérifier le comportement des indicateurs de fonctionnalité pour le DPP.
atest DppManagerTestTests VTS
Si l'interface HIDL est implémentée, exécutez
VtsHalWifiSupplicantV1_2TargetTest
pour tester le comportement du demandeur HAL v1.2.
Si l'interface AIDL est implémentée, exécutez
VtsHalWifiSupplicantStaIfaceTargetTest
pour tester le comportement du demandeur HAL.