WPA3 i Enhanced Open w sieci Wi-Fi

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 Security 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 pakietów szyfrów. WPA3 składa się z 2 części:

  • WPA3-Personal: zamiast klucza PSK używa jednoczesnego uwierzytelniania równorzędnego (SAE), co zapewnia 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 bezpieczeństwa dla środowisk o wysokich wymaganiach w zakresie 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 sieciach bez hasła w takich miejscach jak kawiarnie, hotele, restauracje i biblioteki. Enhanced Open 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. Ponieważ wiele urządzeń nie obsługuje jeszcze tych standardów lub nie zostało zaktualizowanych do wersji oprogramowania, która je obsługuje, 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 łączą się za pomocą WPA3, a urządzenia z Androidem 9 lub starszym łączą się z tym samym punktem dostępu za pomocą WPA2.
  • 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 łączą się za pomocą 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, tylko WPA3. Gdy urządzenie otrzyma to wskazanie, używa WPA3 do połączenia się z siecią WPA3, która obsługuje tryb przejścia. 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 obsługiwać WPA3 i Wi-Fi Enhanced Open, zaimplementuj interfejs Supplicant HAL. Od Androida 13 interfejs używa języka definiowania interfejsu Androida (AIDL) do definiowania HAL. W wersjach wcześniejszych niż Android 13 interfejsy i partycje dostawcy używają języka definiowania interfejsu HAL (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 mieć:

  • Patche jądra Linuksa obsługujące SAE i OWE
    • cfg80211
    • nl80211
  • wpa_supplicant z obsługą SAE, SUITEB192 i OWE
  • Sterownik 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ślenie, czy urządzenie obsługuje te funkcje:

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łączanie WPA3 i Wi-Fi Enhanced Open

Aby włączyć WPA3-Personal, WPA3-Enterprise i Wi-Fi Enhanced Open w frameworku Androida:

  • WPA3-Personal: w pliku konfiguracji wpa_supplicant uwzględnij opcję kompilacji CONFIG_SAE.

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-Enterprise: w pliku konfiguracji wpa_supplicant uwzględnij opcje kompilacji CONFIG_SUITEB192 i CONFIG_SUITEB.

    # 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 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.

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 tej funkcji.

atest WifiManagerTest

Testy VTS

Jeśli zaimplementowany jest interfejs HIDL, uruchom:

atest VtsHalWifiSupplicantV1_3TargetTest

Jeśli zaimplementowany jest interfejs AIDL, uruchom:

atest VtsHalWifiSupplicantStaIfaceTargetTest