autenticación de WPA3-SAE

WPA3-SAE, también conocido como WPA3-Personal, es compatible con 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 de WPA3-SAE

Los controladores de miniporte indican compatibilidad con SAE haciendo lo siguiente:

  1. 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.
  2. Establezca la funcionalidad MFP.
    El controlador establece la funcionalidad MFPCapable en WDI_TLV_STATION_ATTRIBUTES durante la llamada a OID_WDI_GET_ADAPTER_CAPABILITIES.
  3. 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 de 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 open Authentication en su lugar, seguido de una solicitud de reasociación con PMKID.

Flujo de autenticación

flujo de autenticación deWPA3-SAE.

Solicitud inicial de parámetros SAE

El controlador selecciona primero un BSS al que conectarse o realizar roaming y, si WDI no proporcionó el PMKID para ese BSS, el controlador solicita los parámetros de 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 como 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 de confirmación (WDI_SAE_REQUEST_TYPE_CONFIRM_REQUEST)
  • 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_RESPONSE. 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 la autenticación SAE falla 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 WDI_SAE_INDICATION_TYPE_ERROR y el motivo del error especificado en WDI_TLV_SAE_STATUS.

Tiempos de espera y retransmisiones

Estos se gestionan mediante el controlador de software.

asociación de WPA3-SAE

El dispositivo se conecta a una red SAE mediante una de las siguientes opciones.

(Re)Asociación tras el intercambio de SAE

Normalmente, este es el primer intento de asociación a 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:

  1. El controlador realiza una autenticación abierta seguida de la inclusión de PMKID en la (Re)solicitud de asociación.
  2. 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 se completa una vez completada la autenticación o asociación de SAE. Al igual que antes, el controlador envía las siguientes indicaciones sobre la conclusión de la tarea de conexión o itinerancia:

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/elementos originales proporcionados por WDI, o solicitar un nuevo conjunto de valores escalares/elementos de WDI con una indicación NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED.

Reenvío del marco de respuesta confirmación 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.