Android 10 introduit la prise en charge du protocole Wi-Fi Easy Connect, également connu sous le nom de protocole de provisionnement des appareils (DPP). Wi-Fi Easy Connect a été introduit par la Wi-Fi Alliance (WFA) comme alternative au Wi-Fi Protected Setup (WPS). WPS était obsolète dans Android 9.
Wi-Fi Easy Connect fournit une méthode simple et sécurisée pour :
- Intégrez des appareils Wi-Fi (y compris des appareils sans tête) à un réseau sans saisir de mot de passe.
- Rejoignez les 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 acquis en scannant un code QR (à l'aide d'une caméra), ou est configuré hors bande, par exemple à l'aide de BLE ou NFC.
Wi-Fi Easy Connect utilise un canal crypté pour envoyer des informations d'identification Wi-Fi entre les appareils et, comme des cadres d'action publics sont utilisés, les appareils peuvent utiliser les points d'accès existants.
Android 10 prend en charge Wi-Fi Easy Connect uniquement en mode initiateur (le mode répondeur n'est pas pris en charge). Ces modes de fonctionnement sont pris en charge :
- Initiateur-Configurateur : envoyez les informations d'identification réseau à un nouvel appareil en scannant son code QR.
- Initiateur-inscrit : rejoignez un réseau en scannant le code QR du réseau.
Android 10 prend en charge le protocole de clé pré-partagée (PSK) pour WPA2 et le protocole d'authentification simultanée d'égaux (SAE) pour WPA3.
Wi-Fi Easy Connect n'est pris en charge qu'en mode client (le mode SoftAP n'est pas pris en charge).
Mise en œuvre
Pour prendre en charge Wi-Fi Easy Connect, implémentez l'interface de supplication fournie dans le projet Android Open Source (AOSP). Selon l'interface qui a été implémentée, on se trouve à :
-
hardware/interfaces/wifi/supplicant/1.2/
ou une version ultérieure pour HIDL -
hardware/interfaces/wifi/supplicant/aidl/
pour AIDL
Les éléments suivants sont requis pour prendre en charge DPP :
Correctifs du noyau Linux pour prendre en charge DPP :
- cfg80211
- nl80211
wpa_supplicant
avec prise en charge de DPPPilote Wi-Fi avec prise en charge de DPP
Micrologiciel Wi-Fi avec prise en charge de DPP
Des 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 prend en charge 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/configuration.
Activation de la connexion Wi-Fi facile
Pour activer Wi-Fi Easy Connect dans le framework Android, incluez l'option de compilation CONFIG_DPP
dans le fichier de configuration wpa_supplicant
, 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 capacité pour DPP.
atest DppManagerTest
Test d'intégration (ACTS)
Pour exécuter un test d'intégration, utilisez le fichier Android Comms Test Suite (ACTS), WifiDppTest.py
, situé dans tools/test/connectivity/acts_tests/tests/google/wifi
.
Essais 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.