PREPROD
v1.0
2026-08-19

Dossier tecnico Bonketiba Certified

Documento pubblico e stampabile destinato a revisori, clienti tecnici e controparti legali. Descrive lo schema crittografico, il ciclo di vita delle chiavi, la procedura di verifica indipendente e il modello delle minacce.

1. Specifiche crittografiche

Algoritmo di firmaECDSA su curva NIST P-256 (secp256r1)
DigestSHA-256
Identificatore JOSE equivalenteES256
Formato chiave pubblicaJWK (kty EC, crv P-256), pubblicata nel keyset
Payload firmatoSerializzazione canonica del manifest o del sigillo di catena
ImplementazioneWebCrypto SubtleCrypto, nessuna libreria crittografica di terze parti
Chiave privataMai esportata verso il client, mai inclusa nei pacchetti
Concatenamentoentry_hash = SHA-256(prev_hash ‖ contenuto evento canonico)

2. Versioning del keyset

3. Procedura di verifica indipendente

  1. 1

    Ottieni il pacchetto

    Scarica audit HTML e manifest JSON firmato dalla pagina di Release Evidence o dal link pubblico.

  2. 2

    Ricalcola l'hash

    Calcola SHA-256 del documento e confrontalo con il valore dichiarato nel manifest.

  3. 3

    Risolvi la chiave

    Leggi il key_id nel manifest e recupera la chiave pubblica corrispondente nel keyset.

  4. 4

    Verifica la firma

    Verifica la firma ECDSA P-256 sul payload canonico con la chiave pubblica risolta.

  5. 5

    Ricostruisci la catena

    Ricalcola prev_hash ed entry_hash evento per evento: qualunque discontinuità invalida la sequenza.

  6. 6

    Controlla lo stato

    Verifica revoca ed ambiente: il verdetto finale è VALID, REVOKED oppure NOT_VERIFIED.

I passi 2–6 sono eseguibili interamente nel browser, senza contattare i nostri server, dalla pagina di verifica pubblica e dal verificatore offline.

4. Threat model

T1

Alterazione di un documento già emesso

Tampering

Mitigazione: Hash SHA-256 nel manifest firmato; qualunque modifica cambia il digest.

Rischio residuo: Nessuno noto se il verificatore usa la chiave pubblica corretta.

T2

Rimozione o riordino di eventi nella catena di audit

Tampering

Mitigazione: Concatenamento per hash con sequenza: la catena si rompe in modo rilevabile.

Rischio residuo: Troncamento dell'intera catena rilevabile solo confrontando con una copia esterna.

T3

Firma fraudolenta con chiave privata sottratta

Spoofing

Mitigazione: Keyset versionato, rotazione periodica, revoca che porta a NOT_VERIFIED.

Rischio residuo: ALTO finché la chiave non risiede in HSM: è il gap dichiarato KM-4.

T4

Retrodatazione di una prova

Repudiation

Mitigazione: Timestamp server nella catena sigillata e sequenza monotona degli eventi.

Rischio residuo: Senza TSA accreditata la data resta un'affermazione del sistema, non di un terzo.

T5

Accesso a pacchetti di altri tenant

Information disclosure

Mitigazione: RLS owner-scoped, verifica pubblica solo per token, controlli automatici in CI.

Rischio residuo: Chi possiede il token di verifica accede al pacchetto: il token è la credenziale.

T6

Enumerazione dei token di verifica

Information disclosure

Mitigazione: Token ad alta entropia, rate limit sulla verifica pubblica, alert su enumerazione sospetta.

Rischio residuo: Rumore da scansioni automatiche: gestito come alert, non come blocco.

T7

Indisponibilità di Slack o email esterna

Denial of service

Mitigazione: Connettori isolati con timeout e coda con backoff: mai nel percorso critico del gate.

Rischio residuo: Ritardo nelle notifiche opzionali; esito Certified invariato per costruzione.

T8

Un connettore esterno altera l'esito del Release Gate

Elevation of privilege

Mitigazione: Il nucleo esegue e sigilla prima dei connettori; nessun risultato di connettore rientra nel report.

Rischio residuo: Coperto da test automatici dedicati sull'isolamento dei connettori.

T9

Un utente autenticato assume privilegi amministrativi

Elevation of privilege

Mitigazione: Ruoli in tabella dedicata con funzione SECURITY DEFINER has_role; mai ruoli nel profilo.

Rischio residuo: Errore in una funzione SECURITY DEFINER aggirerebbe la RLS: superficie da rivedere in audit.

T10

Interpretazione di 'Certified' come valore legale

Misrepresentation

Mitigazione: Disclaimer unico su ogni superficie pubblica e testi approvati per la comunicazione.

Rischio residuo: Rischio comunicativo residuo: mitigato, non eliminato.