How to

OpenID: Één wachtwoord voor de toekomst

0

openIDHet concept OpenID lijkt de laatste tijd vleugels te hebben gekregen. Veel mensen zijn het erover eens dat dit een belangrijke stap is uit de ellende van accounts waar we in zitten. Diezelfde mensen zijn het er ook over eens dat er nog een lange weg te gaan is voor het grote publiek dit snapt. Een poging tot uitleg, de logica achter de toepassing.

Wat is OpenID?

OpenID (Wikipedia) is een manier om in te loggen op verschillende sites met behulp van één identiteit —je OpenID— en één wachtwoord. Sites die OpenID ondersteunen heten OpenID-consumenten.

Een OpenID is een URL. Die van mij is: https://alper.nl. Deze URL bevat code waaronder een verwijzing naar een identity provider. Dit is de derde partij die verifieert dat een gebruiker de eigenaar is van een bepaalde OpenID. Het is dus een soort Single Sign On maar dan open en gedistribueerd.

Hoe werkt het?

Een site die OpenID ondersteunt heet een OpenID-consument. Zo´n site geeft aan dat deze OpenID accepteert door een tekstveld met het OpenID-logo en het ontbreken van een wachtwoordveld. In dat tekstveld vult de gebruiker zijn OpenID in.

Login

De OpenID consumerende site roept die URL aan en krijgt van de webserver de gegevens door welke OpenID provider voor de authenticatie zorgt. Bij mijn OpenID is in de code van de pagina het volgende te vinden:
<link rel="openid.server" href="https://www.myopenid.com/server" mce_href="https://www.myopenid.com/server" />
<link rel="openid.delegate" href="https://alper.myopenid.com/" mce_href="https://alper.myopenid.com/" />
<meta http-equiv="X-XRDS-Location" content="https://alper.myopenid.com/xrds" />

Door deze code weet de OpenID-consument dat de authenticatie voor de OpenID https://alper.nl plaatsvindt bij de OpenID-provider MyOpenID. De browser wordt doorgestuurd naar MyOpenID en daar krijgt de gebruiker de vraag of (in dit voorbeeld) zooomr.com geauthenticeerd mag worden.

Identity Provider

Als de gebruiker dat bevestigt, wordt deze terug geleid naar de originele OpenID consumerende site, die weet dan met wie hij te maken heeft en heeft de gebruiker ingelogd.

Signed in

Achter de schermen vindt er wat cryptografisch heen en weer plaats, iets waar de meeste mensen zich niet mee bezig hoeven te houden. De specificatie staat online en voor de meeste omgevingen zijn er goede implementaties beschikbaar.

De essentie van OpenID is dat het een simpel en open principe is dat complexere toepassingen mogelijk maakt. Consumenten en aanbieders van OpenID kunnen verder innoveren door meer en betere functionaliteit op de bestaande basis aan te bieden.

Waarom is het beter dan bestaande initiatieven?

Het is zoals de naam het al zegt open en bijzonder simpel. Dat betekent dat iedereen zonder veel moeite of kosten alle onderdelen van het protocol kan implementeren. Omdat het geen monopolistisch gesloten initiatief is, is er ruimte voor concurrentie en keuze voor de gebruiker.

In het protocol is al ingebouwd dat je zonder problemen van OpenID provider kunt overstappen als deze onbetrouwbaar mocht blijken te zijn. Daarnaast heeft de gebruiker controle over zijn eigen gegevens.

Wat staat er nog open?

Een groot deel van de OpenID ruimte is nog in beweging. Waarom je het zou willen gebruiken is duidelijk maar waar dat kan en de precieze details worden verder verfijnd. Aan de ene kant is deze onduidelijkheid hinderlijk, maar aan de andere kant biedt dit ook juist weer volop kansen aan mensen die bij willen dragen.

  • Onduidelijkheid: Er is nog veel ruimte om dit systeem gebruikersvriendelijker te maken. Het is nu voor een groot deel nog het domein van de techneuten. Het feit dat mensen naar een compleet andere site worden doorgestuurd kan verwarrend werken en dat je een URL moet invullen als gebruikernaam is ook nog niet de gewoonste zaak van de wereld. Dit moet gebruikersvriendelijker gemaakt worden, wil OpenID echt een succes worden.
  • Veiligheid: Die onduidelijkheid en het feit dat er sprake is van een tussenliggende site maakt het systeem ook gevoelig voor phishers —mensen die een eigen site er tussenin weten te zetten en zo gegevens onderscheppen. OpenID is hier wat gevoeliger voor dan de meeste andere indernetsites, maar er wordt ook gewerkt om dit op te lossen.

Wie gebruiken het al?

De technici die het hebben bedacht en andere bloggers claimen hun OpenID op hun eigen sites. Een van de grootste pleitbezorgers van OpenID in Engeland is Simon Willison, die bergen werk heeft verzet. Zijn presentaties op Barcamp London en the Future of Web Apps inspireerden veel mensen (waaronder mij) om hiermee aan de slag te gaan. Op zijn blog schrijft hij over de laatste ontwikkelingen in OpenID.

Het grote publiek heeft meestal niet de beschikking over eigen sites en is dus afhankelijk van hosted toepassingen. Die zijn er genoeg sinds zwaargewichten als AOL, Yahoo! en Microsoft hun steun hebben betuigd aan OpenID. Daarnaast heeft iedereen met een LiveJournal of een WordPress.com blog automatisch al een OpenID.

Sites die OpenID ondersteunen zijn social bookmarking site Magnolia, fotosite Zooomr en poll site Jyte. Digg heeft beloofd OpenID te gaan implementeren.

Firefox 3 gaat ondersteuning voor OpenID aanbieden in de browser aanbieden. Dit zal waarschijnlijk een combinatie zijn van bescherming tegen phishing en identiteits/ wachtwoord-functionaliteit.

En wat gebeurt er in Nederland? De site Mijn OpenID.nl biedt een eenvoudige en gebruiksvriendelijke manier om een OpenID te krijgen maar sites in Nederland waar je je OpenID kunt gebruiken heb ik nog niet gezien. Wie biedt?

Wat kun je er nog meer mee?

Ik verwacht veel van het idee dat OpenID een simpele bouwsteen is die complexere toepassingen mogelijk maakt. Als je eenmaal weet wie iemand is, kun je gaan bouwen aan vertrouwen en toepassingen.

  • Lichtgewicht accounts: Het wordt met OpenID makkelijker om overal in te loggen zonder e-mailadressen te hoeven achterlaten en wachtwoorden te hoeven onthouden. Op mijn nieuwe blog Four Starters is het bijvoorbeeld mogelijk om in het commentaarveld in te loggen met een OpenID. Als blogs gebruikers op deze manier laten inloggen zijn de toepassingen legio. Het is mogelijk om vertrouwde gebruikers meer rechten te geven en white lists van niet-spammers uit te wisselen om maar een paar voorbeelden te noemen.
  • Eigen sociale netwerken: Door het feit dat een OpenID uniek is, is het mogelijk om mensen te identificeren. Dit zou een oplossing kunnen zijn voor de profielinformatie die verpsreid ligt over allerlei sociale netwerken. Als gebruikers naast hun OpenID ook hun profielinformatie en hun lijst van vrienden meeleveren, dan heb je in feite al een sociaal netwerk. Voor profielinformatie is er nog niet echt een standaard maar vrienden zijn al aan te merken met XFN. Applicatiebouwers kunnen hier hele interessante open sociale netwerken op bouwen (hierover in een later artikel meer).

Simon Willison weer bedankt voor de inspiratie. Zie ook zijn presentatie voor meer over OpenID.

Met dank aan John A-P voor de foto.

Alper Çugun is bijna afgestudeerd aan de TU Delft. Hij is hoofd communicatie van de Nederlandse startup TipIt.to en werkt zelfstandig in alles wat met internet te maken heeft.