OpenID

Logo del protocollo 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.[1][2] L'identificativo di un utente OpenID è rappresentato da un URL.

Caratteristiche

[modifica | modifica wikitesto]
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.[3]
Informazioni personali
L'utente è nella posizione di decidere quali informazioni personali l'identity provider debba trasmettere al singolo fornitore di servizi.

Autenticazione

[modifica | modifica wikitesto]
Schema di un'autenticazione tramite OpenID

Segue un breve schema di un accesso tramite OpenID:[4]

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

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

OpenID Connect

[modifica | modifica wikitesto]

OpenID Connect è un protocollo di autenticazione basato su OAuth 2.0.[6] 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.[4][2]

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.[4][2]

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").[7][8][9]

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.[7]

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).[10]

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.[11] 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.[12]. Alla fine di luglio si unì anche Myspace.[13] Alla fine di ottobre, Google ha lanciato il supporto come fornitore OpenID e Microsoft ha annunciato che Windows Live ID supporta OpenID.[14] 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.[15]

Nel settembre 2013, Larry Drebes, CEO di Janrain ha annunciato[16] 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.

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.[17]

  1. ^ (EN) What is OpenID?, su openid.net. URL consultato il 1º febbraio 2018 (archiviato dall'url originale il 15 settembre 2022).
  2. ^ a b c (EN) OpenID Connect developer guide, su developers.login.gov. URL consultato il 1º febbraio 2018.
  3. ^ (EN) Why is OpenID considered secure when password reuse is not?, su security.stackexchange.com, 12 novembre 2015. URL consultato il 1º febbraio 2018.
    «The passphrase (or any other authentication schema like two factor authentication, certificates and so on) only is revealed to the identity provider.»
  4. ^ a b c (EN) OpenID Connect explained, su connect2id.com. URL consultato il 1º febbraio 2018.
  5. ^ (EN) How do I log in with OpenID?, su openidexplained.com. URL consultato il 1º febbraio 2018.
  6. ^ (EN) OpenID Connect Core 1.0 incorporating errata set 1, su openid.net, 2014. URL consultato il 1º febbraio 2017.
    «This specification defines the core OpenID Connect functionality: authentication built on top of OAuth 2.0 and the use of Claims to communicate information about the End-User. It also describes the security and privacy considerations for using OpenID Connect.»
  7. ^ a b (EN) Yadis Specification (PDF), su openid.net, 18 marzo 2006. URL consultato il 1º febbraio 2018.
  8. ^ (EN) Eugene Eric Kim, yet another distributed identity system (yadis), su eekim.com, 17 maggio 2005. URL consultato il 1º febbraio 2018.
    «Spotted on the blosxom mailing list: yadis stands for "yet another distributed identity system" and is the brainchild of Brad Fitzpatrick, lead developer of Live Journal»
  9. ^ Victor Lombardi, Why We Fail: Learning from Experience Design Failures,  p. 56.
  10. ^ (EN) Jeremy Elson, New OpenID provider - using inkblot passwords, su lists.openid.net. URL consultato il 1º febbraio 2018.
  11. ^ (EN) Yahoo! OpenID, su Yahoo!. URL consultato il 1º febbraio 2018 (archiviato dall'url originale il 1º febbraio 2018).
    «Once you enable your Yahoo! account for OpenID access, you can simply tell any OpenID enabled web site that you are a Yahoo! user. You will be sent to Yahoo! to verify your Yahoo! ID and password and then signed in to the web site.»
  12. ^ (EN) OpenID on SourceForge.net, su sourceforge.net, 30 aprile 2008. URL consultato il 1º febbraio 2008.
  13. ^ (EN) Michael Arrington, MySpace Confirms OpenID Support, Launches Data Availability On Flixster and Eventful, su TechCrunch, 22 luglio 2008. URL consultato il 1º febbraio 2018.
  14. ^ (EN) Jorgen Thelin, Windows Live ID Becomes an OpenID Provider, su Microsoft, 20 ottobre 2008. URL consultato il 1º febbraio 2017 (archiviato dall'url originale il 3 novembre 2009).
    «We have been tracking the evolution of the OpenID specification, from its birth as just a dream and a vision through its development into a mature, de facto standard with terms that make it viable for us to implement it now.»
  15. ^ (EN) OpenID 2009 year in review, su openid.net. URL consultato il 1º febbraio 2019 (archiviato dall'url originale il 3 luglio 2017).
    «There are over 1 billion OpenID enabled accounts from the following providers worldwide»
  16. ^ (EN) MyOpenID To Shut Down In February - Slashdot, su tech.slashdot.org. URL consultato il 27 giugno 2018.
  17. ^ (EN) OpenID Foundation, su openid.net. URL consultato il 1º febbraio 2017.
  • (EN) Victor Lombardi, Why We Fail: Learning from Experience Design Failures, Rosenfeld Media, 2013, ISBN 9781933820590.
  • (EN) Prabath Siriwardena, Advanced API Security – Securing APIs with OAuth 2.0, OpenID Connect, JWS, and JWE, Berkley, Apress, 2014.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]