Partager via


Authentification WPA3-SAE WiFiCx

WiFiCx prend en charge l'authentification WPA3-SAE, également appelée WPA3-Personal. La génération et l’analyse du contenu des trames pour l’authentification SAE (authentification sécurisée d’égal à égal) sont effectuées dans Windows, mais le système d’exploitation exige que le pilote prenne en charge l’envoi et la réception de trames d’authentification WPA3-SAE.

Fonctionnalités WPA3-SAE

Les pilotes WiFiCx indiquent la prise en charge de l'authentification SAE de la manière suivante :

  1. Définition de la fonctionnalité de prise en charge de l'authentification SAE.
    Le pilote définit la fonctionnalité SAEAuthenticationSupported dans WIFI_DEVICE_CAPABILITIES pendant l’appel à WifiDeviceSetDeviceCapabilities.

  2. Définition de la fonctionnalité MFP.
    Le pilote définit la fonctionnalité MFPCapable dans WIFI_STATION_CAPABILITIES pendant l'appel à WifiDeviceSetStationCapabilities.

  3. Ajout du chiffrement WDI_AUTH_ALGO_WPA3_SAE.
    Le pilote inclut la paire WDI_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_CCMP dans la liste des combinaisons authentification/chiffrement retournées dans l’appel à WifiDeviceSetStationCapabilities. Celle-ci doit être ajoutée dans la structure suivante :

    Le pilote inclut également la paire WDI_AUTH_ALGO_WPA3_SAE + WDI_CIPHER_ALGO_BI dans la liste des combinaisons authentification/chiffrement retournées dans l’appel à WifiDeviceSetStationCapabilities. Celle-ci doit être ajoutée dans la structure suivante :

Flux d’authentification WPA3-SAE

Établissement de connexion

Les connexions SAE sont établies avec OID_WDI_TASK_CONNECT ou OID_WDI_TASK_ROAM. WDI indique WDI_AUTH_ALGO_WPA3_SAE comme méthode d’authentification lorsque le pilote doit effectuer une authentification SAE. Si WDI fournit le PMKID dans la liste BSS de la tâche Connexion/Itinérance, le pilote ignore l’authentification SAE pour effectuer une authentification ouverte (Open Authentication), suivie d’une requête de réassociation avec le PMKID.

Flux d’authentification

Diagramme montrant le flux d’authentification WPA3-SAE.

Requête initiale pour les paramètres SAE

Le pilote sélectionne d’abord un BSS auquel se connecter ou activer l'itinérance et, si WDI n’a pas fourni le PMKID pour ce BSS, le pilote lance une requête de paramètres de validation depuis WDI avec NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED. Dans cette indication initiale, le pilote sélectionne le type WDI_SAE_INDICATION_TYPE_COMMIT_REQUEST_PARAMS_NEEDED. En réponse, WDI envoie OID_WDI_SET_SAE_AUTH_PARAMS au pilote avec l’une des options suivantes.

  • Envoi d'une requête de validation (WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS)
  • Échec de l’authentification SAE (WDI_SAE_REQUEST_TYPE_FAILURE)

À la réception d’une réponse de validation

Dès réception d’une réponse de validation, le pilote envoie NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED en précisant le type WDI_SAE_INDICATION_TYPE_COMMIT_FRAME. En réponse, WDI envoie OID_WDI_SET_SAE_AUTH_PARAMS avec l’une des requêtes suivantes :

  • Envoi d'une requête de validation (WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS)
  • Envoi de requête de confirmation (WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS)
  • Échec de l’authentification SAE (WDI_SAE_REQUEST_TYPE_FAILURE)

À la réception d’une réponse de confirmation

Dès réception d’une réponse de confirmation, le pilote envoie NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED en précisant le type WDI_SAE_INDICATION_TYPE_CONFIRM_FRAME. WDI envoie alors OID_WDI_SET_SAE_AUTH_PARAMS en précisant Réussite ou Échec dans le champ d’état SAE. En cas d'échec de l’authentification SAE dans le pilote pour cause d'expiration des délais, ou tout autre motif, le pilote envoie une indication NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED en précisant le type WDI_SAE_INDICATION_TYPE_ERROR et le motif de l’échec dans WDI_TLV_SAE_STATUS.

Délais d’expiration et retransmissions

Ceux-ci sont traités par le pilote.

Association WPA3-SAE

L'appareil se connecte à un réseau SAE selon l’une des options suivantes.

(Ré)association après échange SAE

Il s’agit normalement de la première tentative d’association à un réseau SAE. Le pilote définit l’AKM de SAE dans l'élément d'information RSN de la trame de requête d’association.

(Ré)association via PMKID

Si WDI a fourni un PMKID pour l’entrée BSS dans la tâche Connexion/Itinérance, le pilote procède de la manière suivante :

  1. Le pilote réalise une authentification ouverte suivie de la saisie du PMKID dans la requête d’association ou de réassociation.
  2. Si l'appareil ne reçoit pas de réponse de la part du point d'accès dans un court délai ou si le point d'accès retourne une erreur d’association dans la réponse, le pilote ignore l’authentification SE pour ce point d'accès et passe à un autre, ou réalise à nouveau une authentification SAE complète sur celui-ci.

La connexion SAE se termine une fois l’authentification SAE/l’association terminée. Comme précédemment, le pilote envoie les indications suivantes dès conclusion de la tâche de connexion ou d'itinérance :

Gestion des erreurs

Renvoi de la trame de requête de validation SAE

Si le pilote doit renvoyer une trame de validation suite à l'expiration d'un délai, il peut renvoyer soit les valeurs Scalar/Element d’origine fournies par WDI ou demander un nouvel ensemble de valeurs Scalar/Element à WDI avec une indication NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED.

Renvoi de la trame de réponse de confirmation SAE

Si le pilote doit renvoyer une trame de Confirmation pour cause d’expiration d'un délai, il doit demander un nouvel ensemble de valeurs SendConfirm et Confirm à WDI avec une indication NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED en précisant le type WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST.

Modifications de l’authentification SAE Wi-Fi 7

Pour les mises à jour de l’authentification SAE Wi-Fi 7, se reporter à la Configuration requise pour la fonctionnalité WiFiCx Wi-Fi 7.