Autenticación WPA3-SAE
WPA3-SAE, también conocido como WPA3-Personal, se admite en Windows con WDI versión 1.1.8 y posteriores. La generación y el análisis de contenido de fotogramas 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 WPA3-SAE
Los controladores de minipuerto indican compatibilidad con SAE haciendo lo siguiente:
- Establezca la funcionalidad compatible con SAE.
El controlador establece la funcionalidad SAEAuthenticationSupported en WDI_TLV_INTERFACE_ATTRIBUTES durante la llamada a OID_WDI_GET_ADAPTER_CAPABILITIES. - Establezca la funcionalidad MFP.
El controlador establece la funcionalidad MFPCapable en WDI_TLV_STATION_ATTRIBUTES durante la llamada a OID_WDI_GET_ADAPTER_CAPABILITIES. - Agregue el método de autenticación WDI_AUTH_ALGO_WPA3_SAE .
El controlador incluye WDI_AUTH_ALGO_WPA3_SAE en la lista de combinaciones de cifrado de autenticación devueltas en la llamada a OID_WDI_GET_ADAPTER_CAPABILITIES. Esto debe agregarse en las secciones siguientes:
Flujo de autenticación WPA3-SAE
Inicio de la 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 SAE. Si WDI proporciona el PMKID en la lista BSS de la tarea Connect/Roam, el controlador omite la autenticación saE y realiza la autenticación abierta en su lugar, seguida de una solicitud de reasignación con PMKID.
Flujo de autenticación
Solicitud inicial de parámetros de 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.
- Enviar solicitud de confirmación (WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST)
- Error de autenticación de SAE (WDI_SAE_REQUEST_TYPE_FAILURE)
Tras recibir una respuesta de confirmación
Al recibir una respuesta Commit, el controlador envía NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED con el tipo establecido en WDI_SAE_INDICATION_TYPE_COMMIT_RESPONSE. En respuesta, WDI envía OID_WDI_SET_SAE_AUTH_PARAMS con una de las siguientes solicitudes:
- Enviar solicitud de confirmación (WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST)
- Enviar solicitud confirm (WDI_SAE_REQUEST_TYPE_CONFIRM_REQUEST)
- Error de autenticación de SAE (WDI_SAE_REQUEST_TYPE_FAILURE)
Después de recibir una respuesta Confirm
Al recibir una respuesta Confirm, el controlador envía NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED con el tipo establecido en WDI_SAE_INDICATION_TYPE_CONFIRM_RESPONSE. A continuación, WDI envía OID_WDI_SET_SAE_AUTH_PARAMS con el campo de estado de SAE establecido en correcto o erróneo. 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 se a WDI_SAE_INDICATION_TYPE_ERROR y el motivo de error especificado en WDI_TLV_SAE_STATUS.
Tiempos de espera y retransmisiones
Estos se controlan mediante el controlador.
Asociación WPA3-SAE
El dispositivo se conecta a una red SAE mediante una de las siguientes opciones.
(Re) Asociación después del intercambio de SAE
Normalmente, esta es la primera asociación que intenta realizar una red SAE. El controlador establece el AKM de SAE en el IE de RSN en el marco de solicitud de asociación.
(Re) Asociación mediante PMKID
Si WDI proporcionó un PMKID para la entrada BSS en la tarea connect/roam, el controlador hace lo siguiente:
- El controlador realiza una autenticación abierta seguida de la inclusión de PMKID en la solicitud de asociación (Re).
- 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 recurre a realizar la autenticación saE completa con este AP.
La conexión SAE se completa una vez completada la autenticación o asociación de SAE. Como antes, el controlador envía las siguientes indicaciones sobre la conclusión de la tarea de conexión o itinerancia:
Control de errores
Reenviar el 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 volver a enviar los valores escalares o de elemento originales proporcionados por WDI, o solicitar un nuevo conjunto de valores escalares o de elementos de WDI con una indicación de NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED .
Reenviar el marco de respuesta Confirm de SAE
Si el controlador necesita volver a enviar un marco Confirm debido a un tiempo de espera, debe solicitar un nuevo conjunto de valores SendConfirm y Confirm de WDI con una indicación de NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED , estableciendo el tipo en WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST.