Skip to content
BlockchainSign
de

Was ein Hashwert nicht verrät

Von Veröffentlicht am

Was ein Hashwert nicht verrät
Photo: Markus Winkler

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.

Häufige Fragen

Kann jemand einen SHA-256-Hashwert zurückrechnen, um meine Datei zu erhalten?
Nein. SHA-256 ist eine Einwegfunktion, keine Verschlüsselung — es gibt keinen Schlüssel und nichts zu entschlüsseln. Der einzige Weg, eine Eingabe zu finden, die zu einem Hashwert passt, besteht darin, Kandidaten zu raten und zu hashen, was für alles außer sehr kurzen, hochgradig vorhersagbaren Inhalten unpraktikabel ist.
Öffentlicht das Veröffentlichen eines Hashwerts etwas über mein Dokument?
Nichts über den Inhalt, den Typ, die Größe, den Dateinamen oder die Metadaten, und nicht einmal darüber, ob er einer anderen Datei ähnelt — ähnliche Eingaben erzeugen völlig unabhängige Hashwerte, sodass es kein partielles Matching gibt. Die einzige Ausnahme sind Inhalte, die aus einer sehr kleinen Menge von Möglichkeiten stammen, die durch Raten und Vergleichen gefunden werden können.
Wann reicht Hashing für den Datenschutz nicht aus?
Wenn der Eingaberaum winzig ist — eine Zahl in einem kleinen Bereich, ein einzelner Name, ein Datum oder eine Vorlage mit einem einzigen variablen Feld. Jemand kann jeden Kandidaten hashen und vergleichen. Echte Dokumente sind davon nicht betroffen, und wenn Sie sich für einen sehr kurzen Wert entscheiden müssen, fügen Sie eine zufällige Zeichenfolge hinzu und bewahren Sie diese zusammen mit dem Dokument auf.

Beweisen Sie heute, dass Ihre Arbeit existiert

Versehen Sie jede beliebige Datei auf der Ethereum-Blockchain mit einem Zeitstempel und erhalten Sie ein fälschungssicheres Zertifikat, das lebenslang gilt. Ihre Datei verlässt niemals Ihren Browser.