Wie sicher ist folgendes Verfahren zur verschlüsselten Übertragung von Passwörtern?



  • Wie schon im Titel steht: Wie sicher ist folgendes Verfahren zur verschlüsselten Übertragung von Passwörtern?

    Client:

    • bekommt vom Server einen sha512-Hash von einer zufällig generierten Zahlenfolge zugesendet
    • hasht eingebenes Passwort mit sha512
    • hängt an das gehashte Passwort den Hash an, den er vom Server gekriegt hat
    • hasht das ganze nochmal und sendet es zum Server

    Server:
    Macht im Prinzip das Selbe, nur fällt das 1. Hashen weg, weil das Passwort schon gehasht in der Datenbank steht.

    Ich denke, dass das ganze Verfahren schon ziemlich sicher ist. Selbst wenn jetzt jemand das Ding übers Netzwerk abfangen würde, könnte er nichts damit anfangen, weil da dieser zufällig generierte Hash mit drin steckt. Ich wollt nur mal wissen, ob ihr da irgendwo ne Sicherheitslücke entdeckt 😉 .



  • Das was du da vor hast, beschreibt im Großen und ganzen die Funktionsweise von HMAC (http://de.wikipedia.org/wiki/HMAC). Das ist sicher, solange der Hashalgorithmus unumkehrbar ist.



  • Ich hoffe du glaubst mir, wenn ich dir sagen, dass ich mir das Verfahren, was ich hier beschrieben hab, selbst ausgedacht hab 😃 . Und ich glaub sha512 ist schon sicher genug, oder?



  • Dr. C++ schrieb:

    Ich hoffe du glaubst mir, wenn ich dir sagen, dass ich mir das Verfahren, was ich hier beschrieben hab, selbst ausgedacht hab 😃 . Und ich glaub sha512 ist schon sicher genug, oder?

    Ich weis zwar nicht, wofür du die Authentifizierung einsetzen willst, aber im Allgemeinen sollte SHA512 mahr als ausreichen.



  • @Dr. C++:
    es sollte sogar MD5 sicher genug sein...

    Der grosse Vorteil der Methode ist ja dass ein potentieller Angreifer nur testen kann ob ein Passwort stimmt indem er es mit dem Server ausprobiert, und der Server kann nach X falschen Versuchen leicht weitere Versuche verzögern oder den Account ganz sperren.



  • Solange man nicht an die Hashs kommt, ist MD5 hier bestimmt auch tauglich.



  • Dr. C++ schrieb:

    ... ob ihr da irgendwo ne Sicherheitslücke entdeckt ...

    Die übliche immer : Wie gelangt der Hash des Passwortes in die Datenbank des Servers ?



  • Ihr tut grad so als ob man jeden Tag mal eben so bei MD5 den Hash zurückberechnen könnte..



  • @Dr. C++ es ist ganz normal, dass Leute unabhängig voneinander auf ähnliche Lösungen für ein gegebenes Problem kommen.



  • Klugscheiß0r schrieb:

    Ihr tut grad so als ob man jeden Tag mal eben so bei MD5 den Hash zurückberechnen könnte..

    Nein tut keiner. Man braucht ja nicht das original Passwort, sondern nur den Hash an den Server schicken. Für die Authentifizierung reicht das aus, wenn man einmal den original Hash mitgeschnitten hat. Dass das Passwort gehasht wird ist nur dafür da, dass man das original Passwort nich im klaartext lesen kann, aber bringt für die Authentifizierung kein mehr an Sicherheit. Also ist das Problem tatsächlich, dass der Hash irgendwie auf den Server kommen muss. Das könnte man natürlich über eine per SSL gesicherte Verbindung machen, z.B. die Account auf deinem Webserver mit SSL anlegen lassen...


Anmelden zum Antworten