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 sekcji Bezpieczeństwo na stronie WFA.
WPA3 to nowy standard bezpieczeństwa WFA dla sieci osobistych i firmowych. Ma on na celu poprawę ogólnego bezpieczeństwa Wi-Fi dzięki zastosowaniu nowoczesnych algorytmów bezpieczeństwa i silniejszych zestawów szyfrów. WPA3 składa się z 2 części:
- WPA3-Personal: używa jednoczesnej autentykacji równych (SAE) zamiast klucza wstępnego (PSK), zapewniając użytkownikom większą ochronę przed atakami takimi jak offline dictionary attacks, key recovery i message forging.
- WPA3-Enterprise: zapewnia silniejsze metody uwierzytelniania i szyfrowania na poziomie łącza oraz opcjonalny tryb zabezpieczeń 192-bitowych w środowiskach o wysokim poziomie zabezpieczeń.
Wi-Fi Enhanced Open to nowy standard WFA dotyczący zabezpieczeń sieci publicznych oparty na okazjonalnym 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 zapewnia uwierzytelniania.
WPA3 i ulepszona otwartość Wi-Fi zwiększają ogólne bezpieczeństwo Wi-Fi, zapewniając lepszą prywatność 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 do nawiązywania połączenia używają protokołu WPA3, a urządzenia z Androidem 9 lub starszym – protokołu WPA2.
- Tryb przejściowy WPA2/WPA3-Enterprise: punkt dostępu obsługujący standardy WPA2-Enterprise i WPA3-Enterprise.
- Tryb przejścia na OWE: punkt dostępu obsługujący wyświetlanie obsługuje jednocześnie standardy OWE i standardy otwarte. W tym trybie urządzenia z Androidem 10 łączą się z OWE, a urządzenia z Androidem 9 lub starszym łączą się z tym samym punktem dostępu bez szyfrowania.
Android 12 obsługuje wskazanie wyłączenia przejścia, czyli mechanizm, który instruuje urządzenie, aby nie używało WPA2, a zamiast tego używało WPA3. Gdy urządzenie otrzyma tę informację, łączy się z siecią WPA3 za pomocą WPA3, która obsługuje tryb przejściowy. Android 12 obsługuje też wymianę uwierzytelniania WPA3 Hash-to-Element (H2E). Więcej informacji znajdziesz w specyfikacji WPA3.
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.
Od Androida 13 interfejs używa AIDL do definiowania HAL.
W przypadku wersji starszych niż Android 13 interfejsy i partycje dostawcy korzystają z HIDL.
Interfejs HIDL można znaleźć 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 Linuksa do obsługi SAE i OWE.
- cfg80211
- nl80211
wpa_supplicant
z obsługą SAE, SUITEB192 i OWESterownik Wi-Fi obsługujący SAE, SUITEB192 i OWE
oprogramowanie układowe Wi-Fi z obsługą SAE, SUITEB192 i OWE;
Chip Wi-Fi z obsługą WPA3 i OWE
Publiczne metody interfejsu API są dostępne w Androidzie 10, aby umożliwić aplikacjom określanie obsługi tych funkcji na urządzeniu:
WifiManager#isWpa3SaeSupported
WifiManager#isWpa3SuiteBSupported
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
zawiera nowe typy zarządzania kluczami, a także szyfry parowe, szyfry grupowe, szyfry do zarządzania grupami i szyfry Suite B, które są wymagane w przypadku szyfrowania OWE, WPA3-Personal i WPA3-Enterprise.
Włącz WPA3 i ulepszone otwarte Wi-Fi
Aby włączyć WPA3-Personal, WPA3-Enterprise i ulepszone zabezpieczenia sieci Wi-Fi w systemie Android:
WPA3-Personal: dodaj opcję kompilacji
CONFIG_SAE
w pliku konfiguracjiwpa_supplicant
.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: dodaj opcje kompilacji
CONFIG_SUITEB192
iCONFIG_SUITEB
do pliku konfiguracjiwpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Wi-Fi Enhanced Open: w pliku konfiguracji
wpa_supplicant
uwzględnij opcję kompilacjiCONFIG_OWE
.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Jeśli nie włączysz sieci WPA3-Personal, WPA3-Enterprise ani Wi-Fi Enhanced Open, użytkownicy nie będą mogli ręcznie dodawać, skanować ani łączyć się z tymi typami sieci.
Weryfikacja
Aby przetestować implementację, uruchom te testy.
Testy jednostkowe
Uruchom SupplicantStaIfaceHalTest
, aby sprawdzić działanie flag możliwości w przypadku WPA3 i OWE.
atest SupplicantStaIfaceHalTest
Uruchom WifiManagerTest
, aby sprawdzić działanie publicznych interfejsów API w przypadku tej funkcji.
atest WifiManagerTest
Testy VTS
Jeśli interfejs HIDL jest zaimplementowany, uruchom polecenie:
atest VtsHalWifiSupplicantV1_3TargetTest
Jeśli interfejs AIDL jest zaimplementowany, uruchom:
atest VtsHalWifiSupplicantStaIfaceTargetTest