Verschlüsselung des internen Speichers

Aus Android Wiki
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Seit der Android-Version 2.3.4 Gingerbread "Gingerbread"[1], bzw. für jeden Nutzer verfügbar ab Android 3.0 Honeycomb (Tablets) und Android 4.0 Ice Cream Sandwich "Ice Cream Sandwich" (Smartphones), bietet Android die Verschlüsselung des internen Speichers (/data Partition) an, um die darauf gespeicherten Daten vor unbefugtem Zugriff zu schützen. Bevor das Gerät nach einem Neustart verwendet werden kann muss, sofern die Geräte-Verschlüsselung aktiviert ist, ein Passwort zur Entschlüsselung der Daten eingegeben werden.

Grundlegendes

Die Geräte-Verschlüsselung von Android basiert grundlegend auf dem Kernel-Modul dm-crypt, welches auch bei einigen anderen Linux-Distributionen für die Verschlüsselung von Block-Devices verwendet wird, und verwendet AES-128 als Algorithmus.[2] Für die Entschlüsselung kommt der selbe Schlüssel wie für die Verschlüsselung der Daten zum Einsatz, es handelt sich also um ein symmetrisches Verschlüsselungsverfahren (wie bereits aufgrund des Algorithmus zu vermuten war).

Der für die Ver- und Entschlüsselung verwendete Schlüssel (master key genannt) wird vom Android-System beim ersten Start des Gerätes durch einen zufällig gewählten 128-bit langen Schlüssel, einem Standard-Passwort, sowie zusätzlich einem Salt erzeugt. Der daraus resultierende Hash-Wert wird zusätzlich durch eine die Signatur einer TEE (Trusted Execution Environment, ähnlich einem TPM) verschlüsselt und anschließend auf dem Gerät gespeichert. Sofern der Nutzer eine Display-Sperre (PIN, Muster, Passwort, ...) setzt oder ändert, wird nicht die komplette Datenpartition ent- und mit dem neuen Passwort wieder verschlüsselt, sondern lediglich der master key, was längere Wartezeiten beim Ändern der Displaysperre verhindert.

Wird ein verschlüsseltes Gerät gestartet, wird der Nutzer, sofern ein Passwort gesetzt wurde (was dringend empfohlen wird), nach dem Gerätepasswort gefragt, um den master key zu entschlüsseln. Werden während des Betriebes verschlüsselte Daten angefordert, werden diese vor dem Lesen durch den Kernel entschlüsselt und vor dem Schreiben von Daten auf den Speicher entsprechend verschlüsselt.

Entschlüsselung

Grundsätzlich bietet das AOSP keine Möglichkeit, die Daten des internen Speichers, sofern sie einmal verschlüsselt wurden, wieder zu entschlüsseln, bzw. die Verschlüsselung wieder zu entfernen. Der einzige Weg hier ist einen sogenannten Factory Reset durchzuführen, um das Gerät wieder auf Werkseinstellungen zurückzusetzen. Dies hat allerdings den Nachteil, dass dabei auch alle auf dem internen Speicher gespeicherten Daten gelöscht werden. Einige Hersteller, zum Beispiel Samsung, haben in ihren angepassten Android-Versionen eine Möglichkeit implementiert, den internen Speicher wieder zu entschlüsseln.[3]

Besonderheiten Android 2.3.4

In Android 2.3.4 Gingerbread "Gingerbread" kann die Verschlüsselung des Gerätes nicht durch einen Menüpunkt in den Einstellungen durchgeführt werden. Um die Verschlüsselung zu aktivieren muss ein Exchange-Konto hinzugefügt werden.[4]

Besonderheiten Android 3.0 und 4.0

Ab Android 3.0 Honeycomb und höher steht die Verschlüsselung des Gerätes auch über das Einstellungen-Menü Sicherheit zur Verfügung und kann aktiviert werden, ohne das ein Exchange-Konto vorhanden sein muss. Die Verschlüsselung wird als full-device-encryption (FDE) bezeichnet und verschlüsselt die komplette Datenpartition.

Einzelnachweise

  1. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2017-06-30.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2017-06-30 (english).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. 2015-02-27, abgerufen am 2017-06-30.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2017-06-30.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.