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


Проверка подлинности WPA3-SAE WiFiCx

WiFiCx поддерживает WPA3-SAE, также известный как WPA3-Personal. Создание и анализ содержимого фреймов для SAE (безопасная аутентификация равных) выполняется в Windows, но ОС требует поддержки драйверов для отправки и получения кадров проверки подлинности WPA3-SAE.

возможности WPA3-SAE

Драйверы WiFiCx указывают на поддержку SAE, выполнив следующие действия:

  1. Задайте поддерживаемую функцию SAE.
    Драйвер задает возможность SAEAuthenticationSupported в WIFI_DEVICE_CAPABILITIES во время вызова функции WifiDeviceSetDeviceCapabilities.

  2. Установите функции МФУ.
    Драйвер устанавливает возможность MFPCapable в WIFI_STATION_CAPABILITIES во время вызова WifiDeviceSetStationCapabilities.

  3. Добавьте шифр WDI_AUTH_ALGO_WPA3_SAE.
    Драйвер включает пару WDI_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_CCMP в список комбинаций алгоритмов аутентификации и шифрования, возвращённых при вызове функции WifiDeviceSetStationCapabilities. Это должно быть добавлено в следующую структуру:

    Драйвер также включает пару WDI_AUTH_ALGO_WPA3_SAE + WDI_CIPHER_ALGO_BI в список комбинаций алгоритмов аутентификации и шифрования, который возвращается при вызове WifiDeviceSetStationCapabilities. Его следует добавить в следующую структуру:

аутентификационный поток WPA3-SAE

Запуск подключения

Подключения SAE инициируются с помощью OID_WDI_TASK_CONNECT или OID_WDI_TASK_ROAM. WDI указывает WDI_AUTH_ALGO_WPA3_SAE в качестве метода проверки подлинности, если драйверу требуется выполнить проверку подлинности SAE. Если WDI предоставляет PMKID в списке BSS в задаче Connect/Roam, драйвер пропускает аутентификацию по протоколу SAE и выполняет открытую аутентификацию, а затем отправляет запрос на повторное связывание с PMKID.

Поток проверки подлинности

схема , на которую показан поток проверки подлинности WPA3-SAE.

Первоначальный запрос параметров SAE

Драйвер сначала выбирает BSS для подключения или роуминга, и если WDI не предоставил PMKID для этого BSS, драйвер запрашивает параметры подтверждения из WDI с NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED. В этом исходном обозначении тип указания задается драйвером как WDI_SAE_INDICATION_TYPE_COMMIT_REQUEST_PARAMS_NEEDED. В ответ WDI отправляет OID_WDI_SET_SAE_AUTH_PARAMS драйверу с одним из следующих вариантов.

  • Отправка запроса фиксации (WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS)
  • Ошибка проверки подлинности SAE (WDI_SAE_REQUEST_TYPE_FAILURE)

После получения ответа "Фиксация"

При получении ответа Commit драйвер отправляет NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED с типом, установленным как WDI_SAE_INDICATION_TYPE_COMMIT_FRAME. В ответ WDI отправляет OID_WDI_SET_SAE_AUTH_PARAMS с одним из следующих запросов:

  • Отправка запроса фиксации (WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS)
  • Отправьте подтверждение запроса (WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS)
  • Сбой проверки подлинности SAE (WDI_SAE_REQUEST_TYPE_FAILURE)

После получения ответа "Подтверждение"

При получении ответа "Подтверждение" драйвер отправляет NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED с типом, заданным для WDI_SAE_INDICATION_TYPE_CONFIRM_FRAME. Затем WDI отправляет OID_WDI_SET_SAE_AUTH_PARAMS, где поле состояния SAE установлено на успех или на сбой. Если проверка подлинности SAE терпит неудачу в драйвере из-за прерываний по тайм-ауту или других причин, драйвер отправляет NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED указание с типом WDI_SAE_INDICATION_TYPE_ERROR и причиной сбоя, указанной в WDI_TLV_SAE_STATUS.

Тайм-ауты и повторная передача

Они обрабатываются драйвером.

связь WPA3-SAE

Устройство подключается к сети SAE с помощью одного из следующих параметров.

(Re)Ассоциация после обмена SAE

Обычно это первая попытка ассоциации к сети SAE. Драйвер задает AKM SAE в RSN IE в кадре запроса ассоциации.

(Пере)Ассоциация с помощью PMKID

Если WDI предоставил PMKID для записи BSS в задаче подключения или роуминга, драйвер выполняет следующее:

  1. Драйвер выполняет открытую аутентификацию, после чего включает PMKID в запрос на (Re)ассоциацию.
  2. Если устройство не получает ответ от AP в течение короткого времени или если AP возвращает ошибку сопоставления в ответе, драйвер пропускает проверку подлинности SE с помощью этого AP и либо переходит к другому API, либо возвращается к выполнению полной проверки подлинности SAE с помощью этого AP.

Подключение SAE завершается после завершения проверки подлинности или связи SAE. Как и раньше, драйвер отправляет следующие индикации по завершении задачи подключения или роуминга.

Обработка ошибок

Повторная отправка кадра запроса на подтверждение SAE

Если драйверу необходимо повторно отправить кадр фиксации из-за времени ожидания, он может повторно отправить исходные значения Scalar/Element, которые предоставляет WDI, или запросить новый набор значений Scalar/Element от WDI с указанием NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED.

Повторная отправка кадра ответа SAE Confirm

Если драйверу необходимо повторно отправить кадр подтверждения из-за времени ожидания, он должен запросить новый набор значений SendConfirm и Confirm из WDI с индикацией NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED, задав тип WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST.

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

Сведения об обновлениях проверки подлинности SAE Wi-Fi 7 см. в требованиях к функциям WiFiCx Wi-Fi.