Ist es möglich, MD5-Hashing zu entschlüsseln?

15866
Fahad Uddin

Ich habe ein Video zum Hashing von Passwörtern mit MD5 Hashing gesehen. Nach dem Googeln erfuhr ich, dass Facebook auch das MD5-Hashing-Schema verwendet. Nun war ich neugierig, ob wir das Passwort leicht entschlüsseln können? Wenn dies der Fall ist, was ist dann der Vorteil von MD5-Hashing?

0
MD5 hat 2 ^ 128 mögliche Werte (normalerweise als 32-stellige Hex-Zeichenfolge dargestellt). Bei einem Zeichensatz von etwa 26 (`az`) +26 (` AZ`) +10 (`0-9`) +32 (` [] {} ;: '' \ |, <.> /? ~! @ $ $% ^ & * () -_ = + `) brauchbare Zeichen für Kennwörter, es sind nur mögliche Werte für Kennwörter mit bis zu 19 Zeichen ohne Kollisionen möglich. Daniel Beck vor 11 Jahren 0
@DanielBeck: Du hättest Recht, wenn MD5 perfektes Hash wäre. Es gibt mehrere Sicherheitsprobleme - http://en.wikipedia.org/wiki/MD5#Security. Es wird empfohlen, die SHA2-Familie zu verwenden. SHA-3, wenn es ausgewählt wird. Maciej Piechotka vor 11 Jahren 0
@ MaciejPiechotka Ich weiß. Der Punkt, den ich versuchen wollte, war, dass es keine Möglichkeit gibt, "verschlüsselte" Daten damit zu "entschlüsseln", genauso wie Sie keine abgeschnittene Datei basierend auf den verbleibenden Daten wiederherstellen können. Daniel Beck vor 11 Jahren 0
@ DanielBeck: Ich nahm an, dass es mehr um die Sicherheit von Hashing ging und die Person, die fragt, nicht weiß, was Hash ist. In einem solchen Fall kann es nützlich sein, nicht nur die Theorie der Einwegfunktionen zu erklären, sondern auch die Sicherheitsprobleme in dem Hash-Algorithmus, den er explizit erwähnt hat (so etwas wie "es ist nicht möglich," zu entschlüsseln ", sondern es ist möglich, den Passwort, das von MD5 aus funktioniert "). Maciej Piechotka vor 11 Jahren 0
@ MaciejPiechotka Tatsächlich. Die als Flame bekannte Malware verwendete einen zuvor nicht bekannten, von MD5 ausgewählten Präfixkollisionsangriff, um Windows-Codesignaturzertifikate zu fälschen. MD5 ist schwach und wird jeden Tag schwächer: http://www.pcworld.com/businesscenter/article/257236/flames_windows_update_hack_required_worldclass_cryptanalysis_researchers_say.html Fran vor 11 Jahren 0

5 Antworten auf die Frage

9
Rich Homolka

Kurze Antwort: MD5 ist ein Weg, um über ein Kennwort genug zu wissen, um es zu vergleichen - einen eindeutigen Fingerabdruck -, ohne das Kennwort tatsächlich beizubehalten.

Längere: MD5 kann an einen Fingerabdruckgenerator gedacht werden. Sie nehmen so viele Bits wie möglich, und das Ende ist 128 Bit. Die MD5-Summe ist für jeden String immer gleich. Es ist jedoch schwer vorherzusagen, was eine MD5-Summe für eine bestimmte Zeichenfolge sein wird. Es kann nicht umgekehrt werden. Sie können das Kennwort nicht aus dem Hash zurückholen, diese Informationen werden verworfen.

Warum MD5? Sie möchten das eigentliche Passwort nicht speichern. Wenn ich in Ihre Datenbank einbrechen kann, bekomme ich die Passwörter. Das ist unsicher.

So kann ich einen Hash speichern. Beim Anmelden erhalte ich md5sum des eingegebenen Passworts und die md5sum in der Datenbank, ob sie übereinstimmen. Selbst wenn Sie den Hash erhalten, können Sie nicht zurückgehen, um das Passwort zu erhalten. Sie haben den Hash, aber theoretisch können Sie das Passwort nicht erhalten.

Dies ist sicherer, aber denken Sie daran, dass das gleiche Passwort immer auf dasselbe MD5 angewendet wird. 'password' wird immer 286755fad04869ca523320acce0dc6a4 sein. Wenn in der Datenbank 286755fad04869ca523320acce0dc6a4 angezeigt wird, weiß ich, dass Ihr Kennwort "Kennwort" lautet. Eine Technik besteht also darin, Ihrem Kennwort etwas "Salz" hinzuzufügen, etwas Einzigartigkeit. Also, sagen Sie mir, mein Salz wird ausgewählt, oh Idunno, '1b24'. Ich füge das zu den MD5-Daten hinzu, was mir c4f8469e00c67d70dfbaa91cdf948fa8 bringt. Wenn ich das Passwort speichere, speichere ich vielleicht 1b24 | c4f8469e00c67d70dfbaa91cdf948fa8. Wenn Sie dann "password" eingeben, sehe ich in der Datenbank, dass ich 1b24 hinzufügen muss, und ich würde die Übereinstimmung erhalten.

