Android 10 wprowadza obsługę standardów Wi-Fi Protected Access w wersji 3 (WPA3) i Wi-Fi Enhanced Open opracowanych przez Wi-Fi Alliance (WFA). Więcej informacji znajdziesz w sekcji Bezpieczeństwo na stronie WFA.
WPA3 to nowy standard zabezpieczeń WFA dla sieci osobistych i firmowych. Ma na celu zwiększenie ogólnego bezpieczeństwa sieci Wi-Fi dzięki wykorzystaniu nowoczesnych algorytmów zabezpieczeń i silniejszych pakietów szyfrujących. WPA3 składa się z 2 części:
- WPA3-Personal: zamiast klucza wstępnego (PSK) używa jednoczesnego uwierzytelniania równorzędnego (SAE), co zapewnia użytkownikom większe bezpieczeństwo i lepszą ochronę przed atakami, takimi jak ataki słownikowe offline, odzyskiwanie kluczy i fałszowanie wiadomości.
- WPA3-Enterprise: zapewnia silniejsze metody uwierzytelniania i szyfrowania warstwy łącza oraz opcjonalny 192-bitowy tryb zabezpieczeń dla środowisk o wysokich wymaganiach w zakresie bezpieczeństwa.
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 bez hasła w takich miejscach jak kawiarnie, hotele, restauracje i biblioteki. Ulepszone otwieranie nie zapewnia uwierzytelniania.
WPA3 i Wi-Fi Enhanced Open 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 ma jeszcze aktualizacji oprogramowania, które by je obsługiwały. WFA zaproponowała te tryby przejścia:
- Tryb przejścia WPA2/WPA3: punkt dostępu obsługuje jednocześnie standardy WPA2 i WPA3. W tym trybie urządzenia z Androidem 10 używają protokołu WPA3, a urządzenia z Androidem 9 lub starszym używają protokołu WPA2 do łączenia się z tym samym punktem dostępu.
- Tryb przejścia WPA2/WPA3-Enterprise: punkt dostępu obsługuje jednocześnie standardy WPA2-Enterprise i WPA3-Enterprise.
- Tryb przejścia OWE: punkt dostępu obsługuje jednocześnie standardy OWE i otwarte. W tym trybie urządzenia z Androidem 10 używają do łączenia się protokołu 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, mechanizm, który nakazuje urządzeniu nie używać WPA2, a zamiast tego używać WPA3. Gdy urządzenie otrzyma tę informację, użyje WPA3 do połączenia się z siecią WPA3, która obsługuje tryb przejściowy. Android 12 obsługuje też wymianę uwierzytelniającą 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 obsługiwać WPA3 i Wi-Fi Enhanced Open, zaimplementuj interfejs HAL Supplicant.
Od Androida 13 interfejs używa AIDL do definiowania HAL.
W przypadku wersji starszych niż Android 13 interfejsy i partycje dostawców korzystają z HIDL.
Interfejs HIDL znajdziesz w hardware/interfaces/wifi/supplicant/1.3/
, a interfejs AIDL – w hardware/interfaces/wifi/supplicant/aidl/
.
Aby obsługiwać WPA3 i OWE, musisz spełnić te wymagania:
Poprawki jądra systemu Linux obsługujące SAE i OWE
- cfg80211
- nl80211
wpa_supplicant
z obsługą SAE, SUITEB192 i OWESterownik Wi-Fi z obsługą 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
W Androidzie 10 dostępne są publiczne metody interfejsu API, które umożliwiają aplikacjom określanie, 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, szyfry grupowe, szyfry zarządzania grupami i szyfry Suite B, które są wymagane w przypadku OWE, WPA3-Personal i WPA3-Enterprise.
Włącz WPA3 i Wi-Fi Enhanced Open
Aby włączyć WPA3-Personal, WPA3-Enterprise i Wi-Fi Enhanced Open w ramach Androida:
WPA3-Personal: dodaj opcję kompilacji
CONFIG_SAE
dowpa_supplicant
pliku konfiguracji.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: w pliku konfiguracji
wpa_supplicant
uwzględnij opcje kompilacjiCONFIG_SUITEB192
iCONFIG_SUITEB
.# 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 te protokoły nie są włączone, użytkownicy nie będą mogli ręcznie dodawać, skanować ani łączyć się z tego typu sieciami.
Weryfikacja
Aby przetestować wdrożenie, przeprowadź te testy.
Testy jednostkowe
Uruchom
SupplicantStaIfaceHalTest
, aby sprawdzić zachowanie flag funkcji WPA3 i OWE.
atest SupplicantStaIfaceHalTest
Uruchom
WifiManagerTest
aby sprawdzić działanie publicznych interfejsów API tej funkcji.
atest WifiManagerTest
Testy VTS
Jeśli interfejs HIDL jest zaimplementowany, uruchom to polecenie:
atest VtsHalWifiSupplicantV1_3TargetTest
Jeśli interfejs AIDL jest zaimplementowany, uruchom:
atest VtsHalWifiSupplicantStaIfaceTargetTest