openID

Allgemeine Beschreibung

OpenID ist ein dezentrales System zur Identifizierung der Anwender. OpenID ermöglicht, dass sich Benutzer mit einem Benutzerkonto bei einem OpenID-Server mit diesen Kontendaten auf beliebigen OpenID-unterstützenden Websites anmelden können, ohne dass sie für jede Webseite ein eigenes Benutzerkonto und Passwort benötigen. Dabei wird das Konzept der URL-basierten Identität umgesetzt.

OpenID ist ein Single-Sign-On-System, vergleichbar mit dem Liberty Alliance Project, und gewährleistet durch die Dezentralisierung – jeder kann einen OpenID-Server betreiben - seine Unabhängigkeit.

Vergleichbare Systeme, die bei höherer Komplexität mehr Funktionen bieten, sind die auf der Security Assertion Markup Language (SAML) aufbauenden Projekte Shibboleth, Liberty und CardSpace.

 

Wie funktioniert OpenID?

Um die Funktionsweise von OpenID verständlich zu machen, stellen wir hier das traditionelle Login mit Username/Passwort dem OpenID Login gegenüber:

Herkömmliches Login

Jeder User hat eine Reihe von Websites, die er normalerweise täglich beim surfen besucht. Bei jeder einzelnen Seite loggt er sich mit seinem Benutzernamen und dem dazugehörigen Passwort ein. Aus Sicherheitsgründen jedesmal mindestens mit einem anderen Passwort.

Richtig anstrengend wird es, wenn man einen neuen Account auf einer Website anlegen will. Dann muss man oft eine ganze Reihe Benutzerdaten eingeben und seine Emailadresse verifizieren. Das ist nicht nur zeitaufwändig, sondern produziert auch jede Menge redundanter Daten, die nur schwer zu pflegen sind. Man denke nur mal daran seine Emailadresse zu ändern.

Jeder, der schon einmal eine Website aufgebaut hat weis, dass die Registrierungshürde das größte Hinderniss ist um an neue User zu kommen. Oft ist eine Anwendung einfach zu erklärungsbedürftig - könnten neue User jedoch einfach mal damit “herumspielen” um zu merken, wie sich das Ganze “anfühlt”, wäre das eis viel schneller gebrochen. Hier greift OpenID und vereinfacht das Ganze erheblich.

Registrieren und Einloggen mit OpenID

OpenID hat den einfachen Grundgedanken, daß sich ein User über eine eindeutige Website-URI identifiziert, die ihm “gehört” und für die er bereits eindeutig identifiziert wurde.

Wie sieht dies praktisch aus? Man registriert - ein letztes Mal - einen Account bei einem OpenID Provider (IdP) und hinterlegt dort die Daten die man potenziell an andere Websites weitergeben will, also z.B. Nickname, Voller Name, Emailadresse, Sprache, Land etc.

Loggt man sich nun beim Start seiner Surf-Session bei seinem IdP ein, so ist man dort authentifiziert und kann alle Websites mit OpenID-Unterstützung wesentlich einfacher benutzen. Besucht man z.B. das OpenID Directory und möchte für eine der dortigen Seiten seine Stimme abgeben oder z.B. seine eigene Seite dort mit der kostenlosen Promotionbox bewerben, dann gibt man einfach nur seine OpenID ein und sofort kann ich alle Funktionen dieser Website uneingeschränkt benutzen.

Das Gleiche gilt z.B. für Kommentare in Blogs: wenn wir einen interessanten Beitrag finden, loggen wir mit der OpenID ein und können sofort aktiv werden.

Doch wie funktioniert dies technisch? Die Website (Consumer) schickt beim Login eine Anfrage an den OpenID Provider (IdP). Der Server zeigt eine Seite, auf der man die Anfrage einmalig oder dauerhaft akzeptieren oder ablehnen kann. Man kann hierbei detailliert bestimmen, welche Daten der Consumer erhalten soll und welche nicht.

Akzeptiert man die Datenübergabe, schickt der IdP “SUCCESS” an den Consumer, der den Userstatus daraufhin auf “eingeloggt” ändert.

Beim ersten Besuch einer Consumer-Website wird vollautomatisch ein neuer Account angelegt, der komplette Registrierungsprozess entfällt. Es sei jedoch erwähnt, daß es auch Websites gibt, denen die vom der Version 2.0 abgelösten, doch noch verbreitetet OpenID 1.1 Protokoll zur Verfügung gestellten Daten nicht ausreichen. Diese gehen dann meistens den Weg die bereits vorhandenen Daten in das Registrierungsformular voreinzutragen und den Rest dann zur manuellen Eingabe anzubieten.

Zusammengefasst sieht das Szenario einer üblichen Surf-Session jedoch schon wesentlich bequemer aus (wir gehen hierbei davon aus, daß allen Websites dauerhaft eine Freigabe beim IdP erteilt wurde): Der User loggt sich zunächst bei seinem IdP ein und besucht dann nacheinander seine Lieblingswebsites, bei denen er nach Eingabe seiner OpenID “sofort drin ist”. Ohne Anstrengung kann er hierbei mit zwei mühelosen Schritten (Eingabe der OpenID und Anklicken der Bestätigung der Datenweitergabe beim IdP) auch einfach mal neue Angebote testen.

Mögliche Sicherheitsrisiken

OpenID wird immer wieder wegen Sicherheitsbedenken kritisiert. In erster Linie sind dies Phishing, vertrauensunwürdige Provider und OpenID Spamming.

 

Phishing

Nicht nur OpenID hat dieses Problem, Phishing ist ein weit verbreitetes Phänomen bei Banken, Kreditkartenunternehmen, Paypal, Ebay und vielen anderen Diensten und bezeichnet den Versuch dem User durch das Vorgaukeln einer “offiziellen” Seite finanzielle oder sonstige wichtige Daten zu entlocken.

Natürlich wäre das Faken einer IdP-Seite ein besonders geartetes Problem, da hier ein Multiplikatoreffekt entsteht und der Identitätsdieb Zugang zu allen vom User zuvor dauerhaft bestätigten Diensten hätte.

Die Phishing-Gefahr kann durch verschiedene Mechanismen komplett ausgeschaltet werden. Z.B. kann man sich ein kostenloses Zertifikat für seinen Browser besorgen und sich nach dessen Installation bei einem IdP wie certifi.ca anmelden. Danach ist es praktisch unmöglich dem User ohne Warnmeldungen vorzumachen, er wäre mit seinem IdP verbunden.

Das gleiche gilt für die Kombination mit anderen sicheren Mechanismen sich bei seinem IdP zu authentifizieren, als da wären: Cardspace, biometrische Verfahren (Fingerabdruck, Iris-Scan, Stimmerkennung etc.), Smartcards

Vertrauensunwürdige Provider

Der OpenID Provider hat natürlicherweise Zugriff auf die persönlichen Daten des Users. Doch nicht nur auf die Informationen, die manuell erfasst wurden, sondern auch auf Aufzeichnungen welche Seiten wann besucht wurden. Hierdurch kann ein Profil des Benutzerverhaltens erstellt werden, welches ein durchaus klares Bild der Person ergeben kann. Der gläserne User würde somit Wirklichkeit.

Gegenmaßnahmen bestehen darin nur Provider aus Ländern mit einer sicheren Datenschutzregelung zu wählen oder notfalls einen eigenen IdP-Service zu betreiben. Auch das Streuen verschiedener OpenIDs, welche bei verschiedenen Providern angelegt wurden, verhindert die Aggregation zu einem Userprofil zuverlässig.

OpenID Spamming

Wenn es mehr OpenID-fähige Dienste gibt, steht auch folgendes Szenario zu befürchten: Spammer werden versuchen sich massenhaft OpenIds anzulegen oder sogar eigene Server unter verschiedensten Domains anlegen, um selbst eine beliebige Anzahl OpenIDs generieren zu können. Dadurch würde es ihnen möglich werden intensives Spamming zu betreiben mit dem Ziel eigene Links zu platzieren und dadurch Google Ranking und Besucher für ihre meist dubiosen Angebote zu erhalten.

Bisher ist eine solche Spamwelle noch nicht zu beobachten. Sollte es erst soweit sein, werden jedoch auch hier sicherlich Schutzmechanismen ähnlich zu dem bekannten Askimet entwickelt werden, die solche Spamposts sicher unterdrücken

Nach Oben