[Talk-de] OAuth (Gibt OSM auch Daten über die Beitragenden heraus?)

Kai Krueger kakrueger at gmail.com
Do Aug 1 19:42:54 UTC 2013


Dirk Sohler wrote
> Martin Koppenhoefer schrieb:
>> […] später OAuth als Alternative implementiert wurde. Letzteres sorgt
>> u.a. dafür, dass das pw nicht mehr klar gespeichert wird, daher ist
>> das unbedingt zu empfehlen!
> 
> Jetzt stehen statt Benutzername und Kennwort eben key und secret in der
> Datei. Da mein ~ aber eh chmod 700 ist, ist mir das einerlei :)

Das ist von Vorteil wenn man JOSM nicht trauen wuerde, denn so bekommt JOSM
dein Passwort nie zu sehen (Zumindestens wenn man die halb automatische
Variante verwendet hat um den Token zu bekommen). Zusammen mit der Tatsache
das man die Zugriffsrechte beschraenken kann sodas selbst wenn JOSM
kompromitiert waere der Angreifer  nur limitierten Zugriff bekommen.
Weiterhin, da viele Leute das gleiche Passwort auf mehreren Sites verwenden,
kann ein kompromitiertes JOSM dann nicht auch noch andere accounts
uebernehmen.

Fuer einen opensource desktop client wie JOSM, der mehr oder weniger alle
moeglichen Zugriffsrechte verlangt, ist dieser Teil von OAuth wohl weniger
interessant. Aber man kann zum Beispiel auf einer Webseite der man nicht
voll Vertraut einen Notes editor verwenden, bei dem man der Seite dann eben
nur die Berechtigung zur Verwendung der Notes gibt. Ausserdem kann auch der
Server admin dieses Notes editors nie dein Passwort einsehen was ein enormer
Vorteil ist. Somit kann auch wenn der Server gehackt wird und die Betreiber
schlamping waren und die Passworter unverschluesselt und ungesalzen
gespeichert haben diese nicht geklaut werden, da man das Passwort der Seite
nie gegeben hat. Auch bei z.B. einer Android app die grundsaetzlich alles
nach Hause funkt, koennte das Passwort so nicht kompromitiert werden.

Da zunehmend OSM editoren auch auf Drittseiten eingebaut werden, wird dieser
Vorteil von OAuth zunehmend nuetzlich, auch wenn er fuer JOSM eher gering
ist.



Dirk Sohler wrote
>  So
> lange der Zugriff auf die API nicht über SSL erfolgt, können auch diese
> Daten ohne weiteres mitgesnifft, oder bei versehentlicher
> Veröffentlichung von jemand anderem in die Konfiguration eingetragen
> werden, der dann eben das jeweilige OAuth verwendet, und nicht
> Benutzername und Kennwort.

Das mitsniffen von Traffic hilft hier nicht. OAuth ist explicit darauf
ausgelegt auch ueber unsichere Verbindungen das "Passwort" zu schuetzen in
dem es digitale signaturen verwendet um die Herkunft zu guarantieren. 

Bei OAuth gibt es vier Werte: Consumer Key, Consumer Secret, Token Key und
Token Secret. Der Consumer ist dabei die verwendete Anwendung, das heist
JOSM, oder die "Notes editor website". Der Token bezieht sich auf die
Person.

Bei jedem API Aufruf der ueber OAuth geht wird nun unverschluesselt der
Consumer Key, der Token Key und eine digitale Signatur geschickt. Die
digital Signatur hasht den Inhalt des API Aufrufes der unverschluesselt
uebermittelt wird und den Consumer Secret und Token Secret, welche beide nie
unverschluesselt uebertragen werden. Da man nur mit Hilfe dieser beiden
shared secrets eine gueltige Signatur erstellen kann, weiss der Server das
die Nachricht tatsaechlich von dem Tokeninhaber stammt.

Wenn man die Datenleitung zwischen JOSM und OSM.org mitsnift bekommt man
somit heraus, wer den Aufruf gemacht hat (Token key), mit welchem Program
(Consumer key), und den gesammten Inhalt des API Aufrufes. Mit den
Informationen kann man aber keine gueltigen neuen Aufrufe erzeugen.

Somit hilft OAuth fuer privacy Zwecke nichts, aber es stellt sicher das nie
das Passwort uebertragen wird (welches wahrscheinlich fuer mehrere Seiten
und Dienste gueltig ist) und das auch jemand der den Traffic mitsnifft nicht
unberechtigt auf den Account zugreifen kann.

Wenn natuerlich der Token Secret in einen oeffentlichen Bugreport gestellt
wird, dann hilft OAuth auch nicht mehr. Andererseits, falls einem dass
passiert, kann man den Token ganz einfach auf osm.org ungueltig erklaeren
und einen neuen anfordern und muss nicht dass Passwort auf osm (und
moeglicherweise andere Seiten auf denen man das gleiche verwendet hat)
aendern und sich ein neues merken. Also auch in diesem Fall hat OAuth
Vorteile.

Insofern sollte wirklich immer OAuth verwendet werden wenn irgendwie
moeglich. Nachteile hat es fuer den Nutzer eigentlich keine. (Fuer die
Programmierer von Software leider schon, da es einiges an Komplexitaet
gegenueber dem einfachen Username und Passwort hinzufuegt).

Kai



--
View this message in context: http://gis.19327.n5.nabble.com/Gibt-OSM-auch-Daten-uber-die-Beitragenden-heraus-tp5771392p5772275.html
Sent from the Germany mailing list archive at Nabble.com.




Mehr Informationen über die Mailingliste Talk-de