Sicherheitsfunktionen von Android

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 verwendet das Konzept kryptografischer Schlüssel, die durch die Nutzerauthentifizierung gesteuert werden. Dazu sind der Speicher kryptografischer Schlüssel sowie Dienstanbieter und Nutzerauthentifikatoren erforderlich.

Auf Geräten mit Fingerabdrucksensor können Nutzer einen oder mehrere Fingerabdrücke registrieren und diese Fingerabdrücke verwenden, um das Gerät zu entsperren und andere Aufgaben auszuführen. Das Gatekeeper-Subsystem führt die Authentifizierung des Gerätemusters oder Passworts in einer vertrauenswürdigen Ausführungsumgebung (Trusted Execution Environment, TEE) durch.

Android 9 und höher bieten die geschützte Bestätigung, mit der Nutzer wichtige Transaktionen wie Zahlungen offiziell bestätigen können.

Biometrisches Verfahren

Android 9 und höher enthalten die BiometricPrompt API, 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 unter anderem die Schlüsselgenerierung, den Import und Export asymmetrischer Schlüssel, den Import von Rohdaten symmetrischer Schlüssel sowie die asymmetrische Verschlüsselung und Entschlüsselung mit geeigneten Padding-Modi ermöglicht.

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 Trusted Execution Environment (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

Der verifizierte Bootmodus soll dafür sorgen, dass der ausgeführte Code von einer vertrauenswürdigen Quelle stammt (normalerweise Geräte-OEMs), und nicht von einem Angreifer oder einer Korruption. Es wird eine vollständige Vertrauenskette aufgebaut, beginnend mit einem hardwaregeschützten Root of Trust über den Bootloader bis hin zur Bootpartition und anderen verifizierten Partitionen.