Welche authentifizierungs Lib

Django, Flask, Bottle, WSGI, CGI…
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Freitag 24. April 2009, 17:13

SchneiderWeisse hat geschrieben:Ist es eigentlich sinnvoll das Passwort auf Clientseite per JavaScript schon zu hashen und dann per AJAX an den Server zu schicken? Hätte ja eigentlich den Vorteil, dass das Passwort nicht Plaintext duch's Netz geht (wenn man kein SSL hat).
Jop, finde ich sehr sinnvoll (halt kein SHA1 und MD5, die werden langsam alt...). Für deaktiviertes JS ggf. noch auf dem Server überprüfen, ob das jetzt ein Hash ist oder nicht.
lunar

Freitag 24. April 2009, 17:19

Denkt mal kurz darüber nach, woher der Javascript-Code kommt und ob er vertrauenswürdig ist ... ;)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Freitag 24. April 2009, 20:04

Wo ist das Problem? Wenn ich den Schlüssel nachher serverseitig validiere ist das einzige, was passieren kann, dass ich eine falsche (nicht ungültige!) Hashsumme habe. Das macht mir nichts, nur dem User ;)
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Freitag 24. April 2009, 20:44

Und was für einen Unterschied macht es nicht ob nen „man in the middle“ den Hash oder das Klartextpasswort hat? Genau: Keinen, einloggen kann er sich mit dem einen so wie den anderen…
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Freitag 24. April 2009, 20:45

Er kennt aber das Plaintext-Passwort nicht. Und wenn man abwägt, dass man mit Plaintext-Auth keine Vorteile und mit Hashauth mindestens diesen einen, dann weiß man auch schon, was man verwenden sollte ;)
DasIch
User
Beiträge: 2450
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Freitag 24. April 2009, 21:31

Viel interessanter ist es doch gleich die gesamte Anwendung in Javascript zu schreiben und CouchDB als Server zu nutzen :D
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Freitag 24. April 2009, 21:54

Dass es die Anwendung nicht sicherer macht ist ja eigentlich klar, es würde halt nur soviel bringen, dass man so nicht das "echte" Passwort kriegt...
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Freitag 24. April 2009, 22:15

Dauerbaustelle hat geschrieben:Er kennt aber das Plaintext-Passwort nicht. Und wenn man abwägt, dass man mit Plaintext-Auth keine Vorteile und mit Hashauth mindestens diesen einen, dann weiß man auch schon, was man verwenden sollte ;)
Solange 90% der Seite einen User die Email-Adresse (und über email lässt sich dann das passwort ändern…) ohne Passworteingabe ändern lassen bringt es genug nichts ;)
lunar

Freitag 24. April 2009, 22:49

Dauerbaustelle hat geschrieben:Wo ist das Problem?
Der Javascript-Code, welchen der Client ausführt, ist nicht unbedingt identisch mit dem, den der Server versendet hat ... denn dazwischen sitzt ja der "man in the middle", der daran fleißig herum-manipulieren kann. Wenn der Angreifer nun wirklich am Passwort interessiert ist, wird er natürlich dafür sorgen, dass der Client Javascript erhält, welches das Passwort im Klartext sendet.

Edit: Das versprochene Beispiel zur Verwendung von repoze.what.
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Samstag 6. März 2010, 09:54

lunar hat geschrieben:Edit: Das versprochene Beispiel zur Verwendung von repoze.what.
Morgen,

ich gucke mir gerade auch mal Authentifizierung an, und da ist so ein Beispiel ja immer schön, aber bevor ich mich jetzt total verrenne: soll das Beispiel voll funktionsfähig sein? Bei mir klappt das mit dem Login nämlich nicht.
Oder fehlt da noch ein wichtiger Teil?

Das if not_anonymous().is_met(request.environ): gibt (bei mir) immer False zurück, auch wenn validate_password True ist.

Habe ich da irgendwas übersehen?

Schon mal danke...
lunar

Samstag 6. März 2010, 14:25

Als ich das Beispiel erstellt habe, hat es funktioniert. Mittlerweile funktioniert es auch bei mir nicht mehr.

Ich habe seitdem nicht mehr mit repoze.what gearbeitet, und es hat sich in der Zwischenzeit offenbar einiges geändert. Teile der Bibliothek haben schon lange keine Änderung mehr erfahren, bei wichtigen Plugins, die auch im Beispiel Verwendung finden, ist die Website nicht mehr existent, usw.

Ich würde repoze.what heute nicht mehr einsetzen und auch nicht mehr empfehlen. Insofern habe ich auch keine große Lust, das Beispiel zu korrigieren. Da es offensichtlich fehlerhaft ist, habe ich es gelöscht …

Suche Dir eine andere Bibliothek.
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Samstag 6. März 2010, 14:32

Hi,

danke für deine Antwort.
Darf ich fragen, welche Bibliothek du empfehlen würdest?
lunar

Samstag 6. März 2010, 14:37

Ich habe keine Ahnung, welche Bibliothek geeignet wäre, vor einem Jahr habe ich mich das letzte mal überhaupt mit diesem Thema bzw. Webprogramming im Allgemeinen beschäftigt … ich weiß nicht mal, welche Bibliotheken es überhaupt noch gibt.
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Samstag 6. März 2010, 14:46

Okay, danke für deine Antwort.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Samstag 6. März 2010, 15:21

Hier im Forum wurde öfter auch mal barrel empfohlen - aber da stimmt die URL von PYPI nicht mehr.

Ansonsten wäre Authkit evtl. eine Option? Da scheint sich auch in Sachen Doku aktuell einiges zu tun.
Antworten