← Tutte le guide

Come posso dimostrare che un PDF non è stato alterato?

Per dimostrare che un PDF non è stato alterato, registrare un hash crittografico del file in un momento noto, legare quell'hash a una marca temporale attendibile rilasciata da un terzo e conservare una registrazione verificabile di tutto ciò che è accaduto al documento da allora. L'hash rivela qualsiasi modifica, la marca temporale fissa il momento e la registrazione copre il periodo intermedio. La conformità PDF/A e i metadati del file non dimostrano nulla di tutto questo.

Perché i metodi ovvi non reggono

Tre approcci vengono in mente per primi, e tutti e tre sono più deboli di quanto sembrino.

I metadati del file. Aprire le proprietà del documento e confrontare la data di creazione con quella di modifica sembra un controllo. Non lo è. Il semplice download di un file può aggiornarne l’ora di modifica senza che sia cambiato un solo byte, e molti strumenti di modifica lasciano intatti i campi autore e produttore. I metadati li scrive chi ha tenuto il file per ultimo, cioè proprio la parte il cui comportamento è in discussione.

La conformità PDF/A. PDF/A è un formato di archiviazione. Rimuove funzioni che potrebbero far visualizzare il documento in modo diverso in futuro, come gli script incorporati e i riferimenti a font esterni. È utile, e non dice assolutamente nulla sul fatto che il contenuto sia cambiato. Un file PDF/A può essere modificato e risalvato come PDF/A perfettamente conforme.

Una firma incollata. Una firma scansionata inserita in un documento è un’immagine. Non ha alcun legame crittografico con i byte che la circondano.

Che cosa funziona davvero

Tre meccanismi, che rispondono a tre domande diverse. Ometterne uno lascia un vuoto.

1. Un hash crittografico, per rilevare la modifica. Una funzione di hash riduce il file a un’impronta di lunghezza fissa. Cambiando un solo bit, ovunque esso sia, l’impronta cambia completamente. SHA-256 o SHA-384 sono oggi le scelte sensate. L’hash dimostra che il file in vostro possesso è, byte per byte, quello da cui è stato ricavato.

Da solo non dimostra nulla sul quando, né su chi lo abbia calcolato. Un hash calcolato da voi e conservato nel vostro database resta una vostra affermazione.

2. Una marca temporale attendibile, per fissare il momento. RFC 3161 descrive come inviare un hash a un’autorità di marcatura temporale e ricevere un token firmato che contiene quell’hash e l’ora. Esce solo l’hash, quindi il documento non lascia mai i vostri sistemi.

È la parte che trasforma la vostra affermazione in prova di un terzo, perché l’attestazione è firmata da qualcuno che non ha alcun interesse nel vostro documento.

3. Una catena di custodia, per coprire l’intervallo. Hash e marca temporale dimostrano lo stato del file in un istante. Un revisore chiede del periodo tra quell’istante e oggi. La catena di custodia risponde: ogni azione sul documento, chi l’ha eseguita, quando e da dove, scritta in sola aggiunta perché nessuna voce possa sparire in silenzio.

Concatenando ogni voce all’hash della precedente, una cancellazione a metà spezza la catena. È questo che rende l’assenza di manomissione dimostrabile anziché semplicemente affermata.

Che cosa conservare, in pratica

Conservate insieme documento, hash, token di marca temporale e catena di custodia, in un formato che potrete ancora aprire fra dieci anni. In pratica significa PDF/A-3 per il documento, perché quel formato consente gli allegati e può quindi trasportare la prova accanto al file.

Conservate anche il materiale di verifica. Un token di marca temporale si verifica rispetto alla catena di certificati dell’autorità, e i certificati scadono. Per verificare nel 2035 ciò che avete marcato nel 2026, dovete conservare la catena e lo stato di revoca com’erano allora. Quel materiale è disponibile oggi e non lo sarà dopo.

Dove si colloca SealDoc

SealDoc automatizza i tre meccanismi. Ogni documento elaborato diventa un file PDF/A-3B validato secondo ISO 19005-3, con marca temporale RFC 3161 per impostazione predefinita, catena di hash SHA-384 e registro di catena di custodia. L’esportazione è un pacchetto di prova per ogni documento, su richiesta: il documento, la pista di controllo e un manifesto che sigilla sia i singoli file sia l’insieme.

Ultima verifica: