C&C Red Alert 1 kostenlos Blog Update

OpenID – Nie wieder Benutzernamen

2008 16 Sep

OpenID LogoIrgendwie bin ich in letzter Zeit immer wieder  über OpenIDs gestoßen. Es handelt sich dabei um ein sog. "Single Sign-On"-Verfahren (SSO) für Webseiten, bei denen man sich einloggen/anmelden kann. Das tolle an OpenIDs ist: Man kann die eigene Homepage/Blog für die Anmeldung verwenden (siehe weiter unten).

OpenID wird/wurde mit der Zeit immer populärer, da immer mehr der "großen Seiten" OpenID unterstützen. Zum jetzigen Zeitpunkt sind das u.a. AOL, BBC, Google, IBM, Microsoft, MySpace, VeriSign, Yahoo!, SourceForge, Wordpress und weitere.

Die Idee

Die Idee hinter OpenID ist ziemlich nützlich: Auf jeder Webseite, die OpenID unterstützt (erkennbar an diesem Symbol: OpenID Small Logo), kann man sich mit dem ein und dem selben Benutzernamen – eben der persönlichen OpenID – anmelden. D.h. man muss sich nur noch einen Benutzernamen – und im Zuge dessen auch nur noch ein Passwort – merken. Darüber hinaus muss man während einer Surfsitzung (also solange, bis man seinen Browser schließt) nur noch einmal sein Passwort eingeben – eben Single Sign-On.

An dem ganzen Spiel sind dabei zwei Parteien beteiligt (OpenID Terminologie):

  • OpenID Provider/Identity Provider: Ein Anbieter (Server), von dem die eigene OpenID zur Verfügung gestellt wird und der alle zugehörigen, notwendigen Daten speichert. Das SSO (d.h. die Passworteingabe) erfolgt hier und nicht etwa bei der Relying Party (siehe nächster Punkt).
  • Relying Party/Consumer: Die Webseite, auf der man sich per OpenID anmelden kann.

Vereinfachte Registrierung

Neben dem SSO vereinfacht OpenID auch die Registrierung an einer Webseite, auf der man bisher noch keinen Benutzeraccount hatte, denn OpenID bietet die Möglichkeit, alle benötigten Informationen (wie z.B. Name, Geburtsdatum, Wohnort, usw.) zusammen mit der persönlichen OpenID zu speichern. So muss man diese nicht bei jeder Registrierung erneut eingeben.

Möchte man sich nun auf einer Webseite registrieren, gibt man dort einfach seine persönliche OpenID ein. Daraufhin wird man zu seinem OpenID Provider weitergeleitet. Dieser fragt dann, ob man sich auf der Webseite (Relying Party) wirklich registrieren will, und teilt einem mit, welche der hinterlegten Informationen (s.o.; Name, Geburtsdatum, …) an die Relying Party übermittelt werden.

Man behält also die volle Kontrolle über seine Daten. Ob und wie diese Bestätigung aussieht, hängt vom OpenID Provider ab. Man sollte also einen wählen, der an dieser Stelle eine gute Figur macht (siehe weiter unten).

Der Benutzername

Der Benutzername – also die persönlich OpenID – hat die Form einer URL; und das war bis jetzt in meinen Augen auch der größte Nachteil von OpenID. Denn ein Benutzername wie "manski" ist doch deutlich kürzer als "http://openid.claimid.com/manski".

Desweiteren muss man sich seine OpenID auch merken können – und je länger sie ist, desto schwieriger ist sie zu merken.

Diese beiden Gründe haben mich bisher abgehalten, (m)eine OpenID tatsächlich zu benutzen; denn ich konnte keinen Anbieter finden, bei dem die OpenIDs kurz genug waren und der gleichzeitig eine ordentliche Administrationsoberfläche für die eigene OpenID bereitstellte.

Die Lösung des Problems

Heute bin ich wieder mal auf eine Seite, deren Dienst ich nutzen wollte und die OpenID unterstützt. Aus diesem Grund dachte ich mir, ich geb’ der ganzen Sache noch einmal eine Chance. Dabei bin ich folgende tolle Seite gestoßen:

OpenID for non-SuperUsers

Es stellte sich beim Lesen der Seite heraus, dass es bei OpenID relativ einfach möglich ist, die URL seiner eigenen Homepage als persönlich OpenID zu verwenden – auch wenn die OpenID in Wirklichkeit bei einem Drittanbieter (also woanders) liegt.

Ein Beispiel. Sagen wir, meine OpenID lautet:

http://lordb.myopenid.com

Und ich möchte folgende URL zu meiner OpenID machen:

http://myid.mayastudios.net

Dann fügt man in den <head>-Tag der "index.html" (oder "index.php" oder wie auch immer die Index-Datei heißt) der Webseite (in diesem Fall http://myid.mayastudios.net) folgende Zeilen ein:

&lt;link href=&quot;http://www.myopenid.com/server&quot; rel=&quot;openid.server&quot; /&gt;
&lt;link href=&quot;http://lordb.myopenid.com/&quot; rel=&quot;openid.delegate&quot; /&gt;

Diese Zeilen fungieren als Weiterleitung für eine OpenID-Anmeldung. "openid.server" teilt der Relying Party mit, wo der Anmelde-Server des OpenID Providers zu finden ist und "openid.delegate" teilt der Relying Party den Benutzernamen (d.h. die OpenID) mit, unter der man dem OpenID Provider bekannt ist. Die Relying Party verwendet dann diese Informationen, um sich am "echten" OpenID Provider anzumelden. (Diese Zeilen müssen natürlich an die eigene OpenID angepasst werden.)

&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
        &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
  &lt;head&gt;
    &lt;title&gt;My Identity Page&lt;/title&gt;
    &lt;link rel=&quot;openid.server&quot; href=&quot;http://www.myopenid.com/server&quot; /&gt;
    &lt;link rel=&quot;openid.delegate&quot; href=&quot;http://lordb.myopenid.com/&quot; /&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p&gt;This is my identity page.&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;

Möchte man (wie ich) speziell eine Subdomain oder ein eigene Verzeichnis (d.h. nicht direkt den Blog oder die Homepage) als seine OpenID verwenden, dann legt man einfach eine "index.html" in dem entsprechenden Verzeichnis an und fügt folgenden (XHTML-konformen) Code ein, nachdem man ihn angepasst hat:

Ein weiterer Vorteil dieses Verfahrens ist, dass man seinen OpenID Provider wechseln kann, ohne dass sich die eigene OpenID ändert. Man muss in diesem Fall einfach nur die HTML-Datei anpassen.

OpenID Provider

Um das im vorherigen Abschnitt beschriebene Verfahren einsetzen zu können, benötigt man natürlichen einen OpenIP Provider. Zum Glück gibt es OpenID Provider wie Sand am Meer. Jedoch sollte man bei der Auswahl ein paar Punkte beachten:

  • Kann ich dem Anbieter vertrauen? Schließlich "erhält" er Zugang zu allen meinen Seiten, auf denen ich mich per OpenID einloggen kann, und zu persönlichen Informationen, die ich bei ihm angebe.
  • Ist die Seite "stabil"? Nicht, dass man sich anmeldet und in einem Jahr gibt es die Seite schon nicht mehr. Außerdem ist somit halbwegs gesichert, dass die Seite weiterentwickelt und evtl. auftretende Sicherheitslücken und Probleme (in endlicher Zeit) behoben werden.
  • Ist die Seite SSL-verschlüsselt (insb. das Login-Formular), so dass mein Passwort bei der Eingabe nicht abgefangen werden kann? Dieses Kriterium spricht in den meisten Fällen dagegen, sein eigener OpenID Provider zu sein. (Wen es trotzdem interessiert, der findet hier eine Anleitung, wie man das macht).

Um an diese Informationen zu kommen, muss man evtl. ein bisschen im Internet graben. Oder man verlässt sich einfach auf die Erfahrung anderer Benutzer. Eine Liste von OpenID Providern, der man vertrauen kann, findet sich auf der offiziellen OpenID Seite unter:

http://openid.net/get/

Evtl. hat man auch schon eine OpenID, ohne es zu wissen. Denn jedes Konto bei z.B. Google, MSN oder Yahoo! kann auch als OpenID verwendet werden.

myopenidIch persönlich verwende zur Zeit myopenid.com  und bin sehr zufrieden, zumal die Seiten des Anbieters auch noch gut aussehen. Meiner Meinung nach macht man diesem Anbieter also keinen Fehler, wenn man ihn wählt. (Und: Nein, ich bekomme kein Geld für Werbung. ;) )

Informationen zum Artikel

  • Erstellt am 16.Sep 2008 um 13:12 Uhr

Kommtentare, Trackbacks:

3 Kommentare »

  1. IceDealer86
    GERMANY Windows Vista Mozilla Firefox 3.0.1

    17.September 2008 @ 13:53

    Cool, dann muss man als Hacker nur noch eine Seite hacken, um an die Zugangsdaten von mehreren Anbietern zu kommen ;)

  2. Manski (Autor)
    GERMANY Windows Vista Mozilla Firefox 3.0.1

    17.September 2008 @ 13:57

    Naja – aber du musst die OpenID erst mal rausfinden. Und dann musst den entsprechenden Server hacken – was sicherlich nicht ganz einfach sein wird bei einer Seite, die speziell nur Benutzerdaten verwaltet (d.h. die werden auf Sicherheit (hoffentlich) ein besonders großes Augenmerk legen).

    Trotzdem: Bequemlichkeit hat halt seinen Preis.

  3. Mike
    GERMANY Windows XP Mozilla Firefox 2.0.0.18

    25.November 2008 @ 20:30

    Ja, wollte ich gerade schreiben. So einfach ist das nicht mit dem rausfinden..Aber wie Maski schon sagt….Bequemlichkeit hat seinen Preis *leider…

Kommentar hinterlassen

Maximum 3 links per comment. Do not use BBCode.

* Pflichtfeld. Kommentare unangemessenen Inhalts und/oder mit vielen Links werden moderiert.