Android 10 wprowadza obsługę standardów Wi-Fi Alliance (WFA) Wi-Fi Protected Access w wersji 3 (WPA3) i Wi-Fi Enhanced Open. Aby uzyskać więcej informacji, zobacz Zabezpieczenia w witrynie WFA .
WPA3 to nowy standard bezpieczeństwa WFA dla sieci osobistych i firmowych. Ma na celu poprawę ogólnego bezpieczeństwa Wi-Fi poprzez zastosowanie nowoczesnych algorytmów bezpieczeństwa i silniejszych zestawów szyfrów. WPA3 składa się z dwóch części:
- WPA3-Personal: Używa jednoczesnego uwierzytelniania równości (SAE) zamiast klucza wstępnego (PSK), zapewniając użytkownikom silniejszą ochronę przed atakami, takimi jak ataki słownikowe offline, odzyskiwanie kluczy i fałszowanie wiadomości.
- WPA3-Enterprise: oferuje silniejsze metody uwierzytelniania i szyfrowania w warstwie łącza oraz opcjonalny 192-bitowy tryb bezpieczeństwa dla wrażliwych środowisk bezpieczeństwa.
Wi-Fi Enhanced Open to nowy standard bezpieczeństwa WFA dla sieci publicznych oparty na oportunistycznym szyfrowaniu bezprzewodowym (OWE). Zapewnia szyfrowanie i prywatność w otwartych, niechronionych hasłem sieciach w miejscach takich jak kawiarnie, hotele, restauracje i biblioteki. Enhanced Open nie zapewnia uwierzytelniania.
WPA3 i Wi-Fi Enhanced Open poprawiają ogólne bezpieczeństwo Wi-Fi, zapewniając lepszą prywatność i odporność na znane ataki. Ponieważ wiele urządzeń nie obsługuje jeszcze tych standardów lub nie ma jeszcze aktualizacji oprogramowania obsługujących te funkcje, WFA zaproponowało następujące tryby przejścia:
- Tryb przejściowy WPA2/WPA3: obsługujący punkt dostępowy obsługuje jednocześnie standardy WPA2 i WPA3. W tym trybie urządzenia z Androidem 10 używają WPA3 do łączenia się, a urządzenia z Androidem 9 lub starszym używają WPA2 do łączenia się z tym samym punktem dostępu.
- Tryb przejściowy WPA2/WPA3-Enterprise: obsługujący punkt dostępowy obsługuje jednocześnie standardy WPA2-Enterprise i WPA3-Enterprise.
- Tryb przejściowy OWE: obsługujący punkt dostępowy obsługuje jednocześnie standardy OWE i otwarte. W tym trybie urządzenia z systemem Android 10 używają OWE do łączenia się, a urządzenia z systemem Android 9 lub starszym łączą się z tym samym punktem dostępu bez żadnego szyfrowania.
Android 12 obsługuje wskaźnik wyłączenia przejścia, mechanizm, który instruuje urządzenie, aby nie używało WPA2 i zamiast tego używało WPA3. Kiedy urządzenie otrzyma to wskazanie, używa WPA3 do połączenia się z siecią WPA3 obsługującą tryb przejściowy. Android 12 obsługuje również wymianę uwierzytelniania WPA3 Hash-to-Element (H2E). Aby uzyskać więcej informacji, zapoznaj się ze specyfikacją WPA3 .
WPA3 i Wi-Fi Enhanced Open są obsługiwane tylko w trybie klienta.
Realizacja
Aby obsługiwać 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 wcześniejszych niż Android 13 interfejsy i partycje dostawców używają HIDL. Interfejs HIDL można znaleźć w hardware/interfaces/wifi/supplicant/1.3/
, a interfejs AIDL można znaleźć w hardware/interfaces/wifi/supplicant/aidl/
,
Do obsługi WPA3 i OWE wymagane są następujące elementy:
Poprawki do jądra Linuksa 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 systemie Android 10 dostępne są publiczne metody interfejsu API umożliwiające aplikacjom określanie obsługi następujących funkcji przez urządzenie:
-
WifiManager#isWpa3SaeSupported
-
WifiManager#isWpa3SuiteBSupported
-
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
zawiera nowe typy zarządzania kluczami, a także szyfry parami, szyfry grupowe, szyfry zarządzania grupami i szyfry Suite B, które są wymagane przez OWE, WPA3-Personal i WPA3-Enterprise.
Włączanie WPA3 i Wi-Fi Enhanced Open
Aby włączyć WPA3-Personal, WPA3-Enterprise i Wi-Fi Enhanced Open w systemie Android:
WPA3-Personal: dołącz opcję kompilacji
CONFIG_SAE
do pliku konfiguracyjnegowpa_supplicant
.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: Uwzględnij opcje kompilacji
CONFIG_SUITEB192
iCONFIG_SUITEB
w pliku konfiguracyjnymwpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Wi-Fi Enhanced Open: Uwzględnij opcję kompilacji
CONFIG_OWE
w pliku konfiguracyjnymwpa_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 są włączone, użytkownicy nie będą mogli ręcznie dodawać, skanować ani łączyć się z tymi typami sieci.
Walidacja
Aby przetestować implementację, uruchom następujące testy.
Testy jednostkowe
Uruchom SupplicantStaIfaceHalTest
, aby zweryfikować zachowanie flag możliwości dla WPA3 i OWE.
atest SupplicantStaIfaceHalTest
Uruchom WifiManagerTest
aby zweryfikować zachowanie publicznych interfejsów API dla tej funkcji.
atest WifiManagerTest
Test integracyjny (ACTS)
Aby uruchomić test integracji, użyj pliku Android Comms Test Suite (ACTS) WifiWpa3OweTest.py
znajdującego się w tools/test/connectivity/acts_tests/tests/google/wifi
.
testy VTS
Jeśli zaimplementowano interfejs HIDL, uruchom:
atest VtsHalWifiSupplicantV1_3TargetTest
Jeśli interfejs AIDL jest zaimplementowany, uruchom:
atest VtsHalWifiSupplicantStaIfaceTargetTest