Android 10 obsługuje standard Wi-Fi Protected Access w wersji 3 (WPA3) i rozszerzone otwarte standardy Wi-Fi Alliance (WFA). Więcej informacji znajdziesz w artykule Bezpieczeństwo na stronie WFA.
WPA3 to nowy standard zabezpieczeń WFA dla sieci osobistych i firmowych. Mają one na celu poprawę ogólnego bezpieczeństwa sieci Wi-Fi przez wykorzystanie nowoczesnych algorytmów zabezpieczeń i silniejszych zestawów szyfrów. Protokół WPA3 składa się z 2 części:
- WPA3-Personal: zamiast klucza PSK (WPA3-Personal) używa uwierzytelniania równoczesnego równania, co zapewnia użytkownikom silniejszą ochronę przed atakami, takimi jak ataki ze słownikiem offline, odzyskiwanie kluczy czy fałszowanie wiadomości.
- WPA3-Enterprise: oferuje silniejsze metody uwierzytelniania i szyfrowania w warstwie linków oraz opcjonalny 192-bitowy tryb zabezpieczeń w przypadku poufnych środowisk zabezpieczeń.
Wi-Fi Enhanced Open to nowy standard zabezpieczeń WFA dla sieci publicznych oparty na oportunistycznym szyfrowaniu bezprzewodowym (OWE). Zapewnia szyfrowanie i prywatność w otwartych sieciach niechronionych hasłem w takich miejscach jak kawiarnie, hotele, restauracje i biblioteki. Ulepszone otwieranie nie obsługuje uwierzytelniania.
WPA3 i Wi-Fi Enhanced Open zwiększają ogólne bezpieczeństwo sieci Wi-Fi, zapewniając lepszą ochronę prywatności i odporność na znane ataki. Wiele urządzeń nie obsługuje jeszcze tych standardów lub nie zostało jeszcze uaktualnionych oprogramowania obsługujących te funkcje, dlatego WFA zaproponowano następujące tryby przejścia:
- Tryb przejścia WPA2/WPA3: punkt dostępu obsługującego obsługuje jednocześnie standardy WPA2 i WPA3. W tym trybie urządzenia z Androidem 10 korzystają z protokołu WPA3, a urządzenia z Androidem 9 lub starszym używają WPA2 do łączenia się z tym samym punktem dostępu.
- Tryb przejścia WPA2/WPA3-Enterprise: punkt dostępu obsługującego obsługuje równocześnie standardy WPA2-Enterprise i WPA3-Enterprise.
- Tryb przejścia OWE: punkt dostępu obsługującego obsługuje jednocześnie zarówno standard OWE, jak i otwarty. W tym trybie urządzenia z Androidem 10 komunikują się z użyciem OWE, a urządzenia z Androidem 9 lub starszym łączą się z tym samym punktem dostępu bez szyfrowania.
Android 12 obsługuje funkcję wyłączenia przenoszenia, czyli mechanizm, który instruuje urządzenie, aby nie używało WPA2 i zamiast tego używało WPA3. Gdy urządzenie otrzyma to oznaczenie, użyje WPA3 do połączenia z siecią WPA3, która obsługuje tryb przejścia. Android 12 obsługuje też wymianę uwierzytelniania WPA3 Hash-to-Element (H2E). Więcej informacji znajdziesz w specyfikacji WPA3.
Zabezpieczenia WPA3 i Wi-Fi Enhanced Open są obsługiwane tylko w trybie klienta.
Implementacja
Aby zapewnić obsługę WPA3 i Wi-Fi Enhanced Open, zaimplementuj interfejs Supplicant HAL.
Począwszy od Androida 13 interfejs używa AIDL do definicji HAL.
W przypadku wersji starszych niż Android 13 interfejsy i partycje dostawców używają HIDL.
Interfejs HIDL znajduje się w hardware/interfaces/wifi/supplicant/1.3/
, a interfejs AIDL w hardware/interfaces/wifi/supplicant/aidl/
,
Do obsługi WPA3 i OWE wymagane są:
Poprawki jądra systemu Linux obsługujące SAE i OWE
- cfG80211
- nl80211
wpa_supplicant
z obsługą SAE, SUITEB192 i OWESterownik Wi-Fi obsługujący SAE, SUITEB192 i OWE
Oprogramowanie Wi-Fi z obsługą SAE, SUITEB192 i OWE
Układ Wi-Fi z obsługą WPA3 i OWE
Publiczne metody interfejsu API są dostępne w Androidzie 10, aby umożliwić aplikacjom określenie, czy urządzenie obsługuje te funkcje:
WifiManager#isWpa3SaeSupported
WifiManager#isWpa3SuiteBSupported
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
zawiera nowe typy zarządzania kluczami, a także szyfry parowe i grupowe oraz szyfry zarządzania grupami i szyfrów pakietu B, które są wymagane w usługach OWE, WPA3-Personal i WPA3-Enterprise.
Włącz WPA3 i Wi-Fi Enhanced Open
Aby włączyć WPA3-Personal, WPA3-Enterprise i rozszerzone otwarte Wi-Fi w ramach Androida:
WPA3-Personal: dodaj opcję kompilacji
CONFIG_SAE
w pliku konfiguracjiwpa_supplicant
.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: uwzględnij opcje kompilacji
CONFIG_SUITEB192
iCONFIG_SUITEB
w pliku konfiguracjiwpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Rozszerzone otwarcie Wi-Fi: umieść opcję kompilacji
CONFIG_OWE
w pliku konfiguracjiwpa_supplicant
.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Jeśli WPA3-Personal, WPA3-Enterprise lub Wi-Fi Enhanced Open nie będą włączone, użytkownicy nie będą mogli ręcznie dodawać sieci tego typu, skanować ich ani łączyć się z nimi.
Weryfikacja
Aby sprawdzić implementację, przeprowadź te testy.
Testy jednostkowe
Uruchom SupplicantStaIfaceHalTest
, aby sprawdzić działanie flag możliwości WPA3 i OWE.
atest SupplicantStaIfaceHalTest
Uruchom polecenie WifiManagerTest
, aby sprawdzić działanie publicznych interfejsów API na potrzeby tej funkcji.
atest WifiManagerTest
Testy VTS
Jeśli interfejs HIDL jest zaimplementowany, uruchom polecenie:
atest VtsHalWifiSupplicantV1_3TargetTest
Jeśli interfejs AIDL jest zaimplementowany, uruchom polecenie:
atest VtsHalWifiSupplicantStaIfaceTargetTest