5
Per questo motivo, l'utilizzo appropriato, esteso ed intenso delle nuove
tecnologie dell'informazione è centrale per l’attuazione della riforma
dell'amministrazione pubblica. ”
• il Presidente del Consiglio dei Ministri nella direttiva del 30 Maggio 2002
emana che :
“Nel processo di continua trasformazione delle pubbliche amministrazioni
italiane, l'innovazione tecnologica rappresenta un fattore di sviluppo e di
razionalizzazione, oltre che di risparmio della spesa pubblica e, soprattutto, di
miglioramento dei servizi resi al cittadino-utente ed alle imprese.
Per consentire un cambiamento concreto ed effettivo è indispensabile, da un
lato, disporre di nuovi sistemi di servizio al cittadino ed alle imprese; dall'altro,
realizzare un'efficace azione di coordinamento, sia sul piano amministrativo-
organizzativo che su quello tecnico-informatico, anche mediante l'adozione di
direttive ed indirizzi in materia ”
Se è vero che gli utenti possono beneficiare della comodità, sicurezza e
facilità d’uso proprie di un sistema informatizzato, ricevendo inoltre garanzie di
sicurezza e certificazione, sono soprattutto evidenti i vantaggi per gli enti che
propongono ed operano investimenti nel campo della Information Technology.
E’ evidente infatti che lo scopo principale di ogni ente che eroga e gestisce
servizi, oltre ed al di là della soddisfazione del cliente/utente, è quello di
ottimizzarne l’erogazione anche per diminuire i costi ed allargare l’utenza potenziale.
L’Information Technology permette ad enti istituzionali, aziende e gestori di
servizi, di beneficiare a seguito di contenuti investimenti iniziali, di strumenti
integrati ed efficienti; la riusabilità propria delle infrastrutture hardware e
soprattutto sw assicura un rapido e sicuro risparmio su progetti / prodotti futuri .
6
Va però evidenziato che spesso vengono scambiate informazioni riservate,
documenti e dati di rilevante importanza e strategicità, senza alcuna accortezza e
protezione; va pure sottolineato che spesso i principi di base di funzionamento della
posta elettronica, la struttura dei siti internet e l’intero processo logico e funzionale
che si sviluppa non sono altrettanto conosciuti.
Questa Tesi di Laurea si pone come obiettivo la progettazione e lo sviluppo di
una applicazione sw per :
“ Sistema di Posta Elettronica certificata per
Invio e Ricezione di Documenti e Moduli ”
Certified And Secured E-Governance ( C.A.S.E.)
E’ opportuno sottolineare che molti enti ed organismi sono già dotati delle
necessarie competenze ed infrastrutture e che pertanto l’applicazione di processi e
metodiche di E-Government è non solo possibile ed auspicabile, ma soprattutto lo è
con modifiche strutturali limitate e di costo accettabile .
In particolare il tema della sicurezza e della certificazione informatica sarà
sviluppato utilizzando tools e programmi open standard free-ware. Sarà focalizzata e
completamente sviluppata una applicazione sw facilmente implementabile presso l’
Università di “Tor Vergata”, per l’ottimizzazione di tutti i tipi di comunicazione tra la
struttura amministrativa, i professori e gli studenti .
7
OBIETTIVI RAGGIUNTI
Il progetto realizza un’applicazione web in grado di costituire un sistema di
posta elettronica certificata e sicura; in particolare esso oltre che a gestire e-mail
firmate e/o crittografate permetterà di mettere a disposizione, trovare, compilare,
inviare e ricevere moduli / certificazioni come pure, conseguentemente, le ricevute di
avvenuto invio e/o ricezione.
Il sistema sviluppato è dotato di una semplice ed essenziale interfaccia web che
permette ad utenti privilegiati ed abilitati di mettere a disposizione on-line file che
costituiscono “moduli” ufficiali con le relative istruzioni, allo scopo di permetterne
una semplice e sicura compilazione da parte di altri utenti.
Grazie ad un motore di ricerca di facile utilizzo, un utente può reperire senza
difficoltà il modulo che desidera compilare ed una volta scelto il modulo, l’utente
potrà passare alla consultazione della spiegazione allegata oppure potrà scegliere di
compilarlo immediatamente .
Il sistema mette a disposizione dell’utente una “form”, generata
automaticamente nel sito stesso, che consente una semplice compilazione
direttamente dal browser ed una successiva facile spedizione.
Con la generazione automatica delle certificazioni di avvenuto invio e ricezione,
l’utente che ha spedito il modulo è sicuro che la transazione sia avvenuta in maniera
corretta e documentata ed in caso di problemi o contestazioni che potrebbero
insorgere, la presenza delle relative certificazioni costituisce uno strumento
immediato ed incontestabile per future verifiche.
Il sistema prevede la presenza di un “ Administrator ”, ossia di un Owner o
Super -Utente, avente il compito di amministrare e gestire in “real-time” le
impostazioni del sito. L’Administrator autorizza ad esempio e gestisce la lista dei
server di posta in entrata ammessi poiché, ovviamente, solo i proprietari degli
indirizzi di posta elettronica di determinati server possono usufruire, previa
autorizzazione, dei servizi messi a disposizione dal sistema CASE.
8
La scelta progettuale di consentire all’Administrator di poter stabilire quali siano
i server in entrata abilitati, rappresenta un grande vantaggio rispetto ai normali
sistemi di posta certificata, che offrono invece questa sicurezza soltanto per i singoli
indirizzi. Operando a livello di server, l’applicazione CASE risulta di conseguenza
immediatamente applicabile anche ad indirizzi di posta elettronica che verranno
creati successivamente all’installazione del servizio, come ad esempio in ambito
universitario, a nuovi studenti.
Ovviamente per usufruire di tutti i servizi messi a disposizione, é necessario
iscriversi avendo un indirizzo e-mail appartenente ad uno dei server di posta in
entrata abilitati ed un browser che sia dotato del protocollo SSL (es. Netscape).
Durante la fase di iscrizione, l’utente deve immettere informazioni private e
riservate quali ad esempio tutti i parametri per accedere ad un indirizzo di posta
elettronica.
Una valida protezione dei dati è assicurata dai sistemi di sicurezza adottati nel
progetto. Il sistema prevede, infatti, l’uso del protocollo SSL per proteggere i dati nel
percorso che va dal server a cui è installato CASE al computer dell’utente. Nel
momento in cui le informazioni arrivano nel server in cui è installato CASE, queste
vengono criptate usando come “ chiave ” la password immessa dall’utente per
accedere al sito e come mezzo il programma GnuPG.
Le informazioni riservate inerenti agli utenti, sono criptate nel database
utilizzando una “chiave” che ha la peculiarità di non essere fisicamente esistente e
presente se non nella memoria dell’utente stesso. Così operando, non solo un
eventuale intruso ma, addirittura, neanche l’Administrator potrà risalire ad
alcun’informazione riguardante gli utenti iscritti.
9
• DIFFICOLTA’ INCONTRATE
Di particolare complessità si è rivelata la comprensione del comportamento
apolidale del protocollo “ http ” che, diversamente dagli altri linguaggi di
programmazione incontrati durante il percorso didattico, ad ogni richiesta genera un
processo discreto. Non appena il processo è stato eseguito il tutto viene eliminato
automaticamente; ad esempio, ogni pagina richiesta e/o inviata è indipendente da
tutte le altre: in definitiva il processo non ha memoria.
Molto impegno è stato dedicato per acquisire le potenzialità ed i dettagli di
funzionamento e d’uso dei due programmi di criptazione a chiave asimmetrica
(pubblica) PGP e GnuPG che sono stati analizzati e confrontati allo scopo di scegliere
quello più rispondente agli obiettivi di questo lavoro.
Volendo creare un progetto con elevata portabilità, non sono stati adottati
programmi esterni di posta elettronica quali ad esempio “ fetchmail” ma, al contrario,
sono stati utilizzati due semplici file di codice messi a disposizione dalla comunità
“php-builder”. Il primo di questi file consente di inviare posta attraverso un server
SMTP, mentre il secondo permette la lettura delle e-mail in formato non decifrato su
server IMAP e POP3.
Va evidenziato inoltre, che mentre un’e-mail standard ha una struttura
estremamente lineare, ciò non è del tutto vero nel caso di e-mail contenenti file
allegati, oppure nel caso in cui essa costituisce la replica ad un vecchio messaggio. In
questi casi infatti, la struttura diventa molto più complessa e risulta già alquanto
difficile riuscire ad identificare il corpo dell’e-mail, rispetto al file allegato contenuto
in essa.
Lo standard “MIME” in pratica è attualmente diventato l’unico standard adottato
dai Mail User Agent (MUA); esso stabilisce le regole secondo le quali le e-mail sono
strutturate anche nel caso in cui contengono una notevole quantità di informazioni.
Purtroppo, nonostante il largo impiego di MIME, non esiste una utility “free-ware”
che consenta una facile e corretta interpretazione dell’e-mail e pertanto viene
10
richiesto un notevole lavoro per riuscire ad interpretarla correttamente nella sua
interezza.
Per ottenere un alto grado di portabilità e compatibilità, è stato necessario
rinunciare ad un sistema operativo e soprattutto a tutti i servizi che normalmente esso
mette a disposizione; l’aver consapevolmente scelto di utilizzare esclusivamente
funzioni offerte dal linguaggio PHP ha però comportato, per lo sviluppo della
presente applicazione, un notevole aggravio di tempo ed sforzo progettuale.
Si è dovuta inoltre superare un’ ulteriore complicazione conseguente al
dettaglio che le e-mail non vengono salvate su di un supporto-file fisico ma che ,al
contrario, si opera direttamente sulla posta giacente nel server di entrata.
Questa limitazione, peraltro sistemisticamente assolutamente rilevante per
l’hardware che sarebbe necessario, ha complicato notevolmente il tipo di
elaborazione sulle e-mail stesse.
• ELEMENTI INNOVATIVI
I servizi di posta certificata, presenti attualmente sul mercato, offrono ad una
serie di indirizzi di posta elettronica appartenenti all’ente che ne gestisce il servizio,
molti opzioni accessorie quali antispanning, firma digitale ….
In concreto il servizio viene normalmente offerto:
o per unità di indirizzi di posta elettronica: la cardinalità deve essere
definita durante la stesura del contratto e gli indirizzi appartengono al
server di posta in entrata (supporto hardware dove vengono
memorizzate le e-mail che devono ancora essere lette) di proprietà
della società che offre il servizio.
11
o per unità di server di posta in entrata esistenti: la quantità di questi
deve essere definita durante la stesura del contratto ed inoltre spesso
sono richiesti adattamenti hw.
Questo progetto al contrario è in grado di offrire un servizio di posta certificata
a tutte le e-mail risiedenti in uno o più server di posta in entrata, appartenenti alla
società che richiede l’utilizzo del servizio. I server in entrata sono autorizzati in real-
time ed il loro numero può variare nel corso del tempo, senza alcuna limitazione e
non alterando le caratteristiche e prestazioni del servizio offerto.
Così operando ,un ente , come ad esempio l’università di “Tor Vergata”, che già
possiede dei server di posta in entrata, con i quali già offre almeno un indirizzo di
posta elettronica a studenti e professori, non dovrà modificare questi server o gli
indirizzi di posta che sono gestiti; al contrario l’Università potrà limitarsi ad installare
il progetto CASE su un qualsiasi suo server (non necessariamente di posta in entrata)
avendo solo cura di impostarlo in modo corretto .
Tutti i possessori di indirizzi di posta elettronica gestiti dall’Università che
preferiranno non usufruire dei nuovi servizi, potranno continuare ad utilizzare
l’esistente e tradizionale servizio di posta elettronica.
Oltre alle caratteristiche sopra descritte, il sistema CASE offre un peculiare
servizio di gestione automatizzata dei moduli.
Questo servizio, accessorio al sistema di posta elettronica certificata,
permetterebbe, nel caso tipico considerato, di offrire agli studenti e professori la
possibilità di comunicare e smaltire pratiche burocratiche efficientemente e con la
massima sicurezza.
Si evidenzia che il sistema di protezione adottato per l’identificazione degli
utenti e per la sicurezza delle loro informazioni, quali Log-In, Password , … non è
stato mutuato da altri sistemi noti, ma è derivato dall’attento esame dei requisiti
principali del progetto stesso.
12
2. Caratteristiche e Requisiti
• PORTABILITA’
Il sistema operativo “WINDOWS” è ancora ampiamente utilizzato da molte
piattaforme e server nonostante che il sistema operativo open standard “LINUX” si
stia affermando sempre di più soprattutto nelle realizzazioni ed applicazioni più
recenti.
Questo scenario fa conseguire che il grado di portabilità di un’applicazione
web all’interno di sistemi operativi diversi è una caratteristica ed un fattore di merito
molto rilevante. Per soddisfare questo importante requisito il presente progetto è
stato sviluppato codificando tutto il codice con l’obiettivo di renderlo il piu’ possibile
indipendente dal tipo di sistema operativo adottato sulla piattaforma hardware.
A fronte di un maggiore impegno progettuale , e conseguentemente dello
incremento del numero di ore necessarie per lo sviluppo dell’applicazione, il presente
progetto risulta pertanto compatibile con qualsiasi sistema operativo quali ad esempio
Windows oppure Linux : viene solo richiesto al sistema operativo adottato di
utilizzare i caratteri “ < ”, “ > ” e “ 2> ” per direzionare rispettivamente i canali di
“standard-input ”, “ standard-output ” e “ standard-error ”.
• Il LINGUAGGIO UTILZZATO
Il progetto è stato sviluppato utilizzando i linguaggi di programmazione
“HTML” e “PHP” versione 4.0.6 e si è consapevolmente deciso di non usare
funzioni che, ancorché efficienti ed interessanti, sono dichiarate come “sperimentali”
poiché il loro comportamento potrebbe essere probabilmente soggetto a cambiamenti
non necessariamente marginali nelle future releases.
13
• Il PROGRAMMA di CRITTOGRAFIA
Le ragioni della scelta del programma di crittografia a chiave pubblica noto
come “ GnuPG ” ver. 1.0.7, risiedono nel fatto che, a differenza dell’unica vera
alternativa costituita da “ PGP ” ( Pretty Privacy Guard), esso e’ dotato di maggiore
portabilità; in aggiunta sembrerebbe che la “ Network Associates Technology ”,
azienda che sviluppa PGP, stia spostando la sua principale attenzione ( fondi di
ricerca ) in settori ritenuti economicamente più interessanti.
Tra “ GnuPG ” ver. 1.0.7 e “ PGP ” non si possono notare invece grandi differenze
per quello che riguarda la facilità d’installazione, la facilità d’uso, la velocità di
calcolo e soprattutto sulle funzionalità messe a disposizione.
• Le PIATTAFORME HW e SW
I server su cui quest’applicazione può interagire per gestire e-mail sono tutti
quelli che attualmente utilizzano ed hanno a disposizione “SMTP” per quanto
riguarda l’invio delle e-mail stesse mentre adottano per la ricezione “ POP3 ” oppure
“ IMAP ”.
Il sistema di posta elettronica sviluppato è inoltre compatibile con lo
standard “ MIME ” ( Multipurpose Internet Mail Extensions ) attualmente di fatto
adottato da tutti i sistemi di posta elettronica.
14
3. SERVIZI OFFERTI
Il progetto sviluppato si pone l’obiettivo di realizzare un’applicazione web in
grado di poter costituire un sistema di posta elettronica certificata e sicura; in
particolare esso, oltre che a gestire e-mail firmate e/o crittografate, permetterà di
mettere a disposizione, reperire, compilare, inviare e ricevere moduli / certificazioni
come pure, conseguentemente, le ricevute di avvenuto invio e/o ricezione.
L’ utente che legge l’e-mail avente il corpo e/o l’allegato firmato e/o criptato,
ha la possibilita’ di accedere al testo oppure all’allegato sia in formato”chiaro”
(perdendo cioè la caratteristica peculiare della firma ) che in formato criptato; in
questo ultimo caso mantiene la possibilità di verificare la validità della firma.
Il sistema sviluppato per accedere alla posta elettronica usa una procedura
che consente di operare sulle e-mail senza che queste siano effettivamente prelevate
dal server di entrata.
In questo modo, oltre a risparmiare una enorme quantità di memoria nel server sul
quale e’ installato il sistema di posta, e’ possibile che altri programmi svolgano sulle
stesse e-mail funzioni ed azioni differenti (es. antivirus, antispanning od altro ancora
da finalizzare/ inventare), senza intaccare la sicurezza offerta dal servizio C.A.S.E.
L’applicazione permette di gestire la compilazione di un modulo come una
semplice e-mail, offrendo i seguenti vantaggi:
1. Avere la certezza del mittente, ovvero chi spedisce il modulo (o l’e-mail) è
certamente proprio il proprietario dell’indirizzo di posta elettronica
comunicato dall’applicazione.
2. Avere la certezza del destinatario, ovvero chi riuscirà a leggere il modulo (o
l’e-mail) è proprio il proprietario dell’indirizzo di posta specificato dal
mittente.
3. Avere la certezza dell’integrità, ovvero la garanzia che il contenuto del
messaggio ricevuto o inviato, non sia stato modificato da terzi.
15
4. Avere una ricevuta di avvenuto invio ovvero, indipendentemente dal fatto che
il destinatario abbia ricevuto correttamente il messaggio, il mittente puo’
avvalersi di un certificazione della sua “ buona volontà ” ( e questa
caratteristica si può rivelare particolarmente utile in caso di scadenze).
5. Avere una ricevuta di avvenuta ricezione, ovvero il mittente puo’ avvalersi di
una certificazione che attesta che la comunicazione e’ avvenuta
correttamente.
Con l’applicazione CASE sviluppata è consentito inviare, replicare ed
inoltrare e-mail contenenti un file allegato. L’utente, tramite l’utilizzo di
semplici pulsanti, può decidere se firmare e/o criptare il corpo del messaggio
e/o l’allegato; il sistema provvedera’ automaticamente a modificare il testo e/o
il file utilizzando correttamente le “ chiavi ” associate.
I dati in questo modo generati sono spediti utilizzando uno script
“PHPmailer” che utilizzerà a sua volta un determinato server di uscita.
In aggiunta gli utenti di alcuni server di entrata ( enti / utenti ) possono
ricevere dall’amministratore del sistema ( Administrator / owner / super-
utente) l’autorizzazione a generare ed a mettere a disposizione “on-line” agli
altri utenti uno o più moduli ( immagine1) con degli allegati costituiti da files
di spiegazione; anche questi ultimi devono ovviamente essere stati
opportunamente creati ( immagine 2 ) utilizzando un semplice editor di testo e
salvati in un semplice file del tipo “*.txt”.
16
Immagine 1:Pagina web in cui si consente ad alcuni utenti (con server di entrata opportunamente
abilitato dall’administrator) di generare on-line un modulo.
17
Immagine 2:L’utente abilitato alla generazione dei moduli ha la possibilita’ di mettere a
disposizione on-line un file di spiegazione.
Il sistema CASE è provvisto di una pagina web, di facile utilizzo, da cui e’
possibile effettuare, in maniera semplice e sicura, il download delle chiavi pubbliche
presenti nel keyserver.
Anche chi non e’ un utente regolarmente registrato puo’ scegliere l’opzione
“AREA DOWNLOAD” presente nella pagina web iniziale ed avere in questo modo
accesso ad un pagina web con la elencazione di tutte le chiavi con i rispettivi
“fingerprint”. Questi ultimi sono indispensabili per garantire che la chiave ottenuta
non sia stata manipolata durante il download.
18
Immagine 3: Viene visualizzata la lista delle chiavi presenti e si possono ottenere cliccando su
“download”.
Per quanto riguarda l’importazione di nuove chiavi pubbliche si noti come il
“super-utente”, nonostante abbia la possibilità di eliminarle in qualsiasi momento,
non puo’ sapere a chi appartiene con certezza la chiave da importare: l’unico
elemento certo è l’indirizzo e-mail dell’utente del sito che ha effettuato la richiesta.