OpenID
# OpenID

OpenID è un protocollo di autenticazione decentralizzato ideato per autenticarsi in un servizio (service provider) riutilizzando account già esistenti da altri siti web (identity provider). Lo scopo è di evitare che ogni utente necessiti di registrare un account in ogni fornitore di servizi. L'identificativo di un utente OpenID è rappresentato da un URL.

## Caratteristiche

### Procedura di registrazione

    Un modulo di registrazione in un sito web che richieda informazioni di base del profilo come l'indirizzo e-mail, il nome, la data di nascita, ecc. può permettere all'utente di pre-compilare questi campi ricevendoli da un sito web in cui l'utente sia già registrato (identity provider). Ciò abbatte il tempo che intercorre fra l'inizio di una registrazione e la fruizione del servizio.

### Autenticazione

    In fase di autenticazione l'utente non inserisce alcuna combinazione di nome utente e password dedicata a tale servizio, dato che l'autenticazione è delegata all'identity provider scelto dall'utente. OpenID è stato ideato per evitare di ricordare molteplici combinazioni di nome utente e password, sia per evitare frustrazione per gli utenti, sia per evitare che si sia indotti a riutilizzare una stessa password per ogni servizio, comportando un rischio per la sicurezza. La verifica dell'identità avviene sul sito OpenID scelto dall'utente.

### Informazioni personali

    L'utente è nella posizione di decidere quali informazioni personali l'identity provider debba trasmettere al singolo fornitore di servizi.

## Autenticazione

Segue un breve schema di un accesso tramite OpenID:

* Un'applicazione richiede all'utente di effettuare l'accesso
* L'utente sceglie uno fra gli identity provider a disposizione o comunque ne specifica uno (che da qui in poi chiameremo "ACME")
* L'utente è reindirizzato al sito di ACME
   * L'utente effettua il login nel sito di ACME
   * ACME eventualmente chiede all'utente quali informazioni serve trasmettere al servizio (solo l'e-mail ad esempio)
   * ACME rilascia all'utente un certificato che può essere utilizzato per verificare che egli si tratti effettivamente di un'utenza ACME
   * L'utente ritorna automaticamente al sito del servizio di origine consegnandogli il certificato e le informazioni personali
* L'utente è ora autenticato

È da notare che se l'utente fosse già loggato in ACME il tutto potrebbe avvenire in due click.

## OpenID Connect

OpenID Connect è un protocollo di autenticazione basato su OAuth 2.0. Consente ai client di verificare l'identità di un utente finale nonché di ottenere informazioni di base tramite un'API HTTP RESTful, utilizzando JSON come formato dati.

Esistono vari client multipiattaforma per OpenID Connect, per siti web, dispositivi mobili, JavaScript, ecc. La suite di specifiche è estensibile e supporta funzionalità opzionali come la crittografia dei dati di identità, il rilevamento dei provider OpenID e la gestione delle sessioni.

## Storia

Il protocollo di autenticazione OpenID originale fu sviluppato nel maggio 2005 da Brad Fitzpatrick, creatore di LiveJournal, mentre lavorava per la società Six Apart. Il nome iniziale fu Yadis ("yet another distributed identity system", acronimo auto-ironico in lingua inglese indicante "ancora un altro sistema d'identità distribuita").

La specifica 1.0 di Yadis risale al 18 maggio del 2006 e fu rilasciata sotto licenza Creative Commons BY-SA 2.5, firmata da Joaquin Miller.

Successivamente assunse il nome di OpenID, dopo che il nome di dominio openid.net gli fu consegnato da Six Apart da utilizzare per il progetto. Il supporto di OpenID è stato inizialmente implementato su LiveJournal; i commenti dei blog e dei post hanno guadagnato rapidamente l'attenzione nella comunità dell'identità digitale. Alcune librerie OpenID furono inizialmente sviluppate da Jan Rain, un programmatore web.

Alla fine di giugno sono iniziate le discussioni tra gli utenti OpenID e gli sviluppatori della società di software aziendale NetMesh, che ha portato alla collaborazione sull'interoperabilità tra OpenID e il protocollo LID (Light-Weight Identity) simile di NetMesh. Il risultato diretto della collaborazione è stato il protocollo di scoperta Yadis, che ha adottato il nome originariamente utilizzato per OpenID. Il nuovo Yadis è stato annunciato il 24 ottobre 2005. Dopo una discussione al Internet Identity Workshop del 2005 pochi giorni dopo, gli sviluppatori di nomi XRI hanno aderito al progetto Yadis, contribuendo con la loro sequenza descrittiva di risorse estendibili (XRDS) formate per l'utilizzo nel protocollo.

A dicembre, gli sviluppatori di Sxip Identity hanno avviato discussioni con la comunità OpenID / Yadis dopo aver annunciato uno spostamento nello sviluppo della versione 2.0 del proprio Simple Extensible Identity Protocol (SXIP) in identità basate su URL come LID e OpenID. Nel marzo 2006, Jan Rain ha sviluppato un'estensione SREG (Simple Registration) per OpenID che abilita lo scambio di profili primitivi e ad aprile ha presentato una proposta per formalizzare le estensioni a OpenID. Lo stesso mese, erano iniziati anche i lavori per incorporare il supporto XRI completo in OpenID. Verso l'inizio di maggio, il principale sviluppatore OpenID David Recordon ha lasciato Six Apart, unendo VeriSign per concentrarsi maggiormente sull'identità digitale e la guida per le specifiche OpenID. All'inizio di giugno, le principali differenze tra i progetti SXIP 2.0 e OpenID sono state risolte con l'accordo di supportare più personaggi in OpenID mediante l'invio di un URL del fornitore di identità piuttosto che un URL completo dell'identità. Con questo, oltre all'aggiunta di estensioni e supporto XRI in corso, OpenID si stava evolvendo in un vero e proprio framework di identità digitale, con Recordon che proclamava "Vediamo OpenID come un ombrello per il framework che comprende i layer per identificatori, autenticazione e un livello di servizi di messaggistica che si trova in cima e l'intera cosa è stata soprannominata OpenID 2.0". Alla fine di luglio, Sxip ha iniziato a fondere il suo protocollo DIX (Digital Identity Exchange) in OpenID, presentando le bozze iniziali dell'estensione di OpenID Attribute Exchange (AX) ad agosto;

Il 31 gennaio 2007, Symantec ha annunciato il supporto per OpenID nei suoi prodotti e servizi di Identity Initiative. Una settimana dopo, il 6 febbraio Microsoft ha fatto un annuncio congiunto con Jan Rain, Sxip e VeriSign per collaborare sull'interoperabilità tra OpenID e la piattaforma di identità digitale Windows CardSpace di Microsoft, con particolare attenzione allo sviluppo di una soluzione di autenticazione antiphishing per OpenID. Come parte della collaborazione, Microsoft si è impegnata a supportare OpenID nei suoi futuri prodotti server di identità e Jan Rain, Sxip e Veri Sign si sono impegnati a aggiungere il supporto per il profilo della scheda informativa di Microsoft alle loro future soluzioni di identità. A metà febbraio, AOL ha annunciato che un servizio sperimentale di provider OpenID era funzionale per tutti gli account AOL e AOL Instant Messenger (AIM).

A maggio Sun Microsystems ha iniziato a collaborare con la comunità OpenID, annunciando un programma OpenID e inserendo un patto di non asserzione con la comunità OpenID, impegnandosi a non rivendicare alcuno dei suoi brevetti contro le implementazioni di OpenID. A giugno, la leadership di OpenID ha costituito la Fondazione OpenID, una società di pubblica utilità con sede in Oregon per la gestione del marchio e della proprietà OpenID. Lo stesso mese, una fondazione indipendente OpenID Europe è stata costituita in Belgio di Snorri Giorgetti. All'inizio di dicembre, gli accordi di non asserzione sono stati raccolti dai maggiori contributori al protocollo e le specifiche finali OpenID Authentication 2.0 e OpenID Attribute Exchange 1.0 sono state ratificate il 5 dicembre.

A metà gennaio 2008, Yahoo! ha annunciato il supporto iniziale di OpenID 2.0, sia come fornitore che come relying party (sito Web o applicazione che desidera verificare l'identificatore dell'utente finale), rilasciando il servizio provider entro la fine del mese. All'inizio di febbraio, Google, IBM, Microsoft, VeriSign e Yahoo! hanno aderito alla OpenID Foundation come membri del consiglio di amministrazione. Verso l'inizio di maggio il sito SourceForge ha adottato OpenID.. Alla fine di luglio si unì anche Myspace. Alla fine di ottobre, Google ha lanciato il supporto come fornitore OpenID e Microsoft ha annunciato che Windows Live ID supporta OpenID. A novembre JanRain ha annunciato un servizio gratuito in hosting, RPX Basic, che consente ai siti Web di iniziare ad accettare OpenID per la registrazione e il login senza dover installare, integrare e configurare le librerie open source OpenID.

Nel gennaio 2009, PayPal è entrato a far parte della OpenID Foundation come membro aziendale, seguito a breve da Facebook a febbraio. La Fondazione OpenID formò un comitato esecutivo e nominò Don Thibeau come direttore esecutivo. A marzo, Myspace ha lanciato il suo servizio provider OpenID annunciato in precedenza, consentendo a tutti gli utenti Myspace di utilizzare il proprio URL MySpace come OpenID. A maggio, Facebook ha lanciato la funzionalità di relying party, che consente agli utenti di utilizzare un account OpenID con accesso automatico (ad es. Google) per accedere a Facebook.

Ad inizio 2009 un comunicato ha annunciato il miliardo di account utenti abilitati con OpenID in nove milioni di siti web.

Nel settembre 2013, Larry Drebes, CEO di Janrain ha annunciato che MyOpenID.com sarebbe stato chiuso il 1º febbraio 2014; un grafico a torta ha mostrato che Facebook e Google dominano lo spazio di accesso social a partire dal secondo trimestre 2013. Da allora Facebook ha lasciato OpenID; non è più uno sponsor, e non viene più rappresentato nel consiglio di amministrazione di OpenID.

## Fondazione

La fondazione OpenID o OpenID Foundation (OIDF) è un'organizzazione non a scopo di lucro costituita nel giugno 2007 creata allo scopo di promuovere il protocollo OpenID.

