WPA3-SAE 驗證
WPA3-SAE 也稱為 WPA3-Personal,在 Windows 中支援 WDI 1.1.8 版和更新版本。 在 Windows 內完成 SAE (Secure Authentication of Equals) 驗證的畫面格內容產生和剖析,但 OS 需要驅動程式支援傳送和接收 WPA3-SAE 驗證框架。
WPA3-SAE 功能
迷你埠驅動程式會執行下列動作來指出 SAE 支援:
- 設定 SAE 支援的功能。
驅動程式會在呼叫OID_WDI_GET_ADAPTER_CAPABILITIES期間,在WDI_TLV_INTERFACE_ATTRIBUTES中設定SAEAuthenticationSupported功能。 - 設定 MFP 功能。
驅動程式會在呼叫OID_WDI_GET_ADAPTER_CAPABILITIES 期間,在 WDI_TLV_STATION_ATTRIBUTES中設定MFPCapable功能。 - 新增 WDI_AUTH_ALGO_WPA3_SAE 驗證方法。
驅動程式會在呼叫中傳回的驗證加密組合清單中包含 WDI_AUTH_ALGO_WPA3_SAEOID_WDI_GET_ADAPTER_CAPABILITIES。 這應該會在下列各節中新增:
WPA3-SAE 驗證流程
連線初始
SAE 連線會以 OID_WDI_TASK_CONNECT 或 OID_WDI_TASK_ROAM起始。 當驅動程式需要執行 SAE 驗證時,WDI 會指定 WDI_AUTH_ALGO_WPA3_SAE 做為驗證方法。 如果 WDI 在 Connect/Roam 工作的 BSS 清單中提供 PMKID,則驅動程式會略過 SAE 驗證並改為執行 Open Authentication,然後重新關聯要求與 PMKID。
驗證流程
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,則驅動程式會執行下列動作:
- 驅動程式會執行 Open 驗證,並在 (Re) 關聯要求中包含 PMKID。
- 如果裝置在短時間內未收到來自 AP 的回應,或 AP 在回應中傳回關聯錯誤,則驅動程式會略過此 AP 的 SE 驗證,並移至另一個 AP,或回復為此 AP 執行完整的 SAE 驗證。
SAE 連線完成之後,SAE 驗證/關聯就會完成。 如同之前,驅動程式會傳送下列有關連線或漫遊工作結論的指示:
錯誤處理
重新傳送 SAE 認可要求框架
如果驅動程式因逾時而需要重新傳送認可框架,它可以重新傳送 WDI 所提供的原始純量/元素值,或向 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。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應