Blockchain-Protokollierung erklärt
Von BlockchainSignVeröffentlicht am

Audit-Logs haben eine strukturelle Schwäche: Sie werden meist von derselben Organisation geschrieben, gespeichert und verwaltet, deren Verhalten sie dokumentieren. Blockchain-Protokollierung ist eine Antwort darauf, aber sie ist enger gefasst und günstiger, als der Name vermuten lässt.
Das Problem
Ein Audit-Log soll beantworten: "Was ist passiert, und wann?" Es funktioniert einwandfrei, bis jemand mit Datenbankzugriff einen Grund hat, es zu ändern.
Die Standard-Maßnahmen helfen, schließen die Lücke aber nicht. Write-once-Speicher (schreibgeschützte Speicher) haben immer noch einen Administrator. Das Versenden von Logs an einen Drittanbieter verschiebt das Vertrauen nur, statt es zu beseitigen. Kryptografische Verkettung — wobei jeder Eintrag den vorherigen hashwertet — macht Manipulationen innerhalb des Logs erkennbar, aber wer das Log überschreiben kann, kann auch die Kette neu berechnen.
Es fehlt ein Anker: ein Wert, der irgendwo veröffentlicht wird, auf den der Log-Besitzer keinen Zugriff hat.
Was Blockchain-Protokollierung tatsächlich ist
Nicht, wie bei jedem sinnvollen Design, jede einzelne Log-Zeile in eine Blockchain zu schreiben. Das wäre absurd teuer und würde Daten veröffentlichen, die man fast sicher nicht öffentlich machen möchte.
Das praktische Muster:
- Logs werden normal geschrieben, wobei jeder Eintrag den vorherigen hashwertet.
- In einem festen Rhythmus — stündlich, täglich — wird der aktuelle Head-Hash in eine öffentliche Blockchain geschrieben.
- Diese Transaktion ist eine Verpflichtung: Jeder Eintrag davor ist damit festgeschrieben.
Das Ändern eines Eintrags nach Veröffentlichung seines Ankers erfordert das Ändern jedes nachfolgenden Hashwerts, der dann nicht mehr mit dem Wert in der Chain übereinstimmt. Die Manipulation wird für jeden sichtbar, der prüft, einschließlich Personen außerhalb der Organisation.
Die Kosten betragen eine Transaktion pro Zeitraum, nicht pro Eintrag.
Was es bietet und was nicht
| Geboten | |
|---|---|
| Erkennung von Änderungen früherer Einträge | Ja, nach ihrem Anker |
| Erkennung von Löschungen früherer Einträge | Ja |
| Verhinderung von Änderungen | Nein — es macht sie erkennbar |
| Schutz von Einträgen seit dem letzten Anker | Nein — dieses Fenster ist nicht verankert |
| Beweis der Wahrheit der Einträge | Nein — nur, dass sie unverändert geblieben sind |
| Wahrung der Privatsphäre der Log-Inhalte | Ja — es werden nur Hashwerte veröffentlicht |
| Überprüfbarkeit durch Außenstehende | Ja |
Zwei Grenzen verdienen besondere Betonung. Alles, was seit dem letzten Anker geschrieben wurde, ist ungeschützt, daher ist der Verankerungszeitraum Ihr Expositions-Fenster. Und ein Anker sagt nichts darüber aus, ob ein Eintrag zum Zeitpunkt des Schreibens korrekt war — nur, dass er seither unverändert geblieben ist.
Wann es sich lohnt
Lohnt sich, wenn das Log von jemandem geglaubt werden muss, der einen Grund hat, Ihnen zu misstrauen: regulierte Dokumentationspflichten, Beweissicherung, Kettennachweise, sicherheitskritische Systeme, Mehrparteienvereinbarungen, bei denen jede Seite ihr eigenes Log führt.
Lohnt sich nicht für gewöhnliche Betriebs-Logs. Debugging-Ausgaben benötigen keine Manipulationssicherheit, und der zusätzliche Aufwand hilft niemandem.
Der Test ist, ob ein Außenstehender jemals dem Log vertrauen muss. Wenn die Antwort nein lautet, reicht die kryptografische Verkettung allein völlig aus.
Umsetzung ohne Blockchain-Team
Der Mechanismus ist einfach genug, um kein eigenes Projekt zu sein. Berechnen Sie den Head-Hash in Ihrem Rhythmus, versehen Sie diesen einzelnen Wert mit einem Zeitstempel und bewahren Sie das Zertifikat zusammen mit dem Log-Archiv auf. Das ist eine Datei pro Zeitraum, und es ist derselbe Vorgang wie beim Zeitstempeln jedes anderen Dokuments — der einzige Unterschied ist, worauf Sie es beziehen.
Dieser Ansatz deckt auch verwandte Fälle ab: eine nächtliche Datenbankexportdatei, ein Build-Manifest, eine signierte Release-Version, ein Konfigurations-Snapshot. Überall dort, wo Sie sagen können "Dies befand sich zu dieser Zeit genau in diesem Zustand" und dies von einem Außenstehenden überprüfen lassen möchten.
Siehe wie man eine Software-Release zeitstempelt für die Variante, die auf Build-Artefakte abzielt, und Chained-of-Custody für digitale Dateien für die beweiskräftige Einordnung.