Nachweis
Ein Nachweispaket prüfen
Ein Nachweispaket von Perlata ist ein Zip mit fester Struktur. Sie können es mit Werkzeugen prüfen, die auf nahezu jedem Rechner vorhanden sind, ohne uns. Diese Seite beschreibt, was darin liegt, was Sie prüfen können und was jede Prüfung belegt. Die maßgebliche Beschreibung reist im Paket selbst mit, als Datei format.md; weicht diese Seite davon ab, gilt jene.
Was im Paket liegt
Die Dateinamen sind englisch und ändern sich nicht mit der Sprache des Dokuments, damit ein Prüfprogramm nach einem festen Namen suchen kann statt nach fünf Schreibweisen.
- manifest.json führt jede Datei mit ihrer Größe und ihrem SHA-256 auf.
- events.json enthält die Kette: jedes Ereignis mit seiner Folgenummer, seinem Zeitpunkt, seinem Inhalt, dem Hash des vorherigen Glieds, seinem eigenen Kettenhash und einem Siegel.
- proofs.json enthält die Pfade von den Ereignissen zur Wurzel ihrer Stunde.
- anchors/ enthält je Stundenwurzel den Zeitstempel so, wie der Zeitstempeldienst ihn ausgestellt hat, als RFC-3161-Token.
- seals.json enthält die öffentlichen Schlüssel, mit denen die Siegel zu prüfen sind.
- Das Nachweisdokument in zwei Formen zum Lesen, dazu die Nachricht wie versendet und die Meldung, wie sie dem Versanddienst übergeben wurde.
Die vier Prüfungen
Sie bauen aufeinander auf: die erste zeigt, dass die Dateien unverändert sind, die letzte, dass die Kette zu einem Zeitpunkt bestand, den ein Dritter festgestellt hat.
- Die Dateien gegen das Manifest. Berechnen Sie den SHA-256 jeder Datei und vergleichen Sie ihn mit der Liste. Weicht einer ab, wurde das Paket nach der Aufzeichnung verändert.
- Die Kette. Jedes Ereignis trägt den Hash des vorherigen, und das erste trägt einen Anfangswert, der die Kette an eine Zustellung eines Absenders bindet. Eine stimmige Folge von Ereignissen lässt sich deshalb nicht auf eine andere Zustellung übertragen.
- Die Siegel. Jedes Siegel liegt über den rohen Bytes des Kettenhashs, mit ECDSA über P-256 und SHA-256. Sie prüfen es mit openssl dgst und dem öffentlichen Schlüssel aus dem Paket.
- Der Zeitstempel. Die Wurzel der Stunde wurde einem Zeitstempeldienst vorgelegt; das Token in anchors/ prüfen Sie mit openssl ts und dem Zertifikat dieses Dienstes.
Was eine Prüfung belegt und was nicht
Kette und Siegel belegen, dass sich seit der Aufzeichnung nichts geändert hat. Sie belegen nicht, wann die Aufzeichnung bestand, denn die Hashes sind unsere und die Zeiten stehen in unseren eigenen Daten. Dafür ist der Zeitstempel da: ein Dritter hat die Wurzel jener Stunde gesehen und darüber signiert.
Die Siegel sind unsere. Das Paket belegt nicht, wer den Schlüssel verwaltet, und sagt das auch selbst. Deshalb holen Sie das Zertifikat des Zeitstempeldienstes bei diesem Dienst und nicht bei uns; sonst prüfen Sie unsere Kette mit einem Glied von uns.
Fehlt das Verzeichnis anchors/, gibt es für diesen Zeitraum keinen externen Zeitstempel, und das Nachweisdokument sagt das ausdrücklich. Die Kette steht dann relativ zu sich selbst fest, der Zeitpunkt ihres Bestehens ist aber nicht unabhängig festgestellt.
Legen Sie die gespeicherte Meldung neben das Exemplar, das beim Empfänger ankam, unterscheiden sich die Kopfzeilen und damit auch der SHA-256. Das ist kein Zeichen nachträglicher Änderung: der Versanddienst fügt beim Versand eigene Kopfzeilen hinzu. Vergleichbar ist der Inhalt, und der Hash im Manifest belegt, dass die gespeicherte Datei seither unverändert ist.
Was Sie brauchen
Openssl und irgendeine Möglichkeit, JSON zu lesen, mehr nicht. Kette und Siegel prüfen Sie ganz ohne Netz. Für den Zeitstempel brauchen Sie einmalig das Zertifikat des Zeitstempeldienstes, das Sie bei diesem Dienst selbst holen.
Die genauen Befehlszeilen stehen in format.md im Paket, samt der zwei Schalter, an denen eine Prüfung scheitert, obwohl nichts falsch ist: die Wurzel übergeben Sie als Digest und nicht als Datei, und das Token lesen Sie mit dem Schalter für ein einzelnes Token.
Version 1.0, 17. August 2026. Diese Seite beschreibt das Format perlata.evidence-package.v1. Fragen zu einem Paket, das Sie erhalten haben? Schreiben Sie an [email protected].