The-Master
Cadet 4th Year
- Registriert
- Apr. 2010
- Beiträge
- 98
Trainmaster schrieb:Ich sehe das so. Der zu "knackende" Hash ist ein abgeschnittener SHA-2 Hash und sieht so aus, als sei es ein MD5 (32 Zeichen) oder SHA-1 (40 Zeichen) Hash. Der Angreifer kann mit seinem Bruteforce-Angriff durchaus ein Ergebnis erzielen. Bspw. liefert der vermeindliche MD5/SHA-1 Hash eine Übereinstimmung mit dem String "123456". Doch heißt das zugleich, dass das tatsächliche Reintext-Passwort dem entspricht? Mitnichten ist das Reintext-Passwort ein anderer String, bspw. "abcdef".
Der Angreifer denkt also das Ergebnis gefunden zu haben. Dennoch wird es sich mit dem vermeindlich gefundenen Passwort niemals einloggen können.
Ok, so gesehen mag das zwar stimmen, jedoch würde ich mich nicht darauf verlassen, dass der Angreifer nicht herausfindet, auf welche weise der Hash berechnet wird. (http://de.wikipedia.org/wiki/Kerckhoffs’_Prinzip Edit: Ich hoffe ihr seid mir nicht böse, dass ich das auf ein Hashing-Verfahren beziehe, aber die Aussage ist trotzdem richtig^^)
Trainmaster schrieb:Nachtrag: Ist dem Angreifer bekannt, dass der Passwort-Hash ein abgeschnittener SHA-2 Hash ist, kann dies weitreichende Folgen haben. Jedenfalls nach meiner Überlegung. Die zusätzliche Sicherheit durch SHA-2 (128 vs 32/40 Zeichen) wäre damit enthebelt. Es besteht eine Wahrscheinlichkeit, mit einem vom Reintext-Passwort abweichenden String einen SHA-2 Hash zu erhalten, dessen erste 32 Zeichen dem abgeschnittenen SHA-2 Hash des Reintext-Passwortes entspricht. Somit würde ich dazu raten, wenn schon SHA-2 verwendet wird, den Hash auch in seiner Länge zu speichern.
Das meinte ich, wenn man einen Hash verkürzt, erhöht sich die Wahrscheinlichkeit eine Kollision zu finden.
Zuletzt bearbeitet: