On Saturday, 2. June 2007 21:14:07 Paul Böhm wrote:
On 6/2/07, Johannes Buchner <buchner.johannes@gmx.at> wrote:
Klar, HTTPS verwenden, bin ich voll dafür. Möchte ich auch nicht ersetzen. True, ich kann als MITM-Attacker die Session steuern. Aber mein Passwort weiß der Angreifer nicht. Und wenn die Session beendet ist, kann er keine neue beginnen (er kann sie aufrechterhalten versuchen).
dh. damit ist die seite bei der du dich gerade anmelden wolltest bereits für den angreifer zugänglich Jap.
Und ich kann auf jedem Account das gleiche Passwort verwenden, ohne dass irgendwer davon was weiß.
1) die seite weiss davon, ausser du tust beim setzten bereits mit nem salt hashen - und selbst dann kann man mangels fehlender integrität das passwort immer noch mitschicken lassen Am Client nicht hashen, aber am Datenbank-server hashed passwords verwenden, am besten salted.
2) ok, admitted, ein angreifer kann ob der challenge nicht das passwort nehmen und zur nächsten seite gehen. aber er kann dir auf seite A die selbe challenge geben, wie er sie gerade bei seite B braucht True. Vielleicht könnte man mit einem Handshake (XMLHttpRequest) das ID-Handshake verbessern, so dass sich keiner der zwei die ID alleine aussuchen kann (z.B. ala RSA).
Du hast recht Paul, die Daten schütze ich nicht damit, dass ist auch nicht das Ziel. Aber das Passwort.
das passwort ist der seite bekannt. das ist der schlimmste faktor bei password reuse Nicht bei (salted) hashed passwords in der DB.
Richtig, ich könnte digest-auth verwenden. Aber das is sooo hässlich ;-) Und was ist, wenn ich 3 Login-Felder hab: Kategorie, Name, Password?
niemand benutzt digest - zu inflexibel.. aber aus den problemen von digest kann man lernen ;) Ja, alle Probleme von digest mit challenges erbt jublogin. Außer vielleicht dass es nicht hässlich ist/sein muss und dass es flexibler ist.
Idealerweise nimmt man HTTPS und wrappt es drüber. Manchmal hat man dazu aber nicht die Möglichkeit.
die möglichkeit nicht zu haben ist wahnwitz
Jublogin soll jetzt auch nicht _die_ Erleuchtung in Web-Security sein, sondern nur einen Schliff Formular-Logins für den User (bzw. sein Passwort) verbessern.
z.B. gmail macht folgendes: auth über https, restliche verbindung ohne https (ausser man erzwingt https mit greasemonkey oder so). hat fast den gleichen effekt wie das was du machst Ja, da wird das Login auch in einem Iframe geladen, was ich ziemlich cool find, weil man nicht ewig auf die Seite warten muss wenn das Passwort falsch war.
Und wenns das nicht ist, dann hab ich zumindest ein schönes Dokuwiki-Template für die Webseite geschrieben ;-)
naja, vielleicht bringts ja sogar ein klein wenig was, wenn die seite das passwort nicht weiss s.o. bei 1)
allerdings ist das halt leider jederzeit deaktivierbar, da der angreifer ja einfach das übermittelte javascript impotent machen kann (z.B. das plaintext passwort in nem unverwendeten feld mitschicken) Ja, deswegen hab ich angedacht, dass man z.B. eine Firefox-Extension schreiben könnte, damit der Source nicht mehr in der Webseite ist. Aber naja.
den letzten versuch in die richtung hab ich übrigens hier gesehen: http://www.angel.net/~nic/passwd.html
rennt rein clientseitig, und gibt dem user daher mehr kontrolle
ich selbst bin inzwischen dazu übergegangen einen mit einem master password geschützten password-vault zu benutzen, und versuch mir gerade anzugewöhnen überall verschiedene passwörter einzusetzen. Tja. Dann crasht dein OS und du weißt alle deine PW nimmer ... oder du willst mehrere verschiedene Betriebssysteme verwenden ... musst immer synchronisieren. Ich bin von den Passwortmanagern nicht so begeistert ... geht das nicht am Sinn von Passwörtern vorbei (Something the user knows) wenn man sich immer was anderes einfallen lässt?
lg, Johannes