Master’s thesis

Title: Problematiche di timestamping ed applicazioni ad un sistema per l’archiviazione di technical report

Obiettivi della tesi:

  • studio approfondito dell’area di ricerca del timestamping;
  • realizzazione di un sistema per l’archiviazione con timestamp dei technical report presso il Dipartimento di Matematica e Informatica dell’Università di Catania.

Introduzione

Il problema della datazione sicura dei documenti è stato sempre considerato di grande importanza perchè permette di risolvere dispute e mantenere coerenti interi sistemi. Ad esempio nelle questioni riguardanti l’attribuzione della proprietà intellettuale spesso non basta autenticare la proprietà delle idee, ma può essere cruciale anche stabilire il loro ordine secondo una relazione di precedenza temporale. Oppure si pensi ad una sequenza di operazioni bancarie: una loro diversa collocazione temporale può cambiare anche notevolmente i loro effetti.
Così nel corso del tempo si sono sviluppati dei meccanismi più o meno sofisticati per accrescere la credibilità sia di documenti interni e sia di documenti scambiati tra diverse parti. Si pensi ad esempio alle affrancature postali, a particolari registri timbrati e/o firmati o agli atti notarili.
La maggior parte di questi metodi hanno dietro delle idee semplici e banali che comunque raggiungono l’obiettivo fondandosi su due ipotesi:

  1. la possibilità di esaminare i dati alla ricerca di segni di alterazione;
  2. la presenza di una terza parte che visiona i documenti, della quale l’integrità e l’imparzialità vengono considerati una garanzia di sicurezza.

L’avvento delle moderne comunicazioni elettroniche, che oggi stanno avendo grandi sviluppi, ha creato però un nuovo scenario, fatto di documenti digitali, in cui i vecchi metodi falliscono nei loro intenti. Infatti non solo alterare un documento digitale è più facile, ma inoltre i cambiamenti apportati non lasciano alcuna traccia sul mezzo fisico.
Da qui è nata l’esigenza di avere dei metodi che permettessero di associare a un documento digitale un certificato (chiamato timestamp o marca temporale) che assicura la sua esistenza ad un certo istante di tempo.
L’impulso iniziale alla ricerca in questo campo fu dato da Haber e Stornetta nel 1991. Essi proposero tre schemi di timestamping che già delineavano le tre tecniche principali: l’utilizzo di una terza parte fidata, il linking e l’uso di un sistema distribuito. Queste tre tecniche riflettono tre diversi gradi della fiducia che viene riposta sul servizio di timestamping (TSS), rispettivamente: incondizionata, parziale, distribuita. Tutte queste tecniche fanno inoltre uso di primitive crittografiche quali funzioni hash e firme digitali che permettono di risolvere i problemi di confidenzialità dei documenti, autenticazione tra le parti e spreco delle risorse.

Negli schemi di timestamping basati su una terza parte fidata, chiamata TSA, il timestamp è un certificato digitale, firmato dalla TSA, che attesta che un determinato documento elettronico (tipicamente identificato da un valore hash) è stato sottomesso alla TSA ad una certa data e ora. Gli utenti che vogliono effettuare una verifica del timestamp di un documento controllano la corrispondenza tra il documento stesso e il timestamp (confrontando i valori hash) e verificano la firma della TSA. In questo caso viene riposta massima fiducia nella TSA affinchè non effettui nessuna falsificazione.

Questa tipologia di schemi, seppur semplice da realizzare, risulta debole dal punto di vista della sicurezza, poichè non è tanto gradito riporre totale fiducia su una terza parte che potenzialmente potrebbe operare delle frodi. Ciò che si vorrebbe è un meccanismo che permetta di controllare che la TSA svolga il suo compito in modo lecito. Da queste considerazioni sono nati gli schemi di linking il cui obiettivo è quello di diminuire il grado di fiducia da riporre nella TSA. La loro idea di base è quella di collegare i timestamp emessi da un TSS l’uno con l’altro così da creare una catena cronologica non modificabile. Lo schema di linking lineare proposto da Haber e Stornetta ha suggerito l’idea principale di questa tecnica anche se soffriva di alcuni problemi legati specialmente al protocollo di verifica che risultava oneroso e difficilmente realizzabile nella pratica. Tuttavia un miglioramento fu subito trovato dagli stessi Haber e Stornetta insieme a Bayer e da Benaloh e de Mare. Entrambe le tecniche, pressochè simili, introducono la nozione di round: l’elaborazione di un certo numero limitato e costante di timestamp in una unità di tempo fissata. I timestamp di ogni round vengono legati tra loro sfruttando l’albero di autenticazione di Merkle, leggermente modificato per essere vincolato anche ai valori dei round precedenti. Questa struttura permette di ottenere dei tempi di verifica logaritmici rispetto al numero di timestamp per round e un sistema realizzabile nella pratica.
Quest’area di ricerca fu abbandonata per alcuni anni poichè sembrava che si fosse ricavato tutto quello che c’era da ottenere. Nel 1998 però Budas et al. pubblicarono un articolo che diede un nuovo impulso per riprendere la ricerca in questa direzione. Infatti oltre a proporre un nuovo schema efficiente, definirono in maniera chiara e precisa obiettivi di sicurezza e concetti riguardanti il timestamping che differivano da quelli dati nelle pubblicazioni precedenti.
Col tempo si è così arrivati a schemi in cui sia la lunghezza dei certificati e sia le risorse necessarie per il protocollo di verifica hanno raggiungo dei valori accettabili.
Uno svantaggio dei protocolli di linking è che per rendere più sicuro il TSS, affinchè possa essere tenuto sotto controllo il suo operato, è necessario pubblicare sotto forma di valore hash una sintesi periodica dei timestamp emessi. La pubblicazione avviene tipicamente su un quotidiano stampato. Infatti la presenza di numerose copie assicura la possibilità di trovarne disponibili in futuro e rende difficile una loro totale falsificazione. In tal modo il giornale rappresenta una terza parte fidata per il protocollo.

L’altro filone dei protocolli di timestamping riguarda quelli distribuiti. In essi la fiducia non è riposta su una singola entità, ma viene data a un intero sistema composto da più soggetti collegati in rete tra loro. Il protocollo distribuito proposto da Haber e Stornetta prevede l’esistenza di n utenti nella rete. Chi vuole ottenere un timestamp seleziona k utenti in maniera random e gli invia la sua richiesta. Ognuno dei k utenti selezionati restituisce il proprio frammento di timestamp. Il timestamp completo è costituito dalla collezione dei k frammenti ed è considerato attendibile se almeno k/2 di essi concordano sulla stessa data e ora. Per riuscire a forzare lo schema si dovrebbe colludere con tutti gli n utenti oppure riuscire a predire i k utenti selezionati. Bonnecaze et al. hanno fatto un’analisi probabilistica molto accurata riguardo le possibilità di attacco a questo schema, mostrando come con qualche accorgimento e una decina di tentativi si possa riuscire a fare in modo che k/2 dei server scelti siano in collusione maliziosa. Bonnecaze et al. hanno anche proposto un nuovo schema distribuito che utilizza il concetto di round e la cui probabilità di successo di un attacco è un valore trascurabile.

Le realizzazioni pratiche dei sistemi di timestamping fanno uso o del modello con terza parte fidata o dei protocolli di linking. In ogni caso quelle che sanciscono la validità effettiva di un timestamp sono le leggi delle singole nazioni che eventualmente sopperiscono alle debolezze di alcuni schemi introducendo dei requisiti di sicurezza particolari. Ad esempio in Italia viene seguito il modello con terza parte fidata e l’emissione di timestamp è affidata ai certificatori accreditati: le stesse autorità di certificazione della firma digitale che, come requisito di legge, devono essere società con un capitale sociale non inferiore a quello richiesto per svolgere l’attività bancaria. Inoltre esse devono essere regolarmente iscritte al Centro Nazionale per l’Informatica nella Pubblica Amministrazione (CNIPA), previa presentazione di un manuale che descrive i dettagli della tecnologia e delle strategie adottate.
Nel mondo non mancano i sistemi basati sui protocolli di linking, tuttavia il modello che fa uso della TSA si è diffuso maggiormente specialmente per la sua semplicità. A supporto di quest’ultimo inoltre è stato introdotto un protocollo standard (RFC3161) per lo scambio dei messaggi di richiesta e di risposta tra un client e una TSA. A livello europeo è stato ulteriormente rimarcato questo standard attraverso il documento ETSI TS 101 861 il quale definisce ciò che devono supportare i client e i server del protocollo RFC3161 e quali funzioni hash ed algoritmi crittografici sono considerati validi.

Nella problematica del timestamping abbiamo studiato un caso di applicazione pratica nell’ambito della ricerca scientifica. In quest’ultima il problema della datazione delle scoperte assume un’importanza particolare non solo per attribuire la proprietà intellettuale ma anche per stabilire un’ordine di precedenza nel caso di risultati simili o, addirittura, identici.
Attualmente il metodo che dovrebbe garantire pubblicazioni veloci dei nuovi risultati di ricerca e dare credito ai ricercatori per le loro opere è quello delle pubblicazioni a cura delle organizzazioni scientifiche, che avviene essenzialmente attraverso le riviste e le pubblicazioni degli atti delle conferenze. In entrambi i metodi i contributi passano attraverso una fase di controllo più o meno accurata che permette di ottenere un archivio di pubblicazioni di alta qualità. Nessuno dei due tuttavia garantisce pubblicazioni con la velocità che si richiede oggi. Inoltre un altro aspetto da tenere in considerazione riguarda quei documenti che vengono rifiutati dalle riviste e dalle conferenze scientifiche. Seppur rigettati, essi rappresentano comunque (in una buona parte dei casi) dei risultati di rig?cerca che potrebbero acquisire importanza in seguito e pertanto vanno salvaguardati, offrendo loro una opportunità di diffusione al pubblico che in ogni caso dà credito agli autori.
Questo genere di lavori va sotto il nome di technical report. Un technical report è un documento che descrive il progresso o i risultati di una ricerca scientifica o lo stato di un particolare problema di ricerca. Al contrario degli articoli delle pubblicazioni scientifiche, i technical report raramente passano da una fase di revisione che, quando presente, viene comunque fatta all’interno della stessa organizzazione di origine.

La nostra attenzione è stata rivolta all’esigenza di poter avere un sistema che garantisca pubblicazione veloce degli ultimi risultati di ricerca e certificazione della loro collocazione temporale in maniera inattaccabile e legalmente riconosciuta.
Il progetto sviluppato ha avuto come obiettivo la realizzazione di un sistema di archiviazione digitale dei technical report pubblicati presso il Dipartimento di Matematica e Informatica dell’Università di Catania con la caratteristica di poter fornire per ciascuno di essi un certificato sulla data di pubblicazione: un timestamp. Il sistema, interfacciandosi con un servizio pubblico di timestamping, può fornire un timestamp legalmente valido secondo le vigenti leggi italiane.
Si tratta nello specifico di un portale web che fornisce le seguenti funzionalità di base:

  • consultazione dei documenti presenti in archivio attraverso l’esplorazione delle categorie esistenti o attraverso un motore di ricerca;
  • sottomissione di nuovi documenti nell’archivio abbinata alla marcatura temporale;
  • revisione e/o ritiro di un documento esistente;
  • verifica del timestamp di un documento.

La caratteristica di principale interesse e innovazione è la possibilità di richiedere timestamp per i documenti sottomessi. Il sistema agisce infatti come intermediario presso una TSA, alla quale richiede ilg? timestamp per un documento usando il protocollo standard (RFC3161). Il timestamp ottenuto, oltre ad essere memorizzato nel sistema, viene anche spedito all’utente.
Questa caratteristica viene incontro alle esigenze che abbiamo mostrato prima, riguardanti la pubblicazione veloce degli ultimi risultati di ricerca e la loro datazione. Infatti la pubblicazione è quasi immediata e, scegliendo una TSA legalmente riconosciuta, i timestamp ottenuti risulteranno dei veri e propri certificati che potranno attestare l’esistenza del documento alla data di sottomissione.

Le altre funzionalità fornite dal sistema accrescono la sua usabilità cercando di promuovere un suo utilizzo pratico nel caso reale del Dipartimento di Matematica e Informatica dell’Università degli Studi di Catania. In questo scenario il sistema può essere concesso in uso ai professori e ai ricercatori del dipartimento, i quali possono sottomettere i propri articoli (senza obbligatoria diffusione al pubblico) ottenendo così un’evidenza provata della data. Coloro che hanno sottomesso i documenti potranno anche avere la possibilità di revisionarli e ritirarli a loro piacere. In questo modo il sistema potrà anche diventare un archivio con visibilità esterna delle attività di ricerca svolte presso il dipartimento.
Ho presentato e discusso la mia tesi il 27 luglio 2006.