# OpenID

OpenID (englisch für offene Identifikation) ist ein dezentrales Authentifizierungssystem für webbasierte Dienste. Es erlaubt einem Benutzer, der sich bei seinem OpenID-Provider einmal mit Benutzername und Kennwort angemeldet hat, sich mithilfe der OpenID (einer URL, in diesem Kontext auch Identifier genannt) ohne Benutzername und Passwort bei allen das System unterstützenden Websites – den Relying Parties – anzumelden, wendet also das Single-Sign-on-Prinzip an.
OpenID ist dezentral angelegt und setzt das Konzept der URL-basierten Identität um. Insofern ist es mit dem Liberty Alliance Project vergleichbar, ist vom System her jedoch weit weniger komplex. Gewährleistet durch die Dezentralisierung kann jeder OpenID-Provider werden und einen OpenID-Server betreiben.

## Benutzung
### Grundprinzip

Für die Anmeldung mit OpenID wird eine OpenID-Identität benötigt. Diese wird durch einen OpenID-Anbieter bereitgestellt. Aufgrund seiner dezentralen Architektur gibt es viele verschiedene OpenID-Anbieter. Da das Protokoll offengelegt ist, existieren Implementierungen in vielen Programmiersprachen. Die ausschließlich unter Open-Source-Lizenzen gestellte Software kann auf einem eigenen Server installiert werden. Somit ist es jedem mit relativ geringem Aufwand möglich, selbst zum OpenID-Anbieter zu werden. Viele Webseiten bieten aufgrund dieses Umstands zu ihren Benutzerkonten zusätzlich OpenID-Identitäten an.
Eine OpenID hat die Form einer URL. Üblicherweise ist der Benutzername eine Subdomain des OpenID-Anbieters: benutzername.example.com. Einige Anbieter verwenden auch den Benutzernamen als Pfad in der URL: example.com/benutzername. Um mit seiner OpenID anbieterunabhängig zu sein, empfiehlt sich die Verwendung einer eigenen URL auf eigenem Webspace als OpenID (Delegation).
Webseiten, die OpenID als Anmeldeverfahren unterstützen, können ergänzend zur OpenID-Anmeldung weiterhin eine klassische Anmeldung (Benutzername mit zugehörigem Passwort) anbieten. Wird auf die klassische Anmeldung verzichtet, so müssen keine Funktionen wie „Passwort vergessen“ implementiert werden. Weiterhin entfällt auf Seiten des Webseitenbetreibers durch die nicht mehr zu speichernden Benutzernamen und Passwörter der dafür nötige Sicherheitsaufwand, welcher sich auf den OpenID-Anbieter verlagert.

### Details zur Nutzung

Eine OpenID kann bereits bei der Registrierung eines neuen Benutzerkontos bei einer Webseite angegeben werden, die die Anmeldung mit OpenID unterstützt. Dabei kann der Webseitenbetreiber mit der OpenID Simple Registration neun grundlegende Informationen vom OpenID-Anbieter erhalten, wenn der OpenID-Benutzer diesem Prozess zustimmt und die entsprechenden Informationen zuvor beim OpenID-Anbieter hinterlegt hat. Somit ist es nicht mehr zwingend erforderlich, bei jeder OpenID-fähigen Webseite im Rahmen der Registrierung E-Mail-Adresse und Namen anzugeben. Nicht immer werden von Webseitenbetreibern alle neun möglichen Informationen auch tatsächlich verwendet. Der Nachteil einer ausschließlichen OpenID-Nutzung besteht im Gegenzug darin, dass klassische Elemente wie Benutzernamen häufig nicht verwendet werden können, sodass eine vollständige Registrierung vorgezogen wird.
Bei einem vorhandenen „klassischen“ Benutzerkonto einer OpenID-fähigen Seite ist es meist möglich, OpenIDs nachträglich anzugeben oder zu entfernen. Sobald eine OpenID erfolgreich mit dem Benutzerkonto verbunden wurde, kann diese anstelle der üblichen Anmeldung mit Benutzername und Passwort verwendet werden.
Für den Nutzer ist es durch die OpenID-Architektur einfacher, eine Loginseite auf Echtheit zu überprüfen, da er sich die sicherheitsrelevanten Merkmale nur einer einzigen Loginseite merken muss, statt von mehreren, wie es ohne Single Sign-on der Fall ist. Die OpenID-Provider sorgen ebenfalls für mehr Sicherheit, indem sie etwa Cookies setzen, ein individuelles Bild zeigen, den HTTP-Referer mit der IP des Requesters vergleichen oder ein clientseitiges TLS-Zertifikat zur Authentifizierung nutzen. Insbesondere letzteres wird von immer mehr Providern unterstützt.
Für das OpenID-Anmeldeverfahren wird der Benutzer auf die Anmeldeseite des OpenID-Anbieters geleitet, auf der die Anmeldung erfolgt. Aus Sicherheitsgründen erscheint eine weitere, auf die anfragende hinweisende Seite, die bestätigt werden muss. Wenn die für die Anmeldung erforderliche Seite vom Benutzer als vertrauenswürdig gekennzeichnet wurde, kann die Bestätigungsseite bei einigen OpenID-Anbietern deaktiviert werden, sodass sie bei weiteren OpenID-Anmeldungen nicht mehr angezeigt wird. Nach der Anmeldebestätigung beim OpenID-Anbieter wird der Benutzer im angemeldeten Zustand auf die eigentliche Webseite zurückgeleitet. Der Anmeldedatenaustausch kann dergestalt stattfinden, dass die Webseite bis zu neun Informationen des verbundenen OpenID-Kontos bei jeder Anmeldung erhält und somit immer auf dem neuesten Stand ist. Der Benutzer muss diese Grundinformationen somit nur noch beim OpenID-Anbieter pflegen. Der Benutzer kann auch dauerhaft seine Zustimmung zur Datenübertragung an die Webseite geben und muss diese dann nicht mehr bei jeder Anmeldung angeben.
Teilweise haben OpenID-Anbieter und OpenID-fähige Webseitenbetreiber zusätzlich zur Simple Registration auch das neuere OpenID-Attribute-Exchange-Protokoll zum erweiterten Datenaustausch implementiert. Dann werden die Daten übertragen, die von jeweils beiden unterstützt werden. Auch hier gilt, dass der Benutzer die volle Kontrolle über seine Daten und deren Weitergabe hat.

## Entwicklung

Das zugrundeliegende Protokoll wurde 2005 von Brad Fitzpatrick, dem Gründer von LiveJournal entwickelt. Mittlerweile wird OpenID neben Fitzpatrick von SixApart Ltd. auch von dem zu VeriSign gewechselten David Recordon weiterentwickelt und meist zusammen mit Yadis oder XRIs verwendet.
Im Juni 2007 wurde in den USA die OpenID Foundation gegründet, deren Aufgabe die Verwaltung von Urheber- und Markenrechten sowie das Marketing ist. Das Ziel ist die Förderung der Verbreitung und der Schutz von OpenID. Im selben Monat wurde in Belgien die OpenID Europe Foundation gegründet, die selbiges Vorhaben in Europa betreibt.
Im Dezember 2007 wurde die Spezifikation OpenID 2.0 verabschiedet, die sowohl von einigen Anbietern als auch nutzenden Webseiten (z. B. Yahoo!) mittlerweile exklusiv unterstützt wird. Bis jede Webseite OpenID 2.0 unterstützt, kann daher nicht jede OpenID überall verwendet werden.
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.
Die OpenID Foundation will mit dem Account Chooser den OpenID-Standarddienst ergänzen. Der Account Chooser soll vor allem einfacher zu bedienen sein.

## Verbreitung

Neben unzähligen kleinen Blogs und Webportalen haben Branchenriesen den Standard implementiert und sorgen für eine weite Verbreitung. Yahoo hat eine Unterstützung realisiert, andere Firmen wie Google, IBM, Microsoft, Myspace, PayPal und VeriSign stehen ebenfalls hinter dem Standard und haben ihn teilweise bereits im Einsatz. Somit steigt die Zahl der aktiven Konten auf 368 Millionen (Stand: Januar 2008). Die Nutzungsmöglichkeiten dieser Konten sind zum heutigen Zeitpunkt noch eingeschränkt, da diese Anbieter ihren Nutzern zwar OpenID-URLs zuweisen, jedoch keine fremden Accounts zum Login auf ihren Seiten erlauben.
Facebook verkündete jedoch im April 2009 die vollständige Implementierung von OpenID. Mittlerweile ist es Facebook-Nutzern möglich, sich auch mit den OpenIDs beliebiger Provider zu authentifizieren. Damit steigt die potentielle Nutzerschaft von OpenID auf mindestens 1,23 Milliarden.
Google integrierte OpenID bislang lediglich für Yahoo-Kunden. Bei der Erstanmeldung wird damit keine Mail mehr verschickt, sondern es erfolgt eine Weiterleitung an den OpenID-Dienst von Yahoo.
Laut dem deutschen Bundesamt für Sicherheit in der Informationstechnik akzeptierten im dritten Quartal 2009 ca. 50.000 Internetseiten OpenID.
Mittlerweile wird OpenID zunehmend von OAuth mit OpenID Connect verdrängt, welches mehr Möglichkeiten bietet.

## Kritik

Die Technik von OpenID ist gegenüber Phishing-Attacken anfällig. Grund dafür ist die Tatsache, dass eine Weiterleitung auf die Webseite des OpenID-Providers nötig ist. Als Betreiber einer Webseite, die OpenID zur Anmeldung benutzt, kann man auf einfache Weise eine Weiterleitung auf eine Seite erstellen, die der Seite des Providers gleicht, jedoch als Proxy dient und Benutzername und Passwort an den Betreiber weiterleitet.