Teste grátis

Verificação, passo a passo

Como verificar um PDF assinado — e ler o veredito

Um PDF assinado não é uma promessa. É um ficheiro que transporta a sua própria prova, e qualquer pessoa pode refazer essa prova sem confiar na ferramenta que produziu o documento.

A resposta curta

Um PDF PAdES traz consigo o certificado do signatário, o resumo dos bytes assinados e — a partir do B-T — um token temporal RFC 3161. Qualquer validador que entenda PAdES refaz esses factos a partir do próprio ficheiro: o painel de assinaturas do Adobe Reader, o validador de código aberto DSS da Comissão Europeia, ou uma simples chamada OpenSSL. A verificação pública dos nossos pacotes de evidência não exige conta.

O validador não acredita em ninguém por palavra. Volta a verificar os bytes, confere a cadeia de certificados e confere o imprint do token temporal — operações aritméticas, não uma opinião.

As três verificações, por ordem

Conteúdo primeiro: o resumo corresponde aos bytes desta cópia? Qualquer edição depois da assinatura parte esta verificação — o hash recalculado e o hash assinado discordam. É, na prática, a propriedade do artigo 26.º, alínea d), do eIDAS: qualquer alteração posterior aos dados é detetável.

Identidade depois: o certificado dentro da assinatura identifica o signatário e encadeia numa infraestrutura de certificação em que já confia. Uma cadeia que não valida não significa que a assinatura tenha sido forjada — significa que o validador não encontrou caminho de confiança do certificado até uma raiz que conheça.

Hora por último: o genTime do token vem do relógio da autoridade, em UTC — não do portátil do signatário. O PDF também traz uma hora de assinatura declarada, do relógio do próprio signatário; se as duas divergirem de forma relevante, a fonte credível é a da autoridade.

Ler o veredito de um validador

Um veredito positivo afirma os três factos acima: estes bytes são os bytes assinados, o signatário é uma identidade certificada, e a assinatura existia no mais tardar na hora indicada. Não afirma nada do contexto humano — o validador não sabe se o signatário leu ou aceitou os termos. Por isso a evidência da cerimónia (o registo de auditoria) é sempre apresentada ao lado da criptografia, e não no lugar dela.

Quando uma assinatura antiga deixa de validar

Certificados expiram, e as respostas de revogação (OCSP/CRL) que permitem conferir o estado da cadeia são servidas por sistemas que não respondem para sempre. Um ficheiro B-T prova muito no dia em que é assinado; anos mais tarde, a ferramenta pode não conseguir reconstituir a cadeia completa — não porque a prova enfraqueceu, mas porque parte dos dados de apoio deixa de estar acessível.

A resposta conhecida ao problema conhecido é esta: o B-LT embute no próprio PDF o material de validação — a cadeia e a informação de revogação —, de modo que a prova de que se precisa no momento da verificação viaja com o documento. Se a prova tem de sobreviver ao prazo dos certificados que a produziram, peça a B-LT à plataforma do signatário antes de ser necessária; o nosso guia sobre B-T, B-LT e B-LTA tem os pormenores.

De onde vêm as regras rígidas

O lado das verificações temporais está definido na RFC 3161 — o imprint da resposta tem de coincidir com o do pedido, o token tem de trazer um número de série único junto dessa autoridade e a hora tem de estar em UTC. Os algoritmos e o perfil de validação estão na ETSI EN 319 102-1 e na EN 319 142-1 — citadas por nome, não reproduzidas, por serem normas ETSI pagas.

Uma última verificação que qualquer pessoa faz a olho nu: a assinatura cobre o documento inteiro. Uma página, um carimbo ou uma caixa de texto acrescentados depois da assinatura desalinharam a faixa de bytes cobertos — todas as ferramentas acima dirão isso.

Fontes

  • RFC 3161, Adams, Cain, Pinkas e Zuccherato, agosto de 2001 — rfc-editor.org.
  • Regulamento (UE) n.º 910/2014, artigos 26.º, 41.º e 42.º — CELEX 32014R0910.
  • ETSI EN 319 102-1 (procedimentos de validação) e EN 319 142-1 (perfil PAdES) — citadas por nome; normas pagas.
  • Validador de assinaturas digitais de código aberto da Comissão Europeia (Serviços de Assinatura Digital — DSS).

Uma explicação do registo técnico, não um parecer jurídico.

Leia a seguir

O que uma assinatura PAdES B-T prova de facto (e o que não prova)

O que o pacote B-T prova, facto a facto, e onde cada facto vive no ficheiro.

O que é um selo temporal qualificado: RFC 3161 e o artigo 42.º do eIDAS

Anatomia do token: os campos da RFC 3161 por trás da verificação da «hora de confiança».