共用方式為


WiFiCx Wi-Fi 7 功能需求

WiFiCx 支援Wi-Fi 7功能,提供更快的連線速度、較低的延遲,以及改善的安全性。 WiFiCx 可讓具有漫遊差異的多連結作業 (MLO)利用多個同時通道到Wi-Fi存取點 (AP),以及使用 GCMP-256 加密的 WPA3-SAE 驗證和機會式無線加密 (OWE) 增強功能。

本文概述支持這些功能所需的驅動程序變更。

Wi-Fi 7 功能偵測

驅動程式必須支援 WDI 2.0.12 版的Wi-Fi 7 連線設定。

若要指出Wi-Fi MLO 連線的支援,驅動程式必須在 WIFI_STATION_CAPABILITIES 結構中設定下列功能:

  • MLOAddressesList 中的項目數目必須符合 MaxMLOLinksSupported,這表示驅動程式是否能夠設定 MLO 連結。
  • AkmsList 中的項目數目必須符合 NumAkmsSupported。 此列表應該包含驅動程序支援的所有 AKM 套件,如果 OS 預期支援具有 384 位 PMK 的 SAE,則必須包含 AKM 24。

若要支援使用 AKM 24 或 AKM 8 搭配 GCMP-256 加密的 SAE 連線,驅動程式必須在呼叫 WifiDeviceSetStationCapabilities 時新增下列驗證加密組:

  • UnicastAlgorithmsListDOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256
  • MulticastMgmtAlgorithmsListDOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256

若要支援 GCMP-256 加密的 OWE 連線,驅動程式必須在呼叫 WifiDeviceSetStationCapabilities 時新增下列驗證加密組:

  • UnicastAlgorithmsListDOT11_AUTH_ALGO_OWE + DOT11_CIPHER_ALGO_GCMP_256

框架 MAC 位址

當驅動程式指出管理框架時,請使用連結 MAC 位址。 針對數據框架,包括 4 向交握和 802.1x 驗證畫面,請使用 MLD MAC 位址。

對於數據框架,包括 4 向交握和 802.1x 驗證畫面,MAC 位址是 MLD Mac 位址。

當 Windows 使用隨機 MAC 位址時,它會在傳送OID_WDI_TASK_DOT11_RESET工作時,在 WDI_TLV_CONFIGURED_MLO_LINK_MAC_ADDRESS提供一組隨機位址。

AP 探索

Windows 會剖析 Multi-Link 和 RNR IE 的指標 IE。 如果有的話,它會將AP標示為支援MLO。

Windows 會在OID_WDI_TASK_CONNECT工作中提供設定,指出驅動程式是否可以使用 MLO 進行連線。 此設定是由 WDI_TLV_CONNECTION_SETTINGS 中的 Mlo 連線 ionSupported 旗標來表示。 當 Mlo 連線 ionSupported 為 true 時,驅動程式只能使用OID_WDI_TASK_CONNECT和OID_WDI_TASK_ROAM要求中WDI_TLV_RSNA_AKM_CIPHER_SUITE指定的 AKM 和加密組。 唯一的例外狀況是驗證/加密不是 RSNA IE 的一部分。

針對 SAE 型連線,Windows 會在 SAE 認可要求中設定 AKM 和加密,以告知驅動程式在關聯要求中稍後要使用的 AKM 和加密。

驗證

針對使用Wi-Fi 7 MLO的SAE驗證,Windows會在呼叫 OID_WDI_SET_SAE_AUTH_PARAMS時,在WDI_TLV_SAE_COMMIT_PARAMS設定AKM和加密。 這些值會在 WDI_TLV_RSNA_AKM_SUITEWDI_TLV_CIPHER_ALGORITHM TLV 中指定。 驅動程式稍後會在關聯要求中使用這些值。

NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED 指示中,驅動程序應該:

連接 MLO 時,請在驗證畫面中包含適當的 Multi-Link IE。。

關聯

當 Windows 傳送OID_WDI_TASK_CONNECT和OID_WDI_TASK_ROAM工作時,如果 AP 支援與WDI_TLV_CONNECT_PARAMETERS TLV WDI_TLV_RSNA_AKM_CIPHER_SUITE中列出的 AKM 進行多重連結連線,驅動程式應該只使用 Wi-Fi 7 MLO 連線至 AP。

驅動程式會在連接 MLO 時,在關聯框架中包含適當的 Multi-Link IE。。 在關聯完成時,Windows 會在NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT指示中檢查關聯要求/回應框架中的多重連結 ES,以判斷是否在連線中使用 MLO。

Windows 要求驅動程式在指出NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT時,指出WDI_TLV_ASSOCIATION_RESULT中的關聯要求和回應框架。

若要使用Wi-Fi 7 MLO 進行關聯,驅動程式必須在NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT中設定下列值:

  • WDI_TLV_ASSOCIATION_RESULT 中的 BSSIDWDI_TLV_BSSID) 設定為 AP 的連結 MAC 位址。 NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT中應該只有一個 AssociationResultsContainer 項目實例
  • WDI_TLV_ASSOCIATION_RESULT 中的 LocalLinkBssIdWDI_TLV_MLO_LINK_BSSID) 設定為本機連結 MAC 位址。

注意:如果未 設定LocalLinkBssId,Windows 就無法針對連線使用 MLO。

4 向交握

Windows 支援 4 向交握中的 GCMP-256。 它也更新了 WDI 介面,以在設定 GTK/IGTK/BIGTK 金鑰時提供連結資訊。

設定 MLO 連線的群組索引鍵 (GTK/IGTK/BIGTK) 時,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指示時,它應該將 WDI_TLV_DISASSOCIATION_INDICATION_PARAMETERS 中的 MAC 位址設定為 AP 的 MLD MAC 位址。

SAE 驗證變更

傳送SAE驗證框架

下列類型和 TLV 已針對 OID_WDI_SET_SAE_AUTH_PARAMS 命令重新命名:

指出SAE驗證框架

下列類型和 TLV 已針對NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED指示重新命名:

在呼叫 WDI_SET_SAE_AUTH_PARAMS 時,OS 會提供 AKM 和加密作為驅動程式在傳送關聯要求時將使用的選擇性參數。 AKM/加密組合將在 SAE 交換期間決定。

OWE 連線

針對 OWE 連線,Windows 會檢查 AP 是否支援 GCMP-256 加密。 如果支援,Windows 一開始會嘗試使用群組 20 進行關聯。 如果 AP 失敗,且錯誤 DOT11_FRAME_STATUS_UNSUPPORTED_FINITE_CYCLIC_GROUP (77),OS 會回復為使用群組 19 進行關聯。

一開始,OS 會將OID_WDI_TASK_CONNECT中 OWE 的 DH 參數設定為群組 20。 如果 AP 因不支援的群組錯誤而使關聯要求失敗,OS 會使用群組 19 更新的 OWE 資訊,將OID_WDI_SET_OWE_DH_IE OID 傳送至驅動程式。 驅動程式應針對下一個關聯要求使用更新的 OWE 資訊。

注意:若要讓OS正確處理DOT11_FRAME_STATUS_UNSUPPORTED_FINITE_CYCLIC_GROUP錯誤,驅動程式也必須將NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT指示中的WDI狀態設定為WDI_ASSOC_STATUS_ASSOC_FAILED_BY_PEER