phpbar.de logo

Mailinglisten-Archive

[php] [OT] gesalzene Hashes

[php] [OT] gesalzene Hashes

Lars Tewes lsr at gmx.de
Mon Aug 4 11:30:26 CEST 2008


Hallo Hannes,

Hannes H. wrote:
> Gesalzene Hashes sollen ja davor schützen, dass man bei Zugriff auf
> die Hashes die Rückrechnung mit Rainbow-Tables erschwert. Wenn man nun
> das Salt nun gemeinsam mit den Hashes speichert, dann ist dieser
> Vorteil wohl verschwunden. Wenn ich das Salz auf irgend eine Weise aus
> Meta-Daten generiere und die Software als Open Source veröffentliche,
> dann kann natürlich auch jeder andere das Salz berechnen.
> 
> Nun meine Überlegung bezüglich Webapplikation: Sobald jemand Zugriff
> auf die Hashes hat (also über einen Einbruch auf den Server oder
> physikalischer Zugriff) hat er auch das Salz. Solang niemand auf dem
> Server einbricht ist auch das Salz kein zusätzlicher Schutz.

der Witz besteht darin, soviele Varianten wie möglich zu erzeugen. Nimmt man 
nur einen einzigen Salt für alle, kann man sich die Mühe fast schon sparen, 
weil sich - gewissen Rechnenaufwand vorausgesetzt - mit diesem wieder eine 
Rainbow-Table für alle gespeicherten Passwörter berechnen lässt. Immer noch 
besser als ein ungesalzener Hash, deren Rainbow-Tables sich schon mühelos 
herunterladen lassen, aber eben nicht optimal.

Hat allerdings jedes einzelne gespeicherte Passwort zur Hashberechnung einen 
eigenen Salt, muss man letztlich doch zu Brute-Force greifen. Und darum geht 
es: soviel Aufwand wie möglich erzeugen, um an jedes einzelne Passwort zu 
gelangen. Ergänzt man die Routine dann auch noch um "Key strengthening" [1], 
wird der Aufwand für den frischen Besitzer der Hashes regelrecht zur Last und 
er käme ggf. mit Social Engineering einfacher zum Ziel.

Viele Grüße
Lars

[1] http://en.wikipedia.org/wiki/Key_strengthening



php::bar PHP Wiki   -   Listenarchive