← tópicos

Específicos · Segurança da Informação

Assinatura digital; certificados X.509, ICP-Brasil, CRL/OCSP

Assinatura digital garante autenticidade, integridade e não repúdio — nunca confidencialidade; assina-se o hash com a chave privada e verifica-se com a pública.

Alta60 itens no tópico

A ideia que organiza o assunto

Criptografia assimétrica dá a cada pessoa um par de chaves que se desfazem mutuamente: o que uma cifra, só a outra decifra. Daí saem dois usos opostos, e quase todo item deste tópico vive na diferença entre eles.

Se eu cifro com a chave pública do destinatário, só ele decifra — isso é sigilo. Se eu cifro com a minha chave privada, qualquer um decifra com a minha pública — isso não esconde nada de ninguém, mas prova que fui eu, porque só eu tenho aquela chave. É assinatura. Por isso a frase que resolve mais itens do que qualquer outra: assinatura digital garante autenticidade, integridade e não repúdio, e não garante confidencialidade. Ela é pública por construção.

Falta um problema. Assinar com a chave privada prova que o dono daquela chave assinou, mas não diz quem é esse dono. É aí que entra o certificado digital: um documento que amarra uma chave pública a uma identidade, assinado por um terceiro em quem os dois lados confiam — a autoridade certificadora. O certificado não assina nada; ele é a carteira de identidade que permite acreditar na assinatura alheia. Assinatura e certificado são coisas distintas com papéis encadeados, e confundi-los é a segunda armadilha mais frequente do tópico.

Antes de julgar qualquer item, faça duas perguntas: qual garantia está sendo prometida (se aparecer confidencialidade ao lado de assinatura, desconfie) e qual chave está em qual ponta (assina-se com a privada de quem assina; verifica-se com a pública de quem assinou).

Por que se usa (e o que custa)

Ganha-se confiança sem conhecimento prévio. Duas partes que nunca se viram transacionam porque ambas confiam na mesma autoridade certificadora — a confiança é delegada, não negociada caso a caso. E ganha-se não repúdio: como só o titular detém a chave privada, ele não pode depois negar o que assinou, o que dá valor jurídico ao documento eletrônico.

Paga-se em infraestrutura. Chave privada comprometida obriga a revogar, e revogar obriga a publicar e a consultar listas (LCR) ou serviços em linha (OCSP) — quem não consulta valida um certificado morto. Paga-se em prazo: todo certificado expira, o que força renovação periódica. Paga-se na custódia da chave privada: em mídia de software ela é cômoda e copiável; em token ou cartão ela é inexportável e incômoda. E paga-se na datação: sem carimbo de tempo, não se prova que a assinatura é anterior à revogação.

Como funciona

Assinar. Calcula-se o resumo criptográfico (hash, message digest) do documento e cifra-se esse resumo com a chave privada do signatário. Assina-se o hash, não o documento inteiro, por desempenho — o resumo tem tamanho fixo e pequeno. O resultado viaja junto do documento, que continua legível por todos.

Verificar. O destinatário recalcula o hash do documento recebido, decifra a assinatura com a chave pública do signatário e compara. Bateu: o documento não mudou (integridade) e veio de quem detém aquela chave privada (autenticidade); e como só ele a detém, não pode negar (não repúdio).

Por que a função de hash serve. Ela é de uma via — do resumo não se volta ao documento — e resistente a colisões, de modo que alterar o documento sem alterar o resumo é inviável. É isso que torna a comparação de resumos uma prova de integridade.

O certificado. É uma estrutura no padrão X.509, hoje na versão 3, que contém, entre outros campos, número de série, emissor, titular, período de validade, algoritmo, a chave pública do titular, extensões, e por fim o campo de assinatura — a assinatura da AC sobre todos os demais campos. O que o certificado nunca contém é a chave privada do titular: ela nasce e permanece com ele.

A hierarquia da ICP-Brasil. No topo, a AC-Raiz, executada pelo ITI, que não emite certificados para o usuário final: ela credencia e emite os certificados das ACs de nível imediatamente subsequente, e fiscaliza a cadeia. Abaixo, as ACs, públicas ou privadas, que emitem os certificados dos usuários e publicam a LCR daquilo que emitiram. Na ponta, as ARs, que fazem a interface com o titular: recebem o pedido, conferem documentos presencialmente e encaminham à AC. A AR identifica; quem emite e assina é sempre a AC.

Revogação. Um certificado morre por expiração ou por revogação antecipada — comprometimento da chave privada, mudança de dados do titular, ou comprometimento do certificado da própria AC, que derruba tudo abaixo dele. Por isso a data de validade impressa no certificado não basta: validar exige consultar LCR ou OCSP.

Marco legal. A MP 2.200-2/2001 instituiu a ICP-Brasil e dá presunção de veracidade aos documentos assinados com certificado emitido na cadeia. A Lei 14.063/2020 classificou as assinaturas eletrônicas em simples, avançada e qualificada, sendo a qualificada a que usa certificado ICP-Brasil. A assinatura do gov.br é avançada e tem validade jurídica reconhecida para interações com o poder público.

O que decide os itens

As garantias. A tabela que mais economiza tempo na prova:

mecanismogarantenão garante
assinatura digitalautenticidade, integridade, não repúdioconfidencialidade
cifra com chave pública do destinatárioconfidencialidadeautoria
hash sozinhointegridadeautoria, não repúdio
HMAC (chave secreta compartilhada)integridade e autenticidadenão repúdio — logo, não é assinatura

Qual chave, em que ponta:

operaçãochave usada
assinarprivada do emissor
verificar assinaturapública do emissor
cifrar para sigilopública do destinatário
decifrar o que foi cifrado para sigiloprivada do destinatário

Assinatura × certificado — a assinatura é o ato e prova autoria e integridade; o certificado é o documento que vincula chave pública a identidade e permite confiar naquela chave. Objetivos distintos, não intercambiáveis.

Certificado autoassinado × emitido por AC — o autoassinado serve para uso interno ou para a própria raiz; ele não estabelece confiança entre desconhecidos, porque não há terceiro atestando nada.

AC-Raiz × AC × AR:

faznão faz
AC-Raiz (ITI)credencia e emite certificado das ACs; edita normas; auditaemitir certificado para usuário final
ACemite, gerencia, renova e revoga certificados; publica a LCR do que emitiuvalidar presencialmente o requerente
ARidentifica o titular presencialmente e encaminha à ACemitir ou assinar certificado

A1 × A3 — a distinção clássica de mídia: A1 tem a chave gerada e armazenada em software, no próprio computador, é exportável e vale 1 ano; A3 tem a chave gerada e guardada em hardware (token ou cartão inteligente), não é exportável e vale até 5 anos. As séries A são de assinatura, as S de sigilo, e o carimbo de tempo vem das ACT.

LCR × OCSP — a LCR é lista publicada periodicamente pela AC que emitiu; o OCSP consulta o estado de um certificado em linha, em tempo real. Ambos existem porque a validade impressa não prova nada sobre revogação.

Carimbo de tempo — é o que prova que a assinatura é anterior à revogação. Sem ele, revogado o certificado, as assinaturas antigas ficam sem data confiável.

Certificação cruzada — é a troca de confiança entre ACs distintas, para que certificados de uma sejam aceitos na outra. Não confundir com inicialização, registro ou recuperação de chaves.

Autenticação × autorização — o certificado identifica; ele não concede permissão. Item que descreve certificado como autorização está errado.

FormatosPEM é texto ASCII em Base64, delimitado por -----BEGIN CERTIFICATE-----; DER é binário; PKCS#7/P7B carrega cadeia sem chave privada; PKCS#12/PFX é o único que empacota certificado e chave privada, protegido por senha, para transporte — e não é o certificado em si.

Números que caem

X.509: versão do certificado × da LCRv3 × v2
RSA: tamanho mínimo aceitável hoje2.048 bits (512 e 1.024 são inseguros)
SHA-1 × SHA-256 × MD5160 × 256 × 128 bits de resumo
validade A1/S1 · A2/S2 · A3/S3 · A4/S41 · 2 · até 5 · até 6 anos
níveis da ICP-Brasil3: AC-Raiz → AC → AR
MP que instituiu a ICP-Brasil2.200-2, de 2001
lei das assinaturas eletrônicas14.063/2020 — 3 tipos: simples, avançada, qualificada

Como a CEBRASPE derruba você aqui

Troca de termo — 32%, o formato mais frequente, e quase sempre uma chave ou uma garantia pelo vizinho. Duas frentes se repetem. A primeira põe a chave privada onde só cabe a pública: “a chave privada do titular é a mais importante” entre as informações de um certificado da ICP-Brasil, e “a chave privada está incluída em um certificado digital”. O certificado é documento público e distribuído; se levasse a chave privada, qualquer um assinaria pelo titular. A segunda acrescenta sigilo à lista de garantias: “o pilar base da assinatura digital é prover confidencialidade da mensagem” e a assinatura que “garante a confidencialidade dos dados”. Documento assinado continua legível às claras. Fora dessas duas, o mesmo movimento em outros nomes próximos: certificação cruzada chamada de “inicialização de chaves”; o certificado que “funciona como uma autorização” quando é documento de identificação; transposição descrita e batizada de substituição (“os elementos do texto claro sejam reorganizados”); verificação feita com “sua própria chave pública” em vez da do signatário; e o campo signature do X.509 cobrindo apenas “os dados dos campos certificate serial number, subject name e subject unique identifier” quando ele recobre todos os campos.

Cuidado com o quase-homógrafo: confiabilidade não é confidencialidade. Este é o item que derruba quem decorou a regra sem ler. “No âmbito da ICP-Brasil, a assinatura digital possui autenticidade, integridade, confiabilidade e o não repúdio” tem gabarito Certo. Quem treinou para riscar qualquer palavra começada em “confi” numa lista de garantias erra exatamente aqui. Confiabilidade cabe na lista — é a confiança que a cadeia da ICP-Brasil empresta ao vínculo entre chave e titular; confidencialidade não cabe, porque assinar não cifra. Leia a palavra letra a letra antes de decidir: a diferença entre Certo e Errado está em quatro letras no meio dela.

