Korzystaj z funkcji opisanych w tej sekcji, aby jak najbardziej zwiększyć bezpieczeństwo opracowywanych przez siebie urządzeń z Androidem.
Piaskownica aplikacji
Platforma Android korzysta z ochrony opartej na użytkownikach systemu Linux, aby identyfikować i izolować zasoby aplikacji. W tym celu Android przypisuje każdej aplikacji 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 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żytkownika, które mogą odblokowywać urządzenie i wykonywać inne zadania:
- Podsystem Gatekeeper przeprowadza uwierzytelnianie wzoru lub hasła urządzenia w zaufanym środowisku wykonawczym (TEE).
- Opcjonalny komponent Weaver przeprowadza uwierzytelnianie za pomocą wzoru lub hasła w osobnym 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 po uwierzytelnieniu 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 rodzaju danych biometrycznych. Tylko silne dane biometryczne mogą być zintegrowane z 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 oparty na sprzęcie, który zapewnia funkcje kryptograficzne, a materiał klucza jest przechowywany w bezpiecznym środowisku. Android Keystore obsługuje generowanie i importowanie kluczy symetrycznych i asymetrycznych w połączeniu z szyfrowaniem, odszyfrowywaniem, podpisywaniem i uzgadnianiem kluczy.
Security-Enhanced Linux
W ramach modelu zabezpieczeń Androida system ten korzysta z Security-Enhanced Linux (SELinux), aby wymuszać obowiązkową kontrolę dostępu (MAC) we wszystkich procesach, nawet tych, które działają z uprawnieniami roota lub superużytkownika (funkcje systemu Linux).
Trusty TEE
Trusty TEE
Trusty to bezpieczny system operacyjny, który zapewnia TEE dla Androida. System Trusty OS działa na tym samym procesorze co system 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 uruchomiony kod pochodzi z zaufanego źródła (zwykle od producentów OEM urządzeń), a nie od osoby atakującej lub z uszkodzonego źródła. 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.