Ulepszone WPA3 i Wi-Fi otwarte

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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 OWE

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

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 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: Dołącz opcję kompilacji CONFIG_OWE do pliku konfiguracyjnego 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 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