1
questo nuovo modello di gestione dei privilegi per capire quali sono i vantaggi derivanti da
un tale approccio e cercare di applicarlo ad un caso reale.
Il primo capitolo introduce le problematiche di autorizzazione attuali in ambiente
distribuito: questa problematica, essendo particolarmente sentita nel caso dei Portali Web,
verrà discussa cercando di approfondire il problema.
Il secondo capitolo illustra le problematiche di autenticazione in ambiente
distribuito, passando dal caso più semplice dell’utilizzo di username/password al caso più
complesso dei certificati digitali. In quest’ultimo caso si approfondiranno le problematiche
di gestione dei certificati, le procedure di emissione e revoca dei certificati, e i prodotti
commerciali per una gestione automatica e trasporto di certificati elettronici in sistemi
altamente scalabili.
Nel terzo capitolo si analizzano le problematiche di autorizzazione, operando un
confronto tra le soluzioni più consolidate quali Kerberos e l’infrastruttura per la gestione
dei privilegi (PMI). Si introducono quindi gli Attribute Certificate, la loro struttura e le
loro funzionalità; successivamente si studia una PMI, i suoi componenti, la sua architettura
e i modelli di autorizzazione possibili. In conclusione si analizzano i prodotti di
autorizzazione allo stato dell’arte.
Il quarto capitolo tratta il caso di studio relativo alla Pubblica Amministrazione del
Comune di Bologna, analizzando i requisiti richiesti e la sua integrazione con le recenti
norme per realizzare l’interoperabilità del protocollo informatico (D.P.C.M 31 ottobre
2000). Analizzate le esigenze di autorizzazione, si passa alla fase di progetto della PMI e
alla realizzazione di un possibile modello.
Il capitolo quinto si sofferma sulle considerazioni sui sistemi di sicurezza che sono
stati approfonditi durante questo lavoro, mentre il sesto riporta le conclusioni del lavoro
svolto.
2
Capitolo 1
Introduzione alle problematiche di autorizzazione
Nel momento in cui una entità vuole accedere ad un insieme di risorse di un sistema
distribuito, nasce il problema di autenticare e di autorizzare l’entità per consentire o
meno l’accesso alle risorse stesse. Il processo di autenticazione permette di verificare che
l’entità che si presenta sia colui che si suppone, non un impostore. Il processo di
autorizzazione permette al sistema di venire a conoscenza dei permessi legati all’entità. In
questo capitolo introduciamo le problematiche di autorizzazione che nascono in un
ambiente distribuito, in particolare mettiamo in luce le esigenze di autorizzazione nel caso
concreto costituito dai Portali Web con l’obiettivo di mostrare l’approccio ad una
soluzione basata su una infrastruttura a chiave pubblica (PKI), per la verifica
dell’identità, e una infrastruttura per la gestione dei privilegi (PMI), per la verifica dei
privilegi.
3
Capitolo 2
Problematiche di Autenticazione in ambiente distribuito
Con il termine autenticazione, intendiamo un processo per mezzo del quale si verifica
che il proprio partner nella comunicazione sia colui che si suppone, non un impostore. Il
processo di autenticazione coinvolge diverse entità:
L’utente che vuole autenticarsi che chiameremo Bob
Il sistema di autenticazione (AS)
La seconda entità di comunicazione, ovvero il provider o fornitore di servizi (P)
Il canale di trasmissione dei dati (internet) considerato non fidato in quanto
pubblico.
Una terza entità che ipotizziamo si metta in ascolto delle informazioni che
transitano in rete (Mallory)
L’utente che vuole accedere ad un e-service è tenuto ad autenticarsi ovvero a rendere
manifesta la propria identità, in modo che il provider possa identificarlo e consentirgli
l’accesso al servizio. L’idea di base di un protocollo di autenticazione consiste nel
realizzare un sistema che riconosca gli utenti abilitati e nello stesso tempo impedisca ad
utenti maliziosi di impersonare un utente allo scopo di usufruire impropriamente del
servizio.
Il paradigma classico prevede che l’utente esibisca al provider le proprie credenziali
(ovvero un messaggio che dimostri il possesso di una particolare informazione segreta
ricevuta al momento della registrazione al servizio) e che quest’ultimo, dopo aver
4
verificato tali credenziali consenta l’accesso al servizio. In generale la scelta
dell’approccio migliore è strettamente legata al tipo di servizio offerto.
5
Capitolo 3
Problematiche di autorizzazione:
Infrastrutture per la gestione dei privilegi (PMI)
Nel recente passato, molto lavoro è stato svolto nello sviluppare le infrastrutture a
chiave pubblica (Public Key Infrastructure) per le applicazioni in cui fosse necessario
autenticare i due pari di una comunicazione in un ambiente pubblico quale internet. Lo
scopo principale di una PKI è quello di produrre una base di dati di identità che sia
altamente scalabile e distribuita. Per risolvere il problema dell’autorizzazione utilizzando
le PKI, è possibile utilizzare le estensioni dei PKC per memorizzare gli attributi
dell’identità certificata dal PKC stesso. Questo approccio risulta poco flessibile e difficile
da gestire in quanto le informazioni rilevanti per l’autorizzazione, contenute nel
certificato, dovrebbero essere costanti nel tempo (un PKC può avere un tempo di vita di
alcuni anni), e non dovrebbe essere richiesta una alta granularità nelle decisioni di
controllo degli accessi.
Se si vuole realizzare un sistema di controllo degli accessi dinamico e a grana fine,
sono richieste altre tecnologie complementari. Le organizzazioni ISO e ITU-T, che hanno
sviluppato gli standard per i certificati a chiave pubblica e le PKI, hanno recentemente
presentato la nuova versione di X.509 [X.509v4], in cui si definisce una infrastruttura per
la gestione dei privilegi (Privilege Management Infrastructure, PMI). Una PMI è un
insieme di processi necessari per fornire i servizi di autorizzazione: definisce una
architettura per ottenere e rendere credibili gli attributi di una entità, con lo scopo di
determinare se questa è autorizzata o meno ad accedere alle risorse. Per permettere che
gli attributi di una identità siano trasportati in modo sicuro, si utilizzano i certificati di
attributo (Attribute Certificate, in seguito AC). Il formato degli AC permette a qualsiasi
tipo di informazione aggiuntiva di essere corrisposta ad un PKC includendo, in una
6
struttura dati firmata digitalmente da una Attribute Authority (AA), un riferimento
all’indietro verso uno specifico PKC o verso multipli PKC. Gli attribute certificate,
quindi, forniscono un meccanismo flessibile e pratico, per supportare il processo di
autorizzazione in un ambiente distribuito: una PMI gestisce questi certificati e la loro
interazione con le risorse del sistema.
Oltre al modello di autorizzazione sviluppato in X.509v4, negli ultimi anni sono stati
presentati altri modelli per realizzare servizi di autorizzazione per sistemi basati sul web.
Inizialmente gli sforzi si sono concentrati verso modelli centralizzati in cui è presente un
server che fornisce le politiche di accesso alle risorse (Policy Server). Parallelamente i
membri del MIT hanno cercato di dotare Kerberos (inizialmente nato come sistema di
autenticazione) di un servizio di autorizzazione. Vediamo ora di analizzare queste tre
soluzioni.
7
Capitolo 4
Case-Study: soluzione basata su PKI-PMI
L’obiettivo del nostro caso di studio è quello di applicare il modello di
autorizzazione proposto in X.509 2001 ad un caso reale della pubblica amministrazione
del Comune di Bologna. Inoltre intendiamo integrare questo caso con le nuove norme del
protocollo informatico il cui scopo è garantire l’interoperabilità all’interno di ogni
singola amministrazione pubblica (in seguito PA). Una delibera del governo stabilisce
che, a partire dal gennaio 1998, tutte le PA dovranno avviare un processo di sviluppo dei
sistemi informativi, in funzione dell'obbligatorietà della divulgazione in formato
elettronico e telematico di tutti i documenti e dell'introduzione del protocollo informatico.
Lo sviluppo di strumenti quali la firma digitale e il protocollo informatico, rende possibile
la realizzazione effettiva di una gestione completamente automatizzata dei flussi
documentali e la conseguente attuazione di profonde innovazioni nelle modalità di lavoro
delle PA. Cerchiamo dunque inizialmente di approfondire il tema del protocollo
informatico, le cui specifiche sono state fornite dalla DocFlow Italia, per poi descrivere il
caso della pubblica amministrazione di Bologna, che ci è stato descritto dal Dott. Fabrizio
Boccola responsabile dei Sistemi Informativi del Comune di Bologna. Il nostro obiettivo è
quello di mettere in luce le esigenze di autorizzazione e dare una soluzione basata su PKI-
PMI X.509.
8
Capitolo 5
Analisi critica dei Sistemi di sicurezza
basati su PKI-PMI
Al fine di realizzare servizi sicuri su una rete pubblica, quale può essere Internet, è
necessario confrontarsi con le problematiche di autenticazione e di autorizzazione delle
entità coinvolte nella comunicazione. A monte della fase di autorizzazione vi è quella di
autenticazione che può essere risolta utilizzando i certificati digitali a chiave pubblica
(Public Key Certificate) che trasportano in modo sicuro le informazioni riguardanti
l’identità del possessore: questi certificati di identità vengono gestiti durante tutto il loro
ciclo di vita, da una infrastruttura a chiave pubblica (Public Key Infrastructure). I sistemi
di autenticazione basati su PKI rappresentano la tecnologia che si è maggiormente imposta
in questi ultimi anni, per quanto concerne una soluzione che garantisca un alto livello di
sicurezza. I certificati digitali a chiave pubblica permettono di legare una identità con la
propria chiave pubblica, assolvendo le funzioni di autenticazione. Il servizio di
autorizzazione può essere invece implementato ricorrendo ad una infrastruttura per la
gestione dei privilegi (Privilege Management Infrastructure). Questo sistema di
autorizzazione è attualmente allo stato di proposta di standard, ma è convinzione comune
che sarà la soluzione maggiormente adottata in futuro in quanto si basa sulle tecnologie
utilizzate da una PKI. Una PMI è una infrastruttura che gestisce i certificati di attributo
(Attribute Certificate), i quali permettono di legare una identità con i propri attributi,
assolvendo le funzioni di autorizzazione.
9
Capitolo 6
Conclusioni
Lo scopo della tesi era quello di studiare nuovi modelli di autorizzazione e di
riuscire ad applicarli ad un caso reale. Nel corso di questo studio abbiamo raggiunto i
seguenti obiettivi:
Abbiamo studiato in dettaglio il processo di autenticazione gestito da una
infrastruttura a chiave pubblica.
Abbiamo analizzato il processo di autorizzazione costituito dal modello degli
Attribute Certificate X.509, confrontandolo con i sistemi di autorizzazione più
maturi come i Policy Server e Kerberos.
Abbiamo dimostrato come i processi di autenticazione e di autorizzazione debbano
essere gestiti da due infrastrutture differenti: la soluzione che più si sta imponendo
per la gestione dell’identità (autenticazione) è quella che fa uso di una PKI e dei
relativi certificati digitali a chiave pubblica. La tecnologia per la gestione dei
privilegi (autorizzazione) che secondo noi si imporrà sono le PMI: in questa tesi
abbiamo dimostrato come un sistema di sicurezza che si affidi ad una PMI per il
processo di autorizzazione ad accedere alle risorse del sistema, permetta una
notevole flessibilità d’uso e facilità di gestione oltre ad un elevato livello di
sicurezza.
Abbiamo scelto un caso di studio all’interno della Pubblica Amministrazione del
Comune di Bologna, cercando di integrare la soluzione con le recenti norme
dell’interoperabilità del protocollo informatico in ambiente distribuito.
10
Come risultato finale della tesi, abbiamo progettato una infrastruttura per la
gestione dei privilegi per il caso di studio basato sugli Attribute Certificate.
Abbiamo quindi realizzato un modello di autorizzazione e abbiamo potuto
constatare come sia possibile utilizzare sia un modello di accesso alle risorse in
base ai ruoli sia un modello per la delega dei privilegi. Uno altro obiettivo è stato
quello di dimostrare come una PMI e una PKI possano facilmente integrarsi tra
loro costituendo una solida infrastuttura per la gestione della sicurezza di un
sistema.
In conclusione, possiamo affermare che gli Attribute Certificate forniscono un
meccanismo flessibile, pratico e sicuro, per supportare il processo di autorizzazione in un
ambiente distribuito. Sebbene questa tecnologia sia ancora allo stato di approvazione per
divenire uno standard, si può sicuramente affermare che, non appena sarà standardizzata
dalle organizzazioni ISO/ITU-T e IETF, rappresenterà la soluzione più largamente adottata
per progettare sistemi di autorizzazione il cui requisito fondamentale sia un alto livello di
sicurezza.
Un problema attualmente molto dibattuto è la standardizzazione della Privilege Policy:
infatti, sia i draft rilasciati dall’ISO/ITU che quelli rilasciati dall’IETF, non specificano
nessuna sintassi usata per definire una istanza della privilege policy. Esistono diversi
progetti i cui obiettivi sono quelli di creare un insieme di API per le PMI e cercare di
standardizzare gli Attribute Certificate, compresa la Privilege Policy. Attualmente si può
affermare che si è orientati verso un utilizzo dell’XML per specificare il linguaggio della
Policy e della tecnologia Java per implementare le API della PMI.