Mit den in diesem Abschnitt beschriebenen Funktionen können Sie die von Ihnen entwickelten Android-Geräte so sicher wie möglich machen.
Anwendungs-Sandbox
Die Android-Plattform nutzt den nutzerbasierten Schutz von Linux, um App-Ressourcen zu identifizieren und zu isolieren. Dazu weist Android jeder Android-App eine eindeutige Nutzer-ID (UID) zu und führt sie in einem eigenen Prozess aus. Android verwendet diese UID, um eine Anwendungs-Sandbox auf Kernelebene einzurichten.
App-Signatur
Mit der App-Signatur können Entwickler den Autor der App identifizieren und ihre App aktualisieren, ohne komplizierte Benutzeroberflächen und Berechtigungen erstellen zu müssen. Jede App, die auf der Android-Plattform ausgeführt wird, muss vom Entwickler signiert sein.
Authentifizierung
Android bietet Nutzerauthentifikatoren, mit denen das Gerät entsperrt und andere Aufgaben ausgeführt werden können:
- Das Gatekeeper-Subsystem führt die Gerätemuster- oder Passwortauthentifizierung in einer vertrauenswürdigen Ausführungsumgebung (Trusted Execution Environment, TEE) durch.
- Die optionale Weaver-Komponente führt die Muster- oder Passwortauthentifizierung in einem separaten sicheren Element durch.
- Geräte mit Fingerabdrucksensor unterstützen die Verwendung registrierter Fingerabdrücke.
- Geräte können die Gesichtserkennung unterstützen.
Android unterstützt auch hardwaregestützte kryptografische Schlüssel, die nur verwendet werden können, wenn eine Nutzerauthentifizierung mit einem dieser Mechanismen erfolgt ist.
Biometrische Verfahren
Android 9 und höher enthält die BiometricPrompt
-Klasse, mit der App-Entwickler die biometrische Authentifizierung geräte- und modalitätsunabhängig in ihre Apps einbinden können. Nur starke biometrische Verfahren können in BiometricPrompt
eingebunden werden.
Verschlüsselung
Sobald ein Gerät verschlüsselt ist, werden alle vom Nutzer erstellten Daten automatisch verschlüsselt, bevor sie auf die Festplatte geschrieben werden. Bei allen Lesevorgängen werden die Daten automatisch entschlüsselt, bevor sie an den aufrufenden Prozess zurückgegeben werden. Durch die Verschlüsselung wird sichergestellt, dass Unbefugte die Daten nicht lesen können, auch wenn sie versuchen, darauf zuzugreifen.
Schlüsselspeicher
Android bietet einen hardwaregestützten Schlüsselspeicher, der kryptografische Funktionen bietet, bei denen das Schlüsselmaterial in einer sicheren Umgebung gespeichert ist. Der Android Keystore unterstützt die Generierung und den Import sowohl symmetrischer als auch asymmetrischer Schlüssel in Kombination mit Primitives für Verschlüsselung, Entschlüsselung, Signatur und Schlüsselvereinbarung.
Security-Enhanced Linux
Im Rahmen des Android-Sicherheitsmodells verwendet Android Security-Enhanced Linux (SELinux), um die obligatorische Zugriffssteuerung (MAC) für alle Prozesse durchzusetzen, auch für Prozesse, die mit Root- oder Superuser-Berechtigungen (Linux-Funktionen) ausgeführt werden.
Trusty TEE
Trusty ist ein sicheres Betriebssystem, das eine TEE für Android bietet. Das Trusty-Betriebssystem wird auf demselben Prozessor wie das Android-Betriebssystem ausgeführt, ist aber sowohl durch Hardware als auch durch Software vom Rest des Systems isoliert.
Verified Boot
Der verifizierte Bootmodus soll dafür sorgen, dass der gesamte ausgeführte Code von einer vertrauenswürdigen Quelle stammt (normalerweise Geräte-OEMs), und nicht von einem Angreifer oder einer Korruption. Der verifizierte Bootmodus stellt eine vollständige Vertrauenskette her, beginnend mit einem hardwaregeschützten Root of Trust über den Bootloader bis hin zur Bootpartition und anderen verifizierten Partitionen.