Android 10 引入了對 Wi-Fi 聯盟 (WFA) Wi-Fi 保護存取版本 3 (WPA3) 和 Wi-Fi 增強開放標準的支援。有關詳細信息,請參閱WFA 網站的安全性。
WPA3 是針對個人和企業網路的新 WFA 安全標準。它旨在透過使用現代安全演算法和更強大的密碼套件來提高整體 Wi-Fi 安全性。 WPA3 有兩個部分:
- WPA3-Personal:採用同步認證(SAE)取代預共享金鑰(PSK),為使用者提供更強的安全防護,防止離線字典攻擊、金鑰復原、訊息偽造等攻擊。
- WPA3-Enterprise:提供更強大的身份驗證和鏈路層加密方法,以及針對敏感安全環境的可選 192 位元安全模式。
Wi-Fi 增強開放是一種基於機會無線加密 (OWE) 的公共網路新 WFA 安全標準。它為咖啡館、酒店、餐廳和圖書館等區域的開放、無密碼保護的網路提供加密和隱私。增強型開放不提供身分驗證。
WPA3 和 Wi-Fi 增強開放性開放提高了 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 哈希到元素 (H2E) 身份驗證交換。有關詳細信息,請參閱WPA3 規範。
WPA3 和 Wi-Fi 增強開放僅在用戶端模式下支援。
執行
若要支援 WPA3 和 Wi-Fi 增強開放,請實作 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
包含新的金鑰管理類型,以及 OWE、WPA3-Personal 和 WPA3-Enterprise 所需的成對密碼、群組密碼、群組管理密碼和 Suite B 密碼。
啟用WPA3和Wi-Fi增強開放
若要在 Android 框架中啟用 WPA3-個人、WPA3-企業和 Wi-Fi 增強開放:
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 增強開啟:在
wpa_supplicant
設定檔中包含CONFIG_OWE
編譯選項。# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
如果未啟用 WPA3-個人、WPA3-企業或 Wi-Fi 增強開放,使用者將無法手動新增、掃描或連接到這些類型的網路。
驗證
若要測試您的實現,請執行以下測試。
單元測試
執行SupplicantStaIfaceHalTest
以驗證 WPA3 和 OWE 功能標誌的行為。
atest SupplicantStaIfaceHalTest
執行WifiManagerTest
以驗證此功能的公共 API 的行為。
atest WifiManagerTest
整合測試(ACTS)
若要執行整合測試,請使用 Android Comms Test Suite (ACTS) 檔案WifiWpa3OweTest.py
,該檔案位於tools/test/connectivity/acts_tests/tests/google/wifi
。
VTS 測試
如果實現了 HIDL 接口,則運行:
atest VtsHalWifiSupplicantV1_3TargetTest
如果實現了AIDL接口,則運行:
atest VtsHalWifiSupplicantStaIfaceTargetTest