Requisitos de la característica de Wi-Fi 7 en WiFiCx
WiFiCx admite las funcionalidades de Wi-Fi 7, lo que proporciona velocidades de conectividad más rápidas, menor latencia y seguridad mejorada. WiFiCx permite la operación multivínculo (MLO) con diferenciación de itinerancia para aprovechar varios canales simultáneos al punto de acceso Wi-Fi (AP) y funcionalidades mejoradas para la autenticación WPA3-SAE y cifrado inalámbrico oportunista (OWE) con cifrado GCMP-256.
En este artículo se describen los cambios de controlador necesarios para admitir estas características.
Detección de funcionalidades de Wi-Fi 7
El controlador debe admitir la versión 2.0.12 de WDI para la configuración de conexión Wi-Fi 7.
Para indicar la compatibilidad con conexiones MLO Wi-Fi, el controlador debe establecer las siguientes funcionalidades en la estructura WIFI_STATION_CAPABILITIES:
- El número de entradas de MLOAddressesList debe coincidir con MaxMLOLinksSupported, lo que indica si el controlador es capaz de configurar vínculos de MLO.
- El número de entradas de AkmsList debe coincidir con NumAkmsSupported. Esta lista debe incluir todos los conjuntos de AKM que admite el controlador y debe incluir el AKM 24 si se espera que el sistema operativo admita SAE con un PMK de 384 bits.
Para admitir conexiones SAE mediante AKM 24 o AKM 8 con cifrado GCMP-256, el controlador debe agregar los siguientes pares de cifrado de autenticación al llamar a WifiDeviceSetStationCapabilities:
- En UnicastAlgorithmsList: DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256
- En MulticastMgmtAlgorithmsList: DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256
Para admitir conexiones OWE con el cifrado GCMP-256, el controlador debe agregar el siguiente par de cifrado de autenticación al llamar a WifiDeviceSetStationCapabilities:
- En UnicastAlgorithmsList: DOT11_AUTH_ALGO_OWE + DOT11_CIPHER_ALGO_GCMP_256
Direcciones MAC de marcos
Cuando el controlador indique marcos de administración, use la dirección MAC del vínculo. En el caso de los marcos de datos, incluidos el protocolo de enlace de 4 vías y los marcos de autenticación 802.1x, use la dirección MAC de MLD.
En el caso de los marcos de datos, incluidos el protocolo de enlace de 4 vías y los marcos de autenticación 802.1x, la dirección MAC es la dirección Mac de MLD.
Cuando Windows usa direcciones MAC aleatorias, proporciona un conjunto de direcciones aleatorias en WDI_TLV_CONFIGURED_MLO_LINK_MAC_ADDRESS cuando envía la tarea OID_WDI_TASK_DOT11_RESET.
Detección de AP
Windows analiza las IE de baliza para las IE multivínculo y RNR. Si están presentes, marca el AP como compatible con MLO.
Configuración de la conexión multivínculo
Windows proporciona una configuración en la tarea OID_WDI_TASK_CONNECT que indica si el controlador puede conectarse mediante MLO. Esta configuración se representa mediante la marca MloConnectionSupported en WDI_TLV_CONNECTION_SETTINGS. Cuando MloConnectionSupported es true, el controlador solo puede usar los pares de cifrado y AKM especificados por WDI_TLV_RSNA_AKM_CIPHER_SUITE en las solicitudes OID_WDI_TASK_CONNECT y OID_WDI_TASK_ROAM. La única excepción es si la autenticación o cifrado no forma parte del IE de RSNA.
En el caso de las conexiones basadas en SAE, Windows establece el AKM y el cifrado en la solicitud de confirmación de SAE, que indica al controlador qué AKM y cifrado usarán más adelante en la solicitud de asociación.
Autenticación
Para la autenticación SAE mediante MLO Wi-Fi 7, Windows establece el AKM y el cifrado en WDI_TLV_SAE_COMMIT_PARAMS al llamar a OID_WDI_SET_SAE_AUTH_PARAMS. Estos valores se especifican en los TLV WDI_TLV_RSNA_AKM_SUITE y WDI_TLV_CIPHER_ALGORITHM. El controlador usa estos valores más adelante en la solicitud de asociación.
En la indicación NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED, el controlador debe:
- Establecer BSSID (WDI_TLV_BSSID) con la dirección MAC del vínculo del AP.
- Establecer LocalMloLinkBssId (WDI_TLV_MLO_LINK_BSSID) con la dirección MAC del vínculo local.
Incluya los IE multivínculo adecuados en los marcos de autenticación al conectarse a MLO.
Asociación
Cuando Windows envía las tareas OID_WDI_TASK_CONNECT y OID_WDI_TASK_ROAM, el controlador solo debe conectarse a los AP mediante MLO Wi-Fi 7 si el AP admite la conectividad multivínculo con los AKM enumerados en WDI_TLV_RSNA_AKM_CIPHER_SUITE en el TLV WDI_TLV_CONNECT_PARAMETERS.
El controlador incluye los IE de multivínculo adecuados en los marcos de asociación al conectarse a MLO. Al finalizar la asociación, Windows comprueba las IE multivínculo en los marcos de solicitud o respuesta de asociación de la indicación NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT para determinar si se usó MLO en la conexión.
Windows requiere que el controlador indique los marcos de solicitud de asociación y respuesta en WDI_TLV_ASSOCIATION_RESULT al indicar NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT.
Para la asociación mediante MLO Wi-Fi 7, el controlador debe establecer los siguientes valores en NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT:
- Establecer BSSID (WDI_TLV_BSSID) en WDI_TLV_ASSOCIATION_RESULT con la dirección MAC del vínculo del AP. Solo debe haber una instancia de la entrada AssociationResultsContainer en NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT.
- Establecer LocalLinkBssId (WDI_TLV_MLO_LINK_BSSID) en WDI_TLV_ASSOCIATION_RESULT con la dirección MAC del vínculo local.
Nota: si no se establece LocalLinkBssId, Windows no puede usar MLO para la conexión.
Protocolo de enlace 4 vías
Windows admite GCMP-256 en el protocolo de enlace de 4 vías. También ha actualizado la interfaz WDI para proporcionar información de vínculo al establecer las claves GTK/IGTK/BIGTK.
Al establecer las claves de grupo (GTK/IGTK/BIGTK) para las conexiones MLO, Windows llama al comando OID_WDI_SET_ADD_CIPHER_KEYS con una matriz de elementos, una para cada clave que se agrega.
Indicación de estado de vínculo
La indicación NDIS_STATUS_WDI_INDICATION_LINK_STATE_CHANGE ahora proporciona la siguiente información por vínculo en WDI_TLV_LINK_INFO:
- ID de vínculo
- Banda o canal conectado
- Indicador de intensidad de señal recibida (RSSI)
- Ancho de banda actual
- MCS de transmisión actual
- MCS de recepción actual
Para las conexiones MLO, la indicación de estado del vínculo proporciona información para cada vínculo. Para las conexiones que no son MLO, proporciona información para un único vínculo.
Desasociación
El controlador envía la indicación NDIS_STATUS_WDI_INDICATION_DISASSOCIATION solo cuando se han desasociado todos los vínculos. Si el controlador se conecta en un nuevo vínculo o está desconectado de un vínculo conectado actualmente, el controlador simplemente envía una notificación NDIS_STATUS_WDI_INDICATION_LINK_STATE_CHANGE para actualizar el conjunto de vínculos en el que está asociado actualmente.
Cuando el controlador envía la indicación NDIS_STATUS_WDI_INDICATION_DISASSOCIATION, debe establecer la dirección MAC en WDI_TLV_DISASSOCIATION_INDICATION_PARAMETERS como dirección MAC de MLD del AP.
Cambios en la autenticación SAE
Envío de un marco de autenticación SAE
Se ha cambiado el nombre de los siguientes tipos y TLV para el comando OID_WDI_SET_SAE_AUTH_PARAMS:
- Se ha cambiado el nombre de WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST a WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS en la enumeración WDI_SAE_REQUEST_TYPE.
- Se ha cambiado el nombre de WDI_SAE_REQUEST_TYPE_CONFIRM_REQUEST a WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS en la enumeración WDI_SAE_REQUEST_TYPE.
- Se ha cambiado el nombre de WDI_TLV_SAE_COMMIT_REQUEST a WDI_TLV_SAE_COMMIT_PARAMS. Este TLV se usa para enviar marcos de solicitud y respuesta de confirmación.
- Se ha cambiado el nombre de WDI_TLV_SAE_CONFIRM_REQUEST a WDI_TLV_SAE_CONFIRM_PARAMS. Este TLV se usa para enviar marcos de solicitud y respuesta de confirmación
Indicación de un marco de autenticación SAE
Se ha cambiado el nombre de los siguientes tipos y TLV para la indicación NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED:
- Se ha cambiado el nombre de WDI_SAE_INDICATION_COMMIT_RESPONSE a WDI_SAE_INDICATION_COMMIT_FRAME en la enumeración WDI_SAE_INDICATION_TYPE.
- Se ha cambiado el nombre de WDI_SAE_INDICATION_CONFIRM_RESPONSE a WDI_SAE_INDICATION_CONFIRM_FRAME en la enumeración WDI_SAE_INDICATION_TYPE.
- Se ha cambiado el nombre de WDI_TLV_SAE_COMMIT_RESPONSE a WDI_TLV_SAE_COMMIT_FRAME.
- Se ha cambiado el nombre de WDI_TLV_SAE_CONFIRM_RESPONSE a WDI_TLV_SAE_CONFIRM_FRAME.
En la llamada a WDI_SET_SAE_AUTH_PARAMS, el sistema operativo proporciona el AKM y el cifrado como parámetros opcionales que el controlador usará al enviar la solicitud de asociación. La combinación de AKM/cifrado se determinará durante el intercambio de SAE.
Conexión OWE
Para las conexiones OWE, Windows comprueba si el AP admite el cifrado GCMP-256. Si se admite, Windows intenta usar inicialmente el grupo 20 para la asociación. Si se produce un error en la solicitud de asociación con el error DOT11_FRAME_STATUS_UNSUPPORTED_FINITE_CYCLIC_GROUP (77), el sistema operativo vuelve al uso del grupo 19 para la asociación.
Inicialmente, el sistema operativo establece los parámetros DH para OWE en OID_WDI_TASK_CONNECT al grupo 20. Si el AP produce un error en la solicitud de asociación con un error de grupo no admitido, el sistema operativo envía el OID OID_WDI_SET_OWE_DH_IE al controlador con la información de OWE actualizada para el grupo 19. El controlador debe usar la información de OWE actualizada para la siguiente solicitud de asociación.
Nota: para que el sistema operativo procese correctamente el error DOT11_FRAME_STATUS_UNSUPPORTED_FINITE_CYCLIC_GROUP, el controlador también debe establecer el estado de WDI en la indicación NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT en WDI_ASSOC_STATUS_ASSOC_FAILED_BY_PEER.