共用方式為


WPA3-SAE 驗證

WPA3-SAE 也稱為 WPA3-Personal,在 Windows 中支援 WDI 1.1.8 版和更新版本。 在 Windows 內完成 SAE (Secure Authentication of Equals) 驗證的畫面格內容產生和剖析,但 OS 需要驅動程式支援傳送和接收 WPA3-SAE 驗證框架。

WPA3-SAE 功能

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

  1. 設定 SAE 支援的功能。
    驅動程式會在呼叫OID_WDI_GET_ADAPTER_CAPABILITIES期間,在WDI_TLV_INTERFACE_ATTRIBUTES中設定SAEAuthenticationSupported功能。
  2. 設定 MFP 功能。
    驅動程式會在呼叫OID_WDI_GET_ADAPTER_CAPABILITIES 期間,在 WDI_TLV_STATION_ATTRIBUTES中設定MFPCapable功能。
  3. 新增 WDI_AUTH_ALGO_WPA3_SAE 驗證方法。
    驅動程式會在呼叫中傳回的驗證加密組合清單中包含 WDI_AUTH_ALGO_WPA3_SAEOID_WDI_GET_ADAPTER_CAPABILITIES。 這應該會在下列各節中新增:

WPA3-SAE 驗證流程

連線初始

SAE 連線會以 OID_WDI_TASK_CONNECTOID_WDI_TASK_ROAM起始。 當驅動程式需要執行 SAE 驗證時,WDI 會指定 WDI_AUTH_ALGO_WPA3_SAE 做為驗證方法。 如果 WDI 在 Connect/Roam 工作的 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_REQUEST)
  • WDI_SAE_REQUEST_TYPE_FAILURE) SAE 驗證失敗 (

收到認可回應時

收到認可回應時,驅動程式會傳送 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED ,並將類型設定為 WDI_SAE_INDICATION_TYPE_COMMIT_RESPONSE。 為了回應,WDI 會使用下列其中一個要求傳送 OID_WDI_SET_SAE_AUTH_PARAMS

  • 傳送認可要求 (WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST)
  • 傳送確認要求 (WDI_SAE_REQUEST_TYPE_CONFIRM_REQUEST)
  • WDI_SAE_REQUEST_TYPE_FAILURE) SAE 驗證失敗 (

收到 Confirm 回應時

收到 Confirm 回應時,驅動程式會傳送 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED ,並將類型設定為 WDI_SAE_INDICATION_TYPE_CONFIRM_RESPONSE。 WDI 接著會傳送 OID_WDI_SET_SAE_AUTH_PARAMS ,並將 SAE 狀態欄位設定為成功或失敗。 如果驅動程式中的 SAE 驗證因逾時或其他原因而失敗,驅動程式會傳送具有 se 類型的NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED指示WDI_SAE_INDICATION_TYPE_ERROR,以及WDI_TLV_SAE_STATUS中指定的失敗原因。

逾時和重新傳輸

這些是由驅動程式處理。

WPA3-SAE 關聯

裝置會使用下列其中一個選項連線到 SAE 網路。

(在 SAE 交換之後重新) 關聯

這通常是 SAE 網路的第一個關聯嘗試。 驅動程式會在關聯要求框架的 RSN IE 中設定 SAE AKM。

(使用 PMKID 重新) 關聯

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

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

SAE 連線完成之後,SAE 驗證/關聯就會完成。 如同之前,驅動程式會傳送下列有關連線或漫遊工作結論的指示:

錯誤處理

重新傳送 SAE 認可要求框架

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

重新傳送 SAE 確認回應框架

如果驅動程式因逾時而需要重新傳送 Confirm 畫面格,它應該要求 WDI 的新 SendConfirmConfirm 值集合,並指出 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED 指示,將類型設定為 WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST