Verschlüsselung des internen Speichers

Aus Android Wiki
Zur Navigation springen Zur Suche springen

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

  1. In which version of Android was encryption of /data made available? In: android.stackexchange.com. Abgerufen am 30. Juni 2017.
  2. Full-Disk Encryption  |  Android Open Source Project. In: Android Open Source Project. Abgerufen am 30. Juni 2017 (english).
  3. How to disable encryption in Android Lollipop. 27. Februar 2015, abgerufen am 30. Juni 2017.
  4. In which version of Android was encryption of /data made available? In: android.stackexchange.com. Abgerufen am 30. Juni 2017.