Korzystaj z funkcji opisanych w tej sekcji, aby jak najbardziej zwiększyć bezpieczeństwo urządzeń z Androidem, na których działają Twoje aplikacje.
Piaskownica aplikacji
Platforma Androida 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 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 urządzenia w oddzielnym bezpiecznym elemencie lub w TEE.
- Zasady ograniczania liczby prób uwierzytelniania za pomocą kodu PIN, wzoru lub hasła na urządzeniu z Androidem są egzekwowane głównie w bezpiecznym elemencie lub TEE przez Gatekeeper i Weaver. Dostępny jest też opcjonalny dodatkowy ogranicznik szybkości oprogramowania.
- 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ą BiometricPromptklasę, 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 można zintegrować 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 (możliwości Linuxa).
Trusty TEE
Trusty to bezpieczny system operacyjny, który zapewnia zaufane środowisko wykonawcze (TEE) dla Androida. System Trusty OS działa na tym samym procesorze co 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.