Zaufanie przy pierwszym użyciu (TOFU)

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

Tło

W porównaniu z sieciami osobistymi, które wymagają tylko hasła, sieci korporacyjne wykorzystują uwierzytelnianie infrastruktury klucza publicznego (PKI), co wymaga od klienta wstępnej instalacji certyfikatów. W systemie Android 11 lub starszym użytkownicy mogą wybrać opcję Nie sprawdzaj poprawności dla certyfikatu CA serwera w ustawieniach sieciowych, pomijając sprawdzanie poprawności certyfikatu po stronie serwera. Jednak w celu wzmocnienia bezpieczeństwa i zgodności ze specyfikacją WPA R2, Android 12 wprowadził wymóg sprawdzania poprawności certyfikatu serwera w sieciach korporacyjnych. Ten dodatkowy wymóg stworzył barierę dla użytkowników, którzy muszą zainstalować certyfikat CA dla takich sieci. TOFU umożliwia użytkownikom łączenie się z siecią korporacyjną opartą na PKI poprzez akceptację głównego urzędu certyfikacji.

Zachowanie funkcji

Urządzenia obsługujące TOFU wykazują 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świetli okno dialogowe (Rysunek 1), aby potwierdzić, czy sieć jest zaufana.

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

    • Jeśli dotkniesz Tak, połącz , urządzenie automatycznie skonfiguruje parametry bezpieczeństwa, połączy się z siecią i włączy 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łączonym automatycznym łączeniem

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

  1. Stuknij powiadomienie.

    Urządzenie wyświetli okno dialogowe (Rysunek 1), aby potwierdzić, czy sieć jest zaufana.

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

    • Jeśli dotkniesz Tak, połącz , urządzenie automatycznie skonfiguruje parametry bezpieczeństwa, połączy się z siecią i włączy 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 warstwy HAL suplikanta dostępne w projekcie Android Open Source Project (AOSP) pod /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant .

Następujące publiczne interfejsy API są dostępne w systemie Android 13 do użytku przez aplikacje:

Walidacja

Aby zweryfikować implementację TOFU na swoim urządzeniu, użyj następujących testów:

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest