Wie hilft Passwortsalz gegen einen Regenbogen-Tisch-Angriff?

Ich habe einige Schwierigkeiten zu verstehen, den Zweck eines Salz zu einem Passwort. Es ist mein Verständnis, dass die primäre Nutzung zu erschweren, eine rainbow-table-Angriff. Aber die Methoden, die ich gesehen habe, um dies zu implementieren scheint nicht wirklich das problem schwieriger.

Ich habe gesehen, viele tutorials, die darauf hindeutet, dass das Salz verwendet werden, wie die folgenden:

$hash =  md5($salt.$password)

Die überlegung ist, dass die hash-jetzt Karten nicht auf das original-Passwort, sondern eine Kombination aus dem Passwort und dem salt. Aber sagen $salt=foo und $password=bar und $hash=3858f62230ac3c915f300c664312c63f. Nun jemand mit einem rainbow-table umkehren könnten den hash und kommen mit der Eingabe von "foobar". Sie könnte dann versuchen alle Kombinationen von Passwörtern (f, fo, foo, ... oobar, obar, bar, ar, ar). Möglicherweise dauert es ein paar Millisekunden, um das Passwort zu erhalten, aber sonst nicht viel.

Den anderen verwenden, die ich gesehen habe, ist auf meinem linux-system. In der /etc/shadow den Hash-Passwörter eigentlich gespeichert mit das Salz. Zum Beispiel, ein Salz von "foo" mit dem Passwort "bar" würde hash: $1$foo$te5SBM.7C25fFDu6bIRbX1. Wenn ein hacker irgendwie in der Lage waren, um seine Hände auf diese Datei, ich sehe nicht, welchen Zweck das Salz dient, da die reverse hash te5SBM.7C25fFDu6bIRbX bekannt ist, zu enthalten "foo".

Dank für jedes Licht, jeder kann Schuppen auf.

BEARBEITEN: vielen Dank für die Hilfe. Um zusammenzufassen, was ich verstehe, das Salz macht das gehashte Kennwort komplexer, so dass es viel weniger wahrscheinlich zu existieren in einer vorberechneten rainbow-table. Was habe ich falsch verstanden, bevor war, ich war der Annahme, eine rainbow-table gab es für ALLE hashes.

InformationsquelleAutor der Frage Rich | 2009-01-07

Schreibe einen Kommentar