WPA3 et Wi-Fi Enhanced Open

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é de la 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. WPA3 se compose de deux parties :

  • WPA3-Personal : utilise l'authentification simultanée des égaux (SAE, Simultaneous Authentication of Equals) au lieu d'une clé pré-partagée (PSK, Pre-Shared Key), ce qui offre aux utilisateurs une protection 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 plus robustes, 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 assure le chiffrement et la confidentialité sur les réseaux ouverts non protégés par mot de passe dans des lieux tels que les cafés, les hôtels, les restaurants et les bibliothèques. Enhanced Open ne fournit pas d'authentification.

WPA3 et Wi-Fi Enhanced Open améliorent la sécurité globale du Wi-Fi, offrant une meilleure confidentialité et une plus grande robustesse contre les attaques connues. Comme de nombreux appareils ne sont pas encore compatibles avec ces normes ou n'ont pas encore reçu de mises à jour logicielles 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 diffusion est compatible avec les normes WPA2 et WPA3 simultanément. Dans ce mode, les appareils Android 10 utilisent WPA3 pour se connecter, et 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 est compatible avec les normes WPA2-Enterprise et WPA3-Enterprise simultanément.
  • Mode de transition OWE : le point d'accès de diffusion est compatible avec les normes OWE et ouvertes simultanément. Dans ce mode, les appareils Android 10 utilisent OWE pour se connecter, 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.

Les protocoles 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 Supplicant HAL. À 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 dans hardware/interfaces/wifi/supplicant/aidl/.

Les éléments suivants sont requis pour prendre en charge WPA3 et OWE :

  • Correctifs du noyau Linux pour la compatibilité avec SAE et OWE

    • cfg80211
    • nl80211
  • wpa_supplicant avec compatibilité SAE, SUITEB192 et OWE

  • Pilote Wi-Fi compatible avec SAE, SUITEB192 et OWE

  • Micrologiciel Wi-Fi compatible avec SAE, SUITEB192 et OWE

  • Chipset 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 les fonctionnalités suivantes :

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

Activer WPA3 et Wi-Fi Enhanced Open

Pour activer 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 WPA3-Personal, WPA3-Enterprise ou Wi-Fi Enhanced Open ne sont pas activés, les utilisateurs ne pourront pas ajouter manuellement ces types de réseaux, ni les analyser ni s'y connecter.

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 :

atest VtsHalWifiSupplicantV1_3TargetTest

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

atest VtsHalWifiSupplicantStaIfaceTargetTest