Pular para o conteúdo

Perfis baseline do PAdES

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

PAdES define quatro níveis baseline — B-B, B-T, B-LT, B-LTA — que se acumulam em camadas. Cada um acrescenta um tipo específico de evidência. Esta página explica a progressão e ajuda você a escolher o nível mais baixo que ainda atende à obrigação, em vez do nível mais alto que você conhece de nome.

As pessoas recorrem a “B-LTA” porque parece o mais completo, ou a “B-B” porque dá menos trabalho. Ambas as escolhas são palpites. O que decide o nível de que você precisa é uma pergunta, não uma preferência: por quanto tempo esta assinatura deve permanecer verificável, e por quem? Escolha baixo demais e uma assinatura que era válida no momento da assinatura se torna inverificável quando um certificado expira. Escolha alto demais e você assume uma autoridade de carimbo do tempo e uma infraestrutura de material de validação de que não precisava, além de uma obrigação de arquivamento que precisará manter. A equipe que não pode mudar o nível depois paga o custo do nível errado.

  • Os quatro níveis são cumulativos. Cada um é o anterior mais um acréscimo.
  • B-B — a assinatura com seus atributos assinados obrigatórios. Prova quem e o quê.
  • B-TB-B mais um carimbo do tempo confiável sobre a assinatura. Prova quando, independentemente do relógio do signatário.
  • B-LTB-T mais material de validação incorporado (certificados e dados de revogação). O documento carrega sua própria prova de que o certificado estava válido no momento da assinatura.
  • B-LTAB-LT mais um carimbo do tempo de documento, repetido ao longo do tempo. Mantém tudo verificável por décadas e mudanças de algoritmo.
  • Escolha o nível pelo tempo de vida da obrigação, não pelo que parece mais seguro.

O NextPDF modela o nível como uma escolha explícita e ordenada, sem fingir que algo foi produzido. Você pede um nível. O motor produz exatamente esse nível ou falha com um erro acionável. Ele não assina silenciosamente em um nível mais baixo para deixar que um registro de conformidade declare um nível mais alto. Esse desenho existe justamente para impedir o rebaixamento silencioso de uma solicitação B-LTA para B-T quando a infraestrutura estava ausente. Os requisitos de cada nível são codificados como predicados: se um carimbo do tempo é exigido, se material de validação incorporado é exigido, se um carimbo do tempo de documento é exigido. O motor percorre esses predicados e os satisfaz ou interrompe o fluxo.

A progressão abaixo é a mesma que o motor impõe e que o padrão define.

NívelAcrescenta sobre o nível anteriorA pergunta que respondeExige da implantação
B-BAtributos assinados: content-type, message-digest, signing-time, signing-certificate-v2Quem assinou, e quais bytes exatos?Uma chave de assinatura e um certificado
B-TUm carimbo do tempo confiável sobre o valor da assinaturaQuando foi assinado, de forma comprovável?Uma Autoridade de Carimbo do Tempo (TSA)
B-LTCertificados incorporados + dados de revogação (um DSS)O certificado era válido no momento da assinatura — isso é comprovável depois?TSA + acesso aos dados de revogação no momento da assinatura
B-LTAUm carimbo do tempo de documento, renovável ao longo do tempoIsso ainda será verificável daqui a décadas?TSA + um processo de arquivamento que aplica novos carimbos do tempo

O salto que mais importa é de B-T para B-LT. B-T prova quando. B-LT torna o documento autossuficiente quanto à confiança: ele deixa de depender de uma autoridade certificadora que continue acessível e respondendo a perguntas daqui a anos.

  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)
Os padrões por trás da progressão PAdES: a ISO 32000-2 define como as assinaturas e o material de validação ficam no PDF; a ETSI EN 319 142-1 define os níveis baseline; a RFC 3161 define o carimbo do tempo que o B-T introduz; a RFC 6960 define a evidência de revogação que o B-LT incorpora.

Evidence: Standard-backed As definições de nível são da ETSI. Spec: ETSI EN 319 142-1 define os níveis baseline PAdES; a Spec: ETSI EN 319 142-2, §5.3 mostra o atributo signature-time-stamp como o elemento opcional cuja presença é o que separa um nível com carimbo do tempo de B-B, e Spec: ETSI EN 319 142-2, §6.3.2.2 afirma que um carimbo do tempo confiável deve ser aplicado imediatamente após a assinatura ser criada, de modo que o horário registrado fique o mais próximo possível do horário real da assinatura. Spec: ETSI EN 319 142-2, §5.5 afirma que o comportamento de longo prazo exige tanto um Document Security Store quanto carimbos do tempo de documento — os acréscimos de B-LT e B-LTA.

Do lado do contêiner, está Spec: ISO 32000-2, §12.8.3.3 : as assinaturas PAdES são perfis CAdES CMS combinados com validação de longo prazo (§12.8.4) e o dicionário de carimbo do tempo de documento (§12.8.5), exatamente como a ETSI EN 319 142-1 descreve. A razão pela qual o B-LT importa é captada por Spec: RFC 6960, §4.4.4 : a evidência de revogação arquivada ajuda um validador a raciocinar sobre a confiabilidade da assinatura no momento da produção, mesmo depois que o certificado usado para validação tenha expirado. Esse é o propósito de incorporá-la.

O motor do NextPDF codifica cada nível como um predicado de requisito e produz o nível solicitado ou falha — ele não anuncia um nível que não construiu.

A API espelha a progressão: você nomeia o nível, e o motor o trata como um contrato.

<?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 você solicitar B-LTA e a implantação não puder fornecer o que o B-LTA precisa, o comportamento padrão é falhar e informar o nível mais alto que poderia ter sido alcançado — não devolver silenciosamente um arquivo B-T rotulado como B-LTA.

A armadilha é “B-LTA é simplesmente o melhor, escolha-o sempre.” B-LTA não é melhor em abstrato; é mais, e mais traz obrigações. Ele exige uma autoridade de carimbo do tempo, material de revogação reunido no momento da assinatura e um processo contínuo de arquivamento que aplica novos carimbos do tempo ao documento antes que seus algoritmos de proteção ou os certificados do carimbo do tempo enfraqueçam. Um arquivo B-LTA ao qual ninguém aplica novos carimbos do tempo não é à prova de futuro — é um arquivo B-LT com uma formalidade extra. Por outro lado, B-B para um contrato que precisa sobreviver a uma década não é “leve”; é uma assinatura que falhará na validação no dia em que o certificado expirar. O nível certo é o que a obrigação exige, nem mais alto nem mais baixo.

O NextPDF produz o nível PAdES solicitado; ele não fornece os componentes dos quais esse nível depende. Uma autoridade de carimbo do tempo, a cadeia de certificados, as âncoras de confiança e a conectividade para buscar dados de revogação no momento da assinatura são responsabilidades da implantação. O motor implementa a estrutura e impõe o contrato de nível; ele não pode tornar uma TSA confiável nem um certificado válido. A estrutura produzida carrega os elementos que o nível exige, verificados pelos próprios testes do motor e pelas cláusulas citadas. Não é uma certificação de conformidade de terceiros, e esta página não afirma efeito jurídico eIDAS, que depende do certificado, do signatário e da jurisdição. A confiabilidade independente do horário da assinatura é tratada em Carimbos do tempo e tempo confiável; como a evidência de longo prazo mantém uma assinatura viva é tratado em Validação de longo prazo.

Algumas fronteiras para definir as expectativas com precisão:

  • B-LT e B-LTA emitem a estrutura de validação de longo prazo, não um veredicto de conformidade. O que o motor escreve é um dicionário Document Security Store mais uma revisão de carimbo do tempo de documento — um dicionário de assinatura com Type = DocTimeStamp conforme Spec: ISO 32000-2, §12.8 . Essa estrutura não é anunciada aqui como testada quanto à conformidade de perfil; as verificações de perfil ETSI EN 319 142-1 são condicionadas à versão na esteira de CI Pro e Enterprise, portanto esta página não declara conformidade ETSI EN 319 142-1 para o arquivo produzido.
  • Documentos criptografados falham de forma fechada para B-LT e B-LTA. Uma solicitação de nível de longo prazo em um documento criptografado é interrompida com um erro acionável, em vez de escrever uma revisão de longo prazo parcial.

A disponibilidade de cada nível por edição — todos os quatro alcançados pela mesma costura de alto nível, setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save():

PAdES baseline level — edition availability
Edition Availability
Core

PAdES B-B — o baseline de atributo assinado; a costura do Core.

Pro

Acrescenta PAdES B-T — um carimbo do tempo confiável sobre o valor da assinatura, conduzido por um TsaClient.

Enterprise

Acrescenta PAdES B-LT e B-LTA — material de validação incorporado (DSS) e o ciclo renovável de arquivamento com carimbo do tempo de documento. Estes funcionam pela mesma costura de alto nível, mas somente quando ambos os pacotes Pro e Enterprise estão instalados; com qualquer um deles ausente, a chamada falha de forma fechada em vez de escrever uma revisão de longo prazo parcial.

  • PAdES — PDF Advanced Electronic Signatures; a série ETSI EN 319 142 que define perfis de assinaturas CMS para PDF.
  • Nível baseline — um de B-B, B-T, B-LT, B-LTA; um conjunto definido e cumulativo de elementos de assinatura exigidos.
  • B-B — a assinatura baseline com seus atributos assinados obrigatórios.
  • B-TB-B mais um carimbo do tempo confiável sobre o valor da assinatura.
  • B-LTB-T mais material de validação de longo prazo incorporado (um DSS).
  • B-LTAB-LT mais um carimbo do tempo de documento renovável para validade de arquivamento.
  • DSS — Document Security Store; a estrutura PDF que guarda certificados incorporados e dados de revogação.
  • TSA — Time-Stamp Authority; um serviço confiável que emite tokens de carimbo do tempo RFC 3161.