Ist es einigermaßen sicher, einen PIN-Code zur Verschlüsselung zu verwenden?

Auf Android 4.0 (Samsung Galaxy Nexus) gibt es eine Möglichkeit, das Telefon zu verschlüsseln. Ich habe dies über die Verschlüsselung auf Android 3.0 gefunden. Werden die gleichen Algorithmen in Android 4 verwendet? http://source.android.com/tech/encryption/android_crypto_implementation.html

Meine Hauptfrage betrifft die Verwendung eines PIN-Codes zum Entschlüsseln Ihres Telefons. Warum muss ich dasselbe Passwort verwenden, um meinen Bildschirm zu entsperren und mein Telefon zu entschlüsseln? Diese Einschränkung erlaubt mir nur, ein Passwort mit geringer Komplexität (wie eine PIN-Nummer) zu verwenden, da es zu schwierig wäre, es mit 17 Zeichen zu schreiben, um mein Telefon für einen einfachen Anruf zu entsperren.

Brute-Force-Versuche gegen das Entsperren des Bildschirms konnten verhindert werden, z. B. durch einen erzwungenen Neustart alle 5 Versuche. Es ist also kein sehr starkes Passwort erforderlich, eine PIN könnte gut genug sein.
Diese Art des Schutzes kann auf der Disc nicht verwendet werden, daher besteht hier ein größerer Bedarf an stärkeren Passwörtern. (Es hilft nicht viel, dass die Entropi von Passwörtern gestiegen sind, da es nur sehr wenige Benutzer mit einem komplexen Passwort geben wird, sodass ein Angreifer einfach die meisten Passwörter mit geringer Komplexität ausprobieren könnte). Was ist der Grund dafür, dass Sie gezwungen sind, dasselbe Passwort für beide Funktionen zu verwenden?

