WiFiCx Wi-Fi 7 기능 요구 사항
WiFiCx는 Wi-Fi 7 기능을 지원하여 더 빠른 연결 속도, 짧은 대기 시간 및 향상된 보안을 제공합니다. WiFiCx를 사용하면 로밍 차별화를 통해 MLO(Multi-Link Operation)를 통해 여러 동시 채널을 AP(Wi-Fi 액세스 지점)에 활용할 수 있으며, GCMP-256 암호화를 사용한 WPA3-SAE 인증 및 OWE(기회 무선 암호화)에 대한 향상된 기능을 사용할 수 있습니다.
이 문서에서는 이러한 기능을 지원하는 데 필요한 드라이버 변경 내용을 간략하게 설명합니다.
Wi-Fi 7 기능 검색
드라이버는 Wi-Fi 7 연결 설정에 대해 WDI 버전 2.0.12를 지원해야 합니다.
Wi-Fi MLO 연결에 대한 지원을 나타내려면 드라이버는 WIFI_STATION_CAPABILITIES 구조에서 다음 기능을 설정해야 합니다.
- MLOAddressesList의 항목 수는 드라이버가 MLO 링크를 설정할 수 있는지를 나타내는 MaxMLOLinksSupported와 일치해야 합니다.
- AkmsList의 항목 수는 NumAkmsSupported와 일치해야 합니다. 이 목록에는 드라이버가 지원하는 모든 AKM 제품군이 포함되어야 하며 OS가 384비트 PMK로 SAE를 지원해야 하는 경우 AKM 24를 포함해야 합니다.
GCMP-256 암호와 함께 AKM 24 또는 AKM 8을 사용하여 SAE 연결을 지원하려면 드라이버는 WifiDeviceSetStationCapabilities를 호출할 때 다음 인증 암호 쌍을 추가해야 합니다.
- UnicastAlgorithmsList: DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256
- MulticastMgmtAlgorithmsList에서: DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_GCMP_256
GCMP-256 암호와의 OWE 연결을 지원하려면 드라이버는 WifiDeviceSetStationCapabilities를 호출할 때 다음 인증 암호 쌍을 추가해야 합니다.
- UnicastAlgorithmsList: DOT11_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는 다중 링크 및 RNR ES에 대한 비콘 UI를 구문 분석합니다. 있는 경우 AP를 지원 MLO로 표시합니다.
다중 링크 연결 설정
Windows는 드라이버가 MLO를 사용하여 연결할 수 있는지 여부를 나타내는 OID_WDI_TASK_CONNECT 작업에 설정을 제공합니다. 이 설정은 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_SUITE 및 WDI_TLV_CIPHER_ALGORITHM LLV에 지정됩니다. 드라이버는 나중에 연결 요청에서 이러한 값을 사용합니다.
NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED 표시에서 드라이버는 다음을 수행해야 합니다.
- BSSID(WDI_TLV_BSSID)를 AP의 링크 MAC 주소로 설정합니다.
- LocalMloLinkBssId(WDI_TLV_MLO_LINK_BSSID)를 로컬 링크 MAC 주소로 설정합니다.
MLO에 연결할 때 인증 프레임에 적절한 다중 링크 IE를 포함합니다.
Association
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에 연결할 때 연결 프레임에 적절한 다중 링크 IE를 포함합니다. 연결 완료 시 Windows는 연결 요청/응답 프레임에 MLO가 사용되었는지 여부를 확인하기 위해 NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT 표시의 다중 링크 ES를 검사.
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 BSSID(WDI_TLV_BSSID)를 AP의 링크 MAC 주소로 설정합니다. NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULT AssociationResultsContainer 항목의 인스턴스는 하나만 있어야 합니다.
- WDI_TLV_ASSOCIATION_RESULT LocalLinkBssId(WDI_TLV_MLO_LINK_BSSID)를 로컬 링크 MAC 주소로 설정합니다.
참고: LocalLinkBssId가 설정되지 않은 경우 Windows는 연결에 MLO를 사용할 수 없습니다.
4방향 핸드셰이크
Windows는 4방향 핸드셰이크에서 GCMP-256을 지원합니다. 또한 GTK/IGTK/BIGTK 키를 설정할 때 링크 정보를 제공하도록 WDI 인터페이스를 업데이트했습니다.
MLO 연결에 대해 그룹 키(GTK/IGTK/BIGTK)를 설정할 때 Windows는 추가되는 각 키에 대해 하나씩 요소 배열을 사용하여 OID_WDI_SET_ADD_CIPHER_KEYS 명령을 호출합니다.
링크 상태 표시
이제 NDIS_STATUS_WDI_INDICATION_LINK_STATE_CHANGE 표시는 WDI_TLV_LINK_INFO 링크당 다음 정보를 제공합니다.
- 링크 ID
- 커넥트 대역/채널
- 수신된 신호 강도 표시기(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 인증 프레임 보내기
OID_WDI_SET_SAE_AUTH_PARAMS 명령에 대해 다음과 같은 형식 및 TLL의 이름이 바뀌었습니다.
- WDI_SAE_REQUEST_TYPE 열거형에서 WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST 이름이 바뀌었습니다.
- WDI_SAE_REQUEST_TYPE 열거형에서 WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS WDI_SAE_REQUEST_TYPE_CONFIRM_REQUEST 이름이 바뀌었습니다.
- WDI_TLV_SAE_COMMIT_REQUEST 이름을 WDI_TLV_SAE_COMMIT_PARAMS. 이 TLV는 커밋 요청 및 커밋-응답 프레임을 모두 보내는 데 사용됩니다.
- WDI_TLV_SAE_CONFIRM_PARAMS WDI_TLV_SAE_CONFIRM_REQUEST 이름이 바뀌었습니다. 이 TLV는 confirm-request 및 confirm-response 프레임을 모두 보내는 데 사용됩니다.
SAE 인증 프레임 표시
NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED 표시에 대해 다음과 같은 형식 및 TLL의 이름이 바뀌었습니다.
- WDI_SAE_INDICATION_TYPE 열거형에서 WDI_SAE_INDICATION_COMMIT_FRAME WDI_SAE_INDICATION_COMMIT_RESPONSE 이름이 바뀌었습니다.
- WDI_SAE_INDICATION_TYPE 열거형에서 WDI_SAE_INDICATION_CONFIRM_FRAME WDI_SAE_INDICATION_CONFIRM_RESPONSE 이름이 바뀌었습니다.
- WDI_TLV_SAE_COMMIT_FRAME WDI_TLV_SAE_COMMIT_RESPONSE 이름이 바뀌었습니다.
- WDI_TLV_SAE_CONFIRM_FRAME WDI_TLV_SAE_CONFIRM_RESPONSE 이름이 바뀌었습니다.
WDI_SET_SAE_AUTH_PARAMS 호출에서 OS는 연결 요청을 보낼 때 드라이버가 사용할 선택적 매개 변수로 AKM 및 암호화를 제공합니다. AKM/암호 조합은 SAE 교환 중에 결정됩니다.
OWE 연결
OWE 연결의 경우 AP가 GCMP-256 암호화를 지원하는 경우 Windows가 검사. 지원되는 경우 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 설정해야 합니다.