Progetto di gestione dell Accesso in un sistema di Identity and Access Management di Ateneo

Documenti analoghi
Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Corso di Amministrazione di Reti A.A. 2002/2003

Progettaz. e sviluppo Data Base

Base di dati e sistemi informativi

Database. Si ringrazia Marco Bertini per le slides

Software per Helpdesk

Creare una Rete Locale Lezione n. 1

SIMULAZIONE PROVA SCRITTA ESAME DI STATO. PER LA DISCIPLINA di SISTEMI

Wi-Fi, la libertà di navigare in rete senza fili. Introduzione.

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

lem logic enterprise manager

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Centro Tecnico per la Rete Unitaria della Pubblica Amministrazione

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

1) GESTIONE DELLE POSTAZIONI REMOTE

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Una minaccia dovuta all uso dell SNMP su WLAN

Sicurezza a livello IP: IPsec e le reti private virtuali

SDD System design document

EXPLOit Content Management Data Base per documenti SGML/XML

IT Security 3 LA SICUREZZA IN RETE

Allegato 3 Sistema per l interscambio dei dati (SID)

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Le caselle di Posta Certificata attivate da Aruba Pec Spa hanno le seguenti caratteristiche:

Informatica per la comunicazione" - lezione 13 -

Il database management system Access

Progettazione di Basi di Dati

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Reti di Telecomunicazione Lezione 7

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

Strutturazione logica dei dati: i file

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Guida Compilazione Piani di Studio on-line

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

List Suite 2.0. Sviluppo Software Il Telefono Sas 10/06/2010

3. Introduzione all'internetworking

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

La Metodologia adottata nel Corso

Identità e autenticazione

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Università Politecnica delle Marche. Progetto Didattico

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

Organizzazione degli archivi

MyFRITZ!, Dynamic DNS e Accesso Remoto

Le Basi di Dati. Le Basi di Dati

Infrastruttura wireless d Ateneo (UNITUS-WiFi)

DATABASE MASTER (SEDE PRINCIPALE)

Proteggiamo il PC con il Firewall di Windows Vista

Guida alla registrazione on-line di un DataLogger

FPf per Windows 3.1. Guida all uso

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Coordinazione Distribuita

SOLUZIONE Web.Orders online

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Faber System è certificata WAM School

Il sistema C.R.M. / E.R.M.

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

Progettaz. e sviluppo Data Base

Guida rapida per l utilizzo del servizio OwnCloud-MIUR (versione 1.6)

System & Network Integrator. Rap 3 : suite di Identity & Access Management

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

IT Cloud Service. Semplice - accessibile - sicuro - economico

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

FISM del Veneto. caselle di posta FISM.

hi-com software realizzato da Hi-Think

Piattaforma per la realizzazione e distribuzione di corsi formativi in modalità e-learning

Software Servizi Web UOGA

DURC Client 4 - Guida configurazione Firma Digitale. DURC Client 4.1.7

E-Post Office Manuale utente

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Manuale LiveBox WEB ADMIN.

cin>>c8 s.r.l. Analisi del Dominio Pagina 1 di 7 Analisi del Dominio

GESGOLF SMS ONLINE. Manuale per l utente

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).

Servizio di Posta elettronica Certificata (PEC)

La VPN con il FRITZ!Box Parte II. La VPN con il FRITZ!Box Parte II

UTILIZZO DEL SOFTWARE MONITOR

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Facoltà di Farmacia - Corso di Informatica

Introduzione al data base

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Manuale Utente Albo Pretorio GA

Gestione in qualità degli strumenti di misura

IL CENTRALINO VoIP. Schema progetto: Work-flow. Hydra Control

Overview su Online Certificate Status Protocol (OCSP)

Lezione 1. Introduzione e Modellazione Concettuale

Transcript:

Università degli studi di Parma Facoltà di Scienze Matematiche Fisiche Naturali Corso di Laurea in Informatica Tesi di Laurea in Reti di Calcolatori Progetto di gestione dell Accesso in un sistema di Identity and Access Management di Ateneo Relatore Prof. Roberto Alfieri Candidato Andrea Zanelli Corelatore Ing. Marco Panella Anno Accademico 2008/2009

A mia madre Gabriella e a mio padre Sandro.

Indice 1 Obiettivo del progetto 11 2 IAM (Identity and Access Management) 15 2.1 Cos è un sistema IAM...................... 15 2.2 IAM federato........................... 19 2.3 Identità e ciclo di vita dell identità............... 20 2.3.1 Identità.......................... 21 2.3.2 Ciclo di vita delle identità................ 22 2.4 Accesso: autenticazione e autorizzazione............ 23 2.4.1 Autenticazione degli utenti............... 23 2.4.2 Autorizzazione...................... 24 2.5 Implementare un server IAM.................. 24 2.5.1 LDAP........................... 26 2.5.2 Database e DBMS.................... 31 3 Gestione dell accesso 35 3.1 Cosa significa gestire l accesso.................. 35 3.2 Le risorse informatiche...................... 36 3.2.1 WiFi............................ 36 3.2.2 VPN............................ 39 3.2.3 Posta elettronica..................... 40 3.2.4 Risorse web........................ 41 3.2.5 Postazioni computer................... 41 3.3 Soluzioni e tecnologie per l accesso............... 42 3.3.1 Username e password.................. 42 3.3.2 Single Sign On...................... 43 3.3.3 RADIUS.......................... 44 5

3.3.4 Kerberos.......................... 47 3.3.5 Public Key Infrastructure................ 50 4 Situazione attuale nell Università di Parma 53 4.1 Il contesto............................. 53 4.1.1 Risorse disponibili agli utenti.............. 53 4.2 Attuale gestione dell accesso................... 54 4.2.1 Struttura del server LDAP............... 55 4.2.2 Accesso alle risorse informatiche............. 56 4.2.3 Problematiche della gestione attuale.......... 57 5 Progetto: gestione centralizzata dell accesso 59 5.1 Vincoli progettuali........................ 60 5.2 Architettura generale....................... 61 5.3 LDAP............................... 62 5.3.1 Quale server LDAP.................... 62 5.3.2 Struttura e schema.................... 64 5.3.3 Attributi per l identità.................. 67 5.3.4 Attributi per l accesso.................. 72 5.3.5 Esempio di una entry LDAP.............. 78 5.4 Gestione cetralizzata dell accesso con LDAP.......... 80 5.4.1 RADIUS e LDAP..................... 80 5.4.2 WiFi............................ 81 5.4.3 VPN............................ 87 5.4.4 Risorse web........................ 88 5.4.5 Posta elettronica..................... 91 5.4.6 Windows e Linux..................... 92 5.4.7 Schema del progetto................... 95 5.5 Trasmissione sicura dei dati riservati.............. 96 5.6 Gestione del carico: affidabilità e performance......... 97 5.6.1 Heartbeat......................... 98 5.6.2 Linux Virtual Server................... 99 5.6.3 Architettura per il bilanciamento del carico...... 100 5.7 IDEM: federazione della rete GARR.............. 101 5.7.1 Attributi IDEM...................... 101 6 Conclusioni 105 6

A Schema LDAP 107 Bibliografia 123 7

8

Elenco delle figure 2.1 Ogni risorsa gestisce gli accessi in modo autonomo....... 16 2.2 Gestione centralizzata degli accessi................ 16 2.3 Federazione senza AAI...................... 20 2.4 Federazione con AAI........................ 21 2.5 Ciclo di vita dell identità..................... 23 2.6 Server IAM............................. 25 2.7 Esempio di un albero delle entry (DIT)............. 26 2.8 Distinguished name (DN) di una entry.............. 27 2.9 Possibile struttura di una entry.................. 27 3.1 Schema di una rete wireless collegata ad una rete wired... 38 3.2 Roaming tra access point.................... 39 3.3 Remote Access VPN su rete Internet.............. 39 3.4 Scambio di ticket per l autenticazione con kerberos....... 48 5.1 Architettura generale del progetto................ 61 5.2 Schema logico dell architettura del progetto........... 62 5.3 Esempio di infrastruttura per l autenticazione al WiFi con PPPoE............................... 84 5.4 Schema di una infrastruttura per l autenticazione al WiFi con 802.1x............................... 85 5.5 Autenticazione ad una risorsa web tramite CAS........ 89 5.6 Schema di funzionamento di Shibboleth............. 91 5.7 Clients Windows configurati per autenticare gli utenti tramite il server SAMBA, che a sua volta prende gli attributi degli utenti dal server LDAP...................... 93 5.8 Connessioni sicure con SAMBA.................. 94 9

