Online-Identität heute:
Viele verstreute Accounts auf verschiedensten Websites.
Ergebnis: Kein Überblick
„Welchen Benutzernamen hatte ich nochmal bei dieser Seite?“
„Was hatte ich hier noch gleich als Passwort gesetzt?“
(Oder: „Ich weiß, dasselbe Passwort wie überall anders!“ …)
… ist auch keine Lösung.
Der Benutzer hat einen Account bei einem Dienst, der ihm einen zentrale Online-Identität zur Verfügung stellt.
Webseiten können diese Identität abfragen und so
auf eigene Login-Systeme verzichten.
Der Nutzer braucht dann kein zusätzliches Passwort pro Webseite, sondern nur das für seinen IdP-Account.
Potenzielle Probleme:
Abhängigkeit und Privatssphäre.
Im Juni 2011 wurde Persona (urspr. BrowserID) von Mozilla als einfachere und vor datenschutzfreundlichere Alternative zu OpenID vorgestellt.
Die Idee hinter Persona ist, die in der Praxis übliche
Verbindung von E-Mail-Adresse und Online-Identität
auszunutzen, indem E-Mail-Provider als Identity-Provider
für ihre Nutzer etabliert werden.
Persona ersetzt also Passwort und Bestätigungs-E-Mails.
Der Browser steht im Mittelpunkt der Kommunikation:
Der Identity-Provider kann nicht erfahren, welche Webseiten der Nutzer besucht.
Trotz zentraler Online-Identität erlaubt Persona
kein Tracking durch den Identity-Provider.
Browser:
GET /.well-known/browserid HTTP/1.1 Host: identity.org …
Identity Provider:
200 OK Content-Type: application/json … { "public-key": { … }, "provisioning": "/provision", "authentication": "/login" }
Browser:
GET /provision HTTP/1.1 Host: identity.org …
if (/* Anmeldung nötig */) { navigator.id.raiseProvisioningFailure(…); }
GET /login HTTP/1.1
Identity Provider:
Browser:
function onLoginClicked() { // Sende E-Mail / Passwort zur Überprüfung // an identity.org Server if (/* Passwort stimmt */) { navigator.id.completeAuthentication(); } else { navigator.id.raiseAuthenticationFailure(…); } }
Identity Provider:
200 OK …
Browser:
GET /provision HTTP/1.1
navigator.id.genKeyPair(function(pubkey) { // Sende Public Key an identity.org; // Bei Erhalt des Zertifikats: navigator.id.registerCertificate(…); });
Identity Provider:
{ "iss": "identity.org", "exp": "1313971280961", "public-key": { … }, "principal": { "email": "johnny@identity.org" } } (+ Signatur)
Browser:
function onSignInClicked() { navigator.id.get(function(assertion) { // Sende signierte Assertion zur // Überprüfung an blogz.net; // wenn Erfolg, ist der Nutzer eingeloggt! }); }
Browser:
GET /.well-known/browserid HTTP/1.1 Host: identity.org
Identity Provider:
200 OK … { "public-key": { "alg": "RS256", "n" : "4b3c34…", "e" : "93bc32…", }, … }
Persona bietet viel Komfort für Benutzer (meist keine Passworteingabe notwendig) bei voller Kompatibilität mit existierenden Browsern.
Das System ist dezentral und ermöglicht dem Nutzer (im Prinzip) die freie Wahl des Identitäts-Providers.
Der Identity-Provider erhält keine Informationen über die vom Nutzer besuchten Seiten.
Es gibt viel Freiraum bei der Umsetzung für den IdP, da dieser die meisten Protokoll-Details selbst festlegt. Das sorgt für leichte Integration in bestehende Infrastruktur.
Login mit Persona ist für Webseiten leicht zu implementieren; Browser und IdP nehmen einem die meiste Arbeit ab.
Da Persona noch bei keinem E-Mail-Provider implementiert ist, gibt es in der Praxis zur Zeit keine Dezentralität.
(Es muss der Secondary IdP von Mozilla verwendet werden.)
Die Abhängigkeit von JavaScript ist für einige Zwecke ungeeignet und ein potenzielles Sicherheitsrisiko.
Ein IdP kann sich als jeder seiner Nutzer ausgeben. Es ist also
hohes Vertrauen in den Provider nötig.
Aber:
Dies ist ein generelles Problem von IdP-Systemen, nicht speziell von Persona. Da der IdP auch E-Mail-Provider ist, benötigt er sowieso hohes Vertrauen.
Native Persona-Oberflächen für Firefox Desktop und Mobile.
Unterstützung von Profildaten, die man optional mit Webseiten teilen kann.
BigTent:
Proxy-IdP für populäre Maildienste (GMail, Yahoo, Hotmail), der dank OpenID und OAuth kein eigenes Passwort braucht.
Persona ist ein vielversprechendes Identitäts-System, das OpenID's Komplexitäts- und Privatspähre-Probleme zu vermeiden scheint.
Es ist aber fragwürdig, ob es sich verbreiten wird; trotz Vorteilen für Nutzer ist die Macht der OpenID-Lobby und deren kommerzielle Interessen womöglich ausschlaggebender.
Letztendlich gilt:
Die meisten Technologien setzen sich aus politischen und (leider) nicht aus technischen Gründen durch …
Es bleibt spannend!