WPA3 et Wi-Fi Enhanced ouverts

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 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. Elle vise à améliorer la sécurité Wi-Fi globale à l'aide d'algorithmes de sécurité modernes et de 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 de liaison plus puissantes, 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). Elle assure le chiffrement et la confidentialité sur les réseaux ouverts non protégés par un 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 propose les modes de transition suivants:

  • Mode de transition WPA2/WPA3:le point d'accès de diffusion est compatible simultanément avec les normes WPA2 et WPA3. 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 diffusion accepte simultanément les normes WPA2-Enterprise et WPA3-Enterprise.
  • Mode de transition OWE:le point d'accès de diffusion est compatible simultanément avec les normes OWE et ouvertes. Dans ce mode, les appareils Android 10 se connectent à l'aide d'OWE, et les appareils équipés d'Android 9 ou version antérieure se connectent au même point d'accès sans aucun 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, mais de WPA3. Lorsqu'un appareil reçoit cette indication, il utilise le protocole 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.

Les protocoles WPA3 et Wi-Fi Enhanced Open ne sont compatibles qu'en mode client.

Implémentation

Pour assurer la compatibilité avec les protocoles WPA3 et Wi-Fi Enhanced Open, implémentez l'interface HAL du fournisseur. À 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 de fournisseurs utilisent HIDL. L'interface HIDL se trouve dans hardware/interfaces/wifi/supplicant/1.3/, tandis que l'interface AIDL se trouve dans hardware/interfaces/wifi/supplicant/aidl/.

Les éléments suivants sont obligatoires 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 OWE

  • Pilote 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 la compatibilité des appareils avec ces fonctionnalités:

WifiConfiguration.java contient de nouveaux types de gestion des clés, ainsi que des algorithmes de chiffrement par paire, par groupe, par groupe et de la suite B, qui sont requis pour OWE, WPA3-Personal et WPA3-Enterprise.

Activer WPA3 et Wi-Fi Enhanced Open

Pour activer les protocoles 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 configuration wpa_supplicant.

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-Enterprise:incluez les options de compilation CONFIG_SUITEB192 et CONFIG_SUITEB dans le fichier de configuration wpa_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 configuration wpa_supplicant.

    # Opportunistic Wireless Encryption (OWE)
    # Experimental implementation of draft-harkins-owe-07.txt
    CONFIG_OWE=y
    

Si les protocoles WPA3-Personal, WPA3-Enterprise ou Wi-Fi Enhanced Open ne sont pas activés, les utilisateurs ne pourront pas ajouter ni rechercher ces types de réseaux, ni s'y connecter manuellement.

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 pour cette fonctionnalité.

atest WifiManagerTest

Tests VTS

Si l'interface HIDL est implémentée, exécutez la commande suivante:

atest VtsHalWifiSupplicantV1_3TargetTest

Si l'interface AIDL est implémentée, exécutez la commande suivante:

atest VtsHalWifiSupplicantStaIfaceTargetTest