Android 10 支援 Wi-Fi Alliance (WFA) Wi-Fi 保護存取權第 3 版 (WPA3) 和 Wi-Fi 強化版開放標準。詳情請參閱 WFA 網站上的安全性。
WPA3 是個人和企業網路適用的全新 WFA 安全性標準。其目的是透過使用新式安全演算法和更強大的密碼組合,改善整體 Wi-Fi 安全性。WPA3 包含兩個部分:
- WPA3-Personal:使用等於 (SAE) 的同步驗證,而非預先共用金鑰 (PSK),為使用者提供更強大的安全保護措施,防範離線字典攻擊、金鑰復原和訊息竊取等攻擊。
- WPA3-Enterprise:提供更強大的驗證和連結層加密方法,對於敏感安全環境也可選用 192 位元安全模式。
Wi-Fi Enhanced Open 是一種新的 WFA 安全標準,適用於以機會性無線加密 (OWE) 為基礎的公用網路。在咖啡廳、飯店、餐廳和圖書館等地點,這項功能可在未受密碼保護的開放網路上提供加密和隱私權。增強型開啟功能不會提供驗證。
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,請實作 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-Personal 和 WPA3-Enterprise 所需的密碼。
啟用 WPA3 和 Wi-Fi Enhanced Open
如要在 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
VTS 測試
如果已實作 HIDL 介面,請執行:
atest VtsHalWifiSupplicantV1_3TargetTest
如果已實作 AIDL 介面,請執行:
atest VtsHalWifiSupplicantStaIfaceTargetTest