Passwort-Authentifizierung

9 views
Skip to first unread message

Frank Illenberger

unread,
Mar 24, 2012, 2:16:47 PM3/24/12
to cocoaheads...@googlegroups.com
Hallo Devs,

kennt sich von euch jemand mit Kryptographie aus? Ich suche Hilfe bei Umsetzen eines Passwort-Authentifizierungs-Protokolls für einen Restful-Webservice. TLS/SSL ist keine Option, da es unabhängig von Trustcentern sein muss. Die einzige mir bekannte Lösung ist SRP ( http://en.wikipedia.org/wiki/Secure_Remote_Password_protocol ) aber ich habe überhaupt keine Ahnung wie man das im wirklichen REST-Leben anwenden kann.

Gruß

Frank

Torsten Curdt

unread,
Mar 24, 2012, 2:31:40 PM3/24/12
to cocoaheads...@googlegroups.com
Hey Frank,

> kennt sich von euch jemand mit Kryptographie aus?

Soweit würde ich mich nicht aus dem Fenster lehnen aber...

> Ich suche Hilfe bei Umsetzen eines Passwort-Authentifizierungs-Protokolls für einen Restful-Webservice. TLS/SSL ist keine Option, da es unabhängig von Trustcentern sein muss.

...aber Du kannst doch auch deine eigene CA haben? Das hat dann nicht
mit Trustcentern zu tun. Und wenn Du ganz paranoid bist könntest auch
noch die Trust-Chain genauer untersuchen wenn die Verbindung zustande
kommt.

Eine CA (richtig) aufzusetzen ist zwar auch nicht gerade trivial aber
normalerweise sagt man im Bereich Kryptographie wenn es nur irgendwie
geht existierende Mittel einsetzen. Solch ein Setup hatten wir damals
auch bei Joost.

Wer verbindet sich denn alles zu dem Webservice? Merlin client/server?

Gruss,
Torsten

PS: Gratulation zum Macworld Artikel :)

Torsten Curdt

unread,
Mar 24, 2012, 2:45:00 PM3/24/12
to cocoaheads...@googlegroups.com
Ich seh schon die echte Diskussion passiert auf FB ;)
...jetzt versten ich auch warum Du keine CA nutzen willst.

2012/3/24 Torsten Curdt <tcu...@vafer.org>:

Frank Illenberger

unread,
Mar 24, 2012, 4:27:10 PM3/24/12
to cocoaheads...@googlegroups.com

Hi Torsten,

Für stationäre Webdienste mit fester Domain ist SSL prima. Bei uns ist es so, dass wir einen Server haben, den unsere Kunden runterladen und durch ein paar Klicks zum Läufen bringen sollen. Da sind CAs, auch eigene, keine Option. Der Server bietet eine Rest-API an und ein Webinterface. Das Webinterface muss natürlich browsergängig sein. Bei beiden würde ich gerne den gleiche Authentifizierungsalgorithmus verwenden, weil beide auf der gleichen DB aufsetzen.
Die üblichen HTTP/Rest-Strategien setzen voraus, dass der Server die Passwörter entweder im Klartext speichert oder aber Hashes speichert, die aber - wenn sie erbeutet werden - zum feindlichen Authentifizieren genutzt werden können. Beides ist keine Option für uns.
Das SRP aus Stanford sieht ganz interessant aus. Seit der 1.0.1 ist es in OpenSSL drin und es gibt wohl auch ne JS-Implementierung. Mich würde nur interessieren, ob das schonmal jemand auf ne Rest-API gesetzt hat.
Ich finde es erstaunlich, dass trotz der Existenz von SRP, das eine wirklich clevere Mathematik verwendet, das ganze Internet seit ewig auf CAs setzt. Ob das was mit Geldverdienen zu tun hat?

Gruß,

Frank

> Gruss,
> Torsten
>
> PS: Gratulation zum Macworld Artikel :)

Dankeschön. Der Artikel hat uns auch sehr erfreut.

Frank Illenberger

unread,
Mar 24, 2012, 5:22:58 PM3/24/12
to cocoaheads...@googlegroups.com
Nach etwas Nachdenken ist mir aufgefallen, dass die JS-Implementation von SRP für das Webinterface völlig unsicher wäre, denn man müsste den JS-Code per SSL ausliefern um sicher zu sein, dass kein MITM sie ausgetauscht hat. SRP ist also nur dann sicher, wenn die Implementation im Browser ist. Es gibt ne schöne RFC, Für Chrome und Firefox sind die Implementationen auch wohl fertig, aber es braucht wohl noch, bis sich das durchsetzt.

Gruß,

Frank


Von meinem iPad gesendet

> --
> Sie haben diese Nachricht erhalten, weil Sie der Google Groups-Gruppe CocoaHeads Frankfurt beigetreten sind.
> Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an cocoaheads...@googlegroups.com.
> Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an cocoaheads-frank...@googlegroups.com.
> Besuchen Sie die Gruppe unter http://groups.google.com/group/cocoaheads-frankfurt?hl=de, um weitere Optionen zu erhalten.
>

sas

unread,
May 3, 2012, 4:13:04 AM5/3/12
to CocoaHeads Frankfurt
Hi Frank,

ich weiß nicht, ob Dir das jetzt noch hilft, aber ich bin heute auf
folgenden Blogpost gestoßen:

http://chargen.matasano.com/chargen/2007/9/7/enough-with-the-rainbow-tables-what-you-need-to-know-about-s.html

Die Empfehlung ist bcrypt. Erfahrung hab ich damit leider keine!

-sas

On 24 Mrz., 23:22, Frank Illenberger <illenber...@mac.com> wrote:
> Nach etwas Nachdenken ist mir aufgefallen, dass die JS-Implementation von SRP für das Webinterface völlig unsicher wäre, denn man müsste den JS-Code per SSL ausliefern um sicher zu sein, dass kein MITM sie ausgetauscht hat. SRP ist also nur dann sicher, wenn die Implementation im Browser ist. Es gibt ne schöne RFC, Für Chrome und Firefox sind die Implementationen auch wohl fertig, aber es braucht wohl noch, bis sich das durchsetzt.
>
> Gruß,
>
> Frank
>
> Von meinem iPad gesendet
>
> > Besuchen Sie die Gruppe unterhttp://groups.google.com/group/cocoaheads-frankfurt?hl=de, um weitere Optionen zu erhalten.

Frank Illenberger

unread,
May 3, 2012, 2:09:45 PM5/3/12
to cocoaheads...@googlegroups.com
Hi sas,

ich sehe nicht, wie bcrypt bei dem Problem helfen kann. So wie ich es verstehe, ist das nur eine kryptograpische Hash-Funktion, die gegen Angriffe mit Rainbow-Tables schützt, aber das gilt auch schon für sha1 + salt. Für das Problem der Remote-Authentifizierung bringt es wohl nichts.
Aber trotzdem danke für den Link.

Gruß

Frank
> Besuchen Sie die Gruppe unter http://groups.google.com/group/cocoaheads-frankfurt?hl=de, um weitere Optionen zu erhalten.
>

Florian Bachmann

unread,
May 3, 2012, 3:12:40 PM5/3/12
to cocoaheads...@googlegroups.com
Hallo Frank,
ich bin leider auch ziemlich unwissend auf diesem Gebiet und habe auch
nicht wirklich verstanden was du machen willst, aber ich hoffe ich
kann aushelfen, indem ich einfach mal ein paar Links in die Diskussion
werfe,
die dir vielleicht helfen einen guten Ansatz zu finden.

Das wäre zum Einen Pascal Bihlers Stabilbaukasten Macoun Vortrag
http://www.macoun.de/video2011gssa2.php

er authentifiziert sich gegen einen Rest-Server und zeigt wie es es
mit den Passwörtern gelöst hat.

Ansonsten helfen vielleicht diese Github-Projekte, die ich mir aber
auch noch nicht wirklich angeschaut habe (und du vermutlich sowieso
vermutlich kennst):

RestKit - die haben auch eine OAuth Klasse
https://github.com/RestKit/RestKit
ARC based OAuth engine for MKNetworkKit
https://github.com/rsieiro/RSOAuthEngine
AFNetworking Extension for OAuth 2 Authentication
https://github.com/AFNetworking/AFOAuth2Client

diese Bibliotheken helfen vielleicht ein Gefühl für einen guten
Workflow zu bekommen, da es ja immer schlau ist, erstmal zu gucken,
wie es die anderen machen, anstatt die Welt neu zu erfinden (oder so)
:-)
Flori

2012/5/3 Frank Illenberger <illen...@mac.com>:

sas

unread,
May 3, 2012, 4:44:44 PM5/3/12
to CocoaHeads Frankfurt
Hi Frank,

ja stimmt, bcrypt ist die bessere Variante, um Hashes zu speichern.
Hab eben erst weiter oben gelesen, dass Du keine Hashes speichern
kannst. Da hilft das dann eher nix ;)

Viele Grüße,
Sven

On May 3, 8:09 pm, Frank Illenberger <illenber...@mac.com> wrote:
> Hi sas,
>
> ich sehe nicht, wie bcrypt bei dem Problem helfen kann. So wie ich es verstehe, ist das nur eine kryptograpische Hash-Funktion, die gegen Angriffe mit Rainbow-Tables schützt, aber das gilt auch schon für sha1 + salt. Für das Problem der Remote-Authentifizierung bringt es wohl nichts.
> Aber trotzdem danke für den Link.
>
> Gruß
>
> Frank
>
> Am 03.05.2012 um 10:13 schrieb sas:
>
>
>
>
>
>
>
> > Hi Frank,
>
> > ich weiß nicht, ob Dir das jetzt noch hilft, aber ich bin heute auf
> > folgenden Blogpost gestoßen:
>
> >http://chargen.matasano.com/chargen/2007/9/7/enough-with-the-rainbow-...

Frank Illenberger

unread,
May 3, 2012, 5:03:05 PM5/3/12
to cocoaheads...@googlegroups.com
Hallo Florian,

vielen Dank für die Links. Ich habe aber mittlerweile verstanden, dass es für mein Problem ausser https mit all seinen Nachteilen keine Lösung gibt. Ich kann bei Interesse meine Erkenntnisse mal bei den Cocoaheads zeigen.

Gruß

Frank

Von meinem iPad gesendet

Reply all
Reply to author
Forward
0 new messages