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 zabezpieczeń WFA dla sieci osobistych i firmowych. Ma na celu poprawę ogólnego bezpieczeństwa Wi-Fi za pomocą nowoczesnych algorytmów bezpieczeństwa i silniejszych mechanizmów szyfrowania. WPA3 składa się z dwóch części:
- WPA3-Personal: Wykorzystuje jednoczesne uwierzytelnianie równych (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 warstwy łącza oraz opcjonalny 192-bitowy tryb zabezpieczeń dla wrażliwych środowisk 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, niechronionych hasłem sieciach w obszarach 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 uaktualnień oprogramowania obsługujących te funkcje, WFA zaproponowało następujące tryby przejścia:
- Tryb przejścia WPA2/WPA3: obsługujący punkt dostępowy obsługuje jednocześnie standardy WPA2 i WPA3. W tym trybie urządzenia z systemem Android 10 używają WPA3 do łączenia się, a urządzenia z systemem Android 9 lub niższym używają WPA2 do łączenia się z tym samym punktem dostępu.
- Tryb przejścia WPA2/WPA3-Enterprise: obsługujący punkt dostępowy obsługuje jednocześnie standardy WPA2-Enterprise i WPA3-Enterprise.
- Tryb przejścia OWE: obsługujący punkt dostępu obsługuje jednocześnie standardy OWE i otwarte. W tym trybie urządzenia z systemem Android 10 używają OWE do łączenia, a urządzenia z systemem Android 9 lub niższym łączą się z tym samym punktem dostępu bez żadnego szyfrowania.
Android 12 obsługuje wskaźnik Transition Disable, mechanizm, który instruuje urządzenie, aby nie używało WPA2 i zamiast tego używało WPA3. Gdy urządzenie otrzyma to wskazanie, używa WPA3 do łączenia się z siecią WPA3, która obsługuje tryb przejściowy. Android 12 obsługuje również wymianę uwierzytelniania WPA3 Hash-to-Element (H2E). Więcej informacji można znaleźć w specyfikacji 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 systemu Android 13, interfejs używa AIDL dla definicji warstwy HAL. W przypadku wydań starszych 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:
Łatki 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
Układ Wi-Fi z obsługą WPA3 i OWE
Publiczne metody API są dostępne w systemie Android 10, aby umożliwić aplikacjom określenie obsługi tych 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 w przypadku 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: Dołącz opcję kompilacji
CONFIG_OWE
do pliku konfiguracyjnegowpa_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 tego typu sieciami.
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 integracji (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 interfejs HIDL jest zaimplementowany, uruchom:
atest VtsHalWifiSupplicantV1_3TargetTest
Jeśli interfejs AIDL jest zaimplementowany, uruchom:
atest VtsHalWifiSupplicantStaIfaceTargetTest