Indietro

ⓘ Shibboleth (informatica)




Shibboleth (informatica)
                                     

ⓘ Shibboleth (informatica)

Shibboleth è un sistema di single sign-on per reti informatiche. Consente di autenticarsi su sistemi differenti, permettendo di effettuare il login su reti di organizzazioni o istituzioni diverse, utilizzando una sola identità. Spesso le federazioni sono università o organizzazioni di servizi pubblici.

Shibboleth è stato sviluppato dal consorzio no-profit Internet2, che ha creato unarchitettura e unimplementazione open source per l’ identity management e lautenticazione con identità federata. Linfrastruttura è basata sullo standard aperto Security Assertion Markup Language SAML. Lidentità federata permette di condividere le informazioni sugli utenti tra sistemi e organizzazioni diversi allinterno di una federazione. Questo permette di effettuare single sign-on tra sistemi diversi ed elimina la necessità di conservare nomi utente e password da parte dei singoli sistemi. Gli identity provider IdP forniscono le informazioni sullutente, mentre i service provider SP utilizzano le informazioni e danno accesso ai contenuti protetti.

Shibboleth è open source ed è rilasciato con licenza Apache 2. Molte estensioni sono state fornite da altri gruppi.

                                     

1. Storia

Storicamente il progetto Shibboleth nasce da Internet2, consorzio ben conosciuto nelle comunità open-source. Oggi il progetto è gestito dal Shibboleth Consortium. I due più popolari software gestiti dal Shibboleth Consortium sono Shibboleth Identity Provider e Shibboleth Service Provider, i quali sono implementazioni di Security Assertion Markup Language SAML.

Il progetto Shibboleth è stato avviato nel 2000 con lo scopo di facilitare la condivisione di risorse tra organizzazioni aventi infrastrutture di autenticazioni e autorizzazioni incompatibili. Prima di sviluppare software hanno studiato larchitettura necessaria per più di un anno. Dopo una versione alfa, due beta e due rilasci di versioni minori, Shibboleth IdP 1.0 è stato pubblicato il 1º giugno 2003, seguito da Shibboleth IdP 1.3 pubblicato il 26 agosto 2005.

La versione 2.0 di Shibboleth software è stata distribuita il giorno 19 marzo 2008 e portava con sé sia IdP che SP, ma - cosa più importante - supportava SAML v2.0.

Storicamente Shibboleth e il protocollo SAML sono stati sviluppati nello stesso periodo di tempo. Allinizio, Shibboleth era basato su SAML, ma dove SAML mancava, Shibboleth improvvisava. Essenzialmente, gli sviluppatori di Shibboleth implementarono delle funzionalità che compensavano quelle mancanti in SAML 1.1. Alcune di tali funzionalità sono poi state incorporate in SAML 2.0 e, in questo senso, Shibboleth ha contribuito allo sviluppo del protocollo SAML.

Forse la caratteristica più importante è stata il protocollo Shibboleth AuthnRequest. Poiché il protocollo SAML V1.1 era intrinsecamente un protocollo IdP-first, Shibboleth ha inventato un semplice protocollo di richiesta di autenticazione basato su HTTP che ha trasformato SAML V1.1 in un protocollo SP-first. Questo protocollo è stato implementato per la prima volta in Shibboleth IdP 1.0 e successivamente rifinito in Shibboleth IdP 1.3.

Basandosi su quel primo lavoro, Liberty Alliance ha introdotto un protocollo AuthnRequest completamente ampliato nel Liberty Identity Federation Framework. Alla fine Liberty ID-FF 1.2 ha aderito a OASIS, che ha costituito la base per lo standard OASIS SAML V2.0.

                                     

2. Architettura

Shibboleth è una tecnologia basata sul web che implementa i profili push HTTP/POST, artefatti e attributi di SAML, inclusi i componenti Identity Provider IdP e Service Provider SP. Shibboleth 1.3 ha una sua panoramica tecnica, documento architettonico, e documento di conformità che si basano sulle specifiche SAML 1.1.

                                     

2.1. Architettura Shibboleth 1.3

Nel caso duso canonico:

  • Un utente accede per la prima volta a una risorsa ospitata da un server Web il fornitore di servizi con la protezione del contenuto abilitata tramite Shibboleth.
  • LIdP invia al SP unAttribute Assertion contenente informazioni attendibili sullutente.
  • Il SP crea una richiesta di autenticazione proprietaria che viene passata attraverso il browser utilizzando query string nellURL per fornire lentityID SAML del richiedente, lAssertion Consumer Location e facoltativamente la pagina finale da restituire allutente.
  • Shibboleth genera unasserzione di autenticazione SAML 1.1 con un "handle" temporaneo contenuto al suo interno. Questo handle consente allIdP di riconoscere una richiesta relativa ad un particolare utente browser come corrispondente ad un utente precedentemente autenticato.
  • Lutente viene reindirizzato al proprio servizio IdP o ad un servizio WAYF Where Are You From, dove può selezionare lIdP principale per un ulteriore reindirizzamento.
  • Lutente si autentica su un meccanismo di controllo degli accessi esterno a Shibboleth.
  • I dati di autenticazione dellutente vengono inviati al Assertion Consumer Service del SP. Il SP consuma lasserzione e invia unAttributeQuery al servizio IdP per gli attributi relativi a quellutente, che possono includere o meno lidentità dellutente.
  • Il SP, a quel punto, può sia fare una decisione di controllo di accesso, che fornire le informazioni alle applicazioni per permettere loro di prendere tali decisioni.

Shibboleth supporta una serie di variazioni su questo caso base, inclusi i flussi in stile portale in cui lIdP elimina unasserzione indesiderata da consegnare nellaccesso iniziale al SP, e lavvio "lazy" della sessione, che consente a unapplicazione di attivare la protezione del contenuto tramite un metodo a sua scelta a richiesta.

Shibboleth 1.3 e precedenti non forniscono un meccanismo di autenticazione incorporato, ma qualsiasi meccanismo di autenticazione basato sul web può essere utilizzato per fornire a Shibboleth i dati dellutente. I sistemi più comuni per questo scopo sono Central Authentication Service CAS o Pubcookie. Possono essere utilizzate anche le funzioni di autenticazione/SSO del container Java in cui viene eseguito lIdP ad esempio, Tomcat.



                                     

2.2. Architettura Shibboleth 2.0

Shibboleth 2.0 si basa sugli standard di SAML 2.0. LIdP di Shibboleth 2.0 deve eseguire unulteriore elaborazione per supportare le richieste di autenticazione passive e forzate in SAML 2.0. Il SP può richiedere uno specifico metodo di autenticazione dallIdP. Shibboleth 2.0 supporta capacità di crittografia aggiuntive e imposta una durata di sessione predefinita di 30 minuti.

                                     

3. Attributi

Il controllo degli accessi di Shibboleth viene eseguito associando gli attributi forniti dagli IdP alle regole definite dagli SP. Un attributo è qualsiasi atomo di informazioni su un utente, come "membro di questa comunità", "Alice Smith" o "concesso in licenza con contratto A". Lidentità dellutente è considerata un attributo e viene trasmessa solo se esplicitamente richiesta, il ché preserva la privacy dellutente. Gli attributi possono essere scritti in Java o estratti da directory e database. Gli attributi dello standard X.520 sono più comunemente utilizzati, ma possono essere definiti arbitrariamente nuovi attributi purché siano compresi e interpretati in modo simile da IdP e SP in una transazione.

                                     

4. Fiducia

La fiducia tra i domini è implementata utilizzando la crittografia a chiave pubblica spesso semplicemente certificati server SSL e metadati che descrivono i provider. Luso delle informazioni trasmesse è controllato tramite accordi. Le federazioni vengono spesso utilizzate per semplificare queste relazioni aggregando un numero elevato di providers che accettano di utilizzare regole e contratti comuni.

                                     

5. Adozione

Le federazioni si sono formate in molti paesi in tutto il mondo per costruire strutture di fiducia per lo scambio di informazioni usando il software SAML e Shibboleth. Molti dei principali fornitori di contenuti supportano laccesso basato su Shibboleth.

                                     
  • nel pubblico e nel privato primo livello Corso di aggiornamento di informatica e sistemi informativi applicativi al servizio sociale Istituto di Teologia

Anche gli utenti hanno cercato:

...
...
...