Android 10 引入了对 Wi-Fi 联盟 (WFA) 的 Wi-Fi Protected Access version 3 (WPA3) 和 Wi-Fi Enhanced Open 标准的支持。有关更多信息,请参阅 WFA 网站上的 安全性。
WPA3 是 WFA 针对个人和企业网络的新安全标准。它旨在通过使用现代安全算法和更强大的密码套件来提高整体 Wi-Fi 安全性。WPA3 有两个部分
- WPA3-个人版: 使用同步同等实体鉴别 (SAE) 而不是预共享密钥 (PSK),从而为用户提供更强大的安全保护,以抵御离线字典攻击、密钥恢复和消息伪造等攻击。
- WPA3-企业版: 提供更强大的身份验证和链路层加密方法,以及针对敏感安全环境的可选 192 位安全模式。
Wi-Fi Enhanced Open 是 WFA 针对基于机会无线加密 (OWE) 的公共网络的新安全标准。它在咖啡馆、酒店、餐厅和图书馆等区域的开放式、非密码保护网络上提供加密和隐私保护。Enhanced Open 不提供身份验证。
WPA3 和 Wi-Fi Enhanced Open 提高了整体 Wi-Fi 安全性,针对已知攻击提供更好的隐私保护和稳健性。由于许多设备尚不支持这些标准或尚未进行软件升级以支持这些功能,因此 WFA 提出了以下过渡模式
- WPA2/WPA3 过渡模式: 服务接入点同时支持 WPA2 和 WPA3 标准。在此模式下,Android 10 设备使用 WPA3 进行连接,而运行 Android 9 或更低版本的设备使用 WPA2 连接到同一接入点。
- WPA2/WPA3-企业版过渡模式: 服务接入点同时支持 WPA2-企业版和 WPA3-企业版标准。
- OWE 过渡模式: 服务接入点同时支持 OWE 和开放标准。在此模式下,Android 10 设备使用 OWE 进行连接,而运行 Android 9 或更低版本的设备连接到同一接入点时没有任何加密。
Android 12 支持“过渡禁用”指示,这是一种指示设备不要使用 WPA2 而改用 WPA3 的机制。当设备收到此指示时,它会使用 WPA3 连接到支持过渡模式的 WPA3 网络。Android 12 还支持 WPA3 哈希到元素 (H2E) 身份验证交换。有关更多信息,请参阅 WPA3 规范。
WPA3 和 Wi-Fi Enhanced Open 仅在客户端模式下受支持。
实现
要支持 WPA3 和 Wi-Fi Enhanced Open,请实现 Supplicant HAL 接口。从 Android 13 开始,该接口使用 AIDL 进行 HAL 定义。对于 Android 13 之前的版本,接口和供应商分区使用 HIDL。HIDL 接口可在 hardware/interfaces/wifi/supplicant/1.3/
中找到,AIDL 接口可在 hardware/interfaces/wifi/supplicant/aidl/
中找到。
以下是支持 WPA3 和 OWE 所需的条件
支持 SAE 和 OWE 的 Linux 内核补丁
- cfg80211
- nl80211
wpa_supplicant
,支持 SAE、SUITEB192 和 OWE支持 SAE、SUITEB192 和 OWE 的 Wi-Fi 驱动程序
支持 SAE、SUITEB192 和 OWE 的 Wi-Fi 固件
支持 WPA3 和 OWE 的 Wi-Fi 芯片
Android 10 中提供了公共 API 方法,允许应用确定设备对这些功能的支持情况
WifiManager#isWpa3SaeSupported
WifiManager#isWpa3SuiteBSupported
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
包含新的密钥管理类型,以及成对密码、组密码、组管理密码和 Suite B 密码,这些是 OWE、WPA3-个人版和 WPA3-企业版所必需的。
启用 WPA3 和 Wi-Fi Enhanced Open
要在 Android 框架中启用 WPA3-个人版、WPA3-企业版和 Wi-Fi Enhanced Open
WPA3-个人版: 在
wpa_supplicant
配置文件 中包含CONFIG_SAE
编译选项。# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-企业版: 在
wpa_supplicant
配置文件中包含CONFIG_SUITEB192
和CONFIG_SUITEB
编译选项。# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Wi-Fi Enhanced Open: 在
wpa_supplicant
配置文件中包含CONFIG_OWE
编译选项。# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
如果未启用 WPA3-个人版、WPA3-企业版或 Wi-Fi Enhanced Open,用户将无法手动添加、扫描或连接到这些类型的网络。
验证
要测试您的实现,请运行以下测试。
单元测试
运行 SupplicantStaIfaceHalTest
以验证 WPA3 和 OWE 的功能标志的行为。
atest SupplicantStaIfaceHalTest
运行 WifiManagerTest
以验证此功能的公共 API 的行为。
atest WifiManagerTest
VTS 测试
如果实现了 HIDL 接口,请运行
atest VtsHalWifiSupplicantV1_3TargetTest
如果实现了 AIDL 接口,请运行
atest VtsHalWifiSupplicantStaIfaceTargetTest