Zaufanie przy pierwszym użyciu (TOFU)

Na urządzeniach z Androidem 13 lub nowszym Android obsługuje podejście uwierzytelniania z zaufanym pierwszym użyciem (TOFU) (RFC7435), które pozwala użytkownikom zaufać sieci korporacyjnej (EAP) przez zainstalowanie głównego urzędu certyfikacji używanego przez serwer i ustawienie jego nazwy domeny w zapisanej sieci. TOFU umożliwia urządzeniu uzyskanie nieautoryzowanego klucza publicznego, gdy użytkownik po raz pierwszy łączy się z siecią korporacyjną, i zachowuje ten klucz na potrzeby kolejnych połączeń.

Tło

W przeciwieństwie do sieci osobistych, które wymagają jedynie hasła, sieci firmowe korzystają z uwierzytelniania w ramach infrastruktury klucza publicznego (PKI), co wymaga od klienta wstępnej instalacji certyfikatów. W Androidzie 11 lub starszym użytkownicy mogą wybrać opcję Nie weryfikuj dla certyfikatu CA serwera w ustawieniach sieci, omijając weryfikację certyfikatu po stronie serwera. Aby jednak zwiększyć bezpieczeństwo i zapewnić zgodność ze specyfikacją WPA R2, w Androidzie 12 wprowadzono wymóg weryfikacji certyfikatu serwera w sieciach korporacyjnych. Ten dodatkowy wymóg stanowił barierę dla użytkowników, ponieważ musieli oni instalować certyfikat CA dla takich sieci. Dzięki TOFU użytkownicy mogą łączyć się z siecią firmową opartą na protokole PKI, po prostu akceptując certyfikat głównego urzędu certyfikacji.

Opis funkcji

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

Łączenie z nową siecią za pomocą selektora sieci Wi-Fi

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

    Urządzenie wyświetla okno (rysunek 1) z prośbą o potwierdzenie, czy sieć jest zaufana.

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

    • Jeśli klikniesz Tak, połącz, urządzenie automatycznie skonfiguruje parametry zabezpieczeń, połączy się z siecią i włączy automatyczne łączenie z siecią.

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

    Okno funkcji TOFU

    Rysunek 1. Okno funkcji TOFU

Łączenie z istniejącą siecią z włączonym automatycznym łączeniem

Podczas łączenia się z siecią firmową, która ma włączone automatyczne połączenie, ale nie ma ważnego certyfikatu CA, urządzenie łączy się automatycznie, a następnie wyświetla trwałe (nieusuwalne) powiadomienie.

  1. Kliknij powiadomienie.

    Urządzenie wyświetla okno (rysunek 1) z prośbą o potwierdzenie, czy sieć jest zaufana.

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

    • Jeśli klikniesz Tak, połącz, urządzenie automatycznie skonfiguruje parametry zabezpieczeń, połączy się z siecią i włączy automatyczne łączenie z siecią.

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

Implementacja

Aby obsługiwać funkcję TOFU, zaimplementuj interfejsy HAL dostawcy udostępnione w ramach Projektu Android Open Source (AOSP) pod adresem /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant.

Na Androidzie 13 dostępne są te publiczne interfejsy API:

Weryfikacja

Aby sprawdzić wdrożenie TOFU na urządzeniu, przeprowadź te testy:

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest