Audit chain + TSA-verankering
Elke actie in een sessie — joins, snapshots, whiteboards, opnamestarts, -einden — komt in een SHA-256-hashketen per sessie. De ketenkop wordt verankerd bij meerdere onafhankelijke tijdstempelautoriteiten op het moment dat de sessie sluit. Manipulatie is detecteerbaar; het bewijs blijft geldig zonder ons te vertrouwen.
Hoe het werkt
Elk auditevent draagt de SHA-256-hash van het voorgaande event plus zijn eigen canonieke payload, en een schrijfvergrendeling serialiseert de events zodat twee gelijktijdige captures geen race op de keten kunnen veroorzaken. Herorden achteraf één event en elke downstream-hash klopt niet meer — verificatie faalt op de eerste afwijkende rij.
| Veld | Doel |
|---|---|
| sequence | Monotone teller per sessie. Append-only, afgedwongen op databaseniveau. |
| prev_hash | SHA-256 van de canonieke hash van het vorige event. Het eerste event gebruikt een all-zero-prefix. |
| payload_jsonb | Canonieke-JSON-eventdata. Gesorteerde sleutels, geen whitespace — zodat de hash reproduceerbaar is. |
| hash | SHA-256 over (sequence ‖ prev_hash ‖ kind ‖ canonieke payload ‖ occurred_at). |
| occurred_at | Gestempeld op de server. Client-klokken bepalen de volgorde niet. |
Verankering met meerdere backends
Bij sessie-einde wordt de ketenkop parallel ingediend bij twee onafhankelijke tijdstempelautoriteiten. Eén storing breekt het bewijs niet — de verifier accepteert elk token waarvan de backend-kruiscontrole slaagt.
Anker op publiek grootboek
De ketenkop wordt vastgelegd in een smart contract op Tezos. Finaliteit valt binnen 15–20 minuten; de ontvangstbevestiging bevat de blok-hash + diepte. Iedereen met de ketenkop van de sessie kan verifiëren tegen het publieke grootboek zonder onze medewerking.
Gekwalificeerde tijdstempel
Synchrone tijdstempelaanvraag bij een gekwalificeerde TSA — DataSure (ANSSI-gekwalificeerd, eIDAS Art. 42) op beheerde deployments, of FreeTSA voor self-host-pilots. De TSR is een ondertekend ASN.1-token dat elke RFC 3161-verifier offline kan valideren.
De backend-interface is verwisselbaar — Sectigo, DigiCert, OpenTimestamps en andere gekwalificeerde TSP's passen met een configuratiewijziging. Klanten op beheerde deployments erven DataSure; self-host-operators kiezen hun eigen.
Hoe verificatie eruitziet
Elke sessie wordt geleverd met een publieke verificatie-URL (HMAC-pinned, verloopt na 90 dagen). De auditor opent deze, ziet de ketenkop, de TSA-ontvangstbevestigingen en een ketenintegriteitscontrole — geen login, geen API-sleutel, geen speciale tooling. De verifier herberekent de hash van elke eventrij en kruiscontroleert de TSA-getuigen; beide moeten slagen.
| Controle | Wat het bewijst |
|---|---|
| chain_integrity.ok | De hash van elke rij komt overeen met de herberekende hash. Geen tussenliggende rij is bewerkt. |
| tokens[].ok | Elke TSA-ontvangstbevestiging kruiscontroleert tegen de ketenkop die deze beweert te verankeren. |
| event_count | Vergeleken met het aantal dat de operator bij het sluiten zag — detecteert truncatie. |
| issuing_org_name | Identiteit van de org die de sessie uitvoerde — voor het dossier van de auditor. |
Waarom dit telt in de rechtszaal
eIDAS Art. 42 vestigt een wettelijk vermoeden voor gekwalificeerde elektronische tijdstempels in EU-rechtbanken — een rechtbank moet de tijdstempel als echt aanvaarden tenzij de tegenpartij het tegendeel bewijst. Combineer dat met een onveranderlijke hashketen over de sessie-events en de bewijslast keert om: in plaats van "wij hebben dit opgenomen, geloof ons op ons woord" heeft u een cryptografische getuige die onafhankelijk is van ons, onafhankelijk van u, en jaren later verifieerbaar zonder een van beide partijen te vertrouwen.
Bekijk een keten waaraan u kunt sleutelen
De demo-seeder maakt een echte sessie met een echte audit chain verankerd bij echte TSA's. Krijg een publieke verificatie-URL, verander een byte in de eventlog en zie het bewijs breken.