Nicola D'Agostino (.net) - Articoli, traduzioni, grafica, web

Attenzione all’identità

Dal creatore di Live Journal la proposta di un’identità personale, facile e non proprietaria per Internet. Come funziona, perché adottarla e dove si può usare.

di Nicola D’Agostino

Come gestire in maniera semplice ed efficace il problema dell’identificazione e dei login online? Pensiamo alle webmail, ai forum, ai blog, ai servizi come Flickr o alle personalizzazioni di pagine di news o di ricerca. Nell’era del social networking sono ormai davvero tanti i "luoghi" e le occasioni -anche quelle triviali- in cui i navigatori devono identificarsi, spesso con procedure macchinose, diverse tra di loro e, diciamolo, noiose.
Una possibile soluzione qualche anno fa fu proposta da Microsoft con il suo "Passport". Il sistema però non ha attecchito sopratutto per la scarsa fiducia nei confronti del meccanismo: un sistema di identificazione e autenticazione gestito in maniera centralizzata e perlopiù proprio dal colosso di Redmond, che assumeva così l’inquietante ruolo di un "grande fratello" della rete.

Oltre agli aspetti di comodità e praticità non bisogna trascurare quelli di controllo e fiducia nonché di longevità: se si implementa un sistema di identificazione unico è ragionevole non solo aspettarsi che funzioni ma anche che si sappia come e da chi viene gestito il tutto e che duri il più a lungo possibile a prescindere dal fornitore originale del servizio.

il logo di OpenID

Una risposta interessante a molte di queste esigenze viene dalla mente di Brad Fitzpatrick, il creatore del popolare sito-comunità LiveJournal.com, che ha creato OpenID.

Cosa è OpenID

Ecco come descrive lo stesso Fitzpatrick OpenId: "un sistema di identità decentralizzato, ma davvero decentralizzato e che non vada a farsi benedire se un’azienda diventa malvagia o fallisce".

Decentralizzazione, indipendenza del servizio, rapidità e, naturalmente, semplicità dell’identificazione online per l’utente e il mutuo riconoscimento e interconnessione tra i vari servizi, siti e comunità online, tra cui i commenti sui blog, uno degli impieghi per cui Fitzpatrick ha sviluppato la sua proposta.
Per ottenere tutto questo, Open ID si basa su un concetto originale: l’url web come identità.

In OpenID l’identificazione funziona sulla base dell’associazione con un (proprio) indirizzo web che viene verificato e accettato da qualunque server che implementi il protocollo OpenID.
Su qualunque sito che supporti OpenID gli utenti possono saltare la fase di creazione e gestione di un nuovo account per accedere ai servizi, limitandosi ad un unica fase iniziale di riconoscimento. Questa si basa su un "sito fidato" che fa da garante per gli altri dell’identità dell’utente.

Chiunque può usare OpenID e chiunque può gestire un servizio OpenID e il tutto è possibile senza doversi iscrivere a nulla o pagare alcuna licenza: l’uso è totalmente libero e gratuito. Ancora più interessante è il lato tecnico: a lato client OpenID funziona in qualsiasi browser senza appoggiarsi a specifici plug-in né o script.

Brad Fitzpatrick, creatore di Live Journal e ideatore di OpenID

Come funziona

L’uso ideale è in congiunzione a blog come LiveJournal che sia supportano OpenID (fanno da OpenID server) e sia ospitano una dichiarazione di identità (fanno da identity server).
Una volta fatto il login su Live Journal si può venire identificati con facilità nel sito.xyz che supporta OpenID dove si vuole scrivere qualcosa cosa che sarà possibile con una trafila ridotta al minimo. Basterà digitare nella finestra di accesso l’indirizzo del proprio blog, ad esempio www.livejournal.com/users/nicoladagostino
A questo punto sito.xyz andrà a controllare il nostro indirizzo di sopra, troverà l’OpenID server e l’identità che comunicherà al nostro browser.

Se è la prima volta che andiamo a scrivere su sito.xyz bisognerà avvertire (una volta sola e per sempre) il nostro server OpenID che ci fidiamo di sito.xyz e che vogliamo autorizzarlo a riconoscerci in futuro, decisione che si effettua tramite un link che compare a una pagina apposita sul server.

Se invece abbiamo già scritto in passato su sito.xyz il sistema ci riconoscerà senza indugi e ci permetterà di inserire il nostro testo o commento.

la schermata di accesso a Live Journal tramite OpenID

Durante la procedura avviene dietro le scene, in maniera trasparente per l’utente, una serie di comunicazioni crittografate tra i tre soggetti coinvolti: sito.xyz, il nostro url/blog e il nostro browser o meglio i suoi cookie (procedura almeno sulla carta più sicura che un usuale scambio diretto di username e password tra utente e sito) per dichiarare e verificare che siamo davvero il proprietario di (ad esempio) www.livejournal.com/users/nicoladagostino

Rendiamo un po’ più nostro OpenID

Quanto abbiamo visto si basa sul funzionamento di Live Journal sia come motore (il server OpenID) che come garante (l’identity server).
Oltre a mettere su e gestire un nostro proprio server OpenID possiamo anche scorporare queste due parti e sfruttare il motore di un servizio preesistente e tenere l’identity server (o più di uno) altrove, su qualsiasi nostro sito web. L’unico requisito è essere registrati, che nella pratica si traduce in una dichiarazione inserita nell’ <HEAD> dell’html (o xhtml) della home del nostro sito o blog.

Se prima sulla pagina come (ad esempio) "nicoladagostino" su Live Journal avevamo nel sorgente questa riga:


<link rel="openid.server" href="http://www.livejournal.com/openid/server.bml">

ora avremo sul nostro sito web o altro blog, (ad esempio) www.nicoladagostino.net le due righe:


<link rel="openid.server" href="http://www.livejournal.com/openid/server.bml">
<link rel="openid.delegate" href="http://www.livejournal.com/users/nicoladagostino">

La procedura di riconoscimento OpenID è identica solo che l’identità non sarà più www.livejournal.com/users/nicoladagostino ma www.nicoladagostino.net

I vantaggi di questa separazione sono due.
Come prima cosa non siamo più dipendenti da Live Journal (o altri) per identificarci. La nostra identità è davvero nostra e legata al nostro dominio, indipendente dalle fortune (chiusura) o cambi di politiche (licenze inaccettabili, richieste economiche esose) del singolo server OpenID. Possiamo cambiare quando vogliamo iscrivendoci a un nuovo server e rimpiazzando la dichiarazione nelle due righe nell’HTML del nostro sito.

Il secondo vantaggio, più sottile, è che abbiamo anche un meccanismo di delega dell’identificazione con cui immettiamo sì il nostro dominio ma in realtà all’atto pratico viene sempre usato -anche durante la trasmissione- il "paravento" di Live Journal (o altro server OpenID).

Quanto è sicuro OpenID?

Tra i commenti circolati in rete ci sono state critiche alla sicurezza di OpenID, che presterebbe in alcuni punti il fianco a rischi di sicurezza con la possibilità di abusi (uno su tutti, il phishing).
Bisogna però tenere conto che a differenza di altri servizi online come il citato Passport (che Microsoft pare intenda ripresentare riveduto e corretto), OpenID non è stato pensato per gestire account sensibili come l’home banking o acquisti online.
La filosofia di OpenID è diversa dai sistemi di "single sign-on" in quanto non punta all’autenticazione ma solo all’identificazione nelle interazioni online che cerca di rendere più semplice e facile.

OpenID ha dalla sua la popolarità e diffusione dei milioni di utenti di Live Journal

A che punto siamo

Mentre scriviamo l’adozione di OpenID è ancora agli inizi ma ci sono segnali positivi, considerando che si tratta di una proposta -e di una tecnologia- nuova.
OpenID è ovviamente attivo e funzionante su Live Journal e sui derivati, come GreatestJournal, InsaneJournal o DeadJournal e si prevede che ci saranno sinergie con il diffuso MovableType di SixApart. Inoltre esistono già delle librerie per implementare OpenID in WordPress, altri servizi come LifeWiki lo adottano già e la Fondazione Mozilla prevede di incorporare OpenID anche in BugZilla, il suo sistema di bug-tracking.

Approfondimenti:

OpenID: le specifiche
http://openid.net/specs.bml

OpenID wiki
http://www.lifewiki.net/openid/

Lista di server che offrono OpenID
http://www.lifewiki.net/openid/OpenIDServers

Host your own OpenID server
http://gentoo-wiki.com/Host_your_own_OpenID_server

Una versione di questo articolo è stata pubblicata su "Hacker Journal" n. 101 del 18/05/2006