Zaufanie przy pierwszym użyciu (TOFU)

W przypadku urządzeń z systemem Android 13 lub nowszym system Android obsługuje metodę uwierzytelniania Trust on First Use (TOFU) ( RFC7435 ), która pozwala użytkownikom ufać sieci korporacyjnej (EAP) poprzez zainstalowanie głównego urzędu certyfikacji używanego przez serwer i ustawienie jego nazwy domeny w zapisana sieć. TOFU pozwala urządzeniu uzyskać nieuwierzytelniony klucz publiczny, gdy użytkownik po raz pierwszy łączy się z siecią firmową i zachować klucz do kolejnych połączeń.

Tło

W porównaniu do sieci osobistych, które wymagają jedynie hasła, sieci korporacyjne korzystają z uwierzytelniania infrastruktury kluczy publicznych (PKI), które wymaga od klienta wstępnej instalacji certyfikatów. W systemie Android 11 lub starszym użytkownicy mogą wybrać opcję Nie sprawdzaj poprawności certyfikatu CA serwera w ustawieniach sieciowych, pomijając weryfikację certyfikatu po stronie serwera. Aby jednak wzmocnić bezpieczeństwo i zachować zgodność ze specyfikacją WPA R2, w Androidzie 12 wprowadzono wymóg, aby sieci korporacyjne posiadały weryfikację certyfikatu serwera. Ten dodatkowy wymóg stworzył barierę dla użytkowników, ponieważ musieli zainstalować certyfikat CA dla takich sieci. TOFU umożliwia użytkownikom łączenie się z siecią korporacyjną opartą na PKI poprzez zwykłą akceptację głównego urzędu certyfikacji.

Zachowanie funkcji

Urządzenia obsługujące TOFU wyświetlają następujące zachowanie, gdy użytkownik łączy się z siecią firmową, która nie ma już zainstalowanego uwierzytelnionego klucza publicznego.

Połącz się z nową siecią za pomocą selektora Wi-Fi

  1. Wybierz nową sieć firmową w selektorze Wi-Fi.

    Urządzenie wyświetla okno dialogowe (rysunek 1), w którym można potwierdzić, czy sieć jest zaufana.

  2. Stuknij opcję Tak, połącz , aby zaakceptować połączenie sieciowe, lub opcję Nie, nie łącz, aby odrzucić.

    • Jeśli dotkniesz opcji Tak, połącz , urządzenie automatycznie skonfiguruje parametry zabezpieczeń, połączy się z siecią i umożliwi automatyczne łączenie z siecią.

    • Jeśli dotkniesz Nie, nie łącz , urządzenie rozłączy się z siecią i wyłączy automatyczne łączenie z siecią.

    Okno dialogowe funkcji TOFU

    Rysunek 1. Okno dialogowe funkcji TOFU

Połącz się z istniejącą siecią z włączoną funkcją automatycznego łączenia

Podczas łączenia się z siecią firmową, która ma włączoną funkcję automatycznego łączenia, ale nie ma ważnego certyfikatu urzędu certyfikacji, urządzenie łączy się automatycznie, a następnie wyświetla trwałe powiadomienie (niemożliwe do odrzucenia).

  1. Kliknij powiadomienie.

    Urządzenie wyświetla okno dialogowe (rysunek 1), w którym można potwierdzić, czy sieć jest zaufana.

  2. Stuknij opcję Tak, połącz , aby zaakceptować połączenie sieciowe, lub opcję Nie, nie łącz, aby odrzucić.

    • Jeśli dotkniesz opcji Tak, połącz , urządzenie automatycznie skonfiguruje parametry zabezpieczeń, połączy się z siecią i umożliwi automatyczne łączenie z siecią.

    • Jeśli dotkniesz Nie, nie łącz , urządzenie rozłączy się z siecią i wyłączy automatyczne łączenie z siecią.

Realizacja

Aby obsługiwać funkcję TOFU, zaimplementuj suplikacyjne warstwy HAL dostarczone w projekcie Android Open Source Project (AOSP) pod /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant .

W systemie Android 13 dostępne są następujące publiczne interfejsy API, z których mogą korzystać aplikacje:

Walidacja

Aby zweryfikować wdrożenie TOFU na swoim urządzeniu, skorzystaj z następujących testów:

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest