Android 10 引入了對 Wi-Fi Alliance (WFA) Wi-Fi Protected Access version 3 (WPA3) 和 Wi-Fi Enhanced Open 標準的支持。有關詳細信息,請參閱WFA 站點上的安全性。
WPA3 是用於個人和企業網絡的新 WFA 安全標準。它旨在通過使用現代安全算法和更強大的密碼套件來提高整體 Wi-Fi 安全性。 WPA3 有兩個部分:
- WPA3-Personal:使用SAE代替預共享密鑰(PSK),為用戶提供更強的安全防護,抵禦離線字典攻擊、密鑰恢復、消息偽造等攻擊。
- WPA3-Enterprise:提供更強大的身份驗證和鏈路層加密方法,以及用於敏感安全環境的可選 192 位安全模式。
Wi-Fi Enhanced Open 是一種新的基於機會無線加密 (OWE) 的公共網絡 WFA 安全標準。它為咖啡館、酒店、餐館和圖書館等開放、無密碼保護的網絡提供加密和隱私保護。增強開放不提供身份驗證。
WPA3 和 Wi-Fi Enhanced Open 提高了整體 Wi-Fi 安全性,提供更好的隱私性和對已知攻擊的穩健性。由於許多設備尚不支持這些標准或尚未進行軟件升級以支持這些功能,因此 WFA 提出了以下過渡模式:
- WPA2/WPA3過渡模式:服務接入點同時支持WPA2和WPA3標準。在此模式下,Android 10 設備使用 WPA3 連接,運行 Android 9 或更低版本的設備使用 WPA2 連接到同一個接入點。
- WPA2/WPA3-Enterprise 過渡模式:服務接入點同時支持 WPA2-Enterprise 和 WPA3-Enterprise 標準。
- OWE 過渡模式:服務接入點同時支持 OWE 和開放標準。在此模式下,Android 10 設備使用 OWE 進行連接,而運行 Android 9 或更低版本的設備無需任何加密即可連接到同一個接入點。
Android 12 支持轉換禁用指示,這是一種指示設備不使用 WPA2 並改用 WPA3 的機制。當設備收到此指示時,它會使用 WPA3 連接到支持轉換模式的 WPA3 網絡。 Android 12 還支持 WPA3 Hash-to-Element (H2E) 身份驗證交換。有關詳細信息,請參閱WPA3 規範。
WPA3 和 Wi-Fi Enhanced Open 僅在客戶端模式下受支持。
執行
要支持 WPA3 和 Wi-Fi Enhanced Open,請在hardware/interfaces/wifi/supplicant/1.3/
處實現 Android 開源項目 (AOSP) 中提供的請求者 HAL 接口設計語言 (HIDL)。
支持 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
包含新的密鑰管理類型,以及 OWE、WPA3-Personal 和 WPA3-Enterprise 所需的成對密碼、組密碼、組管理密碼和 Suite B 密碼。
啟用 WPA3 和 Wi-Fi 增強打開
在 Android 框架中啟用 WPA3-Personal、WPA3-Enterprise 和 Wi-Fi Enhanced Open:
WPA3-Personal:在
wpa_supplicant
配置文件中包含CONFIG_SAE
編譯選項。# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise:在
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-Personal、WPA3-Enterprise 或 Wi-Fi Enhanced Open,用戶將無法手動添加、掃描或連接到這些類型的網絡。
驗證
要測試您的實現,請運行以下測試。
單元測試
運行SupplicantStaIfaceHalTest
以驗證 WPA3 和 OWE 的功能標誌的行為。
atest SupplicantStaIfaceHalTest
運行WifiManagerTest
以驗證此功能的公共 API 的行為。
atest WifiManagerTest
集成測試 (ACTS)
要運行集成測試,請使用位於tools/test/connectivity/acts_tests/tests/google/wifi
中的 Android Comms Test Suite (ACTS) 文件WifiWpa3OweTest.py
。
VTS 測試
運行VtsHalWifiSupplicantV1_3TargetTest
以測試請求者 HAL 1.3 的行為。
vts-tradefed run commandAndExit vts --skip-all-system-status-check --primary-abi-only --skip-preconditions --module VtsHalWifiSupplicantV1_3Target