Home page

www.gelpi.it

Clusit image

home

area tecnica

articoli

eventi


La firma è sicura, il documento no

Recentemente sulla mailing list ml@sikurezza.org (che raccoglie gli esperti di sicurezza italiani) è stata segnalata da Stefano Zanero una vulnerabilità in un software di firma digitale di un ente certificatore italiano.
Il problema evidenziato rivela come sia possibile, in certi casi, creare un documento, apporvi la firma digitale, successivamente visualizzare il documento stesso modificato e il processo di verifica della firma non si accorga della modifica. Impossibile direte voi. Eppure è esattamente ciò che è stato scoperto.

Tale comportamento capita se si firma un documento scritto in MS Word, contenente campi dinamici. Nei documenti Word è possibile inserire campi "dinamici", cioè campi che possono essere configurati per aggiornarsi automaticamente all'apertura del documento e il cui valore è impostato in apposite variabili all'interno di Word o del sistema operativo del computer in uso. Esempi di campi sono la data, l'ora, il nome del documento, l'autore.
Succede che se si usano alcuni di questi campi in un documento Word, il destinatario verificherà correttamente la firma, ma il contenuto dei campi potrà cambiare in funzione delle variabili d'ambiente presenti sul suo computer.

Dalle prove che ho fatto, utilizzando il software DiKe di Infocamere, sembra di capire che il programma di firma calcola correttamente l'hash su tutto il documento (infatti se si prova a modificare il contenuto dei campi su un file firmato, la firma non viene più verificata come valida). E' il software di verifica che nel momento di visualizzare il documento ricalcola il valore dei campi e li mostra modificati.
Ma c'è di più. Il software in questione apre anche Word con il documento in sola lettura e qui è possibile che il documento mostri valori nei campi ancora diversi. Quindi ci si può trovare con ben tre documenti differenti: il mittente vede certe informazioni (fig. 1), mentre il destinatario ne vede altre, a seconda che guardi il documento all'interno del software di verifica della firma (fig. 2) o all'interno di Word (fig. 3). Inoltre tali informazioni modificate possono cambiare nel tempo. E' infatti sufficiente cambiare le impostazioni in Word per avere gli stessi campi modificati, la prossima volta che si apre il documento. Sia ben chiaro, non è il meccanismo di calcolo della firma che è in discussione, qui il problema è nella implementazione che è stata fatta.

Il certificatore, chiamato in causa, ha dichiarato di essere al corrente del problema. Infatti inizialmente non aveva inserito i documenti in formato Word fra quelli firmabili, ma poi su richiesta degli utenti ha fornito una modifica in questo senso. Inoltre  ha fatto notare che i documenti Word non possono essere usati per firmare documenti a "valore legale" e quindi il problema non è molto grave (vedi deliberazione AIPA  51/2000 e l'articolo di Manlio Cammarata).

Ma allora quali sono i formati di documenti che si possono firmare con tranquillità? Non è forse il caso che venga detto con chiarezza? Ci saranno problemi simili nei software di altri certificatori?
Chiunque abbia usato per un po' Word o Excel sa benissimo che se vuole rendere produttivo il proprio lavoro deve affidarsi a modelli preparati prima in cui dovrà poi inserire solo alcuni valori. Per fare ciò preparerà dei documenti utilizzando campi. Se poi deciderà di usare la firma digitale su questi documenti rischia di incappare nel problema descritto sopra.

Io credo che il problema sia grave per alcuni motivi.
Primo fra tutti, quello della fiducia. La firma digitale sta riscontrando molte difficoltà non solo dal punto di vista tecnico, ma proprio dal punto di vista della fiducia nella nuova tecnologia. Un fatto come questo, secondo me, la mina pesantemente.
Credo poi questo sia un esempio eclatante di come affidandosi a formati "chiusi" e non "aperti" si rischi di andare incontro a problemi che possono divenire incredibilmente complicati. Provate ad immaginare di avere in mano due copie di uno stesso documento in cui c'è evidentemente un'informazione diversa (ad esempio una data), ma la firma risulta valida su entrambi: quale dei due è quello effettivamente firmato? Quale data devo considerare valida?

Credo sia superfluo ricordare che la firma digitale è qualche cosa di più robusto della firma autografa, dove un perito calligrafo sarà in grado di trovare le differenze in una firma copiata. Una firma digitale, se verificata come valida, è la firma del mittente. Punto e basta, non ci sono differenze da cercare.
Altro motivo di gravità sta nel fatto che il problema si verifica su un formato che è di fatto uno standard mondiale. Alzi la mano chi non è in grado di leggere sul proprio PC un documento in formato Word! Credo di non essere lontano dal vero se affermo che qualsiasi professionista o azienda che stia pensando di dotarsi di un sistema di firma digitale abbia in mente di firmare con esso i suoi documenti Office, non solo Word quindi, ma anche fogli elettronici in Excel.

Trovo grave infine che un ente certificatore a cui il problema è noto, non si sia preoccupato di mettere una nota, almeno sui manuali del suo software o sul sito internet, ma si sia limitato a tacere il problema. Come molti ormai sapranno dopo i terribili fatti dell'11 settembre dello scorso anno, per evitare di fornire informazioni ai terroristi, è stato chiesto (e in America pure vietato per legge) di non divulgare le vulnerabilità, ma di comunicarle solo alla ditta che produce il software in questione. Credo che la vulnerabilità riscontrata sia un esempio di come tale modo di operare faccia più danni di quelli che potrebbe fare la conoscenza di un problema. Sono fermamente convinto che solo sapendo quali sono i problemi e i limiti di ciascun software se ne possano fare implementazioni corrette e che lasciano dormire tranquilli.

In conclusione credo che il problema sia grave e preoccupante in termini di principio, ma ritengo importante che sia venuto alla luce, perché spero possa contribuire a far maturare la materia, a dare consapevolezza a tutti gli operatori del settore, ciascuno secondo le proprie responsabilità.

Fig. 1 Questo è il documento originale preparato con Word 2000. Torna al testo

Fig. 2. DiKe: sono cambiate la data e l'ora, ma il software non se ne accorge Torna al testo

Fig. 3. In Word sono cambiati la data, l'ora, il titolo del file e anche il nome dell'utente. Torna al testo

Ing. Andrea Gelpi

Pubblicato su Interlex il 19/09/2002



copyfree/privacy

contatto

curriculum


Ultimo aggiornamento il 14 August 2018 20:18:31.