Salta ai contenuti
getnextpdf.com

Profili baseline PAdES

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

PAdES definisce quattro livelli baseline — B-B, B-T, B-LT, B-LTA — che si costruiscono l’uno sull’altro. Ciascuno aggiunge un tipo specifico di prova. Questa pagina spiega la progressione e aiuta a scegliere il livello più basso che soddisfa comunque l’obbligo, invece del livello più alto di cui capita di conoscere il nome.

Si ricorre a «B-LTA» perché sembra il più completo, oppure a «B-B» perché richiede meno lavoro. Entrambe sono supposizioni. È una domanda a decidere il livello necessario, non una preferenza: per quanto tempo questa firma deve restare verificabile, e da chi? Scegliendo un livello troppo basso, una firma valida il giorno della firma diventa non verificabile quando un certificato scade. Scegliendo un livello troppo alto, ci si assume un’autorità di marcatura temporale e un’infrastruttura di materiale di convalida di cui non si aveva bisogno, oltre a un obbligo di archiviazione che occorre continuare ad alimentare. Il team che non può cambiare il livello in seguito paga il costo di quello sbagliato.

  • I quattro livelli sono cumulativi. Ciascuno è il precedente più un’aggiunta.
  • B-B — la firma con i suoi attributi firmati obbligatori. Dimostra chi e cosa.
  • B-TB-B più una marca temporale attendibile sulla firma. Dimostra quando, indipendentemente dall’orologio del firmatario.
  • B-LTB-T più materiale di convalida incorporato (certificati e dati di revoca). Il documento porta con sé la propria prova che il certificato era valido al momento della firma.
  • B-LTAB-LT più una marca temporale del documento, ripetuta nel tempo. Mantiene il tutto verificabile per decenni e anche quando gli algoritmi cambiano.
  • Scegliere il livello in base alla durata dell’obbligo, non a ciò che sembra più sicuro.

NextPDF modella il livello come una scelta esplicita e ordinata, e si rifiuta di fingere. Si richiede un livello. Il motore produce esattamente quel livello oppure fallisce con un errore azionabile. Non firma silenziosamente a un livello inferiore lasciando che un record di conformità ne dichiari uno superiore. Questo design esiste proprio per prevenire un declassamento silenzioso di una richiesta B-LTA a B-T quando manca l’infrastruttura necessaria. I requisiti di ciascun livello sono codificati come predicati: se è richiesta una marca temporale, se è richiesto materiale di convalida incorporato, se è richiesta una marca temporale del documento. Il motore percorre quei predicati e li soddisfa oppure si ferma.

La progressione seguente è la stessa che il motore applica e che lo standard definisce.

LivelloCosa aggiunge rispetto al livello precedenteLa domanda a cui rispondeCosa serve dal deployment
B-BAttributi firmati: content-type, message-digest, signing-time, signing-certificate-v2Chi ha firmato e quali byte esatti?Una chiave di firma e un certificato
B-TUna marca temporale attendibile sul valore della firmaQuando è stata firmata, in modo dimostrabile?Un’autorità di marcatura temporale (TSA)
B-LTCertificati incorporati + dati di revoca (un DSS)Il certificato era valido al momento della firma — dimostrabile in seguito?TSA + accesso ai dati di revoca al momento della firma
B-LTAUna marca temporale del documento, rinnovabile nel tempoSarà ancora verificabile tra decenni?TSA + un processo di archiviazione che ri-applica le marche temporali

Il salto che conta di più è da B-T a B-LT. B-T dimostra quando. B-LT rende il documento autosufficiente sul piano della fiducia: smette di dipendere dal fatto che un’autorità di certificazione sia ancora raggiungibile e risponda a domande a distanza di anni.

I livelli non vengono solo prodotti, ma anche verificati. Sul lato della verifica la marca temporale B-T è vincolata in modo rigoroso: NextPDF richiede che il message imprint del token sia uguale all’hash del valore della firma del firmatario e fallisce in modo sicuro in caso contrario, cosicché una marca temporale può elevare una firma a B-T solo quando copre in modo dimostrabile quella firma anziché byte diversi.

  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)
Gli standard alla base della progressione PAdES: ISO 32000-2 definisce come firme e materiale di convalida si collocano nel PDF; ETSI EN 319 142-1 definisce i livelli baseline; RFC 3161 definisce la marca temporale introdotta da B-T; RFC 6960 definisce le prove di revoca incorporate da B-LT.

L’API rispecchia la progressione: si nomina il livello e il motore lo tratta come un contratto.

<?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.

Se si richiede B-LTA e il deployment non può fornire ciò di cui B-LTA ha bisogno, il comportamento predefinito è fallire e indicare il livello più alto che avrebbe potuto raggiungere — non restituire silenziosamente un file B-T etichettato come B-LTA.

La trappola è «B-LTA è semplicemente il migliore, sceglilo sempre». B-LTA non è migliore in astratto; è di più, e il di più comporta obblighi. Richiede un’autorità di marcatura temporale, materiale di revoca raccolto al momento della firma e un processo di archiviazione continuativo che ri-applica le marche temporali al documento prima che i suoi algoritmi di protezione o i certificati delle marche temporali si indeboliscano. Un file B-LTA che nessuno ri-marca temporalmente non è a prova di futuro — è un file B-LT con del cerimoniale in più. Al contrario, B-B per un contratto che deve durare un decennio non è «leggero»; è una firma che non supererà la convalida il giorno in cui il certificato scade. Il livello giusto è quello che l’obbligo richiede, né più alto né più basso.

NextPDF produce il livello PAdES richiesto; non fornisce le parti da cui quel livello dipende. Un’autorità di marcatura temporale, la catena dei certificati, gli ancoraggi di fiducia e la connettività per recuperare i dati di revoca al momento della firma sono responsabilità del deployment. Il motore implementa la struttura e applica il contratto del livello; non può rendere attendibile una TSA né valido un certificato. La struttura prodotta porta con sé gli elementi che quel livello richiede, verificati rispetto ai test propri del motore e alle clausole citate. Non è una certificazione di conformità di terze parti, e questa pagina non asserisce l’efficacia giuridica eIDAS, che dipende dal certificato, dal firmatario e dalla giurisdizione. Se il momento della firma sia attendibile in modo indipendente è trattato in Marche temporali e tempo attendibile; come le prove a lungo termine mantengono viva una firma è trattato in Convalida a lungo termine.

Alcuni confini per definire le aspettative con precisione:

  • B-LT e B-LTA producono la struttura di convalida a lungo termine, non un verdetto di conformità. Ciò che il motore scrive è un dizionario Document Security Store più una revisione con marca temporale del documento — un dizionario di firma con Type = DocTimeStamp secondo Spec: ISO 32000-2, §12.8. Tale struttura non è qui presentata come testata per la conformità di profilo; i controlli di profilo ETSI EN 319 142-1 sono soggetti a gate di rilascio sulla corsia CI Pro ed Enterprise, quindi questa pagina non dichiara la conformità ETSI EN 319 142-1 per il file prodotto.
  • I documenti cifrati falliscono in modo sicuro per B-LT e B-LTA. Una richiesta di un livello a lungo termine su un documento cifrato si interrompe con un errore azionabile anziché scrivere una revisione a lungo termine parziale.

Disponibilità per edizione di ciascun livello — tutti e quattro raggiungibili attraverso la stessa interfaccia di alto livello, setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save():

Livello baseline PAdES — edition availability
EditionAvailability
Core

PAdES B-B e B-T — la baseline degli attributi firmati, più una marca temporale attendibile sul valore della firma guidata da un TsaClient. Entrambi i livelli sono presenti nell’interfaccia Core.

Pro

Aggiunge flussi di lavoro di firma sopra la baseline Core — firma remota, con cloud-KMS e sequenziale — non un nuovo livello.

Enterprise

Aggiunge PAdES B-LT e B-LTA — materiale di convalida incorporato (DSS) e il ciclo di archiviazione rinnovabile con marca temporale del documento. Questi passano attraverso la stessa interfaccia di alto livello, ma solo quando sono installati entrambi i pacchetti Pro ed Enterprise; se manca uno dei due, la chiamata fallisce in modo sicuro anziché scrivere una revisione a lungo termine parziale.

  • PAdES — PDF Advanced Electronic Signatures; la serie ETSI EN 319 142 che profila le firme CMS per il PDF.
  • Livello baseline — uno tra B-B, B-T, B-LT, B-LTA; un insieme definito e cumulativo di elementi di firma richiesti.
  • B-B — la firma baseline con i suoi attributi firmati obbligatori.
  • B-TB-B più una marca temporale attendibile sul valore della firma.
  • B-LTB-T più materiale di convalida a lungo termine incorporato (un DSS).
  • B-LTAB-LT più una marca temporale del documento rinnovabile per la validità di archiviazione.
  • DSS — Document Security Store; la struttura PDF che contiene certificati e dati di revoca incorporati.
  • TSA — Time-Stamp Authority; un servizio attendibile che emette token di marca temporale RFC 3161.