5.9 Autenticazione di client Linux sfruttando direttamente il server LDAP................................ 94 5.10 Schema di tutte le risorse illustrate in precedenza, con uno sguardo anche ai protocolli di sicurezza utilizzati........ 95 10

Capitolo 1 Obiettivo del progetto In una qualunque organizzazione dove vi sono risorse informatiche, come la posta elettronica, postazioni computer oppure anche una rete locale, ed un buon numero di utenti che utilizzano queste risorse, diventa necessario (e a volte anche obbligatorio) gestire in modo appropriato le identità digitali degli utenti e le credenziali di accesso alle risorse informatiche per tali utenti. È evidente che una qualunque università fa parte di questa categoria di organizzazioni, quindi richiede una gestione delle identità e dell accesso. Un sistema di Identity and Access Management (brevemente IAM) è l insieme di tutte le componenti, le procedure e le tecnologie che servono a gestire le identità e l accesso. Attraverso un sistema IAM centralizzato, nel quale ogni persona ha una e una sola identità digitale, ed a cui tutte le risorse informatiche fanno riferimento per gestire l accesso, si riesce ad ottenere una situazione che offre diversi vantaggi: ogni utente avrà infatti sempre le stesse credenziali di accesso, evitando così di doversi ricordare una password diversa per ogni risorsa che vuole utilizzare, ma anche dal punto di vista amministrativo le cose migliorano, gli utenti vengono gestiti in un unica infrastruttura alla quale le risorse informatiche si riferiscono per gestire l accesso, semplificando l intero processo di amministrazione degli utenti. Attualmente, nell Università di Parma, le identità digitali sono mantenute separate in base al ruolo ricoperto all interno dell università, in questo modo se una persona ricopre più ruoli (ad esempio uno studente-ricercatore) si trova ad avere più identità digitali. Inoltre si ha una gestione degli accessi per la quale si possono avere chiavi di accesso diverse a seconda della risorsa che 11

si vuole utilizzare. Questa situazione è quindi ben diversa a quella accennata poco sopra, con uno IAM centralizzato. Lo scopo di questo progetto è proprio studiare e progettare una soluzione reale per un sistema di Identity and Access Management per l Università di Parma, in cui ogni persona avrà un unica identità digitale, ed in cui l accesso alle risorse avverrà utilizzando sempre le stesse credenziali. In particolare si ci concentrerà sulla gestione dell accesso, ovvero di come creare un sistema in cui tutte le risorse informatiche dell università possano fare riferimento ad un infrastruttura comune per gestire l accesso, e di come si può implemetare questa infrastruttura che si deve interfacciare con le risorse e deve contenere le identità digitali degli utenti e le loro credenziali di accesso. Altro problema, che però non viene affrontato in questo testo, è invece come creare e mantenere le identità digitali, partendo dalle fonti, cioè da dove arrivano le informazioni sugli utenti, e come gestire il loro ciclo di vita. La gestione dell accesso dovrà tenere conto anche di una serie di vincoli tecnici assolutamente non trascurabili: sicurezza, affidabilità ed efficenza, vincoli che in generale si trovano in una qualunque infrastruttura centralizzata, dove vi è evidentemente un punto critico. Dovendo gestire dati riservati (come le password) la sicurezza del sistema assume un ruolo fondamentale, si vuole infatti evitare che utenti malintenzionati possano venire a conoscenza di dati riservati di altri utenti o addirittura di riuscire ad accedere a risorse normalmente non accessibili. Gli altri vincoli da rispettare sono chiaramente l efficenza e l affidabilità: il sistema dovrà essere in grado di rispondere in tempi accettabili anche a fronte di un numero elevato di richieste e, soprattutto, dovrà essere sempre presente cercando di minimizzare i tempi di downtime in caso di guasti o incidenti. Nei prossimi capitoli vediamo meglio cos è un sistema IAM, accennando, senza entrare troppo nei particolari, allo IAM federato, e specificando cosa intendiamo per identità digitale, ciclo di vita dell identità, ed accesso ad una risorsa informatica. Subito dopo vengono descritti quali strumenti si possono utilizzare per implementare realmente un server IAM, cioè un server per la gestione delle identità e dell accesso, tenendo presente che uno degli obiettivi del progetto è proprio implementare un server di questo tipo. Siccome si parte dal presupposto che le identità degli utenti siano, in qualche modo, opportunamente create e mantenute nel server IAM, non si entra nei dettagli di come questo avviene, ed invece si illustra, nel capitolo 3, la gestione 12

dell accesso ad un livello generale, descrivendo le risorse informatiche in genere presenti in una università e gli strumenti che si possono utilizzate per la gestione dell accesso. Dopo tutta l introduzione dei concetti generali, si entra nel dettaglio dell Università di Parma, descrivendo prima la situazione attuale dell accesso alle risorse informatiche, mettendone in evidenza i limiti e i problemi, per arrivare infine al progetto che punta a risolvere tali problemi ed a introdurre diversi vantaggi nella gestione dell accesso alle risorse informatiche. 13

14

Capitolo 2 IAM (Identity and Access Management) 2.1 Cos è un sistema IAM Il problema del riconoscimento dell utente e dell attribuzione dei relativi permessi è un problema tipico di tutte quelle situazioni in cui vengono fornite particolari risorse informatiche (risorse web, accesso a Internet, postazioni computer, posta elettronica, ecc.) che richiedono autenticazione e autorizzazione. Queste problematiche sono gestite da un sistema di Identity and Access Management (IAM) che lo si può quindi definire come l intero processo (applicazione di policy appropriate ed impiego di strumenti tecnologici) volto a gestire le informazioni riguardanti le identità degli utenti e controllarne l accesso alle risorse informatiche. Esistono due diverse metodologie per affrontare tale problema: 1. Ogni risorsa gestisce in modo autonomo l autenticazione e l autorizzazione ai servizi offerti (figura 2.1). 2. La gestione degli accessi è centralizzata (figura 2.2). Nella realtà si possono avere anche casi misti, in cui alcune risorse hanno una gestione degli accessi centralizzata ed esistono risorse che gestiscono gli accessi in proprio; questo caso lo si può chiaramente ricondurre al primo punto in quanto non si ha una vera e propria centralizzazione degli accessi, ma sottoinsiemi di risorse che gestiscono automamente l autenticazione e l autorizzazione in modo autonomo. 15

Figura 2.1: Ogni risorsa gestisce gli accessi in modo autonomo. Figura 2.2: Gestione centralizzata degli accessi. Il primo metodo comporta evidentemente diversi problemi, dal punto di vista del gestore delle risorse: le informazioni delle identità sono replicate per ogni risorsa; l aggiunta di una nuova risorsa comporta l aggiunta di un intera infrastruttura di accesso; la replica delle informazioni su molti sistemi significa dover gestire la sicurezza in molti punti, quindi si ha un minor controllo sulla sicurezza; e dal punto di vista dell utente: ogni utente si trova ad avere credenziali di accesso diverse a seconda della risorsa a cui vuole accedere; a causa delle numerose password che si ritrova, è più facile che un utente scelga password troppo semplici o addirittura le annoti su foglietti, il che implica una minor sicurezza per i suoi dati. Allora il secondo metodo sembra quasi una soluzione a tutti i problemi del primo, infatti l amministrazione degli utenti viene fatta solo nell infrastruttura centralizzata, eliminando tutti i problemi del fornitore di servizi, 16

e, siccome gli utenti sono mantenuti in un unica infrastruttura, si ha una sola chiave di accesso per ogni utente, evitando così la proliferazione delle password. Nonostante questo si introducono però problemi non trascurabili, tipici dei sistemi centralizzati: performance e affidabilità. Portando in una sola infrastruttura tutta la gestione degli accesi è necessario innanzitutto stimare il carico di richieste a cui sarà sottoposto, quindi dimensionare opportunamente l intero sistema in modo che riesca a rispondere a tutte le richieste in tempi sempre accettabili; l altra problematica da prevedere e da risolvere opportunamente è l affidabilità, ovvero fare in modo che l infrastruttura sia sempre presente anche in caso di guasti accidentali o compromissione del sistema. Solitamente accade che da una situazione in cui ogni risorsa gestisce autonomamente le identità e gli accessi si passi ad un sistema centralizzato per via dei vantaggi all intero sistema che porta quest ultima soluzione. Uno dei problemi di questo passaggio è il consolidamento delle identità digitali, poiché può essere che le informazioni sugli utenti arrivino da più fonti. È necessario prevedere allora una serie di meccanismi che unificano tutte le informazioni in un unica struttura, facendo particolare attenzione a quelle identità digitali le cui informazioni possono arrivare da più fonti. Vediamo allora quali sono i passi, in generale, da compiere per il consolidamento delle identità: 1. Analizzare i database esistenti e vedere quali sono autoritativi. 2. Decidere quali informazioni prendere, mantenere ed eventualmente aggiungere. 3. Consolidare (una persona può essere presente in più fonti) per creare quella che chiamiamo identità digitale. 4. Tenere aggiornato automaticamente il database unificato.. I benefici ottenuti dal sistema dopo il consolidamento dell identità sono molteplici: I decision makers possono attivare cambiamenti più velocemente (per esempio aggiungere una nuova risorsa, oppure modificare i privilegi di accesso ad un gruppo di risorse). 17

L evoluzione dei requisiti si riflette nei cambiamenti che devono essere fatti solo in un posto. Secondo EduCause (http://www.educause.edu) i costi di implementazione di nuove risorse sono ridotti del 30 per cento. Le decisioni prese si applicano in un punto e si vedono i risultati e le conseguenze delle decisioni stesse. Il logging è consolidato pertanto si possono applicare regole di privacy, di conservazione dei dati di auditing, si possono fare dei report, si monitora la sicurezza in modo efficace. Si elimina il problema del deprovisioning (disattivazione) relativo alla gestione delle identità in sistemi disgiunti. Si riduce il numero di credenziali da conoscere da parte dell utente. L organizzazione può modificare più velocemente i diritti di accesso basandosi sui ruoli. Nel processo di garantire che una persona è quello che dice di essere l istituzione incrementa il suo livello di riservatezza. Nell Università di Parma attualmente si ha una situazione in cui alcune risorse gestiscono in modo centralizzato gli accessi, ma in generale non si ha una sistema centralizzato, poiché vi sono alcuni sistemi che che hanno una gestione autonoma degli accessi. I dettagli della situazione attuale vengono illustrati nel capitolo 4. L obiettivo finale dichiarato di una qualsiasi soluzione di IAM è comunque quello di aumentare la produttività e la facilità d uso del sistema informatico da parte degli utenti finali, aumentare il livello generale della sicurezza, diminuendo i costi associati alla gestione degli utenti e delle loro identità, dei loro attributi e delle loro credenziali. In sintesi, si vuole fornire uno strumento che supporti il processo che stabilisce chi ha accesso a quali risorse, l assegnazione delle autorizzazioni, la loro modifica o revoca quando necessario, nonché la gestione del processo stesso ed il monitoraggio delle attività, nel rispetto delle politiche di sicurezza. 18

2.2 IAM federato Con il termine federazione si ci riferisce ad un insieme di organizzazioni, enti o erogatori di servizi che decidono di creare delle relazioni di fiducia tra loro per potersi scambiare informazioni sulle identità. Spesso si vuole permettere ad utenti che appartengono ad una certa organizzazione di poter accedere a servizi di altre organizzazioni che fanno parte di una federazione comune, per fare questo le organizzazioni devono condividere meccanismi per lo scambio di informazioni sugli utenti e per la gestione degli accessi alle risorse che si vogliono condividere all interno di una federazione. Con IAM federato intendiamo la gestione delle identità e degli accessi a livello di federazione, quindi non più limitata ad una singola organizzazione ma una gestione che prevede il coinvolgimento di un insieme di organizzazioni. Una AAI 1 federata è una infrastruttura che permette ad un utente, appartenente ad una organizzazione che fa parte di una federazione, di potersi autenticare e poter accedere ai servizi offerti da altre organizzazioni (oltre ovviamante alla sua di afferenza) interne alla federazione, utilizzando sempre le stesse credenziali di accesso. Nella figura 2.3 è illustrata una federazione senza una AAI: un utente ha una chiave d accesso differente per ogni servizio che richieda l autenticazione, ed ogni organizzazione gestisce l autenticazione ai suoi servizi anche per utenti esterni, perciò diventa obbligata a gestire in proprio anche le identità di utenti di altre organizzazioni, oltre ai suoi. Con una AAI federata, illustrata in figura 2.4, il processo di autenticazione viene gestito dalla AAI, in tal modo ogni utente possiede una chiave di accesso unica valida per ogni servizio, e se un utente deve accedere ad un servizio di un organizzazione esterna, il processo di autenticazione viene gestito dalla AAI, che preleva le informazioni necessarie dall organizzazione di appartenenza dell utente. Attraverso una AAI federata si riescono ad ottenere vari vantaggi: Possibilità di utilizzare sempre le credenziali della propria organizzazione. Maggiore privacy e controllo dei propri dati personali, poiché vengono gestiti solamente dall organizzazione di afferenza. Informazioni sempre aggiornate. 1 AAI: Authentication and Authorization Infrastructure 19

Figura 2.3: Federazione senza AAI. Minore carico amministrativo per la gestione delle identità e delle credenziali. Più controllo sui sistemi di autenticazione e autorizzazione, quindi maggior sicurezza. Scambio di informazioni e contenuti tra i soci più semplice. Accesso alle risorse online da ovunque all interno della federazione. Un sistema software, sempre più diffuso, che permette di implementare una AAI federata è Shibboleth (che verrà ripreso più avanti), che però è limitato solamente ad applicazioni WEB. 2.3 Identità e ciclo di vita dell identità Vediamo ora una definizione dettagliata di identità e cos è il ciclo di vita dell identità. 20

Figura 2.4: Federazione con AAI. 2.3.1 Identità L identità digitale è l insieme delle informazioni mantenute nel sistema informatico che rappresentano un entità che accede alle risorse concesse dal sistema informatico stesso. Un identità digitale è composta da: Dati anagrafici, ovvero le informazioni che descrivono l entità associata e la identificano rispetto alla realtà. Queste informazioni possono subire cambiamenti, ma in modo indipendente dai cambiamenti dell entità rispetto all organizzazione. Dati anagrafici possono essere cognome, nome, data di nascita. Attributi, ovvero l insieme delle informazioni sull entità relative all organizzazione, suddivisibili in: Ruoli istituzionali Incarichi Attributi per l accesso (privilegi) Appartenenza a gruppi 21

Credenziali di accesso, per esempio username e password, oppure un certificato digitale. Utilizzate per accedere alle risorse informatiche, possono cambiare per volontà dell utente (ad esempio il cambio della password) o in casi straordinari (ad esempio lo smarrimento di tali credenziali). Dalla definizione di identità data in precedenza si può notare che non è escluso che utente possa avere più di un identità digitale all interno di un sistema informatico, poiché il termine entità è molto generico ed un utente potrebbe rappresentare più entità. La non univocità comporta, dal punto di vista dell utente, più account, quindi più credenziali, ma soprattutto, da parte del sistema, comporterebbe una disastrosa gestione delle informazioni riguardanti gli utenti in termini soprattutto di coerenza dei dati, per esempio le modifiche apportate ad una identità dovrebbero essere propagate a tutte le altre identità di quell utente. Diviene quindi fondamentale trovare un gruppo di attributi che da soli possano identificare senza ambiguità ogni utente, in modo da potersi riferire a tale utente sempre attraverso tali attributi detti chiave, creando in questo modo un identità digitale unica per ogni utente. 2.3.2 Ciclo di vita delle identità Un identità, una volta entrata nel sistema, non rimane immutata per sempre, ma può, ed in un sistema come quello universitario molto rapidamente, subire dei cambiamenti a causa di alcune operazioni: Creazione di nuovi utenti ed assegnazione delle credenziali. Modifiche delle credenziali. Modifiche degli attributi a causa di promozioni, trasferimenti o in generale cambi di ruoli. Cancellazione account. La gestione del ciclo di vita delle identità comprende i processi e le tecnologie che consentono l implementazione, l annullamento dell implementazione, la gestione e la sincronizzazione di identità digitali. La riuscita della gestione delle identità e dell accesso si basa soprattutto sull efficienza della gestione del ciclo di vita delle identità digitali. 22

Figura 2.5: Ciclo di vita dell identità. L insieme delle operazioni di amministrazione che portano alla definizione degli account utente e all attribuzione dei diritti di accesso in base al ruolo, prende il nome di User Provisioning; una buona soluzione di IAM introduce un sistema di gestione centralizzata di tutto il processo di amministrazione. 2.4 Accesso: autenticazione e autorizzazione La gestione dell accesso alle risorse è l argomento principale di questo testo, definiamo allora con precisione il significato di accesso. Con accesso ad una risorsa si indica l insieme delle operazioni di autenticazione e autorizzazione effettuate dal sistema informatico che permettono ad un utente di utilizzare una risorsa resa disponibile dal sistema stesso. Si presume quindi che un utente, per effettuare l accesso ad una risorsa, si identifichi presso il gestore di tale risorsa, il quale registra l utente e gli fornisce delle credenziali. L utente utilizzerà le credenziali fornitegli per accedere alla risorsa. 2.4.1 Autenticazione degli utenti L autenticazione è il processo che verifica l identità di un utente in modo da poter correttamente permettere o negare l accesso a risorse condivise e protette. Di fatto, tramite l autenticazione, si associa un utente con la sua identità digitale presente nel sistema. Le tecniche di autenticazione possono spaziare dal semplice login con username e password a meccanismi più complessi e forti come token, certificati digitali a chiave pubblica o sistemi 23

biometrici. Una soluzione di IAM deve pertanto essere indipendente dal meccanismo di autenticazione utilizzato in modo da potersi adattare ad ogni specifica realtà tecnologica. 2.4.2 Autorizzazione L autorizzazione è il passo successivo dopo che un utente è stato autenticato. È il processo che consente l accesso alle risorse solamente a coloro che hanno i diritti di usarle. Durante l autorizzazione vengono quindi valutati i privilegi dell identità digitale associata all utente autenticato e viene consentito, limitato oppure impedito l accesso alla risorsa, applicando opportune regole stabilite in precedenza. In ambito universitario si può pensare, a titolo d esempio, ad una applicazione WEB per gestire gli esami: studenti e professori si possono autenticare entrambi a questa risorsa, ma durante il processo di autorizzazione si distinguono studenti da professori, ed i primi potranno effetturare l iscrizione agli esami, mentre i secondi potranno aggiungere, modificare o eliminare gli esami inseriti, ma chiaramente non dev essere possibile il contrario. 2.5 Implementare un server IAM Nel paragrafo 2.1 abbiamo parlato di sistema IAM centralizzato, descrivendo cos è, a cosa serve e quali vantaggi porta, ma non ci siamo soffermati su come sia possibile implementarlo realmente. Trattandosi di un sistema centralizzato è evidente che sia necessaria una infrastruttura centrale alla quale riferirsi, questa infrastruttura, indipendentemente da come poi venga implementata, è il server IAM. Un server IAM è una infrastruttura che permette di gestire e mantenere le informazioni sulle identità digitali degli utenti in un unico punto centralizzato, ed alla quale si riferiscono le risorse ed i servizi che fanno uso di queste informazioni, ad esempio per gestire l autenticazione e l autorizzazione. Un server IAM deve avere una serie di caratteristiche basilari: Deve memorizzare e mantenere grandi quantità di informazioni dando la possibilità di organizzarle mediante schemi e attributi. Deve essere sicuro rispetto a problematiche di safety e di security, quindi deve avere una serie di meccanismi per assicurare che i dati non 24

Figura 2.6: Server IAM. vengano persi in caso di malfunzionamenti o guasti accidentali (safety) e che non possano essere letti da persone malintenzionate (security). Deve essere affidabile, ovvero deve garantire la continuità di servizio, rispettando le specifiche di funzionamento nel tempo. Deve essere performante nelle operazioni di lettura e nelle interrogazioni, poiché costituiscono la maggior parte di operazioni che vengono effettuate su di esso. Deve essere possibile interfacciarlo, in modo relativamente semplice, con le tecnologie di accesso che leggono le informazioni memorizzate, e con procedure automatiche per l inserimento dei dati provenienti dalle fonti. Eistono principalmente due strumenti che possiedono le precedenti caratteristiche: LDAP oppure i DBMS. Nei successivi paragrafi vengono descritti entrambi e, come si vedrà, ognuno ha caratteristiche più o meno marcate. È possibile utilizzarli singolarmente per implementare un server 25

IAM, ma una buona soluzione, come si potrà vedere più avanti nel progetto, può essere quella di utilizzarli entrambi, in modo congiunto, sfruttando le migliori caratteristiche di entrambi. Di seguito non si vuole dare una spiegazione esaustiva dei due argomenti, ma semplicemente introdurre i concetti che vengono poi ripresi all interno del progetto. Per una descrizione completa e accurata di LDAP e DBMS si rimanda a testi specifici. 2.5.1 LDAP LDAP (Lightweight Directory Access Protocol) è sostanzialmente un protocollo di gestione e accesso a directory service. Un directory service (servizio di directory) è utilizzato per associare nomi ad oggetti, dove ogni oggetto è caratterizzato da una serie di attributi costituiti da una coppia nome - insieme di valori. I directory service sono ottimizzati per effettuare ricerche di oggetti, ricerche che possono avvenire in base al nome dell oggetto, ma anche per il valore di un dato attributo. In genere gli oggetti di un directory service rappresentano un elemento dell ambiente in cui viene utilizzato il servizio, per esempio un utente, un computer, una stampante o una rete, ed ogni oggetto conterrà una serie di attributi che servono per descrivere ciò che rappresenta. Una directory è quindi un insieme di oggetti, e un directory service è un servizio che ha lo scopo di gestire gli oggetti di una directory ed effettuare ricerche su di essi. In LDAP le informazioni vengono organizzate in modo gerarchico, in una struttura ad albero, dove ogni nodo rappresenta un oggetto, chiamato entry. Figura 2.7: Esempio di un albero delle entry (DIT). L albero delle entry è chiamato anche DIT (Directory Information Tree). Ogni entry del DIT è identificata univocamente dal suo DN (Distinguished Name), composto dalla concatenazione dei nomi dei suoi antenati fino alla radice (figura 2.8). 26

Figura 2.8: Distinguished name (DN) di una entry. Ogni entry è costituita da un insieme di coppie attributo-valore. L attributo speciale ObjectClass definisce la struttura della entry, cioè quali attributi sono presenti e quali di questi sono obbligatori (devono per forza contenere un valore). Una object class è un insieme di attributi che hanno, in genere, un significato comune. Per esempio l object class person ha un insieme di attributi che servono per descrivere una persona, come il nome, il cognome o il numero di telefono. Nella definizione di una object class è possibile indicare quali attributi sono obbligari e quali invece sono facoltativi. Il valore dell attributo speciale ObjectClass in una entry dev essere il nome di una object class, e la struttura della entry sarà composta dagli attributi definiti in tale object class. La struttura di ogni entry è indipendente dagli altri oggetti e dalla posizione in cui si trova nell albero. Figura 2.9: Possibile struttura di una entry. 27

Attributi LDAP utilizza la sintassi X.500 per la definizione degli attributi. Per ogni attributo sono specificati: OID (Object IDentifier): numero identificativo dell attibuto, assegnato gratuitamente da IANA. Nome: nome identificativo dell attributo, con eventuali alias di seguito. Significato: breve descrizione dell utilizzo dell attributo. Sintassi: numero identificativo standard della sintassi utilizzata per il valore dell attributo. Regole di confronto: regola con cui confrontare il valore dell attributo in caso di ricerca. Molteplicità: indica se è possibile memorizzare più di un valore nell attributo. Due possibili definizioni di attributi sono le seguenti: attributetype ( 2.5.4.4 NAME ( sn surname ) DESC RFC2256: last (family) name(s) for which the entity is known by SUP name ) attributetype ( 2.5.4.5 NAME serialnumber DESC RFC2256: serial number of the entity EQUALITY caseignorematch SUBSTR caseignoresubstringsmatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{64} ) Il primo utilizzato per contentere il cognome di una persona, il secondo per un eventuale numero di serie dell entità rappresentata dalla entry. Object class Anche per la definizione delle object class viene utilizzata la sitassi X.500. Per ogni object class sono specificati: 28