Funkcje zabezpieczeń Androida

Korzystaj z funkcji opisanych w tej sekcji, aby zapewnić jak największe bezpieczeństwo urządzeń z Androidem, które tworzysz.

Piaskownica aplikacji

Platforma Android korzysta z ochrony opartej na użytkownikach systemu Linux, aby identyfikować i izolatować zasoby aplikacji. W tym celu Android przypisuje do każdej aplikacji na Androida unikalny identyfikator użytkownika (UID) i uruchamia ją w ramach własnego procesu. Android używa tego identyfikatora UID do konfigurowania Piaskownicy aplikacji na poziomie jądra.

Podpisywanie aplikacji

Podpisywanie aplikacji umożliwia deweloperom identyfikację autora aplikacji i jej aktualizowanie bez tworzenia skomplikowanych interfejsów i uprawnień. Każda aplikacja działająca na platformie Android musi być podpisana przez dewelopera.

Uwierzytelnianie

Android wykorzystuje koncepcję uwierzytelniania użytkownika, która umożliwia odblokowywanie urządzenia i wykonywanie innych zadań:

  • Subsystem bramkowy przeprowadza uwierzytelnianie za pomocą wzoru lub hasła na urządzeniu w zaufanym środowisku wykonawczym (TEE).
  • Opcjonalny komponent Weaver przeprowadza uwierzytelnianie za pomocą wzoru lub hasła w oddzielnym bezpiecznym elemencie.
  • Urządzenia z czytnikiem linii papilarnych obsługują zarejestrowane odciski palców.
  • Urządzenia mogą obsługiwać uwierzytelnianie twarzą.

Android obsługuje też klucze kryptograficzne obsługiwane sprzętowo, których można używać tylko wtedy, gdy nastąpiło uwierzytelnianie użytkownika za pomocą jednego z tych mechanizmów.

Biometria

Android 9 lub nowszy zawiera klasę BiometricPrompt, której deweloperzy aplikacji mogą używać do integracji uwierzytelniania biometrycznego w swoich aplikacjach niezależnie od urządzenia i modalności. Z usługą BiometricPrompt można zintegrować tylko silne dane biometryczne.

Szyfrowanie

Po zaszyfrowaniu urządzenia wszystkie dane utworzone przez użytkownika są automatycznie szyfrowane przed zapisaniem na dysku, a wszystkie odczyty automatycznie odszyfrowywane przed przekazaniem do procesu wywołania. Szyfrowanie zapewnia, że nawet jeśli nieupoważniona osoba spróbuje uzyskać dostęp do danych, nie będzie mogła ich odczytać.

Magazyn kluczy

Android udostępnia sprzętowy magazyn kluczy, który zapewnia funkcje kryptograficzne, a materiał klucza jest przechowywany w bezpiecznym środowisku. Keystore na Androidzie obsługuje generowanie i importowanie zarówno symetrycznych, jak i asymetrycznych kluczy w połączeniu z primitivem szyfrowania, odszyfrowania, podpisywania i umowy klucza.

Bezpieczeństwo – Linuks z ulepszonym bezpieczeństwem

W ramach modelu zabezpieczeń Androida system ten używa systemu Security Enhanced Linux (SELinux) do wymuszania obowiązkowej kontroli dostępu (MAC) w odniesieniu do wszystkich procesów, nawet tych działających z przywilejami roota lub superużytkownika (możliwości systemu Linux).

Trusty TEE

Trusty to bezpieczny system operacyjny, który zapewnia środowisko TEE dla Androida. System operacyjny Trusty działa na tym samym procesorze co system operacyjny Android, ale jest odizolowany od reszty systemu zarówno pod względem sprzętowym, jak i programowym.

Weryfikacja podczas uruchamiania

Weryfikacja podczas uruchamiania ma na celu zapewnienie, że cały uruchomiony kod pochodzi z zaufanego źródła (zwykle od producentów OEM urządzeń) i nie jest wynikiem ataku lub uszkodzenia. Weryfikacja podczas uruchamiania ustanawia pełny łańcuch zaufania, począwszy od chronionego sprzętowo korzenia zaufania, przez program rozruchowy, partycję rozruchową i inne zweryfikowane partycje.