Ga naar inhoud

PAdES-basisprofielen

Spec: ETSI EN 319 142-1 Spec: ISO 32000-2, §12.8 Spec: RFC 3161 Evidence: Standard-backed

PAdES definieert vier basisniveaus — B-B, B-T, B-LT, B-LTA — die op elkaar voortbouwen. Elk niveau voegt één specifieke soort bewijs toe. Deze pagina legt die opbouw uit en helpt u het laagste niveau te kiezen dat nog aan de verplichting voldoet, in plaats van het hoogste niveau waarvan u toevallig de naam kent.

Mensen grijpen naar “B-LTA” omdat het het grondigst klinkt, of naar “B-B” omdat het het minste werk is. Allebei is gokwerk. Niet voorkeur, maar één vraag bepaalt welk niveau u nodig heeft: hoe lang moet deze handtekening verifieerbaar blijven, en door wie? Kiest u te laag, dan kan een handtekening die op de dag van ondertekening geldig was niet meer worden geverifieerd zodra een certificaat verloopt. Kiest u te hoog, dan haalt u een tijdstempelautoriteit en infrastructuur voor validatiemateriaal binnen die u niet nodig had, plus een archiveringsverplichting die u moet blijven voeden. Het team dat het niveau later niet kan wijzigen, betaalt de prijs voor het verkeerde niveau.

  • De vier niveaus zijn cumulatief. Elk niveau is het vorige plus één toevoeging.
  • B-B — de handtekening met de verplichte ondertekende attributen. Bewijst wie heeft ondertekend en wat is ondertekend.
  • B-TB-B plus een vertrouwde tijdstempel op de handtekening. Bewijst wanneer er is ondertekend, onafhankelijk van de klok van de ondertekenaar.
  • B-LTB-T plus ingebed validatiemateriaal (certificaten en intrekkingsgegevens). Het document draagt zelf het bewijs dat het certificaat geldig was op het moment van ondertekenen.
  • B-LTAB-LT plus een documenttijdstempel, in de loop van de tijd herhaald. Houdt het geheel verifieerbaar door decennia en algoritmewijzigingen heen.
  • Kies het niveau op basis van de levensduur van de verplichting, niet van wat het veiligst lijkt.

NextPDF modelleert het niveau als een expliciete, geordende keuze en verbergt die keuze niet. U vraagt om een niveau. De engine produceert precies dat niveau of faalt met een bruikbare foutmelding. Hij ondertekent niet zwijgend op een lager niveau om daarna in een conformiteitsrecord een hoger niveau te claimen. Dit ontwerp voorkomt juist dat een B-LTA-verzoek stil terugvalt naar B-T wanneer de infrastructuur ontbreekt. De vereisten van elk niveau zijn gecodeerd als predicaten: of een tijdstempel vereist is, of ingebed validatiemateriaal vereist is, of een documenttijdstempel vereist is. De engine evalueert die predicaten en voldoet eraan, of stopt.

De onderstaande opbouw is dezelfde als de opbouw die de engine afdwingt en de standaard definieert.

NiveauVoegt toe ten opzichte van het vorige niveauDe vraag die het beantwoordtVereist in uw deployment
B-BOndertekende attributen: content-type, message-digest, signing-time, signing-certificate-v2Wie heeft ondertekend, en welke exacte bytes?Een ondertekensleutel en een certificaat
B-TEen vertrouwde tijdstempel over de handtekeningwaardeWanneer is er aantoonbaar ondertekend?Een Time-Stamp Authority (TSA)
B-LTIngebedde certificaten + intrekkingsgegevens (een DSS)Was het certificaat geldig op het moment van ondertekenen — ook later aantoonbaar?TSA + toegang tot intrekkingsgegevens op het moment van ondertekenen
B-LTAEen documenttijdstempel, in de loop van de tijd vernieuwbaarIs dit over decennia nog verifieerbaar?TSA + een archiveringsproces dat opnieuw tijdstempelt

De belangrijkste sprong is die van B-T naar B-LT. B-T bewijst wanneer. B-LT maakt het document zelfstandig wat vertrouwen betreft: het is niet langer afhankelijk van een certificeringsinstantie die jaren later nog bereikbaar is en vragen beantwoordt.

  1. Step 1 of 4: ISO 32000-2 §12.8 — signatures, LTV, document timestamp
  2. Step 2 of 4: ETSI EN 319 142-1 PAdES baseline levels B-B…B-LTA
  3. Step 3 of 4: RFC 3161 Timestamp token (introduced at B-T)
  4. Step 4 of 4: RFC 6960 OCSP revocation evidence (embedded at B-LT)
De standaarden achter de PAdES-opbouw: ISO 32000-2 definieert hoe handtekeningen en validatiemateriaal in de PDF zitten; ETSI EN 319 142-1 definieert de basisniveaus; RFC 3161 definieert de tijdstempel die B-T introduceert; RFC 6960 definieert het intrekkingsbewijs dat B-LT inbedt.

Evidence: Standard-backed De niveaudefinities komen uit ETSI. Spec: ETSI EN 319 142-1 definieert de PAdES-basisniveaus; Spec: ETSI EN 319 142-2, §5.3 toont het signature-time-stamp-attribuut als het optionele element waarvan de aanwezigheid een niveau met tijdstempel onderscheidt van B-B, en Spec: ETSI EN 319 142-2, §6.3.2.2 stelt dat een vertrouwde tijdstempel onmiddellijk na het aanmaken van de handtekening moet worden aangebracht, zodat de vastgelegde tijd zo dicht mogelijk bij de werkelijke ondertekentijd ligt. Spec: ETSI EN 319 142-2, §5.5 stelt dat het langetermijngedrag zowel een Document Security Store als documenttijdstempels vereist — de toevoegingen van B-LT en B-LTA.

Aan de containerkant geldt Spec: ISO 32000-2, §12.8.3.3 : PAdES-handtekeningen zijn CAdES-CMS-profielen gecombineerd met langetermijnvalidatie (§12.8.4) en de documenttijdstempel-dictionary (§12.8.5), precies zoals ETSI EN 319 142-1 beschrijft. Waarom B-LT van belang is, blijkt uit Spec: RFC 6960, §4.4.4 : gearchiveerd intrekkingsbewijs helpt een validator te redeneren over de betrouwbaarheid van de handtekening op het moment waarop die is geproduceerd, zelfs nadat het voor validatie gebruikte certificaat is verlopen. Daarom wordt het ingebed.

De NextPDF-engine codeert elk niveau als een vereistepredicaat en produceert het gevraagde niveau of faalt — hij adverteert geen niveau dat hij niet heeft gebouwd.

De API volgt die opbouw: u benoemt het niveau en de engine behandelt het als een contract.

<?php
declare(strict_types=1);
use NextPDF\Security\Signature\SignatureLevel;
// The level is an explicit, ordered choice — not a flag you hope is honoured.
$level = SignatureLevel::PAdES_B_T;
// The level itself tells you what it requires, before you sign:
$level->requiresTimestamp(); // B-T and above → true
$level->requiresDss(); // B-LT and above → true
$level->requiresDocumentTimestamp(); // B-LTA only → true
// Ask for B-LTA only if the deployment can actually fulfil it.
// The engine produces exactly the requested level or fails with an
// actionable error — it never silently signs lower and reports higher.

Als u B-LTA aanvraagt en de deployment niet kan leveren wat B-LTA vereist, faalt de engine standaard en vertelt hij u wat het hoogste niveau is dat hij had kunnen bereiken — niet om zwijgend een B-T-bestand terug te geven dat is gelabeld als B-LTA.

De valkuil is “B-LTA is gewoon het beste, kies dat altijd.” B-LTA is op zichzelf niet beter; het is meer, en meer brengt verplichtingen met zich mee. Het vereist een tijdstempelautoriteit, intrekkingsmateriaal dat op het moment van ondertekenen is verzameld, en een doorlopend archiveringsproces dat het document opnieuw tijdstempelt voordat zijn beschermende algoritmen of tijdstempelcertificaten verzwakken. Een B-LTA-bestand dat niemand opnieuw tijdstempelt, is niet toekomstbestendig — het is een B-LT-bestand met extra formaliteiten. Omgekeerd is B-B voor een contract dat een decennium moet overleven niet “lichtgewicht”; het is een handtekening waarvan de validatie mislukt op de dag dat het certificaat verloopt. Het juiste niveau is het niveau dat de verplichting vereist, niet hoger en niet lager.

NextPDF produceert het gevraagde PAdES-niveau; het levert niet de externe partijen die dat niveau vereist. Een tijdstempelautoriteit, de certificaatketen, de trust anchors en de connectiviteit om op het moment van ondertekenen intrekkingsgegevens op te halen zijn verantwoordelijkheden van de deployment. De engine implementeert de structuur en dwingt het niveaucontract af; hij kan een TSA niet betrouwbaar maken en kan een certificaat niet geldig maken. De geproduceerde structuur bevat de elementen die dat niveau vereist, getoetst aan de eigen tests van de engine en de aangehaalde clausules. Het is geen conformiteitscertificering door derden, en deze pagina beweert geen eIDAS-rechtsgevolg, dat afhangt van het certificaat, de ondertekenaar en de jurisdictie. Of de ondertekentijd onafhankelijk wordt vertrouwd, komt aan bod in Tijdstempels en vertrouwde tijd; hoe het langetermijnbewijs een handtekening in leven houdt, komt aan bod in Langetermijnvalidatie.

Enkele grenzen om de verwachtingen scherp te zetten:

  • B-LT en B-LTA produceren de langetermijnvalidatie-structuur, geen conformiteitsoordeel. Wat de engine schrijft, is een Document Security Store-dictionary plus een documenttijdstempelrevisie — een handtekening-dictionary met Type = DocTimeStamp volgens Spec: ISO 32000-2, §12.8 . Die structuur wordt hier niet geadverteerd als getest op profielconformiteit; de ETSI EN 319 142-1-profielcontroles vallen onder de release gate in de CI-baan van Pro en Enterprise, dus deze pagina claimt geen ETSI EN 319 142-1-conformiteit voor het geproduceerde bestand.
  • Versleutelde documenten falen veilig (fail-closed) voor B-LT en B-LTA. Een verzoek om een langetermijnniveau op een versleuteld document stopt met een bruikbare foutmelding in plaats van een gedeeltelijke langetermijnrevisie te schrijven.

Beschikbaarheid per editie voor elk niveau — alle vier bereikbaar via dezelfde high-level interface, setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save():

PAdES baseline level — edition availability
Edition Availability
Core

PAdES B-B — de basis van ondertekende attributen; de Core-interface.

Pro

Voegt PAdES B-T toe — een vertrouwde tijdstempel op de handtekeningwaarde, via een TsaClient.

Enterprise

Voegt PAdES B-LT en B-LTA toe — ingebed validatiemateriaal (DSS) en de vernieuwbare archiveringslus voor documenttijdstempels. Deze lopen via dezelfde high-level interface, maar alleen wanneer beide pakketten Pro en Enterprise geïnstalleerd zijn; ontbreekt een van beide, dan faalt de aanroep veilig (fail-closed) in plaats van een gedeeltelijke langetermijnrevisie te schrijven.

  • PAdES — PDF Advanced Electronic Signatures; de ETSI EN 319 142-reeks die CMS-handtekeningen voor PDF profileert.
  • Basisniveau — een van B-B, B-T, B-LT, B-LTA; een gedefinieerde, cumulatieve set verplichte handtekeningselementen.
  • B-B — de basishandtekening met haar verplichte ondertekende attributen.
  • B-TB-B plus een vertrouwde tijdstempel op de handtekeningwaarde.
  • B-LTB-T plus ingebed langetermijnvalidatiemateriaal (een DSS).
  • B-LTAB-LT plus een vernieuwbare documenttijdstempel voor geldigheid op lange termijn.
  • DSS — Document Security Store; de PDF-structuur die ingebedde certificaten en intrekkingsgegevens bevat.
  • TSA — Time-Stamp Authority; een vertrouwde dienst die RFC 3161-tijdstempeltokens uitgeeft.