Inversão — 23%, quase toda no sentido das chaves. “Cifrar o código de hash com sua chave pública” quando é com a privada. “A assinatura digital é gerada com a chave pública do signatário e validada com a chave privada do destinatário” — as duas pontas trocadas, e o destinatário sequer participa da assinatura. “O emissor usa a chave pública do destinatário para fazer a assinatura digital” — essa chave serve para sigilo, não para autoria. Percorra a tabela de chaves antes de qualquer coisa: assinar é sempre a privada de quem assina, verificar é sempre a pública de quem assinou, cifrar é a pública de quem recebe. Fora das chaves, o mesmo formato aparece negando o que a infraestrutura faz: a ICP-Brasil que “não segue padrões internacionais de segurança como os definidos pela ISO e pelo NIST”; a verificação de identidade entre desconhecidos que funcionaria “desde que sejam autoassinados”, quando é justamente aí que o autoassinado falha; e a chave privada exposta cujos dados anteriores “continuam acessíveis e certificados”, quando tudo o que dependia dela passa a ser considerado comprometido, inclusive retroativamente.

Atribuição errada — 19%: o nível da hierarquia, ou a norma. “A autoridade certificadora raiz (AC-raiz) é a responsável pela emissão da lista de certificados revogados (LCR)” — quem publica a LCR é a AC que emitiu aqueles certificados; a AC-Raiz credencia as ACs de nível seguinte e não emite para usuário final. A AC definida como “um servidor que mantém uma lista dos certificados que foram revogados ou cancelados” — a LCR é subproduto do trabalho da AC, não sua definição, que é emitir e assinar certificados. E a assinatura digital “regulamentada pela Lei Geral de Proteção de Dados”: a norma é a Medida Provisória n.º 2.200-2/2001, complementada pela Lei n.º 14.063/2020; a LGPD trata de dados pessoais. Cada item de componente se resolve com a tabela AC-Raiz × AC × AR; cada item de norma, com a MP 2.200-2.

Generalização — 16%. A ICP-Brasil emitindo certificados “apenas para pessoas jurídicas”, quando o e-CPF existe. O certificado válido que “garante que a chave privada correspondente nunca foi comprometida” — ele indica apenas que não houve revogação até a consulta. Certificados que “não podem ser utilizados para autenticar usuários em sistemas na Internet”, quando o TLS mútuo com e-CPF é uso corrente. Assinatura e certificado que “têm o mesmo objetivo: apenas autenticar a identidade”, quando são mecanismos encadeados e distintos. E o caso inverso, em que o absoluto descarta a ressalva decisiva: assinaturas anteriores à revogação permaneceriam válidas “independentemente de haver ou não mecanismos de carimbo de tempo” — é exatamente o carimbo de tempo que decide, porque sem prova de data não se demonstra que a assinatura é anterior ao comprometimento.

Um caso de cada, mas caros. Número alterado: RSA com “512 bits” apresentado como tamanho adequado e seguro — o mínimo atual é 2.048. Escopo ampliado: “HMAC é uma forma de garantir que uma assinatura digital seja efetiva” — HMAC dá integridade e autenticidade, mas a chave é compartilhada, e sem exclusividade não há não repúdio nem assinatura. Causa inventada: a chave nova de ECDSA seria “matematicamente vinculado às chaves originais, para verificar assinaturas anteriores” — o par novo é independente, e assinaturas antigas se verificam guardando a chave pública antiga.

Erros clássicos

Achar que assinar é cifrar o documento. Assina-se o resumo; o documento segue às claras. Quem quer sigilo precisa cifrar por cima, com outra chave, em outra operação.

Tratar HMAC como assinatura digital. HMAC usa chave secreta compartilhada: os dois lados podem gerá-lo, logo nenhum dos dois pode ser responsabilizado sozinho. Sem chave privada exclusiva não há não repúdio, e sem não repúdio não há assinatura.

Confiar na data de validade. Certificado dentro do prazo pode estar revogado. Validar é consultar LCR ou OCSP, não olhar o campo de validade.

Supor que a revogação preserva o passado sozinha. Sem carimbo de tempo não se prova que a assinatura veio antes da revogação — e comprometida a chave privada, o que dependia dela deve ser refeito, não aproveitado.

Confundir certificado autoassinado com certificado de raiz confiável. A forma é a mesma; o que muda é estar ou não numa cadeia em que a outra parte confia.

Achar que a AR emite alguma coisa. A AR é o balcão: identifica e encaminha. Emissão, assinatura e revogação são sempre da AC.

Trocar identificação por autorização. O certificado diz quem você é; o que você pode fazer é decisão do sistema que o aceita.

Praticar60 itens