GH GambleHub

Controllo e registri invariati

Controllo e registri invariati

1) Perché è necessario

L'obiettivo della verifica è quello di fissare «chi, cosa, dove, quando e perché» con un'integrità dimostrabile per mantenere la sicurezza, le indagini, i rapporti finanziari e la conformità.
Il registro invariato è un formato e un archivio in cui gli eventi vengono scritti solo con l'aggiunta (append-only) e la successiva modifica/rimozione non può essere eseguita o rilevata con strumenti e regole di memorizzazione crittografiche.

2) Modello di minacce e obiettivi di controllo

Rischi:
  • Modifica/rimozione intenzionale degli eventi con un'insidia.
  • Cambio ora/sorgente (replay/backdating).
  • Disattivazione silenziosa della logica sul nodo.
  • Perdita di una parte del registro in caso di incidenti/migrazioni.
  • Eccesso di raccolta di PII e discontinuità.
Obiettivi:

1. Integrità provata dalla protezione contro le modifiche/rimozioni.

2. Completezza: chiusura dei flussi chiave (control plane, data plane, disponibilità, denaro).

3. Ora riproducibile, ora sincronizzata.

4. Disponibilità: lettura e ricerca all'interno di SLO.

5. Privacy: PI minimo, tornizzazione/crittografia, legittimità di utilizzo.

3) Tassonomia e priorità degli eventi

Dividere gli eventi in livelli con la priorità di retrazione e invariabilità:
  • Ctrl Plane: autenticazione/autorizzazione, modifiche alle configurazioni, operazioni con chiavi (KMS), gestione dei segreti, modifica dei criteri.
  • Data Plane: accesso a oggetti/registri/checkout/pagamenti; lettura/creazione/eliminazione.
  • Addin e DevOps: SSH/console, CI/CD, modifiche all'infrastruttura/IaC, escalation dei diritti.
  • Prodotti: transazioni, bollo, transazioni dei clienti.
  • Sistema/Rete: kernel/agenti/proxy/bilanciatori, broker, database.
  • Sicurezza: IDS/IPS/EDR, WAF, anti-DDoS, antifrode, DLP.

Per ciascuna classe è possibile registrare criticità, schema, campi obbligatori, conservazione, requisiti di invariabilità.

4) Campi obbligatori e formato

Gli ID di correlazione sono «trace _ id», «span _ id», «sollest _ id», «attore _ id» (utente/servizio), «tenant _ id», «resource _ id».
Contesto A&A: metodo di autenticazione, ruolo/criteri al momento dell'azione.
Tempo: RFC3339/UTC, millisecondi/nanosecondi; sorgente di sincronizzazione.
L'azione e il risultato sono il tipo di operazione, l'obiettivo, lo stato e il numero di oggetti interessati.
Integrità: record locale HMAC, numero di ordine (sequence), hash-prev.
Schema: JSON con modello stabile (ad esempio, compatibile con dizionari di eventi condivisi).

Proibito: segreti, chiavi, token completi PAN, password, chiavi private. PII - solo per necessità, mascherato/tornizzato.

5) Tempo e sincronizzazione

Sorgente tempo: almeno due sorgenti indipendenti (NTP/PTP) + monitoraggio offset.
Etichette temporali critiche: utilizzare i servizi TSA o il servizio time-sealing interno per i pacchetti di eventi.
Regole: nessun fuso orario locale, solo UTC; logica e sposta/qualità del tempo.

6) Architettura di flusso dei fogli

Agenti Landing-Hash-Catena/Firma Freddo/Archivio-Indice di ricerca.

Raccolta su un nodo: agenti leggeri (daemonset/sidecar) con buffer su disco (back-pressure).
Trasporti: canale protetto (TLS/mTLS), consegna garantita (at-least-once), idempotent-ingest.
Area landing: magazzino di oggetti in «formaggio» (partizioni per data/tenanto/tipo).
Indice: motore di ricerca/analisi per le query online (livello caldo).
Archivio (WORM) - Contenitori/nastri invariati con regole di rettifica e legale hold.
Anchor/Seal - Scorrimento periodico di pacchetti di catene hash (vedere sotto).

7) Invariabilità crittografica

7. 1 Catene di hashtag (append-only)

Ogni voce contiene: 'hash _ curr = H (record)', 'hash _ prev', 'seq'. Ogni modifica rompe la catena.

Pseudo-codice catena:

prev = GENESIS for record in stream:
payload = canonical_json(record_without_integrity_fields)
h = H(payload          prev.hash          record.seq)
store(record + {hash_prev: prev.hash, hash_curr: h})
prev = {hash: h}

7. 2 Firma pacchetti e timbro temporale

Ogni N secondi/MB formiamo la radice di Merkle di tutti gli «hash _ curr».
Firmiamo la chiave di controllo (memorizzata in KMS/HSM).
Aggiungete un valore temporale a TSA e pubblichiamo un catalogo di blocchi.
Opzionale: fissare periodicamente l'hash radice in uno spazio provabile esterno (ad esempio un registro indipendente o un deposito pubblico invariato).

7. 3 Gestione delle chiavi di controllo

Le chiavi di firma sono in KMS/HSM, rotazione grafica, accesso multifattore, dual-control per l'esportazione.
La revoca della chiave → un nuovo ramo di fiducia; le vecchie firme rimangono verificabili.

8) Criteri di conservazione e WORM

WORM/immutability: includiamo contenitori/bidoni invariati con la regola Retention e Legale Hold per le classi P0/P1.
Versioning attivato; rimozione: solo per le procedure di ritardo (disabilitazione del purge istantaneo).
Retenza: caldo (7-30 giorni), caldo (3-6 mesi), freddo/archivio (1-7 anni o più a seconda del regolatore/contratto).
Multiplicità: singoli spazi nomi/account/chiavi di crittografia per locatore; Report sulla disponibilità ai registri.

9) Privacy e minimizzazione

La raccolta è obbligatoria, non è superflua.
Tornizzazione/alias dei campi sensibili, hash con sale per gli identificatori.
Crittografia dei campi sul lato produttore (AEAD) durante l'archiviazione in un archivio oggetti condiviso.
Diritto di rimozione (se applicabile): consente di eseguire la crittografia-cancellazione delle chiavi dei campi/partiture senza compromettere l'immutabilità del contenitore (pianificata per la progettazione).

10) Accesso, ruoli e controllo del controllo stesso

Separazione: producers ≠ readers ≠ admins.
Solo lettura da WORM Modificare i criteri di retensione attraverso ruoli separati e una procedura approvata.
Tutte le operazioni di lettura/esportazione vengono registrate in un registro secondario (meta-controllo).
Esporta per l'indagine/compilation in una vista crittografata con la directory hash e la catena di affidabilità.

11) Osservabilità e SLO

Metriche: velocità di input, lega a indice,% persi/ripetuti, percentuale di tempo non incronizzato, errori di firma/ancoraggio, riempimento buffer.
SLO: ≥99. 9% degli eventi ricevuti con X secondi prima dell'indice caldo; 0 «buchi» inspiegabili nelle sequenze; Il 100% dei blocchi sono firmati e fissati in tempo.
Alert: pausa dell'iniezione> N minuti, altezza invalid-hash, disconnessione della catena, firma/timestamp fallita, spostamento del tempo oltre la soglia.

12) Test e verifica

Test Red/Blue: tentativo di modifica/rimozione di record in diverse fasi; Verifica dei rilevamenti.
Chaos: disattivazione dell'agente sul nodo, interruzione della rete, sovraccarico del buffer, cambio dell'ora.
Crypto-test: validazione regolare delle catene, incrociamento delle radici di Merckle e dei timbri.
Forenzica: riproduce gli script di indagine dai registri end-to-end.

13) Funzionamento e procedure

Runbook Controllo integrità (on-demand e pianificato).
Procedura legale hold e temporanea «congelamento» delle partiture.
Procedura di discovery ed esportazione mantenendo la catena di fiducia.
Piano di rotazione delle chiavi di controllo e risposta alla compromissione (nuovo ramo di fiducia, penne-firma blocchi, notifiche).

14) Mini-ricette

Firma blocco (SLA + TSA, schematico):

records = read_partition(ts_window)
leaves = [H(canonical_json(r)) for r in records]
root  = merkle_root(leaves)
sig   = KMS.sign(root          ts_now)
tsa   = TSA.timestamp(sig)
store_block({root, sig, tsa, count=len(leaves), window})
append_transparency_log(H(root          sig          tsa))
Verifica integrità catena (sezione):

for i in 1..N:
assert rec[i].hash_prev == rec[i-1].hash_curr assert rec[i].hash_curr == H(canonical_json(rec[i]_no_hash)          rec[i].hash_prev          rec[i].seq)
Politica di reticenza (idea):
  • Controllo/Data Plane P0: caldo 30 giorni, caldo 6 mes archivio 7 anni (WORM).
  • : 14 giorni bollenti, 3 giorni caldi.
  • I segnali di sicurezza sono 90 giorni caldi (per le indagini), poi 1-3 anni.

15) Errori frequenti

«I fogli sono testo senza schema». Senza uno schema, non c'è integrità e ricerca determinate; è obbligatorio il JSON canonico e i campi fissi.
Nessuna correlazione. L'assenza dì trace _ id "rompe le indagini.
Ora locale. Solo UTC e controllo di spostamento.
Scrittura nei volumi da modificare. Senza WORM, ogni invincibilità è una fiction.
Non logificheranno la lettura. La lettura dei dati sensibili è importante per registrare quanto una scrittura.
I segreti sono nei reparti. Attivare i servizi igienici prima dell'invio, gli elenchi rossi dei pattern.
Una chiave per tutto. Le chiavi di firma e crittografia sono separate, con ruolo e rotazione.

16) Conformità e regolamentazione

I requisiti di conservazione/invariabilità dipendono dal dominio (finanza, pagamento, TV, ecc.).
Prova: disponibilità di protocolli WORM/Retence, rapporti di convalida delle catene, registri di accesso ai registri, procedure legali hold ed esportazioni.

17) Assegno fogli

Prima di vendere

  • Approvata la tassonomia degli eventi e lo schema (campi obbligatori).
  • Agenti configurati, buffer, trasporti protetti, back-pressure.
  • Incluse: catene di hashtag, firma di blocco, timbro temporale, transparency-logg.
  • L'archivio WORM/Retence è abilitato prova di impossibilità di sovrascrivere/eliminare.
  • Maschera/tornizza i campi sensibili.
  • Sincronizzazione del tempo e monitoraggio dello spostamento.
  • Piano di rotazione e memorizzazione delle chiavi di verifica in KMS/HSM.

Utilizzo

  • Convalida settimanale di catene e blocchi (+ report).
  • Alert per interruzione della catena/errori di firma/offset temporale.
  • Test di sostituzione/rimozione di Red team periodici.
  • Review regolare delle retene e dei costi.

18) FAQ

C: È sufficiente una semplice aggiunta a livello di database?
Oh, no. Sono necessarie le garanzie crittografiche (catene di hashtag, firme di blocchi, timbri temporali) e i criteri WORM.

C: Come funziona il diritto di eliminazione dei dati?
O: Progetta la crittografia (rimozione delle chiavi) per i campi/partiture, mantenendo l'immutabilità del supporto e la prova dei registri.

C: È necessaria una chiave separata per la firma dei blocchi?
Oh, sì. Separare le chiavi di firma dei blocchi dalle chiavi di crittografia dello storage; memorizzare in KMS/HSM, con rotazione e revisione.

Si può «ancorare» in uno spazio pubblico?
Opzionale. Questo aumenta la validità e ritaglia la cronologia all'interno del tracciato.


Materiali correlati:
  • Crittografia At Rest'
  • Crittografia in transit
  • «Gestione dei segreti»
  • Gestione e rotazione delle chiavi
  • Firma e verifica query
Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.