Ich sage, Sie müssen eine Sperrbildschirm-PIN oder ein Passwort verwenden . Das Passwort kann bis zu 17 Zeichen lang sein und beliebige Buchstaben, Zahlen oder Symbole enthalten (basierend auf einem Schnelltest). Das ist viel mehr Entropie. Sicherer wäre es natürlich ohne Obergrenze, aber immerhin.
Ja, aber wenn ich das Passwort verwende, müsste ich damit einfach meinen Bildschirm entsperren. Nicht sehr praktisch, um 17 Zeichen einzugeben, um einen schnellen Anruf zu tätigen. Daher werden die meisten Benutzer mit den PIN-Nummern auskommen, und das wäre das erste, was ein Angreifer versuchen würde. Ein besserer Ansatz wäre vielleicht, Passphrasen für die Festplattenverschlüsselung zuzulassen und einfache PIN-Nummern auf dem Sperrbildschirm zuzulassen. Um Brute-Force-Versuche auf dem Sperrbildschirm zu vermeiden, kann nach 3 fehlgeschlagenen Versuchen ein Neustart erzwungen werden, der zu einer Passwortabfrage führt.
Es hört sich so an, als ob das, wonach Sie suchen, einfach nicht existiert.
Nun, ich suche nach einer Antwort darauf, ob es eine Begründung dafür gibt. Wenn jemand einen Weg kennt, dies zu umgehen. Wenn nicht, wo ist ein guter Ort, um eine Feature-Anfrage zu stellen. Das Google-Android-Team oder Samsung (mit sauberer Installation von Android 4.0.1)?
Ich weiß leider nicht, dass jemand anderes als Google Ihnen die Gründe nennen könnte. Sie könnten wahrscheinlich den Android-Bug-Tracker ausprobieren , um eine Feature-Anfrage einzureichen. Dies scheint eine vernünftige Sache zu sein, dort einzureichen.
Nun, das aktuelle Verhalten zum Entsperren des Bildschirms (auf Android Gingerbread 2.3.6) ist, dass Sie alle fünf Versuche 30 Sekunden warten müssen. Es würde jeden Brute-Force-Angriff irgendwie abwehren, meinst du nicht?
Ja, gegen den Anmeldeversuch auf dem Entsperrbildschirm, aber nicht gegen das Entschlüsseln der Festplatte. Das ist, was ich versuche zu sagen, die Bildschirmentsperrung muss nicht so lang sein wie die Festplattenverschlüsselung (die viel länger als 4 Zahlen sein muss) und daher sollte man nicht gezwungen sein, für beide dasselbe zu verwenden.
+1, ich bin voll und ganz bei dir @ChristopherKäck Diese Entscheidung macht keinen Sinn, Google-Ingenieure hätten es besser wissen müssen, hoffen, dass sie es bald beheben.
Sie fragen an der falschen Stelle, dies ist eine Frage für die Informationssicherheit . Die meisten Android-Experten hier wären nicht qualifiziert, die Antworten auf diese Frage zu beantworten oder eine informierte Abstimmung darüber abzugeben.
@lie_ryan Nun, die Frage, nach der ich gesucht habe, war eher ein Android-y/Software-Entwickler-Grund, warum sie das Passwort für die verschiedenen Aufgaben teilen würden. Ich weiß, dass es unsicher ist, 4 Ziffern als Disc-Verschlüsselungspasswort zu verwenden.
@Christopher: Aber Sie stützen Ihre Entscheidung auf eine falsche Prämisse, die Verschlüsselung auf der Festplatte war 128-Bit-AES, nicht die 4-stellige PIN. Die Feststellung, ob dieses Schema sicher oder von Natur aus fehlerhaft ist, liegt nicht in der Kompetenz von Android.SE.
@LieRyan Sie teilen immer noch das Passwort, unabhängig von dem Verschlüsselungsschema, das für die Disc-Verschlüsselung verwendet wird. Das Problem ist, dass Benutzer keine lange Passphrase wählen, wenn sie dieselbe lange Passphrase auch verwenden müssen, um einfach den Bildschirm zu entsperren. Wovon ich sehr überzeugt bin, dass es unsicher ist. Was kann also der Grund dafür sein, dass der Benutzer gezwungen ist, für beide Funktionen denselben Passcode zu verwenden? Eine Einschränkung im Betriebssystem?
@Christopher: Es gibt keine Einschränkung, was mit Software gemacht werden kann. Sie sollten die Sicherheitsfrage bei Information Security stellen . Es könnte sein, dass sich herausstellt, dass die Verwendung unterschiedlicher Schlüssel nicht wirklich sicherer wäre, oder es könnte einfach ein Versehen oder ein praktischer Kompromiss sein. In jedem Fall erhalten Sie dort viel bessere Antworten als hier. Wie ich es hier sehe, gibt es 5 mittelmäßige Antworten; Die Antwort von GAThrawn kommt der fundiertesten Antwort am nächsten, ist jedoch keine vollständige Antwort.

Antworten (6)

Ich glaube, ich habe die Lösung gefunden. Überprüfen Sie diesen Link . Es ist ein Hack und erfordert, dass ein Telefon gerootet ist, aber es erlaubt Ihnen, ein alphanumerisches Passwort für die Verschlüsselung und eine PIN zum Entsperren des Bildschirms zu verwenden.

Sie können diesen Befehl auf einer Root-Shell verwenden, um das Verschlüsselungskennwort zu ändern:

su -c vdc cryptfs changepw <new_password>

Wo <new_password>sollte durch Ihr Passwort ersetzt werden.

Quelle: http://nelenkov.blogspot.be/2012/08/changing-androids-disk-encryption.html

Durch die Verwendung eines Passworts/einer Phrase statt einer vierstelligen PIN erhöhen Sie die Sicherheit Ihres Geräts. Der Trick dabei ist, dass Sie selbst mit einem vierstelligen Passwort Ihre Sicherheit aus zwei Gründen erhöht haben:

  • Sie haben die verfügbaren Zeichen erhöht.
  • Sie haben dem Angreifer das Wissen über Ihre PW-Länge genommen.

