共用方式為


WiFiCx WPA3-SAE 驗證

WiFiCx 支援 WPA3-SAE,也稱為 WPA3-Personal。 在 Windows 內完成 SAE(Equals 的安全驗證)驗證的畫面內容產生和剖析,但 OS 需要驅動程式支援來傳送和接收 WPA3-SAE 驗證畫面。

WPA3-SAE 功能

WiFiCx 驅動程式會執行下列動作來指出 SAE 支援:

  1. 設定 SAE 支援的功能。
    驅動程式會在呼叫 WifiDeviceSetDeviceCapabilities 期間,在 WIFI_DEVICE_CAPABILITIES設定 SAEAuthenticationSupported 功能。

  2. 設定 MFP 功能。
    驅動程式會在呼叫 WifiDeviceSetStationCapabilities 期間,在 WIFI_STATION_CAPABILITIES設定 MFPCapable 功能。

  3. 新增WDI_AUTH_ALGO_WPA3_SAE加密。
    驅動程式會在呼叫 WifiDeviceSetStationCapabilities 中所傳回的驗證加密組合清單中,包含WDI_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_CCMP組。 這應該新增在下列結構中:

    驅動程式也會在呼叫 WifiDeviceSetStationCapabilities 中所傳回的驗證加密組合清單中,包含WDI_AUTH_ALGO_WPA3_SAE + WDI_CIPHER_ALGO_BI組。 它應該新增在下列結構中:

WPA3-SAE 驗證流程

起始 連線

SAE 聯機會以 OID_WDI_TASK_CONNECTOID_WDI_TASK_ROAM 起始。 當驅動程式需要執行 SAE 驗證時,WDI 會將 WDI_AUTH_ALGO_WPA3_SAE 指定為驗證方法。 如果 WDI 在 連線/漫遊工作的 BSS 清單中提供 PMKID,則驅動程式會略過 SAE 驗證並改為執行 Open Authentication,然後接著重新關聯要求與 PMKID。

驗證流程

顯示 WPA3-SAE 驗證流程的圖表。

SAE 參數的初始要求

驅動程式會先選取要連線或漫遊的 BSS,如果 WDI 未提供該 BSS 的 PMKID,驅動程式會向 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

收到認可回應時

收到認可回應時,驅動程式會傳送 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

收到確認回應時

在收到 Confirm 回應時,驅動程式會傳送 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網路的第一次關聯嘗試。 驅動程式會在關聯要求框架的 RSN IE 中設定 SAE AKM。

(Re)使用 PMKID 的關聯

如果 WDI 為連線/漫遊工作中 BSS 專案提供 PMKID,則驅動程式會執行下列動作:

  1. 驅動程式會執行 Open 驗證,後面接著在 (Re)關聯要求中包含 PMKID。
  2. 如果裝置在短時間內未收到來自 AP 的回應,或 AP 在回應中傳回關聯錯誤,則驅動程式會略過此 AP 的 SE 驗證,並移至另一個 AP,或回復為使用此 AP 執行完整的 SAE 驗證。

SAE 連線完成之後,SAE 驗證/關聯就會完成。 和之前一樣,驅動程式會傳送下列指示來結束連線或漫遊工作:

錯誤處理

重新傳送 SAE 認可要求框架

如果驅動程式因逾時而需要重新傳送認可框架,它可以重新傳送WDI所提供的原始 Scalar/Element 值,或從 WDI 要求一組新的純量/元素值,並具有 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED 指示。

重新傳送 SAE 確認回應框架

如果驅動程式因逾時而需要重新傳送 Confirm 畫面格,它應該要求 WDI 的新一組 SendConfirm 和 Confirm 值,並具有NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED指示,並將類型設定為 WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST。

Wi-Fi 7 SAE 驗證變更

如需Wi-Fi 7 SAE驗證更新,請參閱 WiFiCx Wi-Fi 7功能需求