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 Schnittstellen und Berechtigungen erstellen zu müssen. Jede App, die auf der Android-Plattform ausgeführt wird, muss vom Entwickler signiert werden.
Authentifizierung
Android bietet das Konzept der Nutzerauthentifizierer , mit denen das Gerät entsperrt und andere Aufgaben ausgeführt werden können:
- Das Gatekeeper-Subsystem führt die Authentifizierung mit Geräte-PIN, -Muster oder -Passwort in einer vertrauenswürdigen Ausführungsumgebung (Trusted Execution Environment, TEE) durch.
- Die optionale Weaver-Komponente führt die Authentifizierung mit Geräte-PIN, -Muster oder -Passwort in einem separaten sicheren Element oder in einer TEE durch.
- Die Richtlinie zur Ratenbegrenzung für die Authentifizierung mit Geräte-PIN, -Muster oder -Passwort von Android wird hauptsächlich in einem sicheren Element oder einer TEE von Gatekeeper und Weaver erzwungen. Ein optionaler sekundärer Software-Rate-Limiter ist ebenfalls verfügbar.
- 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 die 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. Alle Lesevorgänge entschlüsseln die Daten automatisch, bevor sie an den aufrufenden Prozess zurückgegeben werden. Durch die Verschlüsselung wird sichergestellt, dass die Daten auch dann nicht gelesen werden können, wenn eine unbefugte Person versucht, darauf zuzugreifen.
Schlüsselspeicher
Android bietet einen hardwaregestützten Schlüsselspeicher, der kryptografische Funktionen bietet, bei denen das Schlüsselmaterial in einer sicheren Umgebung enthalten ist. Android Keystore unterstützt die Generierung und den Import von symmetrischen und asymmetrischen Schlüsseln in Kombination mit Verschlüsselungs-, Entschlüsselungs-, Signierungs- und Schlüsselvereinbarungs-Primitiven.
Security-Enhanced Linux
Im Rahmen des Android-Sicherheitsmodells verwendet Android Security-Enhanced Linux (SELinux), um die obligatorische Zugriffssteuerung (Mandatory Access Control, MAC) für alle Prozesse zu erzwingen, auch für Prozesse, die mit Root- oder Superuser-Berechtigungen (Linux-Funktionen) ausgeführt werden.
Trusty TEE
Trusty ist ein sicheres Betriebssystem, das eine vertrauenswürdige Ausführungsumgebung (Trusted Execution Environment, 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
Verified Boot soll sicherstellen, dass der gesamte ausgeführte Code von einer vertrauenswürdigen Quelle stammt (normalerweise Geräte-OEMs) und nicht von einem Angreifer oder einer Korruption. Verified Boot stellt eine vollständige Vertrauenskette her, die von einem hardwaregeschützten Root of Trust über den Bootloader bis hin zur Bootpartition und anderen verifizierten Partitionen reicht.