Wenn ein Angreifer weiß, dass Ihr Passwort 14 Zeichen lang ist, ist es sicherer als ein vier- oder achtstelliges Passwort, aber typische Statistiken verwenden Bereiche (1-4, 1-8, 1-14) und nicht die Realität (was eine einfache Berechnung wäre). die verfügbaren Kombinationen einer Länge).

Derzeit ist es einfach ZU EINFACH , auf die Daten Ihres Telefons zuzugreifen. Ihre Großmutter hat die Fähigkeit dazu (keine Beleidigung für Sie oder Ihre Familie: P). Sie haben zwar Recht, dass es Einschränkungen dieser Verschlüsselung gibt, aber die „kaputte“ Version funktioniert VIEL besser als derzeit praktizierte unverschlüsselte Daten.

Es liegt an Ihnen zu beurteilen, wie sensibel und privat Ihre Daten sind und wie sehr Sie ein Ziel für den Diebstahl solcher Daten sind. Die Auswahl eines geeigneten Passworts liegt in Ihrer Verantwortung, sobald Sie diese Risiken bewertet haben.

Ja, aber ich denke, es wäre eine einfache Lösung für das Problem, unterschiedliche Passwörter zum Entsperren des Bildschirms und zum Entschlüsseln des Geräts zu haben (wie ich hier erwähnt habe android.stackexchange.com/questions/17086/… ), da sie unterschiedlich verwendet werden senarios und müssen unterschiedliche Attribute haben.

Wenn Sie versuchen, die Festplattenverschlüsselung unabhängig vom Rest des Geräts in einem Szenario zu knacken, in dem Sie ein ausgeschaltetes Gerät oder nur die Speicherchips haben, dann ist dies ein anderer Angriffsvektor als bei einem eingeschalteten kennwortgeschütztes Gerät, auf dem der Entschlüsselungsschlüssel möglicherweise im Speicher gehalten wird (was zu Schwachstellen führt, die von Dingen wie Firewire-Verschlüsselungsschlüsselstehlern genutzt werden, die auf PCs mit älterer FDE-Verschlüsselungssoftware und keinem TPM-Modul weit verbreitet sind), oder der Entsperrbildschirm könnte brutal sein. erzwungen (oder eigene Schwachstellen haben).

Wenn Sie die Festplatte direkt angreifen, greifen Sie in diesem Fall nicht die 4-stellige PIN oder das Benutzerkennwort an, die das Gerät verschlüsseln, sondern den 128-Bit-AES-Schlüssel:

Der Hauptschlüssel ist eine 128-Bit-Zahl, die durch Lesen von /dev/urandom erstellt wird. Es wird mit einem Hash des Benutzerkennworts verschlüsselt, das mit der PBKDF2-Funktion aus der SSL-Bibliothek erstellt wurde. Die Fußzeile enthält auch ein zufälliges Salt (ebenfalls aus /dev/urandom gelesen), das verwendet wird, um dem Hash von PBKDF2 Entropie hinzuzufügen und Rainbow-Table-Angriffe auf das Passwort zu verhindern.

Ab Punkt 4 unter „ Verschlüsselung auf dem Gerät aktivieren “ der von Ihnen verlinkten Hinweise zur Umsetzung der Verschlüsselung in Android 3.0 .

(wollte ein Kommentar werden, ist aber viel zu lang geworden)

