Sven Rautenberg: MD5 Algorithmus liefert verschiedene Ergebnisse

Beitrag lesen

Moin!

Wie wärs mit md5(md5($pass))? halt doppelt gemoppelt, dann sind doch alle glücklich, oder? D.h. ich "verschlüssele" immer schon beim Client, und vergleiche dann die MD5 Summe der MD5 Summe des eingegebenen Passworts mit der MD5 Summe der MD5 Summe in der Tabelle. Der Unterschied wäre derselbe wie bei http basic-auth zu digest-auth, Sicherheitsgewinn ist es nicht wirklich, macht aber die Bedienung für einen der das übertragene Passwort erspäht hat unpraktischer.

Eben: Sicherheitsgewinn ist es nicht wirklich. Der Sicherheitsgewinn zwischen basic-auth und digest-auth ist ja immerhin noch ein geringer, weil das Passwort, welches den Zugang gewährt, nicht im Klartext über die Leitung geht. Der Sicherheitsgewinn deiner Variante ist aber gleich NULL!

Entweder gibst du ein Klartextpasswort in das entsprechende Formularfeld ein und läßt es dann (was zwingend Javascript erfordert) in ein anderes Klartextpasswort (getarnt als MD5-Hash, aber in Wirklichkeit nur Klartext) umrechnen, was dann zum Server geht, oder man gibt gleich den MD5-Hash des eigentlichen, aber bedeutungslosen Passwortes in das Formularfeld ein und schickt es dann zum Server. Wer den MD5-Hash abfängt, kriegt damit Zugang, egal wie das eigentliche Passwort lautet.

Aufwand, damit umzugehen, ist es nicht wirklich. Ein Angreifer schaltet wahlweise einfach Javascript ab, oder baut sich eine eigene Login-Seite, oder macht sonst irgendwas - er braucht zum Login ja definitiv nur den MD5-Hash, der im Klartext über die Leitung zum Server geht.

Also warum dann solche komplizierten Konstrukte vorlagern, die zwingend Javascript erfordern?

- Sven Rautenberg