§ Verifica indipendente
Non devi fidarti di LOCUS.
Puoi verificare tutto da solo.
Ogni acquisizione è un pacchetto autoportante e verificabile da terzi — anche dalla controparte, anche offline, con strumenti standard e aperti. Questa pagina spiega, passo passo, come confermare (o contestare) l'autenticità di un bundle LOCUS.
Il principio
Verifica senza fiducia
La solidità di una prova digitale non può dipendere dalla parola di chi l'ha prodotta. Per questo LOCUS non chiede di credergli: usa solo standard aperti e pubblici — BagIt (RFC 8493), SHA-256/512 (FIPS 180-4), firma Ed25519 (RFC 8032), marca temporale RFC 3161, sidecar CASE/UCO — che chiunque può ricalcolare con strumenti di terze parti, senza alcun software LOCUS.
Riproducibile
Gli stessi controlli danno lo stesso esito su qualunque computer, oggi e fra anni.
Indipendente dal produttore
La marca temporale è di una Autorità terza (Sectigo / InfoCert), non di LOCUS.
Tamper-evident
Qualsiasi modifica, anche di un byte, rompe i sigilli ed è rilevata in verifica.
Cosa ricevi
Anatomia del bundle
Il bundle è un normale file .zip conforme a BagIt RFC 8493. Dentro, ogni file ha un ruolo; due «sigilli» (manifest e tag-manifest) ne garantiscono l'integrità e una marca temporale di terza parte ne fissa la data.
Cinque strade indipendenti
Come validare, dal più semplice al più rigoroso
Tre di questi strumenti viaggiano dentro il bundle stesso: la verifica non dipende dalla disponibilità del nostro sito né di alcun software esterno.
1 Pagina pubblica di verifica
Apri /verify/<codice> su questo sito e inserisci il codice a 6 caratteri (o l'UUID). Ricalcola hash, marche RFC 3161 e firma in tempo reale. Zero strumenti, accessibile a chiunque — anche al giudice dal browser.
2 interactive.html
Dentro data/. Aprilo con un doppio clic in qualsiasi browser, senza connessione: ricalcola gli hash dei file localmente (Web Crypto del browser, nessun upload) e li confronta con quelli firmati nel manifest. Mostra esito, dettagli e impronte percettive per ogni elemento.
3 verify.sh · verify.bat
Script di auto-verifica nel bundle. Su macOS/Linux ./verify.sh, su Windows doppio clic su verify.bat. Controllano integrità del payload, completezza (file non dichiarati), integrità dei sigilli e — con openssl — le marche RFC 3161. Usano strumenti di sistema (shasum/sha256sum, certutil, openssl), non codice LOCUS.
4 Locus Validator
App desktop autonoma (macOS · Windows · Linux), senza login né telemetria. Trascini il .zip e ottieni un referto a semaforo con tutti i controlli + un PDF di validazione. Pensata per CT e periti che vogliono un esito firmato e ripetibile.
5 Comandi manuali (la prova definitiva)
Per chi non vuole fidarsi di alcuno strumento — nostro o altrui — i sigilli si verificano a mano con utility standard. È il metodo che azzera ogni dubbio sul produttore: vedi la sezione qui sotto.
Cosa viene verificato
I controlli, e cosa dimostra ciascuno
- Integrità del payloadOgni file in data/ ha l'hash SHA-256 dichiarato nel manifest. Una modifica al media → mismatch.
- Completezza BagItNessun file «infiltrato»: ogni file presente in data/ è elencato nel manifest (RFC 8493).
- Integrità dei tagIl tagmanifest sigilla i file di servizio e il sidecar CASE/UCO: copre tutto ciò che è fuori da data/.
- Terna di hash del mediaMD5 + SHA-256 + SHA-512 del media coincidono con quelli firmati nel manifest.
- Marca RFC 3161 sul mediaUna TSA terza (Sectigo / InfoCert) attesta che quel media esisteva a quella data. Verificabile con la sua CA pubblica.
- Marca RFC 3161 sul tagmanifestChiude la catena di custodia: fissa nel tempo l'intero pacchetto sigillato, non solo il media.
- Firma Ed25519Il manifest è firmato con una chiave legata al dispositivo (TOFU): lega contenuto, dispositivo e operatore.
- Impronte percettive + istogrammaaHash/dHash/pHash e istogramma firmati: rappresentano il media senza rivelarlo e si ricalcolano dal bundle.
- Sidecar CASE/UCOMetadati forensi in standard CASE 1.3 / UCO, coerenti con il manifest e dentro il sigillo.
- Coerenza temporaleLa cattura precede il sigillo; il tempo NTP precede la marca RFC 3161. Incoerenze → segnalazione.
A mano, senza software LOCUS
Verifica manuale passo passo
Estrai lo .zip ed entra nella cartella. Servono solo shasum/sha256sum e openssl (su Windows certutil), già presenti nei sistemi operativi.
-
Integrità del payload
# ricalcola e confronta gli hash dei file in data/
shasum -a 256 -c manifest-sha256.txt # Linux: sha256sum -c manifest-sha256.txt → tutti OK -
Integrità dei sigilli (tag)
shasum -a 256 -c tagmanifest-sha256.txt
-
Marca temporale RFC 3161 sul media
openssl ts -verify -data data/media.jpg \
-in data/tsa.tsr -CAfile tsa-ca.pem # → Verification: OK -
Marca temporale sul tagmanifest
openssl ts -verify -data tagmanifest-sha256.txt \
-in tagmanifest-sha256.txt.tsr -CAfile tsa-ca.pem -
Firma Ed25519 e impronte percettive
Il manifesto firmato è in data/manifest.json (campo signature + chiave pubblica del dispositivo). Il modo più semplice di verificarla è aprire interactive.html o usare il Locus Validator, che ricalcolano firma e impronte percettive e ne confermano la corrispondenza.
Nota: il nome del media (media.jpg/.mp4/.wav) è indicato in manifest-sha256.txt. Gli stessi comandi sono incapsulati in verify.sh/verify.bat.
Perché regge
La catena di fiducia
Per la controparte
Se pensi di poter contestare LOCUS
Bene: è esattamente ciò per cui è progettato. Ecco le obiezioni più comuni e come chiunque può risolverle in autonomia.
«La data potrebbe essere stata falsificata.»
La marca temporale è emessa da una TSA terza (Sectigo, o InfoCert qualificata eIDAS) secondo RFC 3161 e si verifica con la CA pubblica dell'Autorità — non con materiale fornito da noi. La marca qualificata eIDAS ha valore legale in tutta l'UE (Reg. 910/2014).
«Il software LOCUS potrebbe mentire sull'esito.»
Puoi verificare senza alcun software LOCUS: shasum/openssl sono utility standard di terze parti. Se i loro esiti coincidono, l'autenticità non dipende dalla nostra parola.
«La foto potrebbe essere stata ritoccata.»
Qualsiasi modifica al media rompe la terna di hash, la firma Ed25519 e la marca RFC 3161: la verifica la rileva e segnala il bundle come alterato. Non esiste modifica «silenziosa».
«Il contenuto non è sui vostri server: come fidarsi?»
È una scelta di riservatezza (privacy by design): l'autorità della prova è il bundle sigillato in mano all'utente, non una copia su un server. Sul server restano comunque istogramma e impronte percettive firmati, che legano il media; la verifica completa si fa sul bundle.
«La provenance non è C2PA standard.»
Vero, e lo dichiariamo apertamente: è un contenitore proprietario «ispirato a C2PA/JUMBF», non leggibile con c2patool. Non è un overclaim: il valore probatorio poggia su hash, firma e marca temporale, non sulla provenance.
«È un JPEG «computazionale», non un dato grezzo.»
La pipeline di cattura è dichiarata e firmata nel manifest (oggetto capture): sorgente, API di cattura, assenza di editing IA. La trasparenza sulla fedeltà è parte della prova, non nascosta.