Schützt die vollständige Geräteverschlüsselung meine Daten vor Google und der Regierung?

13

Apple hat kürzlich in der Tech-Community Wellen geschlagen, indem es sich geweigert hat, die gesetzlichen Bestimmungen für den Zugriff auf verschlüsselte Benutzerdaten einzuhalten. Ihre Aussage war, dass sie nicht die technische Fähigkeit haben, diese Daten zu entschlüsseln.

Gibt es als Android-Nutzer eine ähnliche Möglichkeit (vorzugsweise in das Betriebssystem integriert anstelle von Drittanbietern), die ich nutzen kann, um einen ähnlichen Schutz auch von Google und meinem Gerätehersteller zu erzielen? Ich weiß, dass in meinen Einstellungen die Option "Vollständige Geräteverschlüsselung" aktiviert ist. Verhindert dies jedoch, dass Google usw. darauf zugreift?

Als Referenz läuft auf meinem Gerät Android Lollipop und es ist ein OnePlus Two. Wenn andere Versionen wie Marshmallow mir das erlauben würden, ist das in Ordnung.

malexdev
quelle

Antworten:

10

Google hat keine Ahnung, wie der Verschlüsselungsschlüssel für Ihr Gerät lautet. Der gesamte Vorgang findet auf Ihrem Gerät statt und der Schlüssel wird nie irgendwo übertragen. Der Schlüssel selbst ist auch nicht im Klartext auf Ihrem Gerät gespeichert :

Speichern des verschlüsselten Schlüssels

Der verschlüsselte Schlüssel wird in den Crypto-Metadaten gespeichert. Das Hardware-Backing wird mithilfe der Signaturfunktion von Trusted Execution Environment (TEE) implementiert. Zuvor haben wir den Hauptschlüssel mit einem Schlüssel verschlüsselt, der durch Anwenden von Verschlüsselung auf das Kennwort des Benutzers und das gespeicherte Salt generiert wurde. Um den Schlüssel widerstandsfähig gegen Off-Box-Angriffe zu machen, erweitern wir diesen Algorithmus, indem wir den resultierenden Schlüssel mit einem gespeicherten TEE-Schlüssel signieren. Die resultierende Signatur wird dann durch eine weitere Anwendung von Verschlüsselung in einen Schlüssel geeigneter Länge umgewandelt. Dieser Schlüssel wird dann zum Ver- und Entschlüsseln des Hauptschlüssels verwendet.

Selbst wenn jemand eine Kopie Ihres verschlüsselten Hauptschlüssels hätte, könnte er diese nicht ohne den TEE-Schlüssel vom SoC Ihres Geräts entschlüsseln.

Abgesehen von einem Fehler in der Implementierung verhindert die vollständige Geräteverschlüsselung daher, dass jemand auf Ihre Daten zugreift, es sei denn, er kennt / erhält Ihr Passwort ODER kann Ihr Passwort erraten (z. B. durch Brute-Forcing oder eine Art von Social-Engineering-Techniken). Auf Geräten ohne die erforderliche Hardware-Sicherung versucht FDE, den Schlüssel mit einer reinen Software-Methode zu verschlüsseln.

eldarerathis
quelle
@ Beeshyams Es ist eine Funktion des Prozessors. Die Implementierung von ARM heißt "TrustZone", andere Architekturen bieten jedoch ähnliche Mechanismen. Die Idee ist, dass Sie einen Geräteschlüssel generieren, ihn an einem Ort aufbewahren können, der nur dem TEE zugänglich ist, und ihn dann niemals der Außenwelt preisgeben können. Wenn Sie etwas verschlüsseln / entschlüsseln müssen, bitten Sie den im TEE ausgeführten Code, dies für Sie zu tun, damit der Schlüssel sicher bleibt. Wikipedia hat einen anständigen (-ish) Artikel .
Eldarerathis
1
@eldarerathis Ich habe gehört, dass iPhone 6 und neuere Versionen vor OEM-Updates geschützt sind, da die Kennwortüberprüfung ( einschließlich der zeitgesteuerten Verzögerung / Sperrung) vollständig in Hardware implementiert ist. Ich frage, ob Android etwas Ähnliches macht oder ob es sich nur um eine Software-Sperrung handelt - die natürlich durch ein Firmware-Update umgangen werden kann. Ich frage auch, ob es Android-basierte Telefone mit Bootloadern gibt, die Aktualisierungen ablehnen, ohne dass ein benutzerdefinierter Passcode eingegeben wird. Dies würde die Umgehung von Software-Sperrfristen erleichtern.
Bob
1
Eine weitere Möglichkeit zur Umformulierung besteht darin, ob eine Entschlüsselung (mit Benutzerkennwort) erforderlich ist, bevor Aktualisierungen zulässig sind. Mit anderen Worten, sind (OEM-, signierte) Updates ohne Entschlüsselungsschlüssel (ohne obligatorische Löschung der Benutzerdaten) installierbar?
Bob
1
@Bob Meines Wissens benötigt Android nicht das Entschlüsselungskennwort, um den Update-Vorgang durchzuführen, da es nur die /userdataPartition verschlüsselt , nicht die Partitionen, die das Update tatsächlich ändern würde ( /systemund /bootim Allgemeinen). Es ist so ziemlich im selben Boot wie das iPhone 5 (und niedriger).
Eldarerathis
1
Ich würde hinzufügen, ich bin nicht sicher, ob die allgemeine Verzögerung pro Versuch durch ein Update "deaktiviert" werden kann oder ob Android sie künstlich skaliert. Android verwendet während der Schlüsselgenerierung Verschlüsselungsrunden. Daher muss diese Methode auch zum Entschlüsseln des Schlüssels verwendet werden, und die Verschlüsselung ist aus Gründen der Vermeidung von Brute-Forcing besonders schwierig zu beschleunigen. So viel würde beständig bleiben. Eine Sperrung nach x fehlgeschlagenen Versuchen (oder eine skalierte Sperrung, falls vorhanden) würde in der Software AFAIK implementiert.
Eldarerathis
-1

Die vollständige Geräteverschlüsselung schützt Ihr Gerät, wenn Sie einen zu langen Schlüssel für Brute Force verwenden, auch wenn die Angreifer Brute Force-Techniken anwenden können - vorausgesetzt, es gibt Möglichkeiten, dies zuzulassen. Laut Snowden reichen 64 Zeichen für eine wirklich unzerbrechliche Verschlüsselung. Umfassende Sicherheit ist also möglich - wenn es Ihnen nichts ausmacht, bei jedem Aufwecken des Telefons eine Passphrase mit 64 Zeichen einzugeben.

Andrew Brown
quelle
Kennen Sie die Begrenzung der PIN-Länge für die Bildschirmsperre? Überlegen Sie sich, Ihre Antwort entsprechend neu zu
starten
Ja, 16 Zeichen sind die Einschränkung, wenn Sie den Quellcode überprüfen .
Firelord