Articolo Pubblicazioni
Firma digitale: come funziona, che valore legale ha e come verificarla
di Vincenzo Calabrò · Pubblicato il 26 aprile 2005 - Aggiornato il 14 novembre 2026 · Tratto da «Sicurezza della Firma Digitale»
Abstract
L’articolo riprende la lezione «Sicurezza della Firma Digitale» del 26 aprile 2005. Spiega come la crittografia asimmetrica e le Certification Authority legano una firma a una persona, che valore legale aveva la firma digitale nel 2005 e che cosa permetteva di fare. Ricostruisce i problemi emersi fra il 2001 e il 2004, dal documento Word con campi dinamici al software di verifica che accettava certificati falsi, fino alle collisioni di MD5, e indica come si verifica una firma digitale oggi.
SCARICA LE SLIDE: «Sicurezza della Firma Digitale» Calabrò V., 2005, PDF di 25 pagine
Come funziona
La firma digitale si basa sulla crittografia asimmetrica. Il firmatario calcola l’impronta del documento con una funzione di hash e la cifra con la propria chiave privata. Chiunque può verificarla con la chiave pubblica corrispondente, controllando che l’impronta ricalcolata coincida con quella firmata.
L’algoritmo garantisce che il documento sia stato firmato con una certa chiave privata. Da solo non dice nulla sull’autore, perché bisogna sapere con certezza a chi appartiene la chiave pubblica. Scambiarsi le chiavi di persona funziona solo su piccola scala. Su larga scala serve una infrastruttura a chiave pubblica (PKI), in cui una terza parte fidata, la Certification Authority, rilascia un certificato digitale con i dati del titolare e la sua chiave pubblica, firmato dalla stessa CA.
Il valore legale nel 2005
Nel 2005 la firma digitale con valore legale aveva queste caratteristiche:
- era disciplinata dal DPR 513/1997 e dalle norme successive;
- usava certificati X.509, secondo il DPCM 8 febbraio 1999, custoditi in dispositivi di firma hardware, allora le smart card;
- era rilasciata da certificatori iscritti nell’elenco dell’AIPA e in possesso di requisiti societari e organizzativi;
- aveva lo stesso valore della firma autografa su un documento cartaceo.
Con la firma digitale si poteva firmare un contratto, inviare documenti alla pubblica amministrazione e apporre una marca temporale. Non si poteva comprare una casa, perché l’atto notarile richiede la presenza davanti al notaio, né firmare un referendum, che richiede l’identificazione da parte di un pubblico ufficiale. La lezione notava anche due usi in cui la firma con valore legale non serve, gli acquisti online e l’autenticazione verso un server SSL.
Sotto alcuni aspetti la firma digitale è più forte di quella su carta. Un documento cartaceo firmato si può alterare, mentre una sequenza di bit firmata non si può modificare senza invalidare la firma, salvo furto della chiave o debolezza dell’algoritmo. La firma autografa è sempre uguale e si può imitare, mentre quella digitale cambia con il contenuto firmato.
I problemi emersi fra il 2001 e il 2004
Gli algoritmi di crittografia asimmetrica usati in Italia erano considerati sicuri. Nella pratica però erano emersi diversi problemi.
Il documento Word con campi dinamici
Il 9 settembre 2002 si scoprì che alcuni software di firma, a partire da Dike di InfoCamere, firmavano senza avvisi documenti Word con campi dinamici. Il file restava identico, ma ciò che il documento mostrava poteva cambiare, per esempio con la data di apertura. La verifica crittografica era corretta, perché i bit non cambiavano. Il punto era giuridico. Le norme definiscono il documento informatico come la rappresentazione di atti, fatti o dati giuridicamente rilevanti, quindi ciò che il lettore vede. Un software che garantisce soltanto l’integrità del file su cui calcola l’hash protegge un’evidenza informatica e lascia scoperto il documento.
Le soluzioni proposte erano firmare una copia statica in PDF, mostrare un avviso prima della firma, come fece la nuova versione di Dike, e correggere Word. Microsoft rilasciò il 30 gennaio 2003 una correzione per Office che permetteva di disattivare l’aggiornamento automatico dei campi.
Il certificato falso accettato da Firma&Cifra
Il 20 marzo 2003 fu segnalato un difetto in Firma&Cifra, il software di verifica di PosteCom. Nel formato PKCS#7 la firma porta con sé il certificato del firmatario, che va validato con il certificato radice del certificatore, preso dall’elenco pubblico o installato in modo sicuro nel software. Se nel file si allegava anche un certificato radice, il programma usava quello senza confrontarlo con il proprio archivio. Si poteva quindi creare una falsa radice con il nome di un certificatore reale, emettere un certificato intestato ad Arsène Lupin e ottenere una verifica positiva. La lezione la chiamava «la firma di Arsène Lupin».
Il trojan che firma all’insaputa dell’utente
Nel maggio 2003 un gruppo di ricercatori universitari dimostrò di poter far firmare documenti a un utente senza che se ne accorgesse, con un trojan che sfruttava debolezze note dell’ambiente Java in un’installazione predefinita. Il software di firma non aveva difetti. Su una macchina compromessa nessun software di firma può essere considerato affidabile.
OpenPGP e MD5
Nel marzo 2001 i crittologi cechi Vlastimil Klíma e Tomáš Rosa avevano mostrato che alcune informazioni sulle chiavi, conservate nei file dei programmi OpenPGP, non erano protette a sufficienza. Alterandole in modo mirato si potevano ottenere dati utili a calcolare la chiave privata.
Sulle funzioni di hash il campanello d’allarme suonava da tempo. Nel 1994 van Oorschot e Wiener avevano stimato che una macchina da 10 milioni di dollari avrebbe trovato collisioni di MD5 in circa 24 giorni. Il 17 agosto 2004 Xiaoyun Wang, Dengguo Feng, Xuejia Lai e Hongbo Yu pubblicarono collisioni complete per MD4, MD5, HAVAL-128 e RIPEMD, ottenute in poche ore.
Nei primi quattro casi l’errore stava nel software di firma o nell’ambiente in cui girava, e gli algoritmi crittografici erano integri. Il caso MD5 mostrava, al contrario, che anche le funzioni di hash invecchiano e vanno sostituite per tempo.
Come si verifica una firma digitale oggi
Oggi la firma digitale è disciplinata dal Codice dell’Amministrazione Digitale e dal regolamento (UE) 910/2014, detto eIDAS, che la colloca fra le firme elettroniche qualificate. Le regole tecniche hanno abbandonato SHA-1 a favore di SHA-256. I formati più diffusi sono CAdES, il file con estensione .p7m che racchiude il documento, PAdES, la firma inserita in un PDF, e XAdES per i documenti XML.
Un buon verificatore controlla quattro cose:
- che il documento non sia stato modificato dopo la firma;
- che il certificato fosse valido, cioè non scaduto, revocato o sospeso, al momento della firma;
- che il certificatore compaia negli elenchi di fiducia pubblicati dall’AgID e dalla Commissione europea;
- che il documento firmato mostri sempre lo stesso contenuto.
L’ultimo punto è l’eredità del caso Word del 2002. Per questo nei documenti destinati a durare si preferisce firmare un PDF statico, meglio se nel formato PDF/A pensato per la conservazione. Nelle perizie su documenti firmati, la verifica si fa sul file originale, con la data di riferimento corretta e documentando lo stato del certificato a quella data.
Vedi anche: la lezione del 2010 Gli strumenti del Codice dell’Amministrazione Digitale, con la scheda sul valore legale della firma digitale.
Vincenzo Calabrò | Ingegnere informatico specializzato in sicurezza informatica e investigazioni digitali. Funzionario informatico del Ministero dell'Interno; su incarico autorizzato si occupa di sicurezza informatica e di perizie informatiche forensi. Autore di articoli e saggi. Lecturer, Speaker, Trainer.Profili: Google Scholar · ORCID · ResearchGate · Academia.edu · CyberSecurity360 · AgendaDigitale · ICT Security Magazine · LinkedIn