OpenID

Assemblix wiki

Loikkaa: valikkoon, hakuun

OpenID

Sisällysluettelo

[muokkaa] Tapauskertomus: näin se toimii

Jaana Javakoodaaja törmää työssään ongelmaan UTF-8 -merkkijonojen käsittelyssä. Ripeä Googlen käyttö löytää nettifoorumin, jossa käydään keskustelua kyseisestä aiheesta.

Jaana haluaisi kirjoittaa oman kysymyksensä foorumille, mutta foorumi vaatii tunnistautumisen.

Tässä kohtaa Jaana joutuisi tavallisesti keksimään käyttäjätunnuksen ja salasanan, odottelemaan vahvistusposteja ja kertomaan äitinsä tyttönimen.

Jaana huomaa tekstikentän: "Kirjaudu sisään OpenID-osoitteella". Hän kirjoittaa kenttään bloginsa osoitteen "jaanaj.blogipalvelu.fi" ja painaa enteriä.

Jaana ohjautuu blogipalvelun sivulle. Blogipalvelu suorittaa tunnistautumisen, ja vahvistaa, että Jaana haluaa kirjautua Java-foorumille.

Jaana ohjautuu takaisin foorumille. Hän on nyt kirjautunut sisään, ja voi kirjoittaa viestinsä.

Kulissien takana Blogipalvelu vahvisti Java-foorumille, että Jaana on käyttäjä, jolla on oikeus osoitteeseen "jaanaj.blogipalvelu.fi".

[muokkaa] Identiteettipalvelun tarve

Jokainen verkkopalvelu vaatii oman käyttäjätunnuksen ja salasanan. Pakkorekisteröityminen on arkipäiväistä. Monia käyttäjätilejä käytetään kerran tai pari, minkä jälkeen ne unohtuvat. Käyttäjä voi myös jättää uuden foorumin väliin mielummin kuin hankkii taas uudet tunnukset.

Identiteettipalvelun idea on, että käyttäjä tekee varsinaisen rekisteröitymisen vain yhteen palveluun. Tämän jälkeen palvelu vakuuttaa muille palveluille, että kyseessä on tietty käyttäjä.

Yksi esimerkki identiteettipalvelusta on Microsoftin Passport, jossa yhdellä tunnuksella voi kirjautua Microsoftin eri palveluihin. Passport ei ole saanut suosiota Microsoftin ulkopuolella.

OpenID:n ajatuksena on, ettei se ole yksittäinen palveluntarjoaja vaan protokolla, jota kaikki voivat käyttää.

[muokkaa] Osoitteet identiteetin pohjana

Mikä on se identiteetti, jonka palveluntarjoaja vahvistaa? Esimerkkejä:

  • Sähköpostiosoite
  • Satunnainen GUID-tunnus
  • Henkilötunnus (TUPAS)

OpenID-järjestelmässä identiteetin perusta on web-osoite.

Käyttäjä ilmoittaa "minä olen jaanaj.blogipalvelu.fi", ja palvelu vahvistaa "tämä todellakin on jaanaj.blogipalvelu.fi".

Prosessi toimii seuraavasti:

  1. Käyttäjä haluaa kirjautua palveluun X.
  2. Käyttäjä ilmoittaa osoitteensa A, jonka tarjoaja on palvelu Y.
  3. Palvelu X tarkistaa, että osoitteesta A löytyy OpenID-palveluntarjoaja.
  4. Palvelut X ja Y käyvät kryptografisen kättelyn.
  5. Käyttäjän selain ohjataan osoitteeseen A.
  6. Käyttäjä kirjautuu sisään palveluun Y.
  7. Palvelu Y vahvistaa palvelulle X, että käyttäjällä on oikeus osoitteeseen A.
  8. Käyttäjä käyttää palvelua X, hänen käyttäjätunnuksenaan näkyy osoite A.

[muokkaa] Delegaatio

Mitä jos käyttäjällä on jo sivu, jonka osoitetta hän haluaisi käyttää identiteettinään, mutta sivun palvelimella ei ole OpenID-ohjelmistoa? Tätä varten OpenID:ssä on toiminto nimeltä delegaatio.

Delegaatio on eräänlainen identiteetin uudelleenohjaus. Käyttäjä lisää sivun HTML-koodiin kaksi riviä, jotka kertovat että tämä sivu on OpenID-identiteetti, mutta teknisen puolen hoitaa toinen palvelin.

[muokkaa] Esimerkki

Jaanalla on pysyvät kotisivut osoitteessa jaanaj.fi. Jaana päättää, että hän käyttäisi identiteettinään mielummin tätä osoitetta kuin blogipalvelua joka saattaa joskus sulkeutua.

Jaanan web-palvelimella ei ole erillistä OpenID-ohjelmistoa, mutta tämä ei ole mikään ongelma. Jaana lisää sivulleen seuraavat rivit:

<link rel="openid.server" href="http://www.blogipalvelu.fi" />
<link rel="openid.delegate" href="http://jaanaj.blogipalvelu.fi/" />

Nyt Jaana voi kirjautua OpenID:tä tukeviin palveluihin osoitteella jaanaj.fi. Hän käyttää blogipalvelua sisäänkirjautumiseen kuten ennekin, mutta hänen identiteettinsä ei ole enää kiinni siinä.

Jos Jaana päättää myöhemmin vaihtaa blogin palveluntarjoajaa, hän vain vaihtaa kotisivulla olevia rivejä. Muut palvelut näkevät osoitteen jaanaj.fi kuin mitään ei olisi tapahtunut.

[muokkaa] Ongelmia ja rajoituksia

[muokkaa] Sekavaa?

OpenID on käytössä vielä harvassa paikassa, se on ajatuksena uusi ja sen toteutukset eroavat käyttöliittymiltään.

OpenID.net-sivuston kieli on teknistä, eikä juuri auta suurta yleisöä ymmärtämään järjestelmän toimintaa.

[muokkaa] Kaikki haluavat tarjoajiksi

Yahoo ilmoitti äskettäin, että siitä tulee OpenID-tarjoaja. Tarjoajien määrä on kuitenkin merkityksetön, jos markkinoilla ei ole kuluttajia, toisin sanoen palveluita joihin kirjautua sisään.

Merkittävät verkkopalvelut, jotka sallivat muualta tulevien OpenID-käyttäjien sisään kirjautumisen ovat harvassa. Yksi tällainen on LiveJournal, jossa käyttäjä voi kirjoitella ja kommentoida pelkän OpenID-identiteetin voimin ilman erillistä käyttäjätunnusta.

[muokkaa] OpenID ei kerro tosimaailman identiteettiä

OpenID ei takaa käyttäjästä muuta kuin sen, että hän on rekisteröinyt tietyn web-osoitteen itselleen. Tämä ei riitä tilanteessa, jossa käyttäjä on yhdistettävä tosimaailman ihmiseen.

[muokkaa] Kaikki identiteetintarjoajat eivät ole luotettaiva

Se, miten käyttäjä tunnistetaan, on identiteetintarjoajan päätettävissä. Voidaan kuvitella palvelin huuhaatunnistus.fi, joka tilanteessa kuin tilanteessa kertoo, että käyttäjä on tunnistettu. Tällöin OpenID ei toimi roskaviestien ehkäisijänä, vaan niitä alkaa virrata käyttäjältä huuhaatunnistus.fi. Tätä voidaan verrata roskaajien suosimiin kertakäyttöisiin postitileihin.

Kysymykset käyttäjien tosimaailman identiteetistä ja tarjoajien luotettavuudesta eivät kuulu OpenID:n perustasolle. Jos järjestelmä lähtee liikeelle, saattaa syntyä identiteetintarjoajien mustia listoja ja super-tarjoajia jotka lupaavat erityisen hyvän tunnistuksen.

On myös kuviteltaivssa, että kansalaiset saisivat sirukortin myötä oman OpenID-osoitteen, vaikkapa vaestorekisterikeskus.fi/170690-928D...

Henkilökohtaiset työkalut