MD5 wird dafür eigentlich nicht so oft verwendet. Es gibt neuere (wie SHA1), die die Bits besser herumwirbeln. Manchmal durchlaufen Sie mehrere Runden. Dies erhöht die Sicherheit, da es schwieriger wird, riesige Listen dieser Fingerabdrücke zu erstellen. Die Berechnung dauert zu lange.

6
EBGreen
Während dies die Frage theoretisch beantworten kann, ist es [bevorzugt] (http://meta.stackexchange.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Mark Henderson vor 11 Jahren 1
Das ist wahr. Deshalb habe ich es zu einem Community-Wiki gemacht. Ich hatte nicht die Zeit, eine vollständige Antwort zu schreiben, also gab ich die nicht hübsche Antwort, bis jemand, der die Zeit hatte, eine bessere zu tun, mitgehen konnte. Da es sich um ein Community-Wiki handelt, wurden sie im Wesentlichen aufgefordert, diese Antwort zu verbessern, anstatt eine andere zu veröffentlichen. EBGreen vor 11 Jahren 0
3
Shadok

Dieser Beitrag zu IT Security @ stackexchange sollte ausreichen, um das Problem zu verstehen.

Das Problem liegt (kühn) in zwei Tatsachen:

  • „md5_mixalpha-numeric-all-Raum # 1-8: 1049 GB“ zum Download als kostenloser Strom für alle vor Ort wie ist diese, bedeutet, dass mehr als 1 TB von verschiedenen einzigartigen Strings mischen enthält untere und Großbuchstaben und Ziffern und Leerzeichen und ein bis acht Zeichen lang.
    Angenommen, Sie haben die Dateien auf Ihrer Festplatte (Verwendung squashfs Jungs!) Sie nur für das wollte MD5 suchen haben und Sie werden die Original - Zeichenkette erhalten (oder sogar eine Kollision, wenn Sie sind quasi unmöglich Glück), in irgendeiner Weise Sie haben ein gültiges Passwort :)

  • Ein Problem bei jedem einfachen Hash-Schema besteht darin, dass zwei Benutzer, die dasselbe Passwort verwenden, denselben Hash erhalten würden. Wenn Sie einen von ihnen stornieren, erhalten Sie mehrere Konten gleichzeitig und die Konsequenzen des ersten Fehlers werden nur verschlimmert

Dafür gibt es drei Lösungen:

  • der
    altbackene : MD5 (Passwort) oder SHA128 (PASSWORD), standardmäßig defekt, viele * NIX implementieren ein besseres Schema seit mindestens zwanzig Jahren, nichts hinzuzufügen.

  • MD5 (SALT + PASSWORD) Wenn SALT für jeden Benutzer eindeutig ist und in clear gespeichert wird, muss der Angreifer für jedes Kennwort, das er knacken möchte, eine Regenbogentabelle erstellen.
    Könnte einige davon abhalten, aber ein Wörterbuchangriff kann immer noch sehr mächtig sein, da viele / die meisten Benutzer über schwache Passwörter verfügen.
    Und denken Sie daran, wir haben jetzt Lösungen, um leistungsstarke GPU-Cluster (relativ) billig zu mieten. Sogar eine 400-Dollar-GPU ist ein Hingucker bei Hash-Strings, besonders wenn die Berechnungen auf tausend Maschinen verteilt sind.

  • die "überhaupt nicht neu" und nur noch akzeptable lösungen : bcrypt und scrypt

Bitte seien Sie weise und übernehmen Sie die letztgenannte Lösung. Sie sollten sich zumindest für ein PKBDF2-Schema entscheiden, das Sie nicht selbst zu entwerfen versuchen. Schauen Sie hier nach:
https://security.stackexchange.com/questions/3959/recommended-of-iterations -when-using-pkbdf2-sha256

1
Jepes

Sie können Ihr Kennwort nicht wiederherstellen, wenn Sie das Kennwort im MD5-Hash speichern. Auf der Site, die ein Wiederherstellungskennwortmodul enthält, wird das Kennwort in Klartext gespeichert.

Sie können http://md5pass.com versuchen, Ihr MD5-Kennwort wiederherzustellen

1
Ryoku

Sicherlich nicht entschlüsseln, wie es ständig erklärt wurde. Inzwischen gibt es jedoch einige Zeitungen, die über das Erzwingen von md5-Kollisionen sprechen. Dies bedeutet im Wesentlichen, dass, da der Hash durch einen zufälligen Satz von "Gleichungen" generiert wird, die auf jedes Bit der Informationen angewendet werden, die Sie hashnen (Denken Sie daran, dass Sie alles von einem Passwort bis zu einer oder mehreren Dateien hashen können), können Sie dies auch finden eine andere Zeichenfolge mit undefinierter Länge, die denselben Hash erstellt.

Hier ist ein Link zu einer der ersten (und ich denke, eine der besten) Forschungsarbeiten zu diesem Thema. [PDF] http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDcQFjAB&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload % 3Fdoi% 3D10.1.1.175.4122% 26rep% 3Drep1% 26type% 3Dpdf & ei = 6OtQUZaQH8Si2QXhwoGYBA & usg = AFQjCNH3JEEhxpuNqY2N4x9lmHuuGIZvuQ