WPA3 i Wi-Fi Enhanced Open

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_supplicantz obsługą SAE, SUITEB192 i OWE

  • Sterownik 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:

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 konfiguracji wpa_supplicant.

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-Enterprise: dodaj opcje kompilacji CONFIG_SUITEB192CONFIG_SUITEB do pliku konfiguracji wpa_supplicant.

    # WPA3-Enterprise (SuiteB-192)
    CONFIG_SUITEB=y
    CONFIG_SUITEB192=y
    
  • Wi-Fi Enhanced Open: w pliku konfiguracji wpa_supplicant uwzględnij opcję kompilacji CONFIG_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