Sinn oder Unsinn des PyLucids JS-MD5-Login...

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Sinn oder Unsinn des PyLucids JS-MD5-Login...

Beitragvon mitsuhiko » Montag 4. Dezember 2006, 21:26

Und jetzt die Hammer-Frage: Warum zum Teufel willst du das machen? Einen MD5 Login kannst du auch um vieles einfacher haben... :roll:

EDIT (jens): Abgetrennt von suche pure Python crypt Algo...
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 5. Dezember 2006, 14:58

blackbird hat geschrieben:Und jetzt die Hammer-Frage: Warum zum Teufel willst du das machen? Einen MD5 Login kannst du auch um vieles einfacher haben... :roll:

Ach ja?

Hast du dir es schon mal genau angesehen, wie es überhaupt funktioniert?
http://pylucid.org/index.py/JSMD5Login/

Ich sollte dem JS-MD5Login mal einen anderen Namen verpassen, weil irgendwie verwechseln die Leute es immer. Es hat nichts mit dem einfachen "MD5 Digest authentication" zu tun!

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Dienstag 5. Dezember 2006, 16:18

Sondern es ist viel komplizierter und trotzdem nicht sicherer?
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 5. Dezember 2006, 16:24

birkenfeld hat geschrieben:Sondern es ist viel komplizierter und trotzdem nicht sicherer?

Ich denke schon das es sicherer ist, als einfach ein Klartext Passwort durch die Gegend zu schicken... Es ist auch sicherer als ein MD5 hash, der auf dem Client erzeugt wurde durchs Internet zu schicken...

Im ersten Fall kann man direkt das Passwort erschnüffeln. Im zweiten Fall zwar nur den MD5 hash, aber damit kann man sich dann auch einloggen.

Beim JS-MD5-Login werden aber zwei MD5 hash Werte erzeugt. Dabei wird im zweiten ein salt vom Server einbezogen. Somit ändert er sich bei jeder Anfrage. Wenn man also diese beiden MD5 abfängt, kann man sich nur genau in diesem Moment einloggen, weil der salt dann stimmt.

Ein weiterer Angriffspunkt ist die Übernahme der Session: http://de.wikipedia.org/wiki/Session-Hijacking

Wie gesagt, https ist in jedem Fall sicherer. Aber eigentlich auch nur dann, wenn das Zertifikat ein offizielles ist. Das kosten so um die 100€ pro Jahr, wenn ein Shared-Webhoster es überhaupt anbietet.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 5. Dezember 2006, 16:29

jens hat geschrieben:Wie gesagt, https ist in jedem Fall sicherer. Aber eigentlich auch nur dann, wenn das Zertifikat ein offizielles ist. Das kosten so um die 100€ pro Jahr, wenn ein Shared-Webhoster es überhaupt anbietet.

Wieso sollten "offizielle" Zertifikate sicherer sein? Der einzige Unterschied bei einem Zertifikat bei Verisign oder Thawte ist, dass es im Browser nicht angenickt werden muss. Technisch ist es nicht sicherer.

Außerdem: Wer entscheidet was eine offizielle Zerftifizierungsstelle ist? Ich ernenn mich selbst zur offiziellen Stelle und biete dir ein von mir signiertes Zertifikat für 50€ an. Deal?
Sowas wie offizielle Zertifizierungsstellen gibt es einfach nicht. Genauso wie bei PGP, es gibt keinen Key der offiziell ist. Es gibt nur ein Web of Trust, bei dem einige Keys mehr vertrauen haben als andere. Zum Beispiel c't signierte Keys.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 5. Dezember 2006, 16:51

Leonidas hat geschrieben:Wieso sollten "offizielle" Zertifikate sicherer sein?

Wer sagt dir bei einem nicht offiziell Signierten Zertifikate, das es nicht ein gefälschtes ist?

Ach gerade http://de.wikipedia.org/wiki/Challenge- ... ifizierung gelesen...

Im Grunde stellt mein JS-MD5-Login so eine "Challenge-Response Authentifizierung" dar.

Gut das die Diskussion mal wieder aufgetaucht ist, ich hab gleich mal die Seite http://pylucid.org/index.py/JSMD5Login/ ein wenig aufgefüllt :lol:

EDIT: Im übrigen gab es schon mal eine Diskussion um JS-MD5-Login: http://groups.google.de/group/de.comp.l ... 3d860c4bf9

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

Beitragvon lunar » Dienstag 5. Dezember 2006, 17:04

XtraNine hat geschrieben:Sieht beeindruckend aus dein Code. :)


Schon gell. Ich bin auch sehr stolz auf mich ;)

XtraNine hat geschrieben:Aber verstehen tue ich da nichts von ;)

Geht mir ähnlich ;)
Von mir sind ja auch nur beiden öffentlichen Methoden (encrypt & decrypt) und der Testcode. Den Rest habe ich auch nicht verstanden; ehrlich gesagt hat er mich auch nicht besonders interessiert, Hauptsache, er tut seine Arbeit und verschlüsselt einzelne Blöcke zuverlässig ;)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 5. Dezember 2006, 18:04

jens hat geschrieben:
Leonidas hat geschrieben:Wieso sollten "offizielle" Zertifikate sicherer sein?

Wer sagt dir bei einem nicht offiziell Signierten Zertifikate, das es nicht ein gefälschtes ist?

Was ist ein offiziell signiertes Zertifikat?

Hab' ich schon erwähnt, dass ich schon gefälschte Seiten mit Thawte-Zertifikat gesehen habe?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 5. Dezember 2006, 18:11

Eine Absolute Sicherheit gibt es wohl nicht und wird es wohl auch nie geben :wink:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Beitragvon sape » Mittwoch 6. Dezember 2006, 00:38

jens hat geschrieben:Eine Absolute Sicherheit gibt es wohl nicht und wird es wohl auch nie geben :wink:
Eben, so ist es. Und wie Gerold schon in der Newsgroup die du verlinkt hast gesagt hat: Es ist besser etwas für die Sicherheit zu tun als garnichts!

Von daher jens, finde ich deine Idee auch Super!! Ehrlich :) Alle CMS, Forensoftwares, etc übermitteln alle logins in Klartext (z.B. das Login bei vbulletin :lol:)...

lg
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Mittwoch 6. Dezember 2006, 11:14

Nur haben wir das Problem, dass der "JS-MD5-Login" wie der Name schon sagt nur mit JS funktioniert, und das nicht überall vorhanden/aktiviert.

Gibt es ein Fallback?
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Mittwoch 6. Dezember 2006, 11:39

Da hast du vollkommen recht. Einen Fallback war eigentlich in Planung, aber wurde bisher nicht implementiert, weil der Login so gut funktioniert. Es gab bisher nur einen der angeblich mit dem Opera Browser es nicht geschafft hat. Aber ich meine das hatte ich vor langer Zeit auch schon einmal mit erfolg getestet...

Ein Fallback wäre dann der normale Plain-Text Login...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Beitragvon BlackJack » Mittwoch 6. Dezember 2006, 12:00

jens hat geschrieben:
birkenfeld hat geschrieben:Sondern es ist viel komplizierter und trotzdem nicht sicherer?

Ich denke schon das es sicherer ist, als einfach ein Klartext Passwort durch die Gegend zu schicken... Es ist auch sicherer als ein MD5 hash, der auf dem Client erzeugt wurde durchs Internet zu schicken...

Im ersten Fall kann man direkt das Passwort erschnüffeln. Im zweiten Fall zwar nur den MD5 hash, aber damit kann man sich dann auch einloggen.


Aber Du könntest auch einen Zufallswert vom Server zum Client schicken der mit in den MD5 Hash einfliesst. So wird jedesmal ein anderer Hash übertragen und man kann mit einem "abgehörten" MD5 Hash nichts anfangen.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Mittwoch 6. Dezember 2006, 12:10

Aber genau das macht doch mein Verfahren jetzt schon! :roll:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Beitragvon BlackJack » Mittwoch 6. Dezember 2006, 12:51

Jain. Ich habe 2. aus der Aufzählung weiter unten vorgeschlagen, und das wird nicht gemacht.

Ordnen wir mal nach Komplexität was von Client an Server geschickt wird:

1. Nur Passwort oder Hash
2. Hash von Server-Zufallszahl + Passwort-Hash
3. Dein Verfahren

Wenn birkenfeld und ich sagen, Dein Verfahren sei zu kompliziert, meinen wir nicht Du sollst auf 1. zurückgreifen.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder