Frage

Ich frage mich, wenn ich könnte Gründe oder Links zu Ressourcen zu erklären, warum SHA512 ein überlegener Hashing-Algorithmus MD5 ist.

War es hilfreich?

Lösung

Es hängt von Ihrem Anwendungsfall. Sie können nicht im Großen und Ganzen behaupten, „Überlegenheit“. (Ich meine, ja können Sie, in einigen Fällen aber streng darüber zu sein, kann man nicht wirklich).

Aber es gibt Bereiche, in denen MD5 gebrochen wurden:

  1. Für den Anfang: MD5 ist alt, und gemeinsam. Es gibt Unmengen von Rainbow-Tabellen dagegen, und sie sind leicht zu finden. Also, wenn Sie Hashing-Passwörter (ohne Salz - schäm dich!) - md5 mit - man könnte genauso gut nicht, sie werden Hashing, sind sie so leicht zu finden. Selbst wenn Sie Hashing mit einfachen Salzen wirklich.
  2. Zweiter wird, wird MD5 nicht sicher länger als eine kryptographische Hash-Funktion (in die Tat ist es nicht einmal eine verschlüsselte Hash-Funktion mehr als die Gespaltene One Punkte aus betrachtet). Sie können verschiedene Nachrichten, die Hash auf den gleichen Wert generieren. Also, wenn Sie auf ein SSL-Zertifikat mit einem MD5-Hash haben, kann ich ein Duplikat-Zertifikat generieren, das sagt, was ich will, die die gleiche Hash . Dies ist im Allgemeinen, was die Leute meinen, wenn sie sagen, MD5 ist ‚kaputt‘ -. Dinge wie diese
  3. Drittens, ähnlich wie Nachrichten können Sie auch verschiedene erzeugen Dateien dass Hash auf den gleichen Wert so MD5 als Datei-Prüfsumme wird ‚gebrochen‘.

Nun, SHA-512 ist ein SHA-2-Familie Hash-Algorithmus. SHA-1 ist eine Art betrachtet ‚eh‘ in diesen Tagen, ich werde es ignorieren. SHA-2 hat jedoch relativ wenige Angriffe gegen sie. Die große Gefahr, wikipedia spricht über eine reduzierte-Runde Urbild Angriff was bedeutet, wenn Sie mit SHA-512 in einer fürchterlich falsch, ich es brechen kann. Obivously sind Sie wahrscheinlich nicht, dass es so zu verwenden, aber Angriffe nur besser werden, und es ist ein gutes Sprungbrett in mehr Forschung zu brechen SHA-512 in der gleichen Art und Weise MD5 gebrochen wird.

Doch aus allen Hash-Funktionen zur Verfügung, die SHA-2-Familie ist derzeit amoung der stärksten und die beste Wahl unter Berücksichtigung Gewöhnlichkeit, Analyse und Sicherheit. (Aber nicht unbedingt Geschwindigkeit. Wenn Sie in Embedded-Systemen sind, dann müssen Sie eine ganz andere Analyse durchzuführen.)

Andere Tipps

MD5 ist seit geraumer Zeit jetzt kryptographisch gebrochen. Das bedeutet im Wesentlichen, dass einige der Eigenschaften in der Regel durch Hash-Algorithmen garantiert, halten nicht mehr. Zum Beispiel ist es möglich, Hash-Kollisionen in viel weniger Zeit als potenziell notwendig für die Ausgabelänge zu finden.

SHA-512 (eine der SHA-2-Familie von Hash-Funktionen) ist, denn jetzt, sicher genug, aber vielleicht nicht viel mehr für die absehbare Zukunft. Deshalb ist ein Wettbewerb für SHA-3 der NIST gestartet.

Im Allgemeinen wollen Sie Hash-Algorithmen sein one-way Funktionen. Sie bilden eine Eingabe zu einem gewissen Ausgang. Normalerweise ist die Ausgabe einer festgelegten Länge, wodurch ein „digest“ des ursprünglichen Eingangs. Gemeinsame Eigenschaften sind beispielsweise, dass kleine Änderungen des Eingangs ergeben große Änderungen in der Ausgabe (die Manipulationshilfen Erfassung), und dass die Funktion nicht leicht umkehrbar ist. Für die letztgenannte Eigenschaft die Länge des Ausgangs hilft sehr, weil es eine theoretische liefert obere für die Komplexität einer Kollision Angriff gebunden. Allerdings Fehler im Design oder Implementierung führen oft in reduzierter Komplexität für Angriffe. Sobald diese sind es an der Zeit zu prüfen, ob nach wie vor mit einer Hash-Funktion bekannt. Wenn der Angriff Komplexität weit genug praktischen Angriffe leicht bekommen im Bereich von Menschen ohne spezielle Computerausrüstung fällt.

Hinweis: Ich habe hier nur eine Art von Angriff zu sprechen. Die Realität, wenn viel nuancierter, aber auch viel schwieriger zu erfassen. Da Hash-Funktionen für die Überprüfung Datei / Nachrichtenintegrität sehr häufig die Kollision Sache verwendet werden, ist wahrscheinlich die am einfachsten zu verstehen und zu befolgen.

Es gibt ein paar Punkte hier nicht angesprochen zu werden, und ich glaube, es aus einem Mangel ist zu verstehen, was ein Hash ist, wie es funktioniert, und wie lange dauert es erfolgreich um sie anzugreifen, Regenbogen verwendet oder eine andere Methode zur Zeit auf den Menschen bekannt ...

Mathematisch gesprochen wird MD5 nicht „gebrochen“, wenn Sie die Hash-und Gasversuche (sogar um 1 Sekunde) Salz, würde Ihre Sicherheit sein wie „gebrochen“, wie es wäre von einem Angreifer langsam pelting weg an Ihrem 1ft massiven Stahl Wand mit einem Holzlöffel:

Es werden Tausende von Jahren dauern, und dann wird jeder tot beteiligt; es gibt wichtigere Dinge zu kümmern.

Wenn Sie ihr Konto bis zum 20. Versuch sperren ... Problem gelöst. 20 Treffer auf Ihrer Wand = 0,0000000001% Chance, dass sie bekommen durch. Es ist buchstäblich eine bessere statistische Chance, dass Sie in der Tat Jesus sind.

Es ist auch wichtig zu beachten, dass absolut jede Hash-Funktion auf Kollisionen auf Grund anfällig sein wird, was ein Hash ist. „Eine (kleine) eindeutige ID von etwas anderen“

Wenn Sie den Bit-Raum erhöhen Sie Kollisionsraten zu verringern, aber Sie erhöhen auch die Größe der ID und die Zeit es braucht, um es zu berechnen.

tun Lassen Sie uns ein kleines Gedankenexperiment ...

SHA-2, wenn es sie gäbe, würde insgesamt 4 möglichen eindeutigen IDs für etwas anderes ... 00, 01, 10 und 11. Es Kollisionen produzieren wird, offensichtlich. hier Haben Sie das Problem sehen? Ein Hash ist nur eine generierte ID von dem, was Sie zu identifizieren versuchen.

MD5 ist eigentlich wirklich, wirklich gut an nach dem Zufall auf einer Eingabe einer Nummer auf Basis wählen. SHA ist eigentlich gar nicht so viel besser auf sie; SHA hat nur massiv mehr Platz für IDs.

Das verwendete Verfahren ist etwa 0,1% des Grundes, warum die Kollisionen sind weniger wahrscheinlich. Der wahre Grund ist der größere Bit-Raum.

Das ist buchstäblich der einzige Grund, SHA-256 und SHA-512 sind weniger anfällig für Kollisionen; weil sie einen größeren Raum für eine eindeutige ID verwenden.

Die tatsächlichen Verfahren SHA-256 und SHA-512 verwenden, um die Hash zu erzeugen, sind in der Tat besser, aber nicht viel; die gleichen Regenbogen Angriffe auf sich funktionieren würden, wenn sie weniger Bits in ihren IDs haben, und Dateien und sogar Passwörter können identische IDs mit SHA-256 und SHA-512 haben, es ist nur viel weniger wahrscheinlich, weil es mehr Bits verwendet.

  

Die eigentliche Frage ist, wie Sie Ihre Sicherheit

implementieren

Wenn Sie Angriffe automatisiert ermöglichen Authentifizierungs Endpunkt 1.000 Mal pro Sekunde zu schlagen, Sie gehen in gebrochen werden. Wenn Sie 1 Versuch pro 3 Sekunden und sperren das Konto für 24 Stunden nach dem 10. Versuch drosseln, bist du nicht.

Wenn Sie die Passwörter ohne Salz speichern (ein Salz ist nur ein zusätzliches Geheimnis zum Generator, so dass es schwieriger schlechte Passwörter wie „31337“ oder „Passwort“ zu identifizieren) und hat eine Menge von Nutzern, Sie gehen zu gehackt. Wenn man sie salzen, auch wenn Sie MD5 verwenden, bist du nicht.

Unter Berücksichtigung MD5 verwendet 128 Bit (32 Byte in HEX, 16 Bytes binär) und SHA 512 nur den Raum 4x sondern eliminiert praktisch das Kollision Verhältnis von Ihnen gibt 2 ^ 384 mehr möglich IDs ... Go mit SHA- 512, jedes Mal.

Aber wenn Sie besorgt über das, was passieren wird, wenn Sie wirklich MD5 verwenden, und Sie nicht verstehen, die realen, wirklichen Unterschiede, sind Sie wahrscheinlich immer noch gehackt werden, einen Sinn?

Lesen dieser

  

Allerdings hat es sich gezeigt, dass MD5 nicht Kollision resistent

weitere Informationen über Kollision hier

hat MD5 eine Chance einer Kollision ( http: //www.mscs.dal. ca / ~ Selinger / md5collision / ) und es gibt zum Download zahlreicher MD5 rainbow Tables für Reverse Passwort Nachschau im Web und verfügbar.

Es muss ein viel größeres Wörterbuch nach hinten auf der Karte, und hat eine geringere Chance einer Kollision.

Es ist einfach, ist MD5 gebrochen;) (siehe Wikipedia )

  

Bruce Schneier des Angriffs schrieb, dass „[w] e bereits wußte, dass MD5 eine gebrochene Hash-Funktion ist“ und dass „niemand sollte mehr mit MD5 werden.“

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top