Sanyanggae LogoSanyanggae

☁️ Nuvem & Segurança

O que o hash de um arquivo comprova? Integridade e autenticidade com SHA-256

Entenda como o SHA-256 compara bytes em vez de nomes e como verificar um download. Separe as causas de divergência e veja por que uma referência confiável e assinaturas digitais são importantes.

사냥개 (Sanyanggae)Publicado Atualizado 13 min de leitura

Este artigo é uma tradução do original em coreano. Original em coreano · Revisão da tradução: Revisão por IA

Diagrama explicativo que distingue comparação dos bytes, origem do hash de referência e limites de interpretação do resultado.
Diagrama explicativo criado por Sanyanggae separando comparação dos bytes, origem da referência e escopo de verificação. Não é uma medição real nem um certificado de assinatura digital.

1. Mesmo nome não significa mesmo conteúdo

É fácil supor que um instalador foi baixado corretamente quando seu nome e tamanho correspondem à página de download. Porém, nomes podem ser alterados e arquivos do mesmo tamanho podem conter dados diferentes. Em sentido inverso, copiar uma foto com outro nome não necessariamente modifica seus bytes. Um hash ajuda na comparação ao submeter o conteúdo a um cálculo definido que produz um valor curto. A pergunta é se os bytes recebidos correspondem a uma referência confiável, e não apenas se o nome parece plausível. A mesma pergunta cabe ao transferir um backup para outro dispositivo de armazenamento.

SHA-256 é um algoritmo que produz um hash de 256 bits a partir da entrada. Ele costuma ser exibido em 64 dígitos hexadecimais, pois cada dígito representa quatro bits. O comprimento do resultado não cresce proporcionalmente ao tamanho do arquivo. Aplicar o mesmo algoritmo aos mesmos bytes produz o mesmo resultado. Entretanto, como valores de comprimento finito representam todas as entradas possíveis, colisões, nas quais entradas diferentes geram o mesmo valor, existem em princípio. Ser útil em comparações práticas é diferente de atribuir um nome matematicamente único a cada arquivo. A RFC 6234 fornece cálculos e dados de teste, incluindo SHA-256.

2. Hash não é criptografia reversível nem cópia em miniatura

Conhecer um hash não cria um botão de descriptografia que recupera o documento ou a foto original. A criptografia reversível é projetada para recuperar o original com uma chave apropriada; um hash criptográfico não é um formato de armazenamento para reconstruí-lo. Isso também não significa que publicar apenas o hash mantém qualquer entrada em segredo. Se houver poucas entradas possíveis, alguém pode calcular seus hashes e compará-los. Portanto, a explicação de SHA-256 para verificar arquivos não deve virar uma recomendação de que basta aplicar um hash simples às senhas para armazená-las. Verificação de integridade, confidencialidade e armazenamento de senhas têm requisitos diferentes.

Calcular o hash do arquivo inteiro não compara somente os caracteres visíveis na tela. Frases aparentemente iguais podem ter bytes diferentes por causa das quebras de linha, da codificação ou dos metadados internos. Um arquivo extraído de um pacote compactado é um alvo de comparação diferente do próprio pacote. Normalizar caracteres ou alterar quebras de linha antes do cálculo produz o hash dos dados transformados. Se o distribuidor fornece o valor do pacote original, compare primeiro com o próprio arquivo compactado baixado. Esse é um uso prático da distinção entre exibição e bytes abordada no artigo anterior sobre Unicode e UTF-8.

3. Compare o download com o mesmo algoritmo e a referência correta

Antes de verificar, confira juntos versão, sistema operacional, nome do arquivo e algoritmo nas instruções oficiais do distribuidor. O valor de um instalador de outro sistema ou de outra versão não serve como referência. No PowerShell, Get-FileHash -LiteralPath '.\download.zip' -Algorithm SHA256 lê o arquivo local e calcula seu hash. O comando não executa o conteúdo nesse caminho. A documentação oficial da Microsoft explica que o cálculo usa o conteúdo e que mudar apenas o nome não muda o valor. Adapte o nome e o caminho ao arquivo realmente recebido e não o modifique durante o cálculo.

Na saída, compare todos os 64 caracteres do campo Hash com o SHA-256 publicado. Alguns caracteres iguais no começo ou no fim não demonstram correspondência completa. Letras hexadecimais maiúsculas e minúsculas representam os mesmos números; se houver outros caracteres ou faltarem dígitos, revise primeiro o valor copiado. Uma correspondência sustenta a consistência entre os bytes recebidos e a referência em que você confia. Ela não verifica a exatidão de um documento, a qualidade do programa ou comportamentos maliciosos. Se o arquivo de referência tiver um problema, uma cópia idêntica terá o mesmo hash. O sucesso do cálculo e a decisão de usar o arquivo exigem avaliações separadas.

4. Divergência pede investigação, mas não comprova um ataque

Suponha que um arquivo de distribuição recebido ontem não corresponda ao valor nas instruções de hoje. É um exemplo explicativo, não o registro de um incidente real. Primeiro, confira se as instruções tratam da mesma versão, se você baixou um arquivo para outro dispositivo ou se calculou antes de terminar o download. Talvez tenha calculado o hash de um arquivo extraído em vez do pacote, ou um editor tenha salvo novamente o documento. É necessário distinguir a troca do alvo comparado de alterações durante transmissão ou armazenamento. A divergência sozinha não revela quem mudou o quê ou quando.

Não execute imediatamente um instalador divergente para investigá-lo. Confira as instruções oficiais e o valor de referência e depois compare um novo download. Se continuar diferente, consulte as correções ou o suporte do distribuidor e registre o resultado. Anote juntos horário, endereço de origem, versão, algoritmo e valor calculado. Repetir o cálculo com resultado igual indica leitura consistente do arquivo local atual, mas não resolve uma referência publicada incorreta nem um problema no caminho de distribuição. Sobrescrever o registro de referência com o resultado esperado elimina a base para avaliar mudanças posteriores.

5. Por que confiar na referência e qual é o papel da assinatura digital?

Se um invasor puder alterar tanto o arquivo quanto o hash anunciado, poderá calcular o valor do arquivo modificado e publicá-lo como nova referência. O NIST SP 800-175B explica essa limitação do hash sem chave nem assinatura. Obter o valor em uma página HTTPS no endereço oficial ajuda a verificar a origem e o caminho de transmissão, mas não garante que o próprio servidor de distribuição não tenha sido comprometido. Importam a origem da referência e o procedimento de confiança usado para obtê-la, não o comprimento aparente da sequência. A concordância entre dois valores copiados da mesma tela não verifica por si só a identidade do criador.

Assinaturas digitais permitem verificar a relação entre assinatura e dados usando, por exemplo, uma chave pública obtida de forma confiável. Se o distribuidor fornece um procedimento de verificação, siga também as instruções oficiais para conferir o proprietário e a impressão digital da chave. Confiar automaticamente em uma chave desconhecida ao lado de um arquivo de origem incerta não resolve o ponto inicial de confiança. HMAC, que usa uma chave secreta compartilhada, também é uma ferramenta de autenticação diferente de um hash comum, mas não uma função que se possa acrescentar arbitrariamente a qualquer download para resolver tudo. Uma assinatura válida não prova que o programa não tenha defeitos nem que um documento seja verdadeiro. Correspondência dos bytes, verificação da origem e avaliação do conteúdo estão relacionadas, mas cada uma precisa de suas próprias evidências.

6. Registre o escopo em backups e no trabalho colaborativo

Em backups de fotos pessoais, guardar os valores SHA-256 dos originais e compará-los com as cópias ajuda a detectar mudanças durante a transferência. Preserve também a lista de referência para que não desapareça nem seja sobrescrita junto com os originais. Se um gerenciador de fotos regravar informações de rotação ou metadados da captura, o hash poderá mudar mesmo que a foto pareça semelhante. Primeiro, diferencie preservar exatamente os bytes de manter o significado de uma foto editada. Para conferir uma pasta inteira, não basta o hash de um arquivo: mantenha a lista de arquivos incluídos, seus caminhos relativos e seus valores individuais.

Na revisão colaborativa de documentos, o hash também pode identificar a versão exata revisada. Mas a correspondência de hashes não substitui a evidência de que alguém realmente leu o texto completo ou comparou uma tradução. Registre o que foi revisado, quando e como, e depois associe o registro ao valor do arquivo. A imagem deste artigo é um diagrama explicativo próprio que organiza comparação dos bytes, origem da referência e escopo de verificação; não é uma medição real nem um certificado. Ao conferir um arquivo, registre o alvo e o algoritmo, a origem da referência e os limites do que o resultado permite afirmar. Assim, outra pessoa poderá reproduzir o procedimento sem exagerar o significado de correspondências ou divergências.

Fontes e referências

Este artigo explica informações de fontes públicas. A citação de uma instituição não implica revisão nem aprovação por ela.

Editora e contato

Outros artigos sobre o tema