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 odróżnieniu od sieci osobistych, które wymagają tylko hasła, sieci korporacyjne używają uwierzytelniania z wykorzystaniem infrastruktury kluczy publicznych (PKI), co wymaga 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 firmową siecią opartą na protokole PKI, po prostu akceptując jej główny urząd certyfikacji.

Opis funkcji

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

Łą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 z siecią, lub Nie, nie łącz, aby odrzucić.

    • Jeśli klikniesz Tak, połącz, urządzenie automatycznie skonfiguruje parametry zabezpieczeń, połączy się z siecią i włączy automatyczne łączenie z tą 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 z siecią, lub Nie, nie łącz, aby odrzucić.

    • Jeśli klikniesz Tak, połącz, urządzenie automatycznie skonfiguruje parametry zabezpieczeń, połączy się z siecią i włączy automatyczne łączenie z tą 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 podania dostępne 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 zweryfikować implementację funkcji TOFU na urządzeniu, użyj tych testów:

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest