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.