Eine gültige Prüfung bestätigt Herkunft und Unverändertheit, nicht die fachliche Richtigkeit der Messung.
Gegenstand
Messprotokolle von nunosense sind PDF/A-3b-Dateien mit einem elektronischen Siegel nach PAdES. Das Siegel bringt der Signaturdienst von nunosense an, nachdem die nunosense-Konsole das Protokoll erstellt hat. Die Rohdaten, eine Liste der erkannten Anomalien und ein Manifest liegen als Anhänge im PDF.
Der PDF-Verifier prüft die hochgeladene Datei selbst. Er braucht dafür keine Kopie des Protokolls auf einem Server.
Siegel
Das Siegel ist eine Signatur nach PAdES Baseline mit SHA-256 über die gesamte gesiegelte Fassung der Datei. Geprüft wird:
- Die Signatur ist intakt: Die gesiegelten Bytes sind unverändert.
- Die Signatur deckt die gesiegelte Fassung vollständig ab, ohne Lücken.
- Das Siegel ist als Zertifizierung mit DocMDP-Stufe 1 angebracht: Nach dem Siegeln sind keine Änderungen am Inhalt erlaubt.
Zertifikatskette und Prüfzeitpunkt
Die Kette des Siegelzertifikats muss an einer Root von nunosense enden. Die Fingerabdrücke der Roots stehen auf der Seite Zertifikate. Endet die Kette woanders, lautet das Ergebnis „Kein nunosense-Siegel“.
Geprüft wird zum Zeitpunkt des Signaturzeitstempels. Zu diesem Zeitpunkt müssen Siegelzertifikat und Kette gültig und nicht gesperrt gewesen sein. Ein Zertifikat, das erst später abläuft, macht das Siegel deshalb nicht ungültig. Die Sperrinformationen (OCSP) stammen aus dem PDF selbst und zählen nur, wenn ihre Signatur vom Aussteller des Zertifikats stammt. Zertifikate, die nunosense als kompromittiert oder stillgelegt kennzeichnet, berücksichtigt der Verifier zusätzlich.
Siegel- und Zeitstempelzertifikate von nunosense stehen in einem öffentlichen Verzeichnis. Fehlt ein Zertifikat dort, obwohl es von einer Root von nunosense stammt, lautet das Ergebnis „Prüfung vorübergehend nicht möglich“, nie „gültig“.
Zeitstempel
Jedes Siegel braucht einen gültigen Signaturzeitstempel nach RFC 3161. Er belegt, wann gesiegelt wurde. Die Kette des Zeitstempeldienstes muss an einer Root derselben Umgebung enden wie das Siegel. Ohne gültigen Zeitstempel ist das Ergebnis ungültig.
Langzeitprüfung
Damit sich ein Protokoll auch nach Jahren prüfen lässt, liegen alle Zertifikate und Sperrinformationen im PDF (PAdES B-LT). Fehlen sie, gibt es einen Hinweis. Lässt sich die Kette ohne sie gar nicht prüfen, lautet das Ergebnis „Prüfung vorübergehend nicht möglich“. Das gilt nur, wenn Siegel und Zeitstempel an einer Root von nunosense derselben Umgebung enden. Bei einer fremden oder gemischten Kette fehlt nichts, das sich nachtragen ließe: Dann ist das Ergebnis ungültig.
Änderungen nach dem Siegeln
Nach dem Siegeln darf nur noch hinzukommen, was der Langzeitprüfung dient: Sperrinformationen und Zertifikate im Document Security Store sowie Dokument-Zeitstempel. Alles andere gilt als Veränderung, zum Beispiel:
- zusätzliche oder ersetzte Anhänge,
- neue Seiten, Anmerkungen oder Formularfelder,
- geänderter Text oder geänderte Bilder,
- Daten hinter dem Ende der letzten Fassung, etwa angehängtes HTML oder ein ZIP-Archiv,
- ein geänderter oder gelöschter Verweis auf die Dokumenteigenschaften,
- geänderte Dokumenteigenschaften oder XMP-Metadaten. Diese Regel ist strenger als die Voreinstellung vieler Prüfprogramme.
Anhänge und Manifest
Ein Messprotokoll enthält drei Anhänge: die Rohdaten als CSV, die Anomalieliste und das Manifest. Geprüft wird:
- Jeder Anhang ist im PDF ordnungsgemäß eingebunden und lag schon in der gesiegelten Fassung vor.
- Die Prüfsumme (SHA-256) jedes Anhangs stimmt mit dem Eintrag im Manifest überein.
- Es gibt keine Anhänge, die das Manifest nicht nennt, und keine, die fehlen.
- Die Prüfsumme der Rohdaten stimmt mit dem Wert in der Anomalieliste überein.
- Berichtsnummer und Version stammen aus dem Manifest.
PDF/A
Ob die Datei PDF/A-3b entspricht, prüft veraPDF, ein quelloffener PDF/A-Validator. Ist veraPDF gerade nicht erreichbar, lautet das Ergebnis „Prüfung vorübergehend nicht möglich“.
Stand des Berichts
Bei einem Siegel von nunosense fragt der Verifier mit der Prüfsumme im Berichtsverzeichnis von nunosense nach, ob es eine neuere Version des Berichts gibt. Ist das so, zeigt das Ergebnis einen Hinweis. Ist das Verzeichnis nicht erreichbar, bleibt das Ergebnis der Prüfung unverändert, denn die kryptografische Prüfung steht für sich.
Über Berichtsnummer und Prüfcode lässt sich ein Bericht auch ohne Datei abfragen. Das bestätigt nur, dass es den Bericht gibt. Eine Datei oder einen Ausdruck prüft das nicht.
Testzertifikate
Für Tests und Demos gibt es eine eigene Kette mit eigener TEST-Root. Damit gesiegelte PDFs haben Berichtsnummern mit NSET- und erscheinen im PDF-Verifier mit dem Banner „TEST, kein echtes Messprotokoll“. Sie sind kein Nachweis.
Manuell gesiegelte PDFs
nunosense kann einzelne PDFs auch von Hand siegeln. Für sie gelten dieselben Regeln für Siegel, Kette, Zeitstempel und Änderungen. Anhänge und Manifest gehören dort nicht zur Prüfung, das Ergebnis zeigt dazu einen Hinweis.
Vom Prüfergebnis zur Anzeige
Jede Einzelprüfung ist bestanden, fehlgeschlagen oder ein Hinweis. Schlägt eine Prüfung fehl, ist das Ergebnis ungültig. Scheitert eine Prüfung nur aus einem vorübergehenden Grund, etwa weil veraPDF gerade nicht erreichbar ist, lautet es „Prüfung vorübergehend nicht möglich“. Hinweise ändern das Ergebnis nicht.
- Gültig gesiegelt
- Alle Prüfungen sind bestanden.
- Nach dem Siegeln verändert
- Das Siegel ist intakt, aber nach dem Siegeln wurde die Datei unzulässig verändert.
- Siegel ungültig
- Mindestens eine andere Prüfung ist fehlgeschlagen, etwa weil die gesiegelten Bytes verändert sind oder der Zeitstempel fehlt.
- Prüfung vorübergehend nicht möglich
- Eine Prüfung ließ sich aus einem vorübergehenden Grund nicht abschließen.
- Kein nunosense-Siegel
- Die Datei ist signiert, aber die Kette endet an keiner Root von nunosense.
- Nicht gesiegelt
- Die Datei trägt kein Siegel.
- Datei nicht lesbar
- Die Datei ist kein lesbares PDF.
Einzelprüfungen
Die technischen Details eines Ergebnisses listen die Einzelprüfungen mit diesen festen Kennungen auf.
- PDF_READABLE
- Die Datei ist ein lesbares PDF.
- SIG_PRESENT
- Die Datei trägt ein Siegel.
- SIG_INTACT
- Die gesiegelten Bytes sind unverändert.
- SIG_COVERS
- Das Siegel deckt die gesiegelte Fassung vollständig ab.
- CHAIN_TRUSTED
- Die Kette endet an einer Root von nunosense und war zum Prüfzeitpunkt gültig.
- TS_VALID
- Der Signaturzeitstempel ist gültig.
- LTV_EMBEDDED
- Zertifikate und Sperrinformationen liegen im PDF.
- DOCMDP_OK
- Die Änderungsregeln des Siegels sind eingehalten.
- NO_FORBIDDEN_CHANGES
- Nach dem Siegeln wurde nichts Unzulässiges geändert.
- ATT_REGISTERED
- Alle Anhänge sind ordnungsgemäß eingebunden.
- ATT_IN_SIGNED_REV
- Alle Anhänge lagen schon in der gesiegelten Fassung vor.
- MANIFEST_MATCH
- Anhänge und Manifest passen zusammen.
- CONSISTENCY
- Die Rohdaten passen zur Anomalieliste.
- PDFA_VALID
- Die Datei entspricht PDF/A-3b laut veraPDF.
- PROFILE_MANUAL
- Hinweis: manuell gesiegelt, Anhänge werden nicht geprüft.
- REPORT_CURRENT
- Die Datei ist die aktuelle Version des Berichts. Ein Hinweis, wenn es eine neuere gibt.
- EXPECTED_ID
- Bei der Abfrage per Prüfcode: Die Datei trägt die erwartete Berichtsnummer.
- EXPECTED_SHA256
- Bei der Abfrage per Prüfcode: Die Prüfsumme stimmt mit dem gesiegelten Bericht überein.