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 artykule Bezpieczeństwo na stronie WFA.

WPA3 to nowy standard zabezpieczeń WFA dla sieci osobistych i firmowych. Mają one na celu poprawę ogólnego bezpieczeństwa sieci Wi-Fi przez wykorzystanie nowoczesnych algorytmów zabezpieczeń i silniejszych zestawów szyfrów. Protokół WPA3 składa się z 2 części:

  • WPA3-Personal: zamiast klucza PSK (WPA3-Personal) używa uwierzytelniania równoczesnego równania, co zapewnia użytkownikom silniejszą ochronę przed atakami, takimi jak ataki ze słownikiem offline, odzyskiwanie kluczy czy fałszowanie wiadomości.
  • WPA3-Enterprise: oferuje silniejsze metody uwierzytelniania i szyfrowania w warstwie linków oraz opcjonalny 192-bitowy tryb zabezpieczeń w przypadku poufnych środowisk zabezpieczeń.

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 niechronionych hasłem w takich miejscach jak kawiarnie, hotele, restauracje i biblioteki. Ulepszone otwieranie nie obsługuje uwierzytelniania.

WPA3 i Wi-Fi Enhanced Open zwiększają ogólne bezpieczeństwo sieci Wi-Fi, zapewniając lepszą ochronę prywatności 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 korzystają z protokołu WPA3, a urządzenia z Androidem 9 lub starszym używają WPA2 do łączenia się z tym samym punktem dostępu.
  • Tryb przejścia WPA2/WPA3-Enterprise: punkt dostępu obsługującego obsługuje równocześnie standardy WPA2-Enterprise i WPA3-Enterprise.
  • Tryb przejścia OWE: punkt dostępu obsługującego obsługuje jednocześnie zarówno standard OWE, jak i otwarty. W tym trybie urządzenia z Androidem 10 komunikują się z użyciem OWE, a urządzenia z Androidem 9 lub starszym łączą się z tym samym punktem dostępu bez szyfrowania.

Android 12 obsługuje funkcję wyłączenia przenoszenia, czyli mechanizm, który instruuje urządzenie, aby nie używało WPA2 i zamiast tego używało WPA3. Gdy urządzenie otrzyma to oznaczenie, użyje WPA3 do połączenia 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.

Zabezpieczenia 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. Począwszy od Androida 13 interfejs używa AIDL do definicji HAL. W przypadku wersji starszych niż Android 13 interfejsy i partycje dostawców używają HIDL. Interfejs HIDL znajduje się 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 systemu Linux obsługujące SAE i OWE

    • cfG80211
    • nl80211
  • wpa_supplicant z obsługą SAE, SUITEB192 i OWE

  • Sterownik Wi-Fi obsługujący SAE, SUITEB192 i OWE

  • Oprogramowanie Wi-Fi z obsługą SAE, SUITEB192 i OWE

  • Układ Wi-Fi z obsługą WPA3 i OWE

Publiczne metody interfejsu API są dostępne w Androidzie 10, aby umożliwić aplikacjom określenie, czy urządzenie obsługuje te funkcje:

WifiConfiguration.java zawiera nowe typy zarządzania kluczami, a także szyfry parowe i grupowe oraz szyfry zarządzania grupami i szyfrów pakietu B, które są wymagane w usługach OWE, WPA3-Personal i WPA3-Enterprise.

Włącz WPA3 i Wi-Fi Enhanced Open

Aby włączyć WPA3-Personal, WPA3-Enterprise i rozszerzone otwarte Wi-Fi w ramach Androida:

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

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

    # WPA3-Enterprise (SuiteB-192)
    CONFIG_SUITEB=y
    CONFIG_SUITEB192=y
    
  • Rozszerzone otwarcie Wi-Fi: umieść opcję kompilacji CONFIG_OWE w pliku konfiguracji wpa_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 będą włączone, użytkownicy nie będą mogli ręcznie dodawać sieci tego typu, skanować ich ani łączyć się z nimi.

Weryfikacja

Aby sprawdzić implementację, przeprowadź te testy.

Testy jednostkowe

Uruchom SupplicantStaIfaceHalTest, aby sprawdzić działanie flag możliwości WPA3 i OWE.

atest SupplicantStaIfaceHalTest

Uruchom polecenie WifiManagerTest, aby sprawdzić działanie publicznych interfejsów API na potrzeby tej funkcji.

atest WifiManagerTest

Testy VTS

Jeśli interfejs HIDL jest zaimplementowany, uruchom polecenie:

atest VtsHalWifiSupplicantV1_3TargetTest

Jeśli interfejs AIDL jest zaimplementowany, uruchom polecenie:

atest VtsHalWifiSupplicantStaIfaceTargetTest