Android 10 est compatible avec les normes Wi-Fi Protected Access version 3 (WPA3) et Wi-Fi Enhanced Open de la Wi-Fi Alliance (WFA). Pour en savoir plus, consultez la section Sécurité sur le site de la WFA.
WPA3 est une nouvelle norme de sécurité WFA pour les réseaux personnels et d'entreprise. Il vise à améliorer la sécurité globale du Wi-Fi en utilisant des algorithmes de sécurité modernes et des suites de chiffrement plus robustes. Le WPA3 se compose de deux parties:
- WPA3-Personal:utilise l'authentification simultanée d'égal à égal (SAE) au lieu de la clé pré-partagée (PSK), ce qui offre aux utilisateurs une sécurité renforcée contre les attaques telles que les attaques par dictionnaire hors connexion, la récupération de clé et la falsification de messages.
- WPA3-Enterprise:offre des méthodes d'authentification et de chiffrement de la couche liaison de données plus efficaces, ainsi qu'un mode de sécurité 192 bits facultatif pour les environnements de sécurité sensibles.
Wi-Fi Enhanced Open est une nouvelle norme de sécurité WFA pour les réseaux publics basée sur le chiffrement sans fil opportuniste (OWE). Il fournit le chiffrement et la confidentialité sur les réseaux ouverts non protégés par mot de passe dans des zones telles que les cafés, les hôtels, les restaurants et les bibliothèques. L'Open Open ne fournit pas d'authentification.
Les protocoles WPA3 et Wi-Fi Enhanced Open améliorent la sécurité Wi-Fi globale, en offrant une confidentialité et une protection renforcées contre les attaques connues. Étant donné que de nombreux appareils ne sont pas encore compatibles avec ces normes ou n'ont pas encore été mis à niveau pour prendre en charge ces fonctionnalités, la WFA a proposé les modes de transition suivants:
- Mode de transition WPA2/WPA3:le point d'accès de service est compatible avec les normes WPA2 et WPA3 en même temps. Dans ce mode, les appareils Android 10 utilisent le protocole WPA3 pour se connecter, tandis que les appareils équipés d'Android 9 ou version antérieure utilisent WPA2 pour se connecter au même point d'accès.
- Mode de transition WPA2/WPA3-Enterprise:le point d'accès de service prend en charge les normes WPA2-Enterprise et WPA3-Enterprise simultanément.
- Mode de transition OWE:le point d'accès de service est compatible avec OWE et les normes ouvertes en même temps. Dans ce mode, les appareils Android 10 se connectent à l'aide d'OWE, tandis que les appareils équipés d'Android 9 ou version antérieure se connectent au même point d'accès sans chiffrement.
Android 12 est compatible avec l'indication de désactivation de la transition, un mécanisme qui indique à un appareil de ne pas utiliser WPA2 et d'utiliser WPA3 à la place. Lorsqu'un appareil reçoit cette indication, il utilise WPA3 pour se connecter à un réseau WPA3 compatible avec un mode de transition. Android 12 est également compatible avec l'échange d'authentification WPA3 Hash-to-Element (H2E). Pour en savoir plus, consultez la spécification WPA3.
WPA3 et Wi-Fi Enhanced Open ne sont compatibles qu'en mode client.
Implémentation
Pour prendre en charge WPA3 et Wi-Fi Enhanced Open, implémentez l'interface HAL du demandeur.
À partir d'Android 13, l'interface utilise AIDL pour la définition HAL.
Pour les versions antérieures à Android 13, les interfaces et les partitions du fournisseur utilisent HIDL.
L'interface HIDL se trouve dans hardware/interfaces/wifi/supplicant/1.3/
, et l'interface AIDL se trouve dans hardware/interfaces/wifi/supplicant/aidl/
.
Les éléments suivants sont requis pour prendre en charge WPA3 et OWE:
Correctifs du noyau Linux compatibles avec SAE et OWE
- cfg80211
- nl80211
wpa_supplicant
compatible avec SAE, SUITEB192 et OWEPilote Wi-Fi compatible avec SAE, SUITEB192 et OWE
Micrologiciel Wi-Fi compatible avec SAE, SUITEB192 et OWE
Puce Wi-Fi compatible avec WPA3 et OWE
Des méthodes d'API publiques sont disponibles dans Android 10 pour permettre aux applications de déterminer si l'appareil est compatible avec ces fonctionnalités:
WifiManager#isWpa3SaeSupported
WifiManager#isWpa3SuiteBSupported
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
contient de nouveaux types de gestion des clés, ainsi que des algorithmes de chiffrement par paires, des algorithmes de chiffrement de groupe, des algorithmes de gestion de groupe et des algorithmes de chiffrement de la suite B, qui sont requis pour OWE, WPA3-Personal et WPA3-Enterprise.
Activer WPA3 et Wi-Fi Enhanced Open
Pour activer les modes WPA3-Personal, WPA3-Enterprise et Wi-Fi Enhanced Open dans le framework Android:
WPA3-Personal:incluez l'option de compilation
CONFIG_SAE
dans le fichier de configurationwpa_supplicant
.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise:incluez les options de compilation
CONFIG_SUITEB192
etCONFIG_SUITEB
dans le fichier de configurationwpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Wi-Fi Enhanced Open:incluez l'option de compilation
CONFIG_OWE
dans le fichier de configurationwpa_supplicant
.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Si WPA3-Personal, WPA3-Enterprise ou Wi-Fi Enhanced Open ne sont pas activés, les utilisateurs ne pourront pas ajouter, analyser ni se connecter manuellement à ces types de réseaux.
Validation
Pour tester votre implémentation, exécutez les tests suivants.
Tests unitaires
Exécutez SupplicantStaIfaceHalTest
pour vérifier le comportement des indicateurs de capacité pour WPA3 et OWE.
atest SupplicantStaIfaceHalTest
Exécutez WifiManagerTest
pour vérifier le comportement des API publiques de cette fonctionnalité.
atest WifiManagerTest
Tests VTS
Si l'interface HIDL est implémentée, exécutez:
atest VtsHalWifiSupplicantV1_3TargetTest
Si l'interface AIDL est implémentée, exécutez la commande suivante:
atest VtsHalWifiSupplicantStaIfaceTargetTest