Funkcje bezpieczeństwa Androida

Użyj funkcji opisanych w tej sekcji, aby opracowywane urządzenia z systemem Android były jak najbardziej bezpieczne.

Piaskownica aplikacji

Platforma Android wykorzystuje ochronę opartą na systemie Linux do identyfikowania i izolowania zasobów aplikacji. W tym celu system Android przypisuje unikalny identyfikator użytkownika (UID) do każdej aplikacji na Androida i uruchamia ją we własnym procesie. Android używa tego identyfikatora UID do skonfigurowania piaskownicy aplikacji na poziomie jądra.

Podpisywanie aplikacji

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

Uwierzytelnianie

System Android korzysta z koncepcji kluczy kryptograficznych bramkowanych przez uwierzytelnianie użytkownika, które wymagają przechowywania kluczy kryptograficznych i dostawcy usług oraz narzędzi uwierzytelniających użytkowników.

Na urządzeniach z czujnikiem odcisków palców użytkownicy mogą zarejestrować jeden lub więcej odcisków palców i używać tych odcisków do odblokowywania urządzenia i wykonywania innych zadań. Podsystem Gatekeeper wykonuje uwierzytelnianie według wzorca/hasła urządzenia w środowisku Trusted Execution Environment (TEE).

Android 9 i nowszy zawiera Protected Confirmation, który umożliwia użytkownikom formalne potwierdzanie krytycznych transakcji, takich jak płatności.

Biometria

Android 9 i nowsze zawierają interfejs API BiometricPrompt, którego deweloperzy aplikacji mogą używać do integrowania uwierzytelniania biometrycznego ze swoimi aplikacjami w sposób niezależny od urządzenia i modalności. Tylko silne biometryczne można zintegrować z BiometricPrompt .

Szyfrowanie

Po zaszyfrowaniu urządzenia wszystkie dane utworzone przez użytkownika są automatycznie szyfrowane przed przesłaniem ich na dysk, a wszystkie odczyty automatycznie odszyfrowują dane przed zwróceniem ich do procesu wywołującego. Szyfrowanie zapewnia, że ​​nawet jeśli nieupoważniona strona spróbuje uzyskać dostęp do danych, nie będzie w stanie ich odczytać.

Magazyn kluczy

Android oferuje wspierany sprzętowo magazyn kluczy, który zapewnia generowanie kluczy, importowanie i eksportowanie kluczy asymetrycznych, importowanie nieprzetworzonych kluczy symetrycznych, asymetryczne szyfrowanie i odszyfrowywanie z odpowiednimi trybami dopełniania i nie tylko.

Linux ze zwiększonymi zabezpieczeniami

W ramach modelu bezpieczeństwa systemu Android, system Android używa systemu Linux z ulepszonymi zabezpieczeniami (SELinux) do wymuszania obowiązkowej kontroli dostępu (MAC) we wszystkich procesach, nawet procesach uruchomionych z uprawnieniami root/superużytkownika (funkcje systemu Linux).

Trusty Trusted Execution Environment (TEE)

Trusty to bezpieczny system operacyjny (OS), który zapewnia Trusted Execution Environment (TEE) dla Androida. System operacyjny Trusty działa na tym samym procesorze, co system operacyjny Android, ale Trusty jest odizolowany od reszty systemu zarówno przez sprzęt, jak i oprogramowanie.

Zweryfikowany rozruch

Verified Boot dąży do tego, aby cały wykonywany kod pochodził z zaufanego źródła (zwykle OEM urządzenia), a nie od atakującego lub uszkodzenia. Ustanawia pełny łańcuch zaufania, począwszy od chronionego sprzętowo źródła zaufania, przez program ładujący, po partycję rozruchową i inne zweryfikowane partycje.