Alex: max. Sicherheit beim Arbeiten von Login mit Sessions (PHP)

Beitrag lesen

Hallo,

ich habe mal eine Zwischenfrage:

Das Problem wird im Grunde bereits durch den Gebrauch von Salts geloest. Szenario:

Mein Passwort ist "abc", in der Datenbank gespeichert ist md5("abcsalt"). (Also "salt" ist der Salt). Jemand von aussen kennt nun diesen MD5-Wert und findet nun ein anderes Wort "neueswort", so dass md5("neueswort") == md5("abcsalt"). Das nuetzt ihm nichts, da nun bei Eingabe dieses Wortes der md5 von "neueswortsalt" gegen den gespeicherten Hash verglichen wuerde. Selbst wenn er den Salt kennt, wuerde ihm das a priori nicht viel helfen. Einen Wert zu finden, der zusammen mit einem gegebenen Salt auf einen gegebenen Hash abgebildet wird, ist noch eine erheblich schwierigere Attacke.

Wäre es anstatt (oder neben) Salts nicht auch sinnvoll, das Passwort in der Datenbank mehrmals zu speichern und dabei jeweils unterschiedliche Verschlüsselungsalgorithmen zu verwenden?

Also einmal mit md5, einmal mit sha und was es noch so gibt.

Wenn man dann über Rainbowtables oder anders als Angreifer auf _ein_ mögliches Passwort kommt hilft einem das immer noch nicht, weil dieses eine mögliche Passwort bei den anderen Algorithmen bestimmt nicht auch unter die möglichen Passwörter fällt. So müsste der Angreifer also schon auf das richtige Passwort kommen, um dann damit in andere Accounts des Users (wo er das selbe Passwort nutzt) einzubrechen.

Gruß
Alex