Hash, canonicalizzazione e identità del contenuto#
L’attestazione parte da un hash SHA-256. L’hash non è il documento e non consente normalmente di ricostruirlo: è un’impronta di 256 bit, rappresentata come 64 caratteri esadecimali. Due contenuti identici producono lo stesso hash; una variazione anche minima produce, con probabilità pratica, un valore differente.
contenuto originale
→ serializzazione deterministica
→ SHA-256
→ hash di 64 caratteri
→ richiesta di attestazione
Il problema della serializzazione#
Per un file binario è possibile calcolare l’hash sui byte ricevuti. Per un oggetto JSON, invece, spazi, ordine delle chiavi, formati numerici e normalizzazione Unicode possono cambiare i byte pur lasciando invariato il significato apparente. CertiExch distingue quindi:
- hash dei byte originali, utile per provare il file ricevuto;
- hash canonico della struttura, utile per confrontare contenuti equivalenti;
- hash di manifest, utile per legare più file, metadati e riferimenti in un unico pacchetto.
Un lotto di crediti, per esempio, può avere data_tape_hash, composition_hash e manifest_hash. Il primo prova il data tape ricevuto; il secondo prova la composizione normalizzata; il terzo lega fotografia, riepilogo e documentazione dichiarata.
Requisiti di canonicalizzazione#
La funzione deve essere stabile nel tempo e fuori dal singolo database. Deve ordinare ricorsivamente le chiavi degli oggetti, conservare l’ordine degli array quando semanticamente rilevante, rappresentare numeri e date in un formato definito e rifiutare valori non ammessi. L’algoritmo e la sua versione devono accompagnare la prova.
Cosa non inserire nell’attestazione#
CertiSigma riceve l’hash, non il contenuto originale. I metadati organizzativi vanno ridotti al necessario e non devono contenere dati personali in chiaro. Gli identificativi operativi devono essere pseudonimizzati o collocati nel livello cifrato previsto dal provider. La prova pubblica deve restare verificabile senza rivelare il soggetto, il cliente finale o il contenuto riservato.
Collisioni e sostituzione del contenuto#
La sicurezza dell’hash non elimina la necessità di governare la fonte. Un attore può attestare l’hash di un documento falso; la prova dimostrerà che quel documento esisteva, non che fosse vero. Per questo ogni attestazione deve essere collegata all’attore, al workflow, alla versione del Master Record e all’autorizzazione con cui l’evento è stato prodotto. Integrità, autenticità organizzativa e validità giuridica sono controlli distinti.
