Come dimostro che un documento esisteva a una certa data?
Per dimostrare che un documento esisteva a una certa data, calcolate il suo hash e inviatelo a un'autorità di marcatura temporale attendibile, che restituisce un token firmato legando quell'hash a un istante da essa attestato. Quel token è una prova che un terzo può verificare senza doversi fidare di voi. Una data nel vostro file system, nel vostro database o nei metadati del documento non è una prova, perché la controllate voi.
Il problema delle date prodotte da sé
Ogni data che potete produrre sul vostro documento l’avete prodotta voi. La marca temporale del file system, la colonna «creato il» del database, la data stampata in prima pagina, i metadati del PDF: tutte sono sotto il controllo della parte che vuole che siano credute.
Non è un’accusa, è la struttura del problema. Un revisore, una controparte o un giudice non possono distinguere una data onesta da una comoda quando entrambe provengono dalla stessa fonte. Le controversie sul preuso, le date di efficacia dei contratti, i termini di preavviso, l’inizio dei periodi di conservazione e le rivendicazioni di proprietà intellettuale dipendono da questo, e vi dipendono anni dopo.
Come lo risolve una marca temporale attendibile
RFC 3161 descrive un protocollo piccolo con una conseguenza grande.
- Calcolate l’hash del documento. Una funzione di hash crittografica produce un’impronta di lunghezza fissa. Qualsiasi modifica al documento, anche di un solo byte, produce un’impronta completamente diversa.
- Inviate solo l’hash. La richiesta va a un’autorità di marcatura temporale, un terzo che gestisce un servizio di firma. Il documento non lascia mai i vostri sistemi, quindi il metodo vale anche per materiale che non potete condividere.
- Ricevete un token firmato. L’autorità restituisce un token con il vostro hash e l’ora, firmato con la propria chiave.
- Conservate il token insieme al documento.
Ciò che il token stabilisce è preciso, e vale la pena dirlo con precisione: questo esatto contenuto esisteva al più tardi in quel momento e non è cambiato da allora. È un limite unilaterale. Dimostra che il documento non è più recente della marca temporale. Non dimostra che non sia più antico.
Perché funzioni ancora fra dieci anni
È la parte che la maggior parte delle implementazioni salta, e fallisce in silenzio.
Un token di marca temporale si verifica rispetto al certificato dell’autorità. I certificati sono validi da uno a tre anni. Per verificare nel 2035 un token emesso nel 2026, un verificatore rigoroso ha bisogno di tre cose che oggi esistono e allora non esisteranno più: la catena di certificati completa com’era, lo stato di revoca al momento della firma e un algoritmo ancora considerato solido.
Conservate quindi il materiale di verifica accanto al token, nel momento in cui lo create. Rimarcare periodicamente con un algoritmo aggiornato, prima che il precedente si indebolisca, prolunga la vita dell’intera catena. Nessuna delle due cose si può fare retroattivamente.
Dove si colloca SealDoc
SealDoc richiede per impostazione predefinita una marca temporale RFC 3161 per ogni documento elaborato, registra una catena di hash SHA-384 e un registro di catena di custodia, e consegna il risultato come file PDF/A-3B, con un pacchetto di prova per ogni documento su richiesta. All’autorità di marcatura viene inviato solo l’hash, quindi il documento resta all’interno di infrastruttura europea.
Ultima verifica: