Verschlüsselungsstatus nach PIN-Änderung

Ich habe die Geräteverschlüsselung aktiviert, aber Android hat mir nicht die Möglichkeit gegeben, ein neues Passwort zu wählen, sondern das des Sperrbildschirms verwendet. Ich kam zurück zu den Einstellungen für die Bildschirmsperre und änderte das Passwort und das Verschlüsselungspasswort wurde automatisch geändert. Aber das geschah sofort, mein Gerät durchlief keinen Verschlüsselungsprozess

Die Frage ist: Erfordert das Ändern des Verschlüsselungskennworts einen langen Neuverschlüsselungsprozess? Mit anderen Worten, ist mein Gerät noch sicher und werden die Daten sicher verschlüsselt?

Gerät: Xperia E4 Dual

Android-Version: 4.4.2 Sony-Aktie

Antworten (1)

Aus der offiziellen Android-Quelle :

Beim ersten Start erstellt das Gerät einen zufällig generierten 128-Bit- Hauptschlüssel und hasht ihn dann mit einem Standardpasswort und gespeichertem Salt. (Das Standardpasswort lautet: "default_password").
Der resultierende Hash wird jedoch auch durch ein TEE (z. B. TrustZone) signiert, das einen Hash der Signatur verwendet, um den Hauptschlüssel zu verschlüsseln .

Wenn der Benutzer die PIN/den Pass oder das Passwort auf dem Gerät festlegt, wird nur der 128-Bit-Schlüssel neu verschlüsselt und gespeichert. (d.h. Benutzer-PIN/Pass/Muster-Änderungen bewirken KEINE erneute Verschlüsselung der Benutzerdaten .)

Das bedeutet, dass im Wesentlichen zwei Schlüssel zu verstehen sind:

  1. Der Hauptschlüssel
  2. Der user_encryption key (oder einfach 'key')

Der Hauptschlüssel wird nur während des ersten Starts generiert und ändert sich nie (es sei denn, es wird ein Werksreset durchgeführt oder die Benutzerdatenpartition gelöscht). Die Daten in der /data-Partition werden nur mit dem Hauptschlüssel verschlüsselt oder entschlüsselt. Der Hauptschlüssel kann nicht so gespeichert werden (das ist nicht sicher, oder?), also wird er mit einem anderen Schlüssel verschlüsselt, der unten angegeben ist.

Der Benutzerverschlüsselungsschlüssel ist der Schlüssel, mit dem der verschlüsselte Hauptschlüssel entschlüsselt werden kann, da nur mit dem Hauptschlüssel die verschlüsselten Daten entschlüsselt werden können. (Dieser Schlüssel wird basierend auf Ihrer PIN/Ihrem Passwort/was auch immer berechnet.)

Die Leute neigen oft dazu, diese beiden Schlüssel als ein und dasselbe zu denken, was hier nicht der Fall ist.

Wenn Sie Ihre PIN/Ihr Passwort zum Entsperren ändern, ändert sich nur der user_encryption-Schlüssel, nicht der Hauptschlüssel, sodass die Daten nicht neu verschlüsselt werden.

Die Aussage "verwendet einen Hash der Signatur, um den Hauptschlüssel zu verschlüsseln" ist verwirrend. Wenn der Hauptschlüssel mit einem Hash der Signatur des Hashs verschlüsselt wird, der aus dem Hauptschlüssel, einem Salt und einem Passwort generiert wurde, wie kann der Hauptschlüssel dann entschlüsselt werden?
Ich stimme zu, es ist verwirrend, und der Text in Blockzitaten ist immer noch wörtlich in den Android-Dokumenten vorhanden.
Dies ist meine Vermutung (ergänzt meine obige Erklärung): Das sogenannte, user_encryption keydas ich oben erwähnt habe, wird berechnet als hash_128(sign(hash(master_key_hash, password/pin, salt), TEE_key)). Jetzt wird dieser Schlüssel jedes Mal unterwegs berechnet, wenn Sie das Telefon entsperren. Dies ist der Schlüssel, mit dem der Hauptschlüssel verschlüsselt wird. Daher ist derselbe Schlüssel erforderlich, um den Hauptschlüssel zu entschlüsseln und abzurufen und diesen Hauptschlüssel zum Entschlüsseln Ihrer userdata.
@Melab, um deine Frage zu beantworten, vielleicht haben sie auch irgendwo den Hash des master_key gespeichert (nicht den master_key selbst). Ich kann mich irren, der einzige Weg, das herauszufinden, wäre, den Quellcode durchzugehen. Wenn Sie dies tun und feststellen, dass meine Erklärung falsch ist, können Sie sie gerne korrigieren/bearbeiten.