Vielen Dank für diesen netten Kommentar! Eines jedoch; Suche ich nicht nach dem Benutzerkennwort (das höchstwahrscheinlich eine 4-stellige PIN sein wird, da Sie gezwungen sind, den Schlüssel mit der Bildschirmentsperrung zu teilen, und alles andere mühsam einzugeben ist, um einen Anruf zu tätigen), um die 128 Bit zu entschlüsseln? AES-Schlüssel? (anstatt direkt nach dem Schlüssel zu suchen). Wenn ich alle 10000 Pins mit der PBKDF2-Funktion + Salt hash, gibt es dann nicht nur 10000 Entschlüsselungsversuche für mich?
@Melpomene Bei dem " Angriff auf Regenbogentabellen ", von dem sie sprechen, verschlüsseln Sie alle 10.000 Kombinationen vorab, um zu sehen, wie sie verschlüsselt aussehen, und vergleichen dann einfach, was sich auf der Festplatte befindet, mit dem, was sich in Ihrer Regenbogentabelle befindet. Das " zufällige Salz " hilft dabei, dies zu verhindern, indem weit mehr als 10.000 Kombinationen erstellt werden, die Sie erraten müssen (es sei denn, Sie schaffen es zuerst, das "Salz" herauszufinden).
Ein Regenbogen ist eine clevere Art, verschlüsselte Passwörter zu speichern, ja. Und wenn ein Salz verwendet wird, müsste es wahrscheinlich speziell konstruiert werden, nur um Passwörter mit diesem Salz zu knacken. Dies ist kein sehr schwieriger Vorgang, wenn nur 10.000 Passwörter zur Auswahl stehen. Beachten Sie, dass das Salt dem Angreifer immer als bekannt gilt (da es in den Dokumenten aus /dev/urandom gelesen zu werden scheint, wird dies höchstwahrscheinlich entweder im Klartext oder verschlüsselt mit dem Benutzerkennwort gespeichert). In jedem Fall ist das Benutzerkennwort das schwache Glied.
Aber ich müsste nicht einmal eine Regenbogentabelle erstellen, da das Speichern (oder Berechnen) von 10.000 Hashes meinen Speicher (Prozessor) nicht so stark beansprucht.
Die Verwendung einer Schlüsselableitungsfunktion wie PBKDF2 scheint eine gute Nachricht zu sein, aber eine typische 4-stellige PIN hat immer noch nur 10000 mögliche Kombinationen.
Um einige Verwirrung zu beseitigen: Das Salt wird unverschlüsselt in einer 16-KB-Fußzeile der verschlüsselten Partition gespeichert. nelenkov.blogspot.be/2012/08/…

Eine mögliche Lösung dafür ist die Verwendung von whiskercore , aber Sie müssen Ihr Gerät rooten.

Ich habe auch eine Funktionsanfrage auf der Android-Projektseite ausgefüllt .

Wenn Sie Remote Wipe aktiviert haben (vorausgesetzt, es funktioniert immer noch mit einem verschlüsselten Gerät), sichert die PIN Ihr Gerät möglicherweise nicht für immer, aber sie kann so lange genug bleiben, um Ihnen Zeit zu geben, Ihr Gerät zu löschen.

Das Problem ist, dass eine kurze PIN das Gerät nur im eingeschalteten Zustand sichern kann. Daher verhindert das Ausschalten eines gestohlenen Geräts, dass das Gerät gelöscht wird, und zusätzlich kann die PIN bei einem Offline-Brute-Force-Angriff geknackt werden. Daher hilft Ihnen eine kurze PIN in dieser Situation nicht weiter.
@Robert, ich bin nicht so vertraut mit der Funktionsweise von Remote Wipe. Wenn dies über Exchange erfolgt, muss das Telefon im selben Moment eingeschaltet sein, in dem der Remote-Löschbefehl ausgegeben wird? Mein Gedanke ist, dass, wenn ich innerhalb von etwa 30 Minuten nach dem Verlust meines Telefons eine Fernlöschung durchführen kann, das für mich ausreicht, aber ich habe keine Finanzdaten, mein Hauptanliegen ist meine GMail-Arbeits-E-Mail.
Das Telefon muss einige Zeit, nachdem Sie den Befehl zur Fernlöschung erteilt haben, eingeschaltet und online sein. Wenn das Telefon ausgeschaltet wurde (und ausgeschaltet bleibt), ist der Löschbefehl nutzlos.