Zum Inhalt springen
getnextpdf.com

Langzeitvalidierung

Spec: ETSI EN 319 142-1Spec: RFC 6960Spec: ISO 32000-2, §12.8.4

Eine Signatur, die Sie heute verifizieren, beruht auf Fakten, die nicht von Dauer sind: ein Zertifikat, das abläuft, Sperrserver, die offline gehen, und Hash-Algorithmen, die schwächer werden. Die Langzeitvalidierung hält die Belege im Dokument fest, solange sie noch beschaffbar sind. Die Signatur lässt sich dann noch Jahre später prüfen, ohne irgendjemanden etwas fragen zu müssen.

Die gefährliche Eigenschaft einer digitalen Signatur ist, dass sie stillschweigend aufhören kann, verifizierbar zu sein, während sie unverändert aussieht. Nichts in der Datei ändert sich. Die Zertifizierungsstelle beantwortet keine Fragen mehr zu einem längst abgelaufenen Zertifikat. Ein Verifizierer, der diese Antwort benötigte, kann sie nicht mehr erhalten. Ein Vertrag, der an dem Tag, an dem er signiert wurde, zweifelsfrei gültig war, wird ein Jahrzehnt später zu „nicht bestimmbar“. Genau ein Jahrzehnt später ist ein Streit am wahrscheinlichsten, und es steht am meisten auf dem Spiel. Wenn Ihre Aufbewahrungspflicht in Jahren bemessen wird, ist eine Signatur ohne Langzeitvalidierung ein Risiko, das erst später zutage tritt.

  • Die Gültigkeit einer Signatur hängt von zeitkritischen externen Fakten ab: dem Gültigkeitszeitraum des Zertifikats und dem Sperrstatus von einem Server.
  • Diese Fakten werden nach Ablauf des Zertifikats unbeschaffbar — Stellen sind nicht verpflichtet, für immer zu antworten.
  • Die Langzeitvalidierung erfasst die Belege zum Signaturzeitpunkt — Zertifikate, OCSP-Antworten, CRLs — und bettet sie in den Document Security Store (DSS) des Dokuments ein.
  • Ein Dokumentzeitstempel beweist dann, dass die Belege selbst zu diesem Zeitpunkt existierten und gültig waren, und kann erneuert werden, bevor sein eigener Schutz schwächer wird.
  • Das Ergebnis: Das Dokument trägt seinen eigenen Beweis. Die Verifikation hängt nicht mehr davon ab, dass ein Server noch vorhanden ist.

Das Prinzip lautet „Sammeln Sie den Beweis, solange Sie es noch können, und versiegeln Sie ihn dann“. Wenn NextPDF eine Langzeitsignatur erzeugt, sammelt es die Zertifikatskette und die Sperrantworten, die belegen, dass das Signaturzertifikat im Moment des Signierens gültig war. Es schreibt sie als eingebettete Werte statt als Verweise in den DSS. Anschließend fügt es einen Dokumentzeitstempel über das Ganze hinzu. Auf die eingebetteten Werte kommt es an. Ein Verweis auf einen Sperrserver ist genau die Abhängigkeit, zu deren Beseitigung die Langzeitvalidierung existiert.

Die Langzeitebenen werden als separate Dokumentrevisionen geschrieben und angehängt, ohne den Byte-Bereich der ursprünglichen Signatur zu stören. Die erste Signatur bleibt weiterhin verifizierbar. Das Langzeitmaterial wird um sie herum hinzugefügt, nicht in sie hinein. Wenn der Schutz des Dokumentzeitstempels selbst altert, erlaubt die Archivierungsebene, einen weiteren Zeitstempel darüberzulegen. Das Ergebnis ist eine Kette, in der jeder Zeitstempel für alles darunter bürgt.

  1. SignierenDie Signatur und ihre signierten Attribute werden geschrieben (B-B).
  2. Belege erfassenDie Zertifikatskette, OCSP-Antworten und CRLs, die belegen, dass das Zertifikat zum Signaturzeitpunkt gültig war, werden gesammelt.
  3. In den DSS einbettenDie Belege werden als eingebettete Werte, nicht als Verweise, in das Dokument geschrieben (B-LT).
  4. Mit einem Dokumentzeitstempel versiegelnEin Zeitstempel beweist, dass die eingebetteten Belege in diesem Moment existierten und gültig waren (B-LTA).
  5. Erneuern, bevor der Schutz schwächer wirdEin weiterer Zeitstempel wird darübergelegt, bevor der Schutz des vorherigen altert, und verlängert so die Verifizierbarkeit.
Wie die Langzeitvalidierung eine Signatur über die Zeit hinweg verifizierbar hält: Die Signatur wird erstellt, die Belege werden erfasst, solange sie noch beschaffbar sind, die Belege werden durch einen Dokumentzeitstempel versiegelt, und das Siegel wird erneuert, bevor es schwächer wird.

Die Stufe, die Sie wählen, ist die Langzeitentscheidung. Die API macht die Anforderung explizit, bevor Sie sich festlegen.

<?php
declare(strict_types=1);
use NextPDF\Security\Signature\SignatureLevel;
// B-LT embeds validation material; B-LTA adds the renewable seal.
$level = SignatureLevel::PAdES_B_LTA;
$level->requiresDss(); // true → certificates + revocation embedded
$level->requiresDocumentTimestamp(); // true → a document timestamp seals the DSS
// The high-level seam produces the level end to end: it embeds the DSS
// dictionary and appends the DocTimeStamp revision in one call.
$document
->setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)
->save();
// The engine produces this only if the deployment can supply what it needs
// (a TSA, and revocation data reachable at signing time). It fails with an
// actionable error rather than embedding nothing and reporting success.

Die oben gezeigte High-Level-Naht — setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save() — ist nun durchgängig verdrahtet; frühere Releases legten das Stufen-Enum offen, nicht aber die Naht, die es erzeugt. Was sie schreibt, ist die Struktur: das DSS-Dictionary und die DocTimeStamp-Revision, beschrieben in Spec: ISO 32000-2, §12.8. Diese Struktur ist nicht auf Profilkonformität geprüft, und die Naht sichert nichts hinsichtlich ETSI-Konformität oder rechtlicher Gültigkeit zu. Die Stufen B-LT und B-LTA erfordern das Enterprise-Paket, das auf Pro aufbaut; ohne es schlägt die Naht kontrolliert fehl, statt ein Teilergebnis zu erzeugen. Auch ein verschlüsseltes Dokument schlägt bei B-LT und B-LTA kontrolliert fehl; DSS und Dokumentzeitstempel werden nicht über verschlüsseltem Inhalt geschrieben, da sie andernfalls fehlerhaft geschrieben würden.

Die Entscheidung lässt sich nicht kostengünstig nachrüsten. Die Sperrbelege müssen zum Signaturzeitpunkt erfasst werden, solange die Antworten noch existieren. Die Entscheidung „Wir fügen die Langzeitvalidierung später hinzu“ bedeutet meist die Entscheidung „Wir werden die Belege nicht haben, wenn wir sie brauchen“.

Das Missverständnis lautet „Die Langzeitvalidierung macht eine Signatur für immer gültig“. Sie macht überhaupt nichts gültig. Sie bewahrt die Fähigkeit, eine Gültigkeit zu prüfen, die zum Signaturzeitpunkt festgestellt wurde. War das Zertifikat bereits gesperrt, als das Dokument signiert wurde, rettet das Einbetten dieser Tatsache die Signatur nicht. Stattdessen dokumentiert es das Scheitern dauerhaft. Die Langzeitvalidierung ist ein Mechanismus zur Beweisbewahrung, nicht zur Beweiserzeugung. Ein zweites Missverständnis ist die Annahme, B-LTA sei „einmal einrichten und vergessen“. Der Archivierungszeitstempel schützt mit Algorithmen, die selbst altern. Ohne Erneuerung erbt eine B-LTA-Datei letztlich dieselbe Anfälligkeit, der sie entkommen sollte.

NextPDF sammelt und bettet die Belege ein und schreibt die Zeitstempel. Es besitzt weder die Wahrheit der Belege noch deren Erneuerungsplan. Die Sperrantworten sind nur so gut wie die Stelle, die sie ausgestellt hat, und der Moment, in dem sie abgerufen wurden. Die Konnektivität zu dieser Stelle zum Signaturzeitpunkt liegt in der Verantwortung des Deployments. Die Engine kann keine Sperrantwort erfinden, die sie nicht beschaffen konnte. Die Archivierungserneuerung ist ein betrieblicher Prozess. Die Engine kann einen weiteren Zeitstempel hinzufügen, aber sie kann nicht entscheiden, wann Ihre Aufbewahrungsrichtlinie ihn verlangt. Ob die eingebetteten Daten später als ausreichend beurteilt werden, ist eine Frage von Verifizierer und Richtlinie, behandelt in Eine Signatur korrekt validieren. Diese Seite behauptet keine rechtliche Zulässigkeit, die von der Rechtsordnung, vom Unterzeichner und vom Zertifikat abhängt.

Stufenverfügbarkeit der Langzeitvalidierung:

Langzeitvalidierung (DSS-Einbettung und die Archivierungszeitstempel-Schleife) — edition availability
EditionAvailability
CoreNot in this edition
Pro

PAdES B-T — ein vertrauenswürdiger Zeitstempel auf dem Signaturwert — ist verfügbar, eingebettetes Validierungsmaterial (DSS) ist jedoch nicht Teil von B-T.

Enterprise

PAdES B-LT und B-LTA: eingebettete Zertifikats- und Sperrwerte im DSS, der versiegelnde Dokumentzeitstempel und die erneuerbare Archivierungsschleife.

  • Langzeitvalidierung (LTV) — das Einbetten der Belege, die zur Verifikation einer Signatur nötig sind, sodass die Verifikation später nicht von externen Diensten abhängt.
  • Document Security Store (DSS) — die PDF-Struktur, die eingebettete Zertifikate und Sperrdaten für die Langzeitvalidierung enthält.
  • OCSP-Antwort — eine signierte Aussage über den Sperrstatus eines Zertifikats zu einem Zeitpunkt (Online Certificate Status Protocol, RFC 6960).
  • CRL — Certificate Revocation List; eine signierte Liste gesperrter Zertifikate.
  • Dokumentzeitstempel — ein RFC 3161-Zeitstempel, der auf das gesamte Dokument angewendet wird und beweist, dass die eingebetteten Belege zu dieser Zeit existierten und gültig waren.
  • Archivierungsschleife — das wiederholte Hinzufügen eines neuen Dokumentzeitstempels, bevor der Schutz des vorherigen schwächer wird, um die Verifizierbarkeit zu verlängern.