1. Cosa viaggia con un report
Tre valori rendono un report auto-verificante. Appaiono sull’artefatto report e sui metadati pubblici del portale di condivisione per il link.content_hash — SHA-256 dell'evidenza
content_hash — SHA-256 dell'evidenza
Un digest SHA-256 in hex minuscolo del JSON canonico delle evidenze del
report. I byte sono deterministici per un dato report, così chiunque
abbia la stessa evidenza ricalcola l’hash identico. Qualsiasi modifica
all’evidenza cambia questo valore.
signature — Ed25519 sull'hash
signature — Ed25519 sull'hash
Una firma Ed25519 in base64 calcolata sull’
content_hash esadecimale.
Dimostra che l’hash è stato firmato dalla chiave di firma di OrcaRouter e
non è stato falsificato.sig_key_id — quale chiave l'ha firmato
sig_key_id — quale chiave l'ha firmato
Un identificatore breve e stabile per la chiave pubblica attiva (per
esempio
orca- seguito da un frammento esadecimale). Il verificatore lo
usa per confermare che il report è stato firmato dalla chiave attualmente
pubblicata — un report firmato da un key id sconosciuto fa fail closed.La firma copre l’hash di contenuto, non i byte renderizzati del PDF, CSV
o JSON direttamente. La stessa evidenza si rende in tutti e tre i formati da
un unico hash, quindi la garanzia di integrità è sull’evidenza sottostante —
ogni export di un dato report condivide un unico
content_hash, signature
e sig_key_id.2. Recupera la chiave pubblica
La chiave pubblica di firma è pubblicata su un endpoint aperto — nessuna auth, nessun contesto di workspace. Un auditor la chiama direttamente.public_key è la chiave pubblica Ed25519 di 32 byte codificata in base64.
Il key_id qui deve corrispondere al sig_key_id sul report — se non
corrisponde, il report è stato firmato da una chiave diversa (probabilmente
ruotata o più vecchia) e non si verifica contro questa chiave pubblicata.
3. Verifica la firma
Puoi verificare la firma in due modi. O chiedi a OrcaRouter di controllare la tupla per te, oppure verifica interamente offline con la chiave pubblica pubblicata.L’endpoint di verifica hosted
Fai POST dei tre valori dal report all’endpoint di verifica aperto. È pubblico — un auditor lo chiama senza credenziali.valid: true significa che la firma torna contro la chiave attiva per quel
key id. valid: false significa che o la firma non corrisponde all’hash,
l’hash è vuoto, oppure il sig_key_id non corrisponde alla chiave
attualmente pubblicata.
Verifica offline con la chiave pubblica
Un auditor scettico non ha bisogno di fidarsi affatto dell’endpoint di verifica. Poiché l’algoritmo è Ed25519 standard sull’hash di contenuto esadecimale, la firma è controllabile con qualsiasi libreria crypto:4. Cosa copre la firma
Una firma dimostra che ilcontent_hash del report è stato firmato da
OrcaRouter, e l’hash dimostra che l’evidenza non è stata modificata. Una
sottigliezza: l’hash è calcolato su una forma canonica dell’evidenza che
il gateway costruisce — non sui byte grezzi del file JSON o PDF. Quindi
re-hashare da solo l’artefatto scaricato non riprodurrà content_hash.
Usa l’endpoint di verifica (§2/§3), che ricalcola l’hash canonico e controlla
la firma Ed25519 per te:
| Controllo | Significato |
|---|---|
signature_valid: true | Il content_hash è stato firmato dalla chiave di OrcaRouter — l’evidenza è autentica e non modificata. |
| Key id corrisponde | sig_key_id del report == il key id pubblicato → firmato dalla chiave attiva. |
5. Verificare un report condiviso
Quando invii a un auditor un link al portale di condivisione anziché il file, i metadati del portale già portanocontent_hash,
signature e sig_key_id, più un flag signature_valid calcolato dal
server. L’auditor può fidarsi del flag e rieseguire i controlli sopra
contro la chiave pubblica in modo indipendente — il portale di condivisione
non richiede login, e il percorso di verifica è identico.
Un artefatto condiviso viene servito solo finché la sua regione marcata
corrisponde ancora alla
regione di data-residency
dichiarata dal tuo workspace. Se la regione è stata cambiata, i download
vengono trattenuti anche se i metadati di firma restano verificabili. Questo
è by design — vedi
Letture cross-region.
6. Dove andare dopo
Report firmati
Come si genera un report firmato, quali evidenze cattura, e come generare
un link di condivisione per auditor.
Export delle evidenze
Estrai le evidenze del report come PDF, CSV o JSON per i workpaper del tuo
auditor.
Data residency
Come la marcatura di regione su un report governa dove è archiviato e
servito.
Responsabilità condivisa
Cosa garantisce OrcaRouter sul percorso del gateway rispetto a ciò che
resta tuo.
