windows网络适配器驱动开发-WPA3 SoftAP(一)
本文档是 WiFiCx WPA3 SoftAP 功能系列的第一部分,主要介绍该功能的背景、适用范围以及驱动程序向操作系统声明自身能力的具体方法。
一、功能背景与定位
WPA3 SoftAP 是 Windows WiFiCx 驱动程序模型中的一项安全增强特性,它允许无线网卡在 SoftAP(软件接入点)模式下启用 WPA3-SAE(Wi-Fi 受保护访问协议 3 - 同时对等身份验证)安全机制。该 SoftAP 可稳定运行于 2.4 GHz 或 5 GHz 频段,适用于移动热点、设备直连、会议投屏、物联网网关等对安全性要求较高的场景。该功能从 WDI 版本 2.0.11 和 WiFiCx 版本 1.1 起正式提供接口支持,并且仅面向 WiFiCx 驱动程序模型开放,传统基于 NDIS 的旧式驱动无法使用此功能,硬件厂商必须基于 WiFiCx 框架进行驱动改造。
二、转换模式与向后兼容
为了兼顾市场上大量仅支持 WPA2-PSK 的存量客户端设备,WPA3 SoftAP 引入了“转换模式”(Transition Mode)。在该模式下,SoftAP 会在信标帧和探测响应帧中同时广播 WPA2-PSK 和 WPA3-SAE 两种认证方法。新设备可以优先选择 WPA3-SAE 以获取更强的安全性(包括抗离线字典攻击和前向保密特性),而旧设备则自动回退到 WPA2-PSK 完成连接。这种双栈共存的设计极大降低了企业或个人的部署风险,使升级过程平滑无感,是当前混合终端环境下的首选方案。
三、能力声明(功能检测)
驱动程序在初始化过程中必须通过调用 WifiDeviceSetWiFiDirectCapabilities 函数,将自身的 SoftAP 能力准确报告给操作系统。报告的核心载体是 WIFI_WIFIDIRECT_CAPABILITIES 结构体中的 UnicastAlgorithms 列表。为了完整表达对 WPA3 转换模式的支持,该列表必须至少包含以下两项认证与加密算法对:
第一对:DOT11_AUTH_ALGO_WPA3_SAE + DOT11_CIPHER_ALGO_CCMP,表明驱动原生支持 WPA3-SAE;
第二对:DOT11_AUTH_ALGO_RSNA_PSK + DOT11_CIPHER_ALGO_CCMP,表明驱动兼容传统的 WPA2-PSK(RSNA)。
若驱动程序仅声明了第一对而未声明第二对,则操作系统将认定其为纯 WPA3 模式,不会下发转换模式的配置。反之,若两对同时存在,操作系统即认为驱动具备完整的转换模式能力,后续即可下发包含两种认证方式的 AP 启动参数。需要特别注意的是,该列表的声明必须在驱动初始化早期完成,一旦操作系统完成能力解析,后续动态修改将不会生效。
四、受保护管理帧(PMF)的隐式要求
操作系统并不会通过单独的 OID 标志位来指示 PMF 的开启与否,而是要求驱动程序根据已声明的认证算法自动推导 PMF 能力。具体推导规则如下:若仅声明 WPA2-PSK,则 PMF 非必需且驱动可不支持;若同时声明 WPA3-SAE 和 WPA2-PSK,则 PMF 并非强制但驱动必须具备支持 PMF 的能力(因为 WPA3 客户端强制要求 PMF);若仅声明 WPA3-SAE,则 PMF 为强制要求,驱动必须完整支持 PMF 的所有相关帧处理。只要驱动报告中包含了 WPA3-SAE,操作系统即默认要求其底层支持 PMF,不再额外查询。
