Diese Übersetzung basiert auf dem Commit ead0c03 vom 2023-10-26. Falls du Hinweise oder Verbesserungsvorschläge hast, dann schreib uns gerne oder arbeite mit uns auf GitHub an dieser Übersetzung.

Über die Auditor-App

Die Auditor-App verwendet hardwarebasierte Sicherheitsfunktionen, um die Identität eines Geräts sowie die Authentizität und Integrität des Betriebssystems zu überprüfen. Sie prüft, ob auf dem Gerät das Stock-Betriebssystem mit gesperrtem Bootloader läuft und dass das Betriebssystem nicht manipuliert wurde. Ein Downgrade auf eine frühere Version wird ebenfalls erkannt. Sie baut auf der hardwarebasierten Überprüfung des Betriebssystems auf, welche sie mit der App verknüpft, um softwarebasierte Plausibilitätsprüfungen durchzuführen und zusätzliche Informationen über den Gerätestatus und die Konfiguration zu sammeln, die über das hinausgehen, was die Hardware direkt attestieren kann.

Die Grundlage der Auditor-App ist die Erzeugung eines dauerhaften Schlüssels im hardwaregestützten Schlüsselspeicher, um die Identität des Geräts zu überprüfen und mittels Verified Boot sicherzustellen, dass das Betriebssystem nicht manipuliert oder downgegraded wurde. Es führt einen Paarungsprozess zwischen dem Gerät, das die Verifizierung durchführt (Auditor), und dem zu verifizierenden Gerät (Auditee) durch, um ein Trust-On-First-Use-Modell (TOFU) zu implementieren. Das Gerät, das die Verifizierung durchführt, kann entweder ein anderes Android-Gerät sein, auf dem die App im Auditor-Modus läuft, oder der Dienst https://attestation.app/ für automatische, planmäßige Überprüfungen mit Unterstützung für E-Mail-Warnungen. Schauen Sie sich dafür die Auditor-Anleitung [deutsche Übersetzung] an. Das Protokoll, das sowohl für die lokale als auch für die Remote-Attestierung verwendet wird, ist im Quellcode dokumentiert.

Verified Boot validiert die Integrität und Authentizität der Firmware und des gesamten Betriebssystems (Kernel und Userspace) anhand eines unveränderlichen Hardware-Root-of-Trust. Die Ergebnisse werden an den Hardware-gestützten Schlüsselspeicher weitergeleitet und für den Schutz der Schlüssel verwendet.

Die Key-Attestation-Funktion des hardwaregestützten Schlüsselspeichers bietet direkte Unterstützung für die Attestierung von Geräteeigenschaften und das Bootstrapping des Trust-On-First-Use-Modells der Auditor-App durch eine grundlegende erste Verifizierung, die mit einem bekannten Root-Zertifikat verkettet wird. Die neueste Version der Key-Attestation liefert ein signierte Ausgabe mit u. a. dem Verified-Boot-Status, dem Verified-Boot-Schlüssel, einem Hash aller durch Verified Boot geschützten Daten und die Versionsangaben der Betriebssystempartitionen. Sie unterstützt auch die Trust-Verkettung mit der Anwendung, die die Attestierung durchführt, was der Auditor-Anwendung als Grundlage für die Prüfungen auf der Softwareebene dient.

Geräte, die mit Android 9 oder höher ausgeliefert werden, können eine StrongBox-Keymaster-Implementierung enthalten, die es der Auditor-App ermöglicht, die vom Attestierungsprotokoll verwendeten Schlüssel im dedizierten Hardware-Sicherheitsmodul (HSM) zu speichern (wie etwa im Titan M in Pixel-Geräten), anstatt das Trusted Execution Environment (TEE) auf dem Hauptprozessor zu verwenden. Dies kann die Angriffsfläche erheblich reduzieren.

Die Sicherheitsverbesserungen, die künftige Hardware-Generationen und künftige Android-Versionen bieten, werden von diesen Projekten genau verfolgt. Der Kern-Workflow und die Funktionen sind bereits implementiert, aber die Grundlage wird regelmäßig verbessert, ebenso wie die Benutzeroberfläche und die Dokumentation. Die App und der Dienst sind so konzipiert, dass sie mittels eines versionierten Protokolls auf- und abwärtskompatibel sind, um spätere wesentliche Änderungen zu ermöglichen.

Unterstützte Geräte

Jedes Gerät mit Android 10 oder höher kann die Auditor-App ausführen und sie zur Überprüfung anderer Geräte verwenden. Allerdings haben nur Geräte, die mit Android 8.0 oder höher auf den Markt gebracht wurden, die notwendige Hardware-Unterstützung, um verifiziert zu werden. Außerdem muss jedes Gerätemodell explizit in die App integriert werden. Die folgenden Geräte werden derzeit von der neuesten stabilen Version unterstützt:

Die folgenden Geräte bieten ein HSM mit StrongBox-Unterstützung, das von Auditor unterstützt wird:

Die folgenden Geräte unterstützen die Attest-Key-Funktion zur Erzeugung eines paarungsspezifischen Signierschlüssels für die Attestierung:

Die Auditor-App unterstützt auch die Überprüfung von alternativen Betriebssystemen auf unterstützten Geräten. Sie kann GrapheneOS auf den folgenden Geräten überprüfen:

Bei alternativen Betriebssystemen muss der Verified-Boot-Schlüssel in der Auditor-App bzw. dem Attestierungs-Server enthalten sein. Die App und der Dienst zeigen den Namen des Betriebssystems an, das auf dem Gerät verifiziert wird. Leider bieten die meisten alternativen Betriebssysteme keine Unterstützung für vollständig verifiziertes Booten und die meisten Geräte unterstützen die Verwendung von verifiziertem Booten mit einem benutzerdefinierten Schlüssel nicht. Die App ist außerdem davon abhängig, dass das Betriebssystem das grundlegende Sicherheitsmodell für Erweiterungen über die grundlegende hardwarebasierte Attestierungsunterstützung hinaus beibehält.

GrapheneOS ist ein gehärtetes mobiles Betriebssystem mit Android-App-Kompatibilität, das sich auf die Erforschung und Entwicklung von Privatsphäre- und Sicherheitstechnologien konzentriert, einschließlich wesentlicher Verbesserungen bei Sandboxing, der Vermeidung von Exploits und dem Berechtigungsmodell. GrapheneOS behält auch alle Standard-Sicherheitsfunktionen bei. Versionen sind auf der GrapheneOS-Unterseite “Releases” verfügbar und können mit der Auditor-App und dem Auditor-Server verwendet werden.