Поделиться через


Требования к функциям WiFiCx Wi-Fi 7

WiFiCx поддерживает Wi-Fi 7 функций, обеспечивая более быстрые скорости подключения, низкую задержку и улучшенную безопасность. WiFiCx позволяет многолинейную операцию (MLO) с дифференциацией роуминга использовать несколько одновременных каналов к точке доступа Wi-Fi (AP), а также дополнительные возможности для проверки подлинности WPA3-SAE и оппортунистического беспроводного шифрования (OWE) с шифром GCMP-256.

В этой статье описаны изменения драйвера, необходимые для поддержки этих функций.

обнаружение возможностей Wi-Fi 7

Драйвер должен поддерживать WDI версии 2.0.12 для установки подключения Wi-Fi 7.

Чтобы указать поддержку подключений Wi-Fi MLO, драйвер должен задать следующие возможности в структуре WIFI_STATION_CAPABILITIES:

  • Количество записей в MLOAddressesList должно соответствовать MaxMLOLinksSupported, что указывает, может ли драйвер настраивать ссылки MLO.
  • Количество записей в AkmsList должно соответствовать numAkmsSupported. Этот список должен включать все наборы AKM, поддерживаемые драйвером и должен включать AKM 24, если ОС, как ожидается, поддерживает SAE с 384-разрядным PMK.

Чтобы поддерживать подключения SAE с помощью AKM 24 или AKM 8 с шифром GCMP-256, драйвер должен добавить следующие пары проверки подлинности при вызове WifiDeviceSetStationCapabilities:

  • В UnicastAlgorithmsList: DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256
  • В MulticastMgmtAlgorithmsList: DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256

Чтобы поддерживать подключения OWE с помощью шифра GCMP-256, драйвер должен добавить следующую пару проверки подлинности при вызове WifiDeviceSetStationCapabilities:

  • В UnicastAlgorithmsList: DOT11_AUTH_ALGO_OWE + DOT11_CIPHER_ALGO_GCMP_256

Фреймирование MAC-адресов

Если драйвер указывает кадры управления, используйте MAC-адрес ссылки. Для кадров данных, включая кадры четырёхстороннего рукопожатия и кадры аутентификации 802.1x, используйте MAC-адрес MLD.

Для кадров данных, включая четырехстороннее рукопожатие и кадры аутентификации 802.1x, MAC-адрес является адресом MLD.

Если Windows использует случайные MAC-адреса, она предоставляет набор случайных адресов в WDI_TLV_CONFIGURED_MLO_LINK_MAC_ADDRESS при отправке запроса OID_WDI_TASK_DOT11_RESET.

Обнаружение AP

Windows анализирует ip-адреса маяков для многоуровневых и RNR IEs. Если он присутствует, он помечает AP как поддерживающий MLO.

Windows предоставляет параметр в задаче OID_WDI_TASK_CONNECT, которая указывает, может ли драйвер подключиться с помощью MLO. Этот параметр представлен флагом MloConnectionSupported в WDI_TLV_CONNECTION_SETTINGS. Если MloConnectionSupportedtrue, драйвер может использовать только пары AKM и шифров, указанные WDI_TLV_RSNA_AKM_CIPHER_SUITE в запросах OID_WDI_TASK_CONNECT и OID_WDI_TASK_ROAM. Единственное исключение заключается в том, что проверка подлинности или шифр не является частью RSNA IE.

Для подключений на основе SAE Windows задает AKM и шифр в запросе Commit SAE, который сообщает драйверу, какие AKM и шифр будут использоваться позже в запросе на установление соединения.

Аутентификация

Для проверки подлинности SAE с помощью Wi-Fi 7 MLO Windows задает AKM и шифр в WDI_TLV_SAE_COMMIT_PARAMS при вызове OID_WDI_SET_SAE_AUTH_PARAMS. Эти значения указываются в TLV WDI_TLV_RSNA_AKM_SUITE и TLV WDI_TLV_CIPHER_ALGORITHM. Драйвер использует эти значения позже в ассоциативном запросе.

В NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED признаке драйвер должен:

  • Задайте BSSID (WDI_TLV_BSSID) на MAC-адрес ссылки AP.
  • Задайте для localMloLinkBssId (WDI_TLV_MLO_LINK_BSSID) локальный MAC-адрес ссылки.

Включите соответствующие многоуровневые элементы информации IE в аутентификационные кадры при подключении для MLO.

Ассоциация

Когда Windows отправляет задачи OID_WDI_TASK_CONNECT и OID_WDI_TASK_ROAM, драйвер должен подключаться только к точкам доступа (AP) через Wi-Fi 7 MLO, если точка доступа поддерживает подключение многосвязной сети с AKM, перечисленными в WDI_TLV_RSNA_AKM_CIPHER_SUITE в WDI_TLV_CONNECT_PARAMETERS TLV.

Драйвер включает соответствующие мультилинковые информационные элементы в ассоциативные кадры при подключении с использованием MLO. При завершении сопоставления Windows проверяет информационные элементы многоуровневой связи в кадрах запроса/ответа ассоциации в NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT, чтобы определить, использовался ли MLO в соединении.

Для Windows требуется, чтобы драйвер указывал кадры запросов и ответов ассоциации в WDI_TLV_ASSOCIATION_RESULT при указании NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT.

Для ассоциации с использованием Wi-Fi 7 MLO драйвер должен установить следующие значения в NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT:

  • Задайте BSSID (WDI_TLV_BSSID) в WDI_TLV_ASSOCIATION_RESULT в качестве MAC-адреса связи AP. В NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT должна быть только одна запись AssociationResultsContainer.
  • Задайте LocalLinkBssId (WDI_TLV_MLO_LINK_BSSID) в WDI_TLV_ASSOCIATION_RESULT на локальный MAC-адрес канала.

Примечание. Если LocalLinkBssId не задан, Windows не может использовать MLO для подключения.

4-х этапный рукопожатие

Windows поддерживает GCMP-256 в 4-стороннем рукопожатии. Он также обновил интерфейс WDI, чтобы предоставить сведения о ссылке при настройке ключей GTK/IGTK/BIGTK.

При настройке ключей группы (GTK/IGTK/BIGTK) для подключений MLO Windows вызывает команду OID_WDI_SET_ADD_CIPHER_KEYS с массивом элементов, по одному для каждого добавляемого ключа.

Теперь индикация NDIS_STATUS_WDI_INDICATION_LINK_STATE_CHANGE предоставляет следующую информацию для каждого соединения в WDI_TLV_LINK_INFO:

  • Идентификатор ссылки
  • Подключенный диапазон или канал
  • Индикатор уровня полученного сигнала (RSSI)
  • Текущая пропускная способность
  • Текущий Tx MCS
  • Текущий Rx MCS

Для подключений MLO индикатор состояния ссылки предоставляет сведения для каждой ссылки. Для подключений, отличных от MLO, он предоставляет сведения для одной ссылки.

Отсоединение

Драйвер отправляет NDIS_STATUS_WDI_INDICATION_DISASSOCIATION указание только в том случае, если все соединения отсоединены. Если драйвер подключается к новой ссылке или отключается от подключенной в данный момент ссылки, драйвер просто отправляет уведомление NDIS_STATUS_WDI_INDICATION_LINK_STATE_CHANGE, чтобы обновить набор ссылок, на которые он в данный момент связан.

Когда драйвер отправляет указание NDIS_STATUS_WDI_INDICATION_DISASSOCIATION, он должен задать MAC-адрес в WDI_TLV_DISASSOCIATION_INDICATION_PARAMETERS в качестве MAC-адреса API MLD.

Изменения проверки подлинности SAE

Отправка кадра аутентификации SAE

Для команды OID_WDI_SET_SAE_AUTH_PARAMS следующие типы и TLV были переименованы:

  • Переименован из WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST на WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS в перечислении WDI_SAE_REQUEST_TYPE.
  • Переименован WDI_SAE_REQUEST_TYPE_CONFIRM_REQUEST на WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS в перечислении WDI_SAE_REQUEST_TYPE.
  • Переименован WDI_TLV_SAE_COMMIT_REQUEST в WDI_TLV_SAE_COMMIT_PARAMS. Этот TLV используется для отправки кадров запроса на подтверждение и ответа на подтверждение.
  • Переименован WDI_TLV_SAE_CONFIRM_REQUEST в WDI_TLV_SAE_CONFIRM_PARAMS. Этот TLV используется для отправки как кадров запроса подтверждения, так и кадров ответа на подтверждение.

Указание кадра проверки подлинности SAE

Для указания NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED были переименованы следующие типы и TLV:

В вызове WDI_SET_SAE_AUTH_PARAMS ОС предоставляет AKM и шифр в качестве необязательных параметров, которые драйвер будет использовать для отправки ассоциативного запроса. Сочетание AKM/шифра будет определяться во время обмена SAE.

ПОДКЛЮЧЕНИЕ OWE

Для подключений OWE Windows проверяет, поддерживает ли AP шифр GCMP-256. Если поддерживается, Windows изначально пытается использовать группу 20 для сопоставления. Если точка доступа отклоняет запрос на ассоциацию с ошибкой DOT11_FRAME_STATUS_UNSUPPORTED_FINITE_CYCLIC_GROUP (77), ОС возвращается к использованию группы 19 для ассоциации.

Изначально ОС задает параметры DH для OWE в OID_WDI_TASK_CONNECT в группу 20. Если точка доступа (AP) не обрабатывает запрос ассоциации в связи с ошибкой неподдерживаемой группы, операционная система (ОС) отправляет драйверу OID OID_WDI_SET_OWE_DH_IE с обновленной информацией по протоколу OWE для группы 19. Драйвер должен использовать обновленные сведения ОУЭ для следующего запроса на подключение.

Примечание. Чтобы ОС правильно обработала ошибку DOT11_FRAME_STATUS_UNSUPPORTED_FINITE_CYCLIC_GROUP, драйвер должен также задать состояние WDI в индикации NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT как WDI_ASSOC_STATUS_ASSOC_FAILED_BY_PEER.