Was ein Hashwert nicht verrät
Von BlockchainSignVeröffentlicht am

Der gesamte Datenschutzanspruch der hashbasierten Zeitstempelung beruht auf einer einzigen Eigenschaft: Ein Hashwert sagt Ihnen nichts über das Objekt aus, von dem er stammt. Das ist richtig, es lohnt sich, dies zu verstehen, statt es einfach zu glauben, und es hat genau eine Einschränkung.
Was ein Hashwert ist
SHA-256 nimmt beliebige Eingaben beliebiger Länge und erzeugt eine feste Ausgabe von 256 Bit — 64 hexadezimale Zeichen. Dieselbe Eingabe erzeugt immer dieselbe Ausgabe. Eine Änderung eines einzelnen Bits führt zu einem völlig anderen Ergebnis.
Es handelt sich um eine Einwegfunktion: leicht vorwärts zu berechnen, aber praktisch unmöglich rückgängig zu machen. Es ist keine Verschlüsselung. Es gibt keinen Schlüssel und nichts zu entschlüsseln.
"hello" → 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
"hello!" → ce06092fb948d9ffac7d1a376e404b26b7575bef38f9c1b4e7b3fc0d8e4e93e5
Zwei Eingaben, die sich nur um ein Zeichen unterscheiden, führen zu zwei völlig unabhängigen Ausgaben. Das ist beabsichtigt und genau der Grund, warum ein Hashwert keine Inhalte preisgibt.
Was das Veröffentlichen eines Hashwerts nicht offenbart
Im Wesentlichen alles:
- Den Inhalt. Keine Texte, keine Bilder, keine Daten.
- Den Dateityp. Eine PDF-Datei, ein Foto und eine Tabelle erzeugen alle einen 64-stelligen String.
- Die Größe. Eine Datei mit einem Byte und eine Datei mit zehn Gigabyte ergeben denselben Hashwert-Längenwert.
- Den Dateinamen, den Autor, Datumsangaben oder andere Metadaten, sofern sie nicht im Dateiinhalt selbst enthalten sind.
- Ähnlichkeit zu anderen Dateien. Ähnliche Dateien erzeugen völlig unabhängige Hashwerte. Es gibt kein partielles Matching.
Diese letzte Eigenschaft macht es sicher, einen Hashwert zu veröffentlichen. Ein Hashwert kann nicht mit einem anderen verglichen werden, um festzustellen, ob die Dateien ähnlich sind — sondern nur, ob sie identisch sind.
Die eine Einschränkung
Es gibt eine echte Ausnahme, die man klar benennen sollte, anstatt sie zu verschleiern.
Wenn ein Dokument sehr wenige mögliche Werte hat, kann jemand raten und prüfen. Man hash jeden Kandidaten und vergleicht ihn.
Nehmen wir an, Sie versehen ein Dokument mit einem Zeitstempel, dessen gesamter Inhalt eine Zahl zwischen 1 und 1.000 ist. Ein Angreifer hash alle tausend Möglichkeiten und findet Ihre sofort. Dasselbe gilt für kurze Phrasen aus einer vorhersagbaren Menge, ein Datum, einen einzelnen Namen oder eine Vorlage mit einem einzigen variablen Feld.
Dies ist keine Schwäche in SHA-256 — es tut genau das, was es soll. Das Problem ist, dass der Eingaberaum klein genug war, um ihn zu durchsuchen.
Wann es relevant ist: Zeitstempelung sehr kurzer, hochgradig vorhersagbarer Inhalte.
Wann es nicht relevant ist: bei jedem echten Dokument. Ein Vertrag, ein Manuskript, eine CAD-Datei, ein Foto, eine Tabelle — der Raum möglicher Dateien ist astronomisch groß, und Raten ist keine Strategie.
Die Lösung, falls nötig: Fügen Sie etwas Unvorhersehbares hinzu. Echte Dokumente tun dies bereits, da sie einzigartigen Text, Zeitstempel oder Daten enthalten. Wenn Sie sich wirklich für einen winzigen Wert entscheiden müssen, fügen Sie eine zufällige Zeichenfolge hinzu und bewahren Sie diese zusammen mit dem Dokument auf — der Hash deckt dann etwas Unerrates ab.
Warum das für die Zeitstempelung wichtig ist
Weil darauf alles andere aufbaut.
Ihre Datei wird in Ihrem Browser gehasht. Das 64-stellige Ergebnis wird übertragen und erscheint dauerhaft in einem öffentlichen Register. Wenn dieser String etwas über das Dokument preisgeben würde, wäre seine Veröffentlichung eine Offenlegung — und das gesamte Produkt wäre für vertrauliche Materialien, für die es gedacht ist, unbrauchbar.
Das tut er nicht. Deshalb können ein Patentantrag, ein Manuskript, ein Vertragsdokument unter NDA oder ein Geschäftsgeheimnis zeitgestempelt werden, ohne dass etwas Ihren Computer verlässt. Lesen Sie wie Sie ein Geschäftsgeheimnis beweisen, ohne es preiszugeben.
Sie können den Mechanismus überprüfen, anstatt ihm zu vertrauen: Der kostenlose SHA-256-Hashgenerator läuft vollständig in Ihrem Browser und funktioniert auch bei abgeschalteter Internetverbindung.
Die andere Seite derselben Eigenschaft
Da ein Hashwert nichts offenbart, beweist er auch allein nichts.
Ein Hashwert ohne die Datei ist ein bedeutungsloser String. Um einen Zeitstempel zu nutzen, müssen Sie die Originaldatei vorlegen und nachweisen, dass sie den aufgezeichneten Hashwert ergibt. Verlieren Sie die Datei, beweist der Aufzeichnung nur, dass etwas existierte, und nichts weiter.
Dies ist der Kompromiss im Kern des Designs: vollständige Privatsphäre, zum Preis der Notwendigkeit, die Datei aufzubewahren. Es ist ein guter Kompromiss, und er ist nicht kostenlos.