Hash do documento: o que é e como protege a assinatura

Quem recebe um contrato assinado eletronicamente costuma confiar em duas coisas: que a pessoa certa assinou e que o texto não mudou depois da assinatura. A primeira garantia vem da identificação do signatário. A segunda vem de um código pouco conhecido fora da área de tecnologia, o hash do documento.

O hash funciona como uma impressão digital do arquivo. É ele que permite dizer, com segurança matemática, se um PDF é exatamente o mesmo que foi assinado ou se alguém trocou uma vírgula no meio do caminho. Neste post, explicamos o que é o hash do documento, como ele é calculado, qual o papel dele na assinatura eletrônica e na digital e como você pode usá-lo para conferir um arquivo.

O que é o hash do documento

Hash é o resultado de uma função matemática que lê todo o conteúdo de um arquivo e devolve uma sequência curta de letras e números, sempre do mesmo tamanho. Não importa se o documento tem uma página ou trezentas: com o algoritmo SHA-256, o resultado sempre terá 64 caracteres hexadecimais.

Três propriedades fazem do hash uma ferramenta tão útil:

  • É determinístico: o mesmo arquivo gera sempre o mesmo hash, em qualquer computador.
  • Muda por completo com qualquer alteração: trocar uma letra, um espaço ou um pixel gera um hash totalmente diferente, sem semelhança com o anterior.
  • É de mão única: a partir do hash não dá para reconstruir o documento, nem descobrir o que está escrito nele.

Para ver na prática, a palavra “teste” gera, em SHA-256, o hash que começa com 46070d4b.... A palavra “Teste”, só com a inicial maiúscula, gera um que começa com 89f30821.... Uma diferença mínima no conteúdo, um resultado irreconhecível.

O instituto de padrões dos Estados Unidos, o NIST, resume bem a finalidade dessas funções na norma FIPS 180-4, que define a família SHA: os resumos servem para detectar se uma mensagem foi alterada desde que o resumo foi gerado.

Como o hash protege a assinatura eletrônica

Quando você assina um documento em uma plataforma de assinatura, o sistema calcula o hash do arquivo e passa a tratar esse código como a identidade daquele conteúdo. A partir daí, tudo o que acontece no processo fica vinculado a ele.

Na prática, o fluxo é este:

  1. O documento é enviado para a plataforma e o hash dele é calculado.
  2. Cada signatário assina, e o registro da assinatura fica associado àquele hash, junto com data, hora, IP e o método de autenticação usado.
  3. Ao final, o arquivo assinado e a trilha de auditoria registram o hash, de modo que qualquer pessoa possa comparar depois.
  4. Se alguém editar o PDF, o novo hash não bate com o registrado e a fraude aparece na hora.

Essa lógica é a base do que a lei exige. A Lei 14.063/2020, ao definir a assinatura eletrônica avançada no art. 4º, inciso II, pede que ela esteja “relacionada aos dados a ela associados de tal modo que qualquer modificação posterior é detectável”. É o hash que torna essa detecção possível. Se quiser revisar a diferença entre os níveis de assinatura previstos na lei, vale ler nosso guia sobre os tipos de assinatura eletrônica.

Hash na assinatura digital com certificado ICP-Brasil

Na assinatura digital, feita com certificado ICP-Brasil, o hash tem um papel ainda mais direto. A criptografia de chave pública não assina o documento inteiro, ela assina o hash dele.

Funciona assim: o software calcula o hash do arquivo e cifra esse resumo com a chave privada do signatário, que fica guardada no certificado. Quem recebe o documento faz o caminho inverso. Usa a chave pública do certificado para abrir o resumo assinado, calcula de novo o hash do arquivo recebido e compara os dois. Se forem iguais, o documento está íntegro e foi assinado por quem detinha aquela chave.

É por isso que um leitor de PDF consegue mostrar a mensagem de que o documento não foi modificado desde a assinatura. O padrão PAdES, usado nos PDFs assinados com certificado, grava esse resumo assinado dentro do próprio arquivo. E quando a assinatura recebe um carimbo do tempo, é o hash do documento que vai para a autoridade de carimbo, que devolve uma prova de que aquele conteúdo existia naquela data e hora.

Os algoritmos aceitos na infraestrutura brasileira são definidos pelo ITI no documento DOC-ICP-01.01, que trata dos padrões e algoritmos criptográficos da ICP-Brasil. Se você está escolhendo um certificado, nosso post sobre certificado digital A1 ou A3 ajuda na decisão.

Os algoritmos de hash mais usados

Nem toda função de hash serve para proteger documentos. Algumas ficaram antigas e passaram a ter falhas conhecidas.

AlgoritmoTamanho do hashSituação
MD5128 bitsObsoleto para segurança, ainda aparece em verificação de downloads
SHA-1160 bitsDescontinuado para assinaturas digitais
SHA-256256 bitsPadrão atual na maioria das assinaturas
SHA-512512 bitsUsado quando se quer margem extra de segurança

O caso do SHA-1 é o exemplo mais citado. Segundo o NIST, o uso do SHA-1 foi desaconselhado em 2011 e proibido para assinaturas digitais a partir do fim de 2013. Em fevereiro de 2017, pesquisadores do Google e do instituto CWI, de Amsterdã, anunciaram a primeira colisão prática de SHA-1: dois PDFs com conteúdos diferentes e o mesmo hash. Para quem trabalha com documentos, isso significa que um algoritmo fraco poderia permitir trocar um arquivo por outro sem que a verificação percebesse. Por isso as plataformas sérias usam SHA-256 ou superior.

Como conferir o hash de um documento

Você não precisa ser técnico para usar o hash a seu favor. Se uma plataforma de assinatura informa o hash do documento no comprovante ou no relatório de assinaturas, dá para checar se o arquivo que você tem em mãos é o mesmo que foi assinado.

No Windows, abra o PowerShell e rode Get-FileHash nome-do-arquivo.pdf, que usa SHA-256 por padrão. No macOS, o comando é shasum -a 256 nome-do-arquivo.pdf e, no Linux, sha256sum nome-do-arquivo.pdf. Compare o resultado com o código registrado no comprovante: se os 64 caracteres forem idênticos, o documento é o mesmo. Letras maiúsculas ou minúsculas não fazem diferença, o Windows só exibe o hash em maiúsculas. Se houver qualquer diferença, o arquivo foi alterado ou não é aquele que foi assinado.

Para documentos com certificado ICP-Brasil, o caminho mais simples é o validador oficial do governo, que faz essa conta e ainda confere a cadeia do certificado. Explicamos o passo a passo no post sobre como usar o verificador do ITI.

Alguns cuidados que evitam dor de cabeça:

  • Guarde o arquivo assinado original, sem converter, comprimir ou imprimir em PDF de novo. Qualquer nova gravação muda o hash.
  • Não confunda o hash do documento original com o do documento final assinado. São arquivos diferentes, então os hashes também são.
  • Mantenha o relatório de assinaturas junto com o documento. Ele é a prova que liga o hash às pessoas que assinaram.

Por que isso importa em uma disputa

Quando um contrato eletrônico é questionado, a pergunta central é se o documento apresentado é o mesmo que as partes assinaram, e o hash responde a isso de forma objetiva. Somado à trilha de auditoria, ele ajuda a sustentar a validade do documento e é parte do que permite tratar um contrato eletrônico como título executivo.

Na LetsSign, os documentos são protegidos por hash SHA-256 do envio ao armazenamento, e qualquer alteração no arquivo é detectável. Os detalhes estão na nossa página de segurança. Se quiser ver como isso funciona no dia a dia da sua empresa, conheça os planos ou fale com nosso time.

Conclusão

O hash do documento é um detalhe técnico com efeito muito prático. Ele transforma o conteúdo de um arquivo em um código único, que muda por completo diante de qualquer alteração e permite provar, a qualquer tempo, que o documento não foi mexido depois de assinado. É a peça que sustenta a integridade da assinatura eletrônica avançada, o funcionamento da assinatura digital com certificado e o carimbo do tempo. Saber que ele existe, e como conferi-lo, é uma forma simples de ter mais segurança em cada contrato que você assina.

Perguntas frequentes

O que é o hash do documento?

É um código gerado por uma função matemática a partir de todo o conteúdo do arquivo. Funciona como uma impressão digital: o mesmo documento sempre gera o mesmo hash, e qualquer alteração, por menor que seja, gera um hash completamente diferente.

Dá para descobrir o conteúdo do documento a partir do hash?

Não. A função de hash é de mão única. Ela permite verificar se dois arquivos são idênticos, mas não permite reconstruir o texto original a partir do código.

Se eu salvar o PDF assinado de novo, o hash muda?

Sim. Qualquer nova gravação, conversão ou compressão altera os bytes do arquivo e, com eles, o hash. Guarde sempre o arquivo assinado original, do jeito que a plataforma entregou.

Qual algoritmo de hash é o mais seguro para assinaturas?

Hoje, o SHA-256 é o padrão mais usado e considerado seguro para assinaturas. O SHA-512 oferece margem extra. MD5 e SHA-1 têm falhas conhecidas e não devem ser usados para proteger documentos.

O hash do documento tem valor jurídico?

O hash, sozinho, não é uma assinatura. Mas ele é a prova técnica de integridade que a Lei 14.063/2020 exige da assinatura eletrônica avançada e que a assinatura digital usa por padrão. Junto com a trilha de auditoria, ajuda a demonstrar que o documento apresentado é o mesmo que foi assinado.