Warum Passwörter in der Datenbank mit md5 "verschlüsseln"?



  • minhen schrieb:

    Da existiert bei dem Verfahren also absolut kein Unterschied zur Klartext-Übertragung.

    etwas besser ist es schon. der hacker muss das format kennen bzw. die stelle im paket wo das verschlüsselte passwort kommt. aber besser man verwendet eine art challenge-response verfahren. dabei schickt der server eine zufallszahl und das passwort wird damit verschlüsselt.



  • Idealerweise verwendet man ein Challenge-Auth (wie beim Q-Bot im Quakenet, falls das einer kennt). Der Server gibt dir einen String, und du sendest dann md5(string + passwort) zum Einloggen zurück. Beim nächsten Login wäre der gleiche Hash dann ungültig, weil der String sich bei jedem Login ändert.



  • Reyx schrieb:

    Ganz einfach: Wenn es schon vor der Übertragung gehasht wird, dann wird es im Anschluss nicht noch einmal gehasht. Dass heißt, dass übertragene Passwort ist exakt dass, mit welchem sich der Benutzer einloggt.

    So ist das auch nicht gemeint gewesen. Das Passwort soll gehasht, wie übertragen, in die Datenbank gespeichert werden. Beim Einloggen muss man natürlich ein Klartext-Passwort an den Server senden, der hasht es und vergleicht die Hashs.
    Bringt aber eigentlich nix. Ok, vergiss es. War ja auch nicht meine Idee. 😉



  • mal ne frage:
    wenn ich an die hashes der PWs in der DB rangekommen bin, könnte ich ja ne riesen rainbow-list mit werten und deren hashes bauen und so eine kollision finden, also ein PW mit dem selben hash, und so reinkommen, als hätte ich das echte PW.

    die simple idee wäre jetzt, nicht nur z.B. MD5 zu nutzen, sondern z.B. MD5 _und_ SHA1. ohne groß nachzudenken glaube ich, dass das die sicherheit erhöht, da man jetzt rainbow-listen (noch) absurder(er) größe bräuchte....

    aber ist das wirklich sicherer, oder übersehe ich da was (und ist es am ende vielleicht sogar unsicherer?)

    thanks in advance...

    ---loki

    /EDIT: und sorry dass ich diesen thread hier wiederbelebt habe.



  • einfach md5*multiplikator und dann hilft da nichts mehr^^



  • Es ist doch egal, wie die Passwörter gespeichert werden, der Admin kommt immer dran... (beim Einloggen wird das PW unverschlüsselt übertragen, d.h. wenn er die Software umschreibt und das PW sich z.B. per Email zusenden lässt, beim Einloggen; und das dann noch filtert, ob es stimmt, dass er natürlich keine falschen erhält, hat er sie doch...🙄



  • Richtig. Vor dem Systemadministrator versucht man sie i.d.R. aber auch nicht zu verbergen. Und nach wie vor gilt: Einmal gehashte Passworter kriegt keiner im Klartext! (naja, zumindest nicht ohne Weiteres 😉 )



  • Soweit ich weiß, lässt sich MD5 nicht rückwandeln, jedoch kann man MD5-Verschlüsselte Sachen mit Bruteforce leicht knacken, zumal MD5-verschlüsselte Werte nicht eindeutig sind, es kann sein, dass man etwas falsches eingibt und dennoch reinkommt, weil der MD5-Schlüssel von WortA = MD5-Schlüssel von WortB ist, was das Arbeiten mit Bruteforce sehr erleichtern würde.



  • Auch richtig. Aber BruteForce lässt sich sehr einfach verhindern.

    Du schreibst dass so, als würde man mal eben 10 Passwörter ausprobieren und da wäre dann schon irgendwo zufällig einer bei, der den passenden Hash ergibt ... Nein! Du benötigst nach wie vor eine Menge Rechenleistung, und wie eben gesagt ist BruteForce durch einfache Mittel zu verhindern, wobei dies auch in so gut wie jeder anständigen Software so gehandhabt wird!

    Und wenn du dann immer noch paranoid genug bist, schickst du halt md5, sha1 rüber, invertierst die Bits des Ergebnisstrings und noch mal sha1. Spielerei, aber da berechnet dir - bis auf BruteForce - niemand mehr das ursprüngliche Wort!



  • Es gibt auch Methoden, die Bruteforce nahezu unmöglich machen, ganz simple Methoden, wirklich sehr sehr simple, die ich noch nie gesehen habe... kommt aber mittlerweile in jedem Forum bei der Registrierung.


Anmelden zum Antworten