WPA3 et Wi-Fi Enhanced Open

Android 10 introduit la prise en charge des normes Wi-Fi Protected Access version 3 (WPA3) et Wi-Fi Enhanced Open de la Wi-Fi Alliance (WFA). Pour plus d'informations, consultez Sécurité sur le site 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 puissantes. WPA3 comporte deux parties :

  • WPA3-Personnel : utilise l'authentification simultanée d'égaux (SAE) au lieu de la clé pré-partagée (PSK), offrant aux utilisateurs des protections de sécurité renforcées contre les attaques telles que les attaques par dictionnaire hors ligne, la récupération de clé et la falsification de messages.
  • WPA3-Enterprise : offre des méthodes d'authentification et de chiffrement de couche liaison plus strictes, ainsi qu'un mode de sécurité 192 bits en option 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 cryptage sans fil opportuniste (OWE). Il assure le cryptage et la confidentialité sur des réseaux ouverts et non protégés par mot de passe dans des domaines 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é Wi-Fi globale, offrant une meilleure confidentialité et une meilleure robustesse contre les attaques connues. Comme de nombreux appareils ne prennent pas encore en charge ces normes ou n'ont pas encore de mises à niveau logicielles pour prendre en charge ces fonctionnalités, WFA a proposé les modes de transition suivants :

  • Mode de transition WPA2/WPA3 : le point d'accès de desserte prend en charge simultanément les normes WPA2 et WPA3. Dans ce mode, les appareils Android 10 utilisent WPA3 pour se connecter, et les appareils exécutant Android 9 ou une 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 desserte prend en charge simultanément les normes WPA2-Enterprise et WPA3-Enterprise.
  • Mode de transition OWE : le point d'accès de desserte prend en charge simultanément les normes OWE et ouvertes. Dans ce mode, les appareils Android 10 utilisent OWE pour se connecter, et les appareils exécutant Android 9 ou une version antérieure se connectent au même point d'accès sans aucun cryptage.

Android 12 prend en charge l'indication de désactivation de transition, un mécanisme qui demande à 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 prenant en charge un mode de transition. Android 12 prend également en charge l'échange d'authentification WPA3 Hash-to-Element (H2E). Pour plus d'informations, consultez la spécification WPA3 .

WPA3 et Wi-Fi Enhanced Open sont pris en charge uniquement en mode client.

Mise en œuvre

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 des fournisseurs 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 pour prendre en charge SAE et OWE

    • cfg80211
    • nl80211
  • wpa_supplicant avec prise en charge de SAE, SUITEB192 et OWE

  • Pilote Wi-Fi avec prise en charge de SAE, SUITEB192 et OWE

  • Micrologiciel Wi-Fi avec prise en charge de SAE, SUITEB192 et OWE

  • Puce Wi-Fi avec prise en charge de WPA3 et OWE

Des méthodes d'API publiques sont disponibles dans Android 10 pour permettre aux applications de déterminer la prise en charge des appareils pour ces fonctionnalités :

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

Activation de 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, analyser ou 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 pour cette fonctionnalité.

atest WifiManagerTest

Test d'intégration (ACTS)

Pour exécuter un test d'intégration, utilisez le fichier Android Comms Test Suite (ACTS), WifiWpa3OweTest.py , situé dans tools/test/connectivity/acts_tests/tests/google/wifi .

Essais 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