Wie Sie beweisen, dass ein Dokument sich nicht geändert hat
Sechs Monate nachdem alle unterschrieben haben, taucht ein Streit auf. Die Gegenseite legt ihre Kopie der Vereinbarung vor, und Klausel 7 sagt nicht, woran Sie sich erinnern. Beide Dateien heißen vereinbarung-final.pdf. Beide wirken plausibel. Keiner von Ihnen lügt zwangsläufig — Dateien werden neu gespeichert, Versionen geraten durcheinander. Ohne etwas, das damals festgehalten wurde, ist „das ist das Dokument, auf das wir uns geeinigt haben" nur die Erinnerung zweier Menschen, und Erinnerungen gewinnen keine Streitfälle.
Was ein Hash ist
Ein kryptografischer Hash ist ein Fingerabdruck für Daten. Geben Sie eine Datei in eine Hash-Funktion — SHA-256 ist der vernünftige moderne Standard — und sie liefert einen Wert fester Länge zurück, 64 hexadezimale Zeichen, egal ob die Eingabe eine Seite oder zehntausend war.
Drei Eigenschaften machen ihn nützlich:
- Er ist deterministisch. Dieselben Bytes ergeben immer denselben Hash. Jeder, überall, auf jedem Rechner, erhält den identischen Wert.
- Er ändert sich bei jeder Bearbeitung vollständig. Ändern Sie ein einzelnes Zeichen — ein Komma, ein Bit — und die Ausgabe ist völlig anders. Nicht leicht anders. Unkenntlich anders. Das nennt man Lawineneffekt, und deshalb können Hashes nicht „nah dran" sein.
- Er läuft nicht rückwärts. Sie können das Dokument nicht aus dem Hash rekonstruieren, und Sie können praktisch kein anderes sinnvolles Dokument erzeugen, das denselben Hash ergibt.
Der Fingerabdruck ist also gefahrlos öffentlich teilbar. Den Hash eines vertraulichen Vertrags zu veröffentlichen verrät nichts über dessen Inhalt — aber es fixiert den Vertrag.
Was ein Hash nicht beweist
Hier wird die Idee überverkauft, also lohnt Präzision. Ein passender Hash sagt Ihnen, dass die Datei unverändert ist. Er sagt Ihnen nicht:
- Wer sie erstellt hat. Ein Hash trägt keine Identität. Jeder kann alles hashen.
- Wann sie existierte. Der Wert beweist für sich nichts über Zeit. Ein Hash, den Sie heute berechnen, sagt, dass die heutige Datei die heutige Datei ist — eine Tautologie.
- Dass der Inhalt wahr, rechtmäßig oder vereinbart ist. Der Hash einer Fälschung ist ein völlig gültiger Hash einer Fälschung.
Hashes geben Ihnen Integrität, nicht Authentizität. Beides zu verwechseln ist der häufigste Fehler in diesem Bereich.
Der Teil, den alle falsch machen
Ein jetzt berechneter Hash beweist nichts über die Vergangenheit. Hashen Sie heute eine Datei und der Wert passt heute zur Datei, haben Sie nichts gelernt — natürlich passt er; es ist dieselbe Datei.
Ein Hash wird nur zum Beweis, wenn der Wert an einem vertrauenswürdigen Ort festgehalten wurde, bevor der Streit existierte. Die Sicherheit lebt nicht in der Mathematik; sie lebt in der Zeitachse. Die Frage, die ein Hash beantwortet, ist „passt das zu dem, was wir damals aufgeschrieben haben?" — und das setzt voraus, dass jemand es damals aufgeschrieben hat.
Was den Arbeitsablauf, nicht den Algorithmus, zum Entscheidenden macht.
Ein Arbeitsablauf, der wirklich etwas wert ist
- Hashen Sie die Datei im Moment, in dem sie final wird. Direkt nach der Unterschrift, bevor sie abgelegt wird. Nutzen Sie Dokument-Hash.
- Halten Sie den Wert dort fest, wo er nicht still revidiert werden kann. Setzen Sie ihn in die E-Mail, die das Dokument überträgt. Lesen Sie ihn ins Protokoll. Senden Sie ihn der Gegenseite, damit auch sie ihn hält. Das Ziel ist ein Eintrag mit einem Datum, das nicht allein unter Ihrer Kontrolle steht.
- Archivieren Sie die exakte Datei. Kein Neu-Export. Nicht „dasselbe Dokument" erneut gedruckt. Die exakten Bytes, die Sie gehasht haben.
- Später erneut berechnen und vergleichen. Gleicher Wert: Byte-identisch, kein Streit. Anderer Wert: Die Datei hat sich geändert, wenn auch nicht zwangsläufig böswillig — siehe unten.
Warum sich Ihr Hash geändert hat, als „sich nichts geändert hat"
Das bringt Menschen ständig ins Straucheln, und es ist kein Fehler des Hashes. Ein Hash umfasst Bytes, nicht Aussehen. Zwei PDFs können pixelidentisch aussehen und verschieden hashen:
- Sie haben sie neu gespeichert. Eine PDF zu öffnen und erneut zu exportieren schreibt die Datei neu. Neue Zeitstempel, möglicherweise ein neuer
Producer, andere interne Struktur. Identisch zu lesen, andere Bytes. - Etwas wurde angehängt. PDFs unterstützen inkrementelle Aktualisierungen — einen Kommentar hinzuzufügen oder ein Feld auszufüllen kann Daten anhängen, statt neu zu schreiben. Das Dokument wuchs; der Hash änderte sich.
- Ein Werkzeug hat sie im Vorbeigehen angefasst. Manche E-Mail-Systeme und Dokumentenmanager schreiben Anhänge neu. Die Änderung kann völlig unsichtbar und völlig real sein.
Eine Abweichung bedeutet also „das sind nicht dieselben Dateien", nicht „jemand hat daran manipuliert". Die richtige Reaktion ist Untersuchung, nicht Anschuldigung. Und die praktische Lehre ist eindeutig: archivieren Sie die gehashte Datei und lassen Sie nichts sie neu speichern.
Ein lokales Verzeichnis führen
Müssen Sie regelmäßig belegen, dass Dokumente nicht abgedriftet sind, wird das Hashen jedes einzelnen von Hand mühsam. Lokaler Signaturnachweis führt auf Ihrem eigenen Gerät ein Verzeichnis der Dokumente, die Sie gehasht haben, sodass Sie ein persönliches Protokoll zum späteren Abgleich haben — ohne Dokumente bei einem Dritten zu registrieren.
Seien Sie klar darüber, was das ist und nicht ist. Es ist ein privates, selbst geführtes Verzeichnis: stark für Ihre eigene Gewissheit, für interne Prozesse, zum Aufspüren versehentlicher Drift. Es ist aber Ihr Verzeichnis — Sie kontrollieren es, was genau die Grenze ist, wenn der, der an Ihnen zweifelt, auf der anderen Seite des Tisches sitzt.
Wann Sie mehr brauchen als einen Hash
Muss ein Dritter überzeugt werden, bringt Integrität allein Sie nicht dorthin. Sie brauchen etwas, das das Dokument an eine Identität bindet, idealerweise auch an eine Zeit, auf eine Weise, die keine Partei kontrolliert:
- Eine digitale Signatur ist ein Hash plus Identität: Der Wert wird mit einem privaten Schlüssel signiert, sodass jeder mit dem passenden Zertifikat sowohl bestätigen kann, dass die Datei unverändert ist, als auch, wer signiert hat. Deshalb brauchen Signaturen eine Vertrauenskette und Hashes nicht — der schwierige Teil ist zu beweisen, wessen Schlüssel es ist.
- Ein vertrauenswürdiger Zeitstempel fügt die Bestätigung einer Instanz hinzu, dass der Hash zu einem bestimmten Moment existierte, und beantwortet das „wann", das ein bloßer Hash nicht kann.
- Ein ausgetauschter Hash ist ein ordentlicher Mittelweg: Halten beide Seiten den Wert vom Tag der Unterschrift, kann keine die Geschichte einseitig umschreiben. Keine Infrastruktur, der meiste Nutzen.
Für interne Aufzeichnungen, persönliche Archive und gewöhnliche „ist das die Datei, die ich gesendet habe?"-Fragen ist ein Hash, den Sie damals festgehalten haben, wirklich genug. Für einen Rechtsstreit ist er es nicht, und niemand sollte etwas anderes suggerieren.
Ein Hinweis zu alten Algorithmen
Begegnen Ihnen MD5 oder SHA-1 in einem bestehenden Prozess, behandeln Sie sie als Prüfsummen, nicht als Sicherheit. Beide haben praktische Kollisionsangriffe: Es ist machbar, zwei verschiedene Dateien mit demselben Wert zu konstruieren — genau die Eigenschaft, auf die Sie sich verließen. Sie taugen zum Aufspüren versehentlicher Beschädigung und sind für alles Gegnerische ungeeignet. SHA-256 ist aus gutem Grund der Standard.
Warum lokal berechnen?
Ein Dokument auf eine Website hochzuladen, um seinen Fingerabdruck zu erfahren, gibt eine Kopie dieses Dokuments an einen Dritten — für eine Berechnung, die Ihr eigenes Gerät in einem Moment leisten kann. Zählt die Datei genug, um fixiert zu werden, zählt sie genug, um nicht ausgehändigt zu werden. In CyvoDocOps laufen unterstützte Vorgänge dieser Art lokal in Ihrem Browser, und das Dokument wird nicht auf einen Server hochgeladen.
Häufige Fragen
Was ist ein Datei-Hash in einfachen Worten?
Ein kurzer Fingerabdruck, abgeleitet aus dem Inhalt einer Datei. Gleiche Datei, gleicher Fingerabdruck; ändern Sie irgendetwas, ändert sich der Fingerabdruck vollständig.
Können zwei verschiedene Dokumente denselben Hash haben?
Theoretisch ja, praktisch nicht mit SHA-256 — niemand kann ein solches Paar konstruieren. Mit MD5 oder SHA-1 ja, und deshalb sollten sie dort, wo es zählt, nicht verwendet werden.
Beweist ein Hash, wer das Dokument geschrieben hat?
Nein. Er beweist, dass die Datei sich nicht geändert hat. Identität erfordert eine digitale Signatur, die einen Hash an einen Schlüssel bindet, der einer bekannten Person oder Organisation gehört.
Mein Hash hat sich geändert, aber das Dokument sieht identisch aus. Wurde es manipuliert?
Nicht zwangsläufig. Neu speichern, ein Formularfeld ausfüllen oder ein System, das den Anhang neu schreibt, ändern alle die Bytes, ohne das Aussehen zu ändern. Es bedeutet, dass die Datei abweicht — untersuchenswert, kein Beweis für Böswilligkeit.
Wird die Datei zum Hashen hochgeladen?
Nein. Der Hash wird lokal in Ihrem Browser berechnet und das Dokument nicht an einen Server gesendet.