March 01, 2007 by alex
Einige der Grossen arbeiten noch daran, viele viele andere haben es schon. Trotzdem gelang OpenID der entscheidene Durchbruch erst vor gut einer Woche, also ich mir meine persoenliche OpenID zugelegt habe, aber der Reihe nach:
OpenID ist ein dezentrales Framework zur Authentifizierung von Benutzern im Internet.
Das Problem: Als fleissiger Internetnutzer habe ich bestimmt 50 Accounts bei verschiedensten Diensten. Bei jedem dieser Dienste musste ich mich anmelden, meine Emailadresse eingeben, mir ein Passwort ausdenken und meine 30 Lieblingsfilme, Hobbys und Buecher eingeben. Falls da ich faul war, haben die meisten dieser 50 Firmen das gleiche Passwort, und sobald bei einer dieser Firmen die Datenbank ins Netz entfleucht (ok, angeblich waren die Passworter verschluesselt), kann der neue Besitzer sich damit bei all den anderen Firmen in meinem Namen anmelden und allen moeglichen Unfug anstellen. Im Wesentlichen habe ich also zum einen ein Komfortproblem, indem ich immer wieder die gleichen Daten eingeben muss, zum anderen ein Sicherheitsproblem, da ich verschiedensten Unbekannten meine Daten anvertraue.
Ein frueherer Loesungsansatz: vor einigen Jahren hatte ein grosser Konzern aus Redmond mal ein System namens Passport in Umlauf gebracht. Dieses war als sogenanntes Single Sign On-System gedacht, d.h. ein Benutzer richtet sich einen Passport-Account ein, und kann sich damit fortan bei allen Seiten, die Passport unterstuetzen, mit diesem einen Account anmelden. Die Sache hatte einen kleinen Haken: man sollte ausgerechnet Microsoft seine Daten anvertrauen, dem grossen boesen Konzern, der die Weltherrshchaft an sich reissen wollte. Das hat sich inzwischen ja erledigt, da sich ein Nachfolger gefunden hat, aber damals…
Jetzte endlich: OpenID: wie in der Kurzfassung angekuendigt, ist OpenID dezentral, d.h. es gibt keinen zentralen Provider mehr, der meine Identitaet verwaltet, sondern es gibt viele davon, und ich kann mir einen aussuchen. In meinem Fall war das MyOpenID.com. Nachdem ich mich dort angemeldet habe (ja, wieder Email, Passwort), bekomme ich meine eigene OpenID in Form einer URL, in meinem Fall http://langalex.myopenid.com/.
(Kurzeinschub: gerade laeuft das Fritz-Chaosradio Nr. 121 zum Thema digitale Identitaet, und just in dieser Minute schwenkt der Fokus auf OpenID, also im Podcast dann so bei Minute 78. Gerade wiederholen die Jungs so ziemlich genau das, was ich hier geschrieben habe. seufz Zum Glueck hab ich ja noch mehr.)
Also zurueck: ich habe jetzt also meine MyOpenID (oder Yahoo-OpenID oder AOL-OpenID oder von wem auch immer). Nun moechte ich zum Beispiel auf LiveJournal mir einen Blog einrichten. Normalerweise muesste ich mich dazu zuerst bei LiveJournal anmelden, also wieder Email, Passwort usw. Stattdessen kann ich dort einfach meine OpenID-URL eingeben und mich damit anmelden. Damit sich nicht jeder, der meine OpenID kennt, damit ueberall anmelden kann, muss nun noch sichergestellt werden, dass auch wirklich ich vor dem Rechner sitze. Dazu fragt LiveJournal nun bei meinem OpenID-Provider, also MyOpenID, ob ich’s nun bin. Um das zu beweisen, muss ich auf der MyOpenID-Website mein Passwort eingeben, und ich bin drin, also bei LiveJournal.
Das Ergebnis: Ich habe nur noch eine Identitaet, naemlich die OpenID-URL und ein Passwort, und dieses Passowrt bekommt niemand, ausser mein OpenID-Provider zu sehen. Mit dieser Identitaet kann ich mich nun ueberall schon bald bei immer mehr Diensten einloggen.
Ein Restrisiko habe ich natuerlich immer noch, da ich immer noch meinem OpenID-Provider vertrauen muss. Um auch das zu umgehen, kann ich einfach meinen eigene OpenID-Server aufsetzen. Leider habe ich gerade den Link verloren, sorry.
Nettes Gimmick: ich kann relativ einfach eine OpenID mit meiner eigenen Domain erzeugen, also sowas wie alex.upstream-berlin.com. Dazu melde ich mich zunaechst ganz normal bei einem beliebigen OpenID-Provider an. Zusaetzlich muss ich unter alex.upstream-berlin.com eine HTML-Seite bereitstellen, die ueber ein paar Meta Tags auf die eigentliche OpenID-URL verweist.
Implementierung: das Entscheidene ist natuerlich, dass nun moeglichst viele Sites das ganze unterstuetzen. In absehbarer Zeit wird das in unseren Projekten der Fall sein. Eine Ruby-Library scheint es ja schon zu geben.
Immer wieder gerne: der Hinweis auf Dick Hardts Prasentation Identity 2.0, bei der das Prinzip nochmal toll erklaert wird.