Aby jak najbardziej zabezpieczyć opracowywane urządzenia z Androidem, skorzystaj z funkcji opisanych w tej sekcji.
Piaskownica aplikacji
Platforma Android wykorzystuje ochronę opartą na użytkownikach systemu Linux, aby identyfikować i izolować zasoby aplikacji. W tym celu Android przypisuje każdej aplikacji na Androida unikalny identyfikator użytkownika (UID) i uruchamia ją w osobnym procesie. Android używa tego identyfikatora UID do skonfigurowania piaskownicy aplikacji na poziomie jądra.
Podpisywanie aplikacji
Podpisywanie aplikacji umożliwia deweloperom identyfikowanie autora aplikacji i aktualizowanie jej bez tworzenia skomplikowanych interfejsów i uprawnień. Każda aplikacja działająca na platformie Android musi być podpisana przez dewelopera.
Uwierzytelnianie
Android ma koncepcję uwierzytelniaczy użytkowników, które mogą odblokowywać urządzenie i wykonywać inne zadania:
- Podsystem Gatekeeper przeprowadza uwierzytelnianie za pomocą kodu PIN, wzoru lub hasła w zaufanym środowisku wykonawczym (TEE).
- Opcjonalny komponent Weaver przeprowadza uwierzytelnianie za pomocą kodu PIN, wzoru lub hasła w osobnym bezpiecznym elemencie lub w zaufanym środowisku wykonawczym.
- Urządzenia z czytnikiem linii papilarnych obsługują używanie zarejestrowanych odcisków 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 uwierzytelnienie użytkownika za pomocą jednego z tych mechanizmów.
Biometria
Android 9 i nowsze wersje zawierają BiometricPrompt
klasę
, której deweloperzy aplikacji mogą używać do integrowania uwierzytelniania biometrycznego w swoich
aplikacjach w sposób niezależny od urządzenia i metody. Tylko silne metody biometryczne mogą być zintegrowane z klasą BiometricPrompt.
Szyfrowanie
Gdy urządzenie zostanie zaszyfrowane, wszystkie dane utworzone przez użytkownika będą automatycznie szyfrowane przed zapisaniem na dysku, a wszystkie odczyty będą automatycznie odszyfrowywać dane przed zwróceniem ich do procesu wywołującego. Dzięki szyfrowaniu, nawet jeśli nieupoważniona osoba spróbuje uzyskać dostęp do danych, nie będzie mogła ich odczytać.
Magazyn kluczy
Android oferuje magazyn kluczy obsługiwany sprzętowo, który zapewnia funkcje kryptograficzne, a materiał klucza jest przechowywany w bezpiecznym środowisku. Magazyn kluczy Androida obsługuje generowanie i importowanie kluczy symetrycznych i asymetrycznych oraz szyfrowanie, odszyfrowywanie, podpisywanie i prymitywy uzgadniania kluczy.
Security-Enhanced Linux
W ramach modelu zabezpieczeń Androida system ten używa Security-Enhanced Linux (SELinux) do egzekwowania obowiązkowej kontroli dostępu (MAC) we wszystkich procesach, nawet tych, które działają z uprawnieniami roota lub superużytkownika (możliwości Linuxa).
Trusty TEE
Trusty TEE
Trusty to bezpieczny system operacyjny, który zapewnia zaufane środowisko wykonawcze dla Androida. System operacyjny Trusty działa na tym samym procesorze co system operacyjny Android, ale jest odizolowany od reszty systemu zarówno sprzętowo, jak i programowo.
weryfikacja podczas uruchamiania
Weryfikacja podczas uruchamiania ma na celu zapewnienie, że cały wykonywany kod pochodzi z zaufanego źródła (zwykle od producentów OEM urządzeń) i nie jest wynikiem ataku lub uszkodzenia. Weryfikacja podczas uruchamiania tworzy pełny łańcuch zaufania, począwszy od chronionego sprzętowo głównego źródła zaufania, przez program rozruchowy, partycję rozruchową i inne zweryfikowane partycje.