Introduzione

L’Identity Management è una vasta area tematica che riguarda la gestione dell’identità digitale degli utenti, in contesti applicativi molto ampi: da quelli di e-Business legati ai concetti di azienda, impresa o negozio elettronico, fino a quello di e-Government riferito alla pubblica amministrazione.

Un aspetto fondamentale per un infrastruttura di gestione dell’identità è il controllo degli accessi, ovvero la possibilità di controllare chi può avere accesso alla rete, cosa può fare e quali servizi può effettivamente utilizzare dopo aver eseguito l’accesso. Tipicamente con il termine AAA, Authentication, Authorization e Accounting, si intende un framework attraverso il quale si possono configurare gli accessi sulla rete. In particolare, l’autenticazione fornisce il servizio di identificazione degli utenti, attraverso molteplici modalità come login/password o smart card. L’autorizzazione fornisce il servizio per il controllo remoto degli accessi sulla base del profilo con il quale l’utente si è autenticato e si basa sulla creazione di un insieme di attributi che descrivono le policy associate all’utente. L’accounting provvede alle attività di tracciamento delle attività utente, come i servizi utilizzati e le risorse di rete consumate.

Spesso si vuole permettere a utenti che appartengono a una certa organizzazione di poter accedere a servizi di altre strutture che fanno parte di una federazione comune. Per fare questo le organizzazioni devono condividere meccanismi per lo scambio d’informazioni sugli utenti e per la gestione degli accessi alle risorse federate.

Con il termine federazione s’intende un accordo, tra organizzazioni e fornitori di risorse, con il quale i partecipanti decidono di fidarsi reciprocamente, delle informazioni che si scambiano nei processi di autenticazione e autorizzazione, sulla base di regole e linee di condotta stabilite per gestire le relazioni di fiducia. Il compito principale della federazione è di mantenere sempre aggiornate le risorse disponibili alle diverse utenze che ne fanno parte. Infatti, il ruolo che essa costituisce è prettamente a livello organizzativo come coordinatrice tra le organizzazioni.

Parlando di Identity and Access Management federato si intende quindi la gestione delle identità e degli accessi a livello di federazione, quindi non più limitata a una singola organizzazione, ma una gestione che prevede il coinvolgimento di un insieme di organizzazioni. 

Un’ infrastruttura di autenticazione e autorizzazione federata è un sistema che permette a un utente, appartenente a una organizzazione che fa parte di una federazione, di potersi autenticare e accedere ai servizi offerti da altre organizzazioni interne alla federazione, utilizzando sempre le stesse credenziali di accesso. Un tale meccanismo implementa intrinsecamente il Single Sign On (SSO), ovvero la possibilità per un utente di autenticarsi presso uno qualsiasi dei providers della federazione e, successivamente, di accedere ai servizi di tutti gli altri senza dover rifornire le credenziali di accesso.

Lo standard nato per la definizione di protocolli di autenticazione e autorizzazione è SAML arrivato alla versione 2.0[1]. 

In particolare, SAML definisce il formato delle credenziali (asserzioni), indipendente dal particolare metodo di autenticazione, che permetta ad un’autorità di asserire qualcosa su un soggetto. Il fatto che una seconda autorità riconosca o meno una tale asserzione è in funzione del rapporto di fiducia che ha con la prima. La specifica definisce poi i protocolli utilizzabili per inviare tali asserzioni, come anche il binding, ovvero la modalità di comunicazione possibile (es: HTTP-POST o SOAP), ed i profili, ovvero gli scenari d’uso. Infine, definisce la struttura dei metadata, ovvero il formato dei file xml di configurazioni che garantiscono i rapporti di fiducia tra le entità federate.

In questo lavoro, come descritto di seguito, si analizzerà l’opera di reingegnerizzazione effettuata sul framework di autenticazione della Regione Marche Cohesion per l’implementazione dello standard SAML2.0.

Nelle seguenti sezioni si presentano le problematiche affrontate e le soluzioni adottate per il passaggio da Cohesion 1.0 a 2.0. Saranno esposti, inoltre, vantaggi e svantaggi rispetto a Shibboleth, attuale framework implementativo di riferimento dello standard SAML2.0. Verranno poi descritte le federazioni testate e di cui Cohesion farà parte ed infine si analizzeranno i possibili sviluppi futuri e le conclusioni.


[1] Standard OASIS http://www.oasis-open.org/standards#samlv2.0