Autenticación WPA3-SAE para WiFiCx
WiFiCx admite WPA3-SAE, también conocido como WPA3-Personal. La generación y el análisis de contenido de marcos para la autenticación SAE (autenticación segura de iguales) se realiza en Windows, pero el sistema operativo requiere compatibilidad con controladores para enviar y recibir marcos de autenticación WPA3-SAE.
Funcionalidades de WPA3-SAE
Para indicar la compatibilidad con SAE, los controladores WiFiCx realizan lo siguiente:
Establecen la funcionalidad compatible con SAE.
El controlador establece la funcionalidad SAEAuthenticationSupported en WIFI_DEVICE_CAPABILITIES durante la llamada a WifiDeviceSetDeviceCapabilities.Establecen la funcionalidad MFP.
El controlador establece la funcionalidad MFPCapable en WIFI_STATION_CAPABILITIES durante la llamada a WifiDeviceSetStationCapabilities.Agrega el cifrado WDI_AUTH_ALGO_WPA3_SAE.
El controlador incluye el par WDI_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_CCMP en la lista de combinaciones de cifrado de autenticación devueltas en la llamada a WifiDeviceSetStationCapabilities. Esto debe agregarse en la estructura siguiente:- WIFI_STATION_CAPABILITIES ->NumSupportedUnicastAlgorithms + UnicastAlgorithmsList
El controlador también incluye el par WDI_AUTH_ALGO_WPA3_SAE + WDI_CIPHER_ALGO_BI en la lista de combinaciones de cifrado de autenticación devueltas en la llamada a WifiDeviceSetStationCapabilities. Debe agregarse en la estructura siguiente:
- WIFI_STATION_CAPABILITIES ->NumSupportedMulticastMgmtAlgorithms + MulticastMgmtAlgorithmsList
Flujo de autenticación de WPA3-SAE
Iniciación de conexión
Las conexiones SAE se inician con OID_WDI_TASK_CONNECT o OID_WDI_TASK_ROAM. WDI especifica WDI_AUTH_ALGO_WPA3_SAE como método de autenticación cuando se requiere el controlador para realizar la autenticación de SAE. Si WDI proporciona el PMKID en la lista BSS de la tarea de conexión/desplazamiento, el controlador omite la autenticación SAE y realiza la autenticación abierta en su lugar, seguida de una solicitud de reasociación con PMKID.
Flujo de autenticación
Solicitud inicial de parámetros SAE
El controlador selecciona primero un BSS al que conectarse o desplazarse y, si WDI no proporcionó el PMKID para ese BSS, el controlador solicita parámetros Commit de WDI con NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED. En esta indicación inicial, el controlador establece el tipo de indicación en WDI_SAE_INDICATION_TYPE_COMMIT_REQUEST_PARAMS_NEEDED. En respuesta, WDI envía OID_WDI_SET_SAE_AUTH_PARAMS al controlador con una de las siguientes opciones.
- Solicitud de confirmación de envío (WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS)
- Error de autenticación de SAE (WDI_SAE_REQUEST_TYPE_FAILURE)
Tras recibir una respuesta de confirmación
Al recibir una respuesta de confirmación, el controlador envía NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED con el tipo establecido en WDI_SAE_INDICATION_TYPE_COMMIT_FRAME. En respuesta, WDI envía OID_WDI_SET_SAE_AUTH_PARAMS con una de las siguientes solicitudes:
- Solicitud de confirmación de envío (WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS)
- Solicitud de confirmación de envío (WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS)
- Error de autenticación de SAE (WDI_SAE_REQUEST_TYPE_FAILURE)
Después de recibir una respuesta de confirmación
Al recibir una respuesta de confirmación, el controlador envía NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED con el tipo establecido en WDI_SAE_INDICATION_TYPE_CONFIRM_FRAME. A continuación, WDI envía OID_WDI_SET_SAE_AUTH_PARAMS con el campo de estado de SAE establecido en correcto o error. Si se produce un error en la autenticación de SAE en el controlador debido a tiempos de espera u otros motivos, el controlador envía una indicación NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED con el tipo establecido en en WDI_SAE_INDICATION_TYPE_ERROR y el motivo del error especificado en WDI_TLV_SAE_STATUS.
Tiempos de espera y retransmisiones
Se gestionan mediante el controlador.
Asociación de WPA3-SAE
El dispositivo se conecta a una red SAE mediante una de las siguientes opciones.
Reasociación después del intercambio de SAE
Normalmente, esta es la primera asociación que intenta una red SAE. El controlador establece el AKM de SAE en el IE de RSN en el marco solicitud de asociación.
Reasociación mediante PMKID
Si WDI proporcionó un PMKID para la entrada BSS en la tarea de conexión/desplazamiento, el controlador hace lo siguiente:
- El controlador realiza una autenticación abierta seguida de la inclusión de PMKID en la solicitud de reasociación.
- Si el dispositivo no recibe una respuesta del AP en un breve período de tiempo, o si el AP devuelve un error de asociación en la respuesta, el controlador omite la autenticación SE con este AP y se mueve a otra AP, o retrocede a realizar la autenticación completa de SAE con este AP.
La conexión SAE finaliza una vez completada la autenticación o asociación de SAE. Como antes, el controlador envía las siguientes indicaciones sobre la finalización de la tarea de conexión o desplazamiento:
Control de errores
Reenvío del marco de solicitud de confirmación de SAE
Si el controlador necesita volver a enviar un marco de confirmación debido a un tiempo de espera, puede reenviar los valores escalares y elementos originales proporcionados por WDI o solicitar un nuevo conjunto de valores escalares o elementos de WDI con una indicación NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED.
Reenvío del marco de respuesta de confirmación de SAE
Si el controlador necesita volver a enviar un marco de confirmación debido a un tiempo de espera, debe solicitar un nuevo conjunto de valores SendConfirm y Confirm de WDI con una indicación NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED, estableciendo el tipo en WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST.
Cambios de autenticación de SAE de Wi-Fi 7
Para obtener actualizaciones de autenticación de SAE de Wi-Fi 7, consulte Requisitos de la característica de Wi-Fi 7 en WiFiCx.