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, voir 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 solides. WPA3 comporte deux parties :

  • WPA3-Personal : utilise l'authentification simultanée d'égal à égal (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 cryptage de la couche de liaison plus solides, 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 fournit le cryptage et la confidentialité sur des réseaux ouverts et 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. 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 résistance aux attaques connues. Comme de nombreux appareils ne prennent pas encore en charge ces normes ou n'ont pas encore eu de mises à jour 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 serveur 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 serveur 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 OWE et les normes 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 Transition Disable, 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 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 le langage de conception d'interface HAL suppliant (HIDL) fourni dans le projet Open Source Android (AOSP) à hardware/interfaces/wifi/supplicant/1.3/ .

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

WifiConfiguration.java contient de nouveaux types de gestion de clé, 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 cadre 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, scanner 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

Exécutez VtsHalWifiSupplicantV1_3TargetTest pour tester le comportement du demandeur HAL 1.3.

vts-tradefed run commandAndExit vts --skip-all-system-status-check --primary-abi-only --skip-preconditions --module VtsHalWifiSupplicantV1_3Target