WiFiCx Wi-Fi 7-Featureanforderungen
WiFiCx unterstützt Wi-Fi 7-Funktionen und bietet schnellere Verbindungsgeschwindigkeiten, geringere Latenz und verbesserte Sicherheit. WiFiCx ermöglicht Multi-Link Operation (MLO) mit Roaming-Differenzierung, um mehrere gleichzeitige Kanäle zum Wi-Fi-Zugangspunkt (AP) zu nutzen, sowie erweiterte Funktionen für WPA3-SAE-Authentifizierung und Opportunistic Wireless Encryption (OWE) mit GCMP-256-Verschlüsselung.
In diesem Artikel werden die Treiberänderungen beschrieben, die zur Unterstützung dieser Features erforderlich sind.
Erkennung von Wi-Fi 7-Funktionen
Der Treiber muss die WDI-Version 2.0.12 für die Wi-Fi 7-Verbindungseinrichtung unterstützen.
Um die Unterstützung für WLAN-MLO-Verbindungen anzugeben, muss der Treiber die folgenden Funktionen in der WIFI_STATION_CAPABILITIES-Struktur festlegen:
- Die Anzahl der Einträge in MLOAddressesList muss mit MaxMLOLinksSupported übereinstimmen. Dies gibt an, ob der Treiber MLO-Links einrichten kann.
- Die Anzahl der Einträge in AkmsList muss mit NumAkmsSupported übereinstimmen. Diese Liste sollte alle AKM-Suiten enthalten, die der Treiber unterstützt, und muss AKM 24 enthalten, wenn das Betriebssystem SAE mit einem 384-Bit-PMK unterstützen soll.
Um SAE-Verbindungen mit AKM 24 oder AKM 8 mit GCMP-256-Verschlüsselung zu unterstützen, muss der Treiber beim Aufrufen von WifiDeviceSetStationCapabilities die folgenden Verschlüsselungspaare zur Authentifizierung hinzufügen:
- In UnicastAlgorithmsList: DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256
- In MulticastMgmtAlgorithmsList: DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256
Um OWE-Verbindungen mit GCMP-256-Verschlüsselung zu unterstützen, muss der Treiber beim Aufrufen von WifiDeviceSetStationCapabilities das folgende Verschlüsselungspaar zur Authentifizierung hinzufügen:
- In UnicastAlgorithmsList: DOT11_AUTH_ALGO_OWE + DOT11_CIPHER_ALGO_GCMP_256
Frame-MAC-Adressen
Wenn der Treiber Management-Frames anzeigt, verwenden Sie die Link-MAC-Adresse. Verwenden Sie für Datenframes, einschließlich 4-Wege-Handshake und 802.1x-Authentifizierungsframes, die MLD-MAC-Adresse.
Bei Datenframes, einschließlich 4-Wege-Handshake und 802.1x-Authentifizierungsframes, ist die MAC-Adresse die MLD-Mac-Adresse.
Wenn Windows zufällige MAC-Adressen verwendet, stellt es eine Reihe zufälliger Adressen in WDI_TLV_CONFIGURED_MLO_LINK_MAC_ADDRESS bereit, wenn es die OID_WDI_TASK_DOT11_RESET-Aufgabe sendet.
AP-Ermittlung
Windows analysiert die Beacon-IEs für Multilink- und RNR-IEs. Wenn vorhanden, kennzeichnet es den AP als unterstützendes MLO.
Einrichten einer Multi-Link-Verbindung
Windows stellt eine Einstellung in der OID_WDI_TASK_CONNECT-Aufgabe bereit, die angibt, ob der Treiber mithilfe von MLO eine Verbindung herstellen kann. Diese Einstellung wird durch das MloConnectionSupported-Flag in WDI_TLV_CONNECTION_SETTINGS dargestellt. Wenn MloConnectionSupportedtrue ist, kann der Treiber nur die ADK und die Verschlüsselungspaare verwenden, die durch WDI_TLV_RSNA_AKM_CIPHER_SUITE in den OID_WDI_TASK_CONNECT- und OID_WDI_TASK_ROAM-Anforderungen angegeben sind. Die einzige Ausnahme ist, wenn die Authentifizierung/die Verschlüsselung nicht Teil des RSNA IE ist.
Für SAE-basierte Verbindungen legt Windows die AKM und die Verschlüsselung in der SAE Commit-Anforderung fest, die dem Treiber angibt, welche AKM und Verschlüsselung später in der Zuordnungsanforderung verwendet werden sollen.
Authentifizierung
Bei der SAE-Authentifizierung mit Wi-Fi 7 MLO legt Windows die AKM und die Verschlüsselung in WDI_TLV_SAE_COMMIT_PARAMS beim Aufruf von OID_WDI_SET_SAE_AUTH_PARAMS fest. Diese Werte werden in den TLVs WDI_TLV_RSNA_AKM_SUITE und WDI_TLV_CIPHER_ALGORITHM angegeben. Der Treiber verwendet diese Werte später in der Zuordnungsanforderung.
In der NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED-Angabe sollte der Treiber Folgendes festlegen:
- die BSSID (WDI_TLV_BSSID) an die Link-MAC-Adresse des AP.
- die LocalMloLinkBssId (WDI_TLV_MLO_LINK_BSSID) an die lokale Link-MAC-Adresse.
Schließen Sie beim Herstellen einer Verbindung für MLO die entsprechenden Multi-Link-IE(s) in die Authentifizierungsframes ein.
Zuordnung
Wenn Windows OID_WDI_TASK_CONNECT- und OID_WDI_TASK_ROAM-Aufgaben sendet, sollte sich der Treiber nur dann mit APs verbinden, die Wi-Fi 7 MLO verwenden, wenn der AP Multi-Link-Konnektivität mit den in WDI_TLV_RSNA_AKM_CIPHER_SUITE im TLV WDI_TLV_CONNECT_PARAMETERS aufgeführten AKMs unterstützt.
Der Treiber schließt die entsprechenden Multi-Link-IE(s) in die Zuordnungsframes ein, wenn eine Verbindung für MLO hergestellt wird. Beim Abschluss der Zuordnung überprüft Windows die Multilink-IEs in den Zuordnungsanforderungs-/Antwortframes in der NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT-Angabe, um festzustellen, ob MLO in der Verbindung verwendet wurde.
Windows erfordert, dass der Treiber die Zuordnungsanforderungs- und Antwortframes in WDI_TLV_ASSOCIATION_RESULT angibt, wenn NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT angegeben wird.
Für die Zuordnung mit Wi-Fi 7 MLO muss der Treiber die folgenden Werte in NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT festlegen:
- Die BSSID (WDI_TLV_BSSID) in WDI_TLV_ASSOCIATION_RESULT auf die MAC-Adresse der AP-Verknüpfung festlegen. Es sollte nur eine Instanz des AssociationResultsContainer-Eintrags in NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT vorhanden sein.
- Die LocalLinkBssId (WDI_TLV_MLO_LINK_BSSID) in WDI_TLV_ASSOCIATION_RESULT auf die lokale Link-MAC-Adresse festlegen.
Hinweis: Wenn die LocalLinkBssId nicht festgelegt ist, kann Windows MLO nicht für die Verbindung verwenden.
4-Wege-Handshake
Windows unterstützt GCMP-256 im 4-Wege-Handshake. Außerdem wurde die WDI-Schnittstelle aktualisiert, um beim Festlegen der GTK-/IGTK-/BIGTK-Schlüssel Linkinformationen bereitzustellen.
Beim Festlegen der Gruppenschlüssel (GTK/IGTK/BIGTK) für MLO-Verbindungen ruft Windows den OID_WDI_SET_ADD_CIPHER_KEYS-Befehl mit einem Array von Elementen auf, eines für jeden hinzugefügten Schlüssel.
Linkzustandsanzeige
Die NDIS_STATUS_WDI_INDICATION_LINK_STATE_CHANGE-Angabe enthält nun die folgenden Informationen pro Link in WDI_TLV_LINK_INFO:
- Link-ID
- Verbundenes Band/Kanal
- Received Signal Strength Indicator (RSSI)
- Aktuelle Bandbreite
- Aktueller Tx MCS
- Aktueller Rx MCS
Bei MLO-Verbindungen stellt die Linkzustandsanzeige Informationen für jeden Link bereit. Bei Nicht-MLO-Verbindungen werden Informationen für einen einzelnen Link bereitgestellt.
Abgrenzung
Der Treiber sendet die NDIS_STATUS_WDI_INDICATION_DISASSOCIATION-Angabe nur, wenn die Zuordnung aller Verknüpfungen aufgehoben wurde. Wenn der Treiber eine Verbindung mit einem neuen Link herstellt oder von einem aktuell verbundenen Link getrennt ist, sendet der Treiber einfach eine NDIS_STATUS_WDI_INDICATION_LINK_STATE_CHANGE-Benachrichtigung, um die Gruppe der Verknüpfungen zu aktualisieren, denen er derzeit zugeordnet ist.
Beim Senden der NDIS_STATUS_WDI_INDICATION_DISASSOCIATION-Angabe sollte der Treiber die MAC-Adresse in WDI_TLV_DISASSOCIATION_INDICATION_PARAMETERS als MLD-MAC-Adresse des AP festlegen.
SAE-Authentifizierungsänderungen
Senden eines SAE-Authentifizierungsframes
Die folgenden Typen und TLVs wurden für den OID_WDI_SET_SAE_AUTH_PARAMS-Befehl umbenannt:
- WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST wurde in WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS in der WDI_SAE_REQUEST_TYPE-Enumeration umbenannt.
- WDI_SAE_REQUEST_TYPE_CONFIRM_REQUEST wurde in WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS in der WDI_SAE_REQUEST_TYPE-Enumeration umbenannt.
- WDI_TLV_SAE_COMMIT_REQUEST wurde in WDI_TLV_SAE_COMMIT_PARAMS umbenannt. Dieser TLV wird verwendet, um sowohl Commit-Anforderungs- als auch Commit-Antwortframes zu senden.
- WDI_TLV_SAE_CONFIRM_REQUEST wurde in WDI_TLV_SAE_CONFIRM_PARAMS umbenannt. Dieser TLV wird zum Senden von Confirm-Anforderungs- und Confirm-Antwortframes verwendet.
Angeben eines SAE-Authentifizierungsframes
Die folgenden Typen und TLVs wurden für die NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED-Angabe umbenannt:
- WDI_SAE_INDICATION_COMMIT_RESPONSE wurde in WDI_SAE_INDICATION_COMMIT_FRAME in der WDI_SAE_INDICATION_TYPE-Enumeration umbenannt.
- WDI_SAE_INDICATION_CONFIRM_RESPONSE wurde in WDI_SAE_INDICATION_CONFIRM_FRAME in der WDI_SAE_INDICATION_TYPE-Enumeration umbenannt.
- WDI_TLV_SAE_COMMIT_RESPONSE wurde in WDI_TLV_SAE_COMMIT_FRAME umbenannt.
- WDI_TLV_SAE_CONFIRM_RESPONSE wurde in WDI_TLV_SAE_CONFIRM_FRAME umbenannt.
Im Aufruf von WDI_SET_SAE_AUTH_PARAMS stellt das Betriebssystem das AKM und die Verschlüsselung als optionale Parameter bereit, die der Treiber beim Senden der Zuordnungsanforderung verwendet. Die Kombination aus AKM/Verschlüsselung wird während des SAE-Austauschs bestimmt.
OWE-Verbindung
Bei OWE-Verbindungen prüft Windows, ob der AP die GCMP-256-Verschlüsselung unterstützt. Wird dies unterstützt, versucht Windows zunächst, die Gruppe 20 für die Zuordnung zu verwenden. Wenn der AP die Zuordnungsanforderung mit dem Fehler DOT11_FRAME_STATUS_UNSUPPORTED_FINITE_CYCLIC_GROUP (77) fehlschlägt, greift das Betriebssystem auf die Verwendung der Gruppe 19 für die Zuordnung zurück.
Zunächst legt das Betriebssystem die DH-Parameter für OWE in OID_WDI_TASK_CONNECT auf die Gruppe 20 fest. Wenn der AP die Zuordnungsanforderung mit einem nicht unterstützten Gruppenfehler fehlschlägt, sendet das Betriebssystem den OID_WDI_SET_OWE_DH_IE OID mit den aktualisierten OWE-Informationen für die Gruppe 19 an den Treiber. Der Treiber sollte die aktualisierten OWE-Informationen für die nächste Zuordnungsanforderung verwenden.
Hinweis: Damit das Betriebssystem den DOT11_FRAME_STATUS_UNSUPPORTED_FINITE_CYCLIC_GROUP-Fehler ordnungsgemäß verarbeitet, muss der Treiber auch den WDI-Status in der NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT-Angabe auf WDI_ASSOC_STATUS_ASSOC_FAILED_BY_PEER festlegen.