Ulepszone WPA3 i Wi-Fi otwarte

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

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

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

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