Em um sistema de distribuição de atualizações de software, ...

Próximas questões
Com base no mesmo assunto
Q3508346 Segurança da Informação
Em um sistema de distribuição de atualizações de software, arquivos são transferidos via rede para milhares de dispositivos. Para garantir a integridade dos arquivos após o download, cada arquivo é acompanhado de um hash criptográfico (ex: SHA-256) calculado no servidor. Os dispositivos recalculam o hash localmente e comparam com o valor original para detectar corrupções ou alterações maliciosas durante a transmissão. Para esse cenário de verificação de integridade de arquivos, qual é a propriedade mais crítica da função hash? 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - Resistência à colisão forte.

1. Tema central da questão

Esta questão aborda funções hash criptográficas em sistemas de verificação de integridade de arquivos. O cenário apresentado é clássico em segurança da informação: garantir que um arquivo baixado não foi corrompido ou alterado por terceiros durante a transferência. Para isso, utiliza-se um hash gerado no servidor e conferido localmente.

2. Resumo teórico progressivo

Uma função hash criptográfica transforma dados de tamanho variável em uma saída de tamanho fixo. Para ser segura, ela deve apresentar certas propriedades, principalmente:

  • Resistência à colisão forte: difícil encontrar dois arquivos diferentes com o mesmo hash.
  • Resistência à colisão fraca: difícil modificar um arquivo para que tenha o mesmo hash que outro arquivo específico.
  • Resistência à pré-imagem: difícil descobrir o arquivo original a partir do hash.

Fonte: NIST SP 800-107, Manual de Segurança da Informação - Cláudio de Souza Baptista.

3. Justificativa da alternativa correta

Resistência à colisão forte garante que não existam dois arquivos diferentes produzindo o mesmo hash. Isso é essencial para a integridade, pois um atacante não deve conseguir criar um arquivo malicioso que tenha o mesmo hash do arquivo legítimo. Assim, a principal preocupação é a não existência de colisões.

4. Análise das alternativas incorretas

  • A - Resistência à pré-imagem: Importante para proteger contra reversão do hash, mas não é crítica para a integridade durante a transmissão.
  • C - Saída de tamanho fixo: É característica básica da função hash, mas não garante integridade.
  • D - Resistência à colisão fraca: Relevante, mas menos que a colisão forte, pois o atacante poderia criar qualquer arquivo com o mesmo hash.
  • E - Eficiência computacional: Importante na prática, mas não está relacionada à garantia de integridade.

5. Estratégias para interpretação

Fique atento ao termo "propriedade mais crítica". O examinador quer saber o requisito técnico fundamental. Foque sempre no objetivo do cenário (integridade) e relacione as propriedades das funções hash com esse objetivo. Palavras como "garantir" e "integridade" ajudam a eliminar distrações.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

No cenário descrito, os dispositivos:

  1. Baixam um arquivo e seu hash (ex: SHA-256) publicado pelo servidor.
  2. Calculam localmente o hash do arquivo recebido.
  3. Comparam o valor calculado com o original (servidor) para verificar se o conteúdo foi alterado (por falhas ou ataques).

Para esse cenário de verificação de integridade de arquivos, resistência à colisão fraca (segunda pré-imagem) é a propriedade mais crítica.

O que é resistência à colisão fraca (segunda pré-imagem)?

  • Essa propriedade garante que, dado um valor hash conhecido (por exemplo, o hash legítimo do arquivo), é computacionalmente inviável encontrar um arquivo diferente que produza o mesmo hash.
  • É exatamente o que protege esse cenário: alguém mal-intencionado não deve conseguir modificar o arquivo e produzir outro que gere o mesmo hash original, pois isso enganaria a verificação de integridade.

Por que não são as outras alternativas?

  • A) Resistência à pré-imagem: importante, mas relacionada a descobrir a entrada a partir do hash, o que não é o foco aqui.
  • B) Resistência à colisão forte: trata da possibilidade de encontrar quaisquer duas entradas distintas com mesmo hash, mas isso é menos relevante no contexto da verificação de um hash já fornecido.
  • C) Saída de tamanho fixo: é uma característica importante das funções hash, mas não é a mais crítica para garantir integridade.
  • E) Eficiência computacional: é desejável, mas a segurança vem antes da velocidade nesse caso.

Portanto, a alternativa correta é: D

  • Encontrar uma string de entrada que corresponda a um determinado valor de hash (uma pré-imagem ) é inviável, assumindo que todas as strings de entrada sejam igualmente prováveis. A resistência a tal busca é quantificada como  : um hash criptográfico comn
  • bits de valor de hash devem ter uma resistência de pré-imagem den
  • bits, a menos que o espaço de valores de entrada possíveis seja significativamente menor que2
  • n
  • (um exemplo prático pode ser encontrado em  );
  • uma segunda força de resistência de pré-imagem, com as mesmas expectativas, refere-se a um problema semelhante de encontrar uma segunda mensagem que corresponda ao valor de hash fornecido quando uma mensagem já é conhecida;
  • encontrar qualquer par de mensagens diferentes que produzam o mesmo valor de hash (uma colisão ) também é inviável: espera-se que um hash criptográfico tenha uma resistência à colisão 

Resistência pré-imagem

Dado um valor de hash h , deve ser difícil encontrar qualquer mensagem m tal que h = hash( m ) . Este conceito está relacionado ao de uma  . Funções que não possuem essa propriedade são vulneráveis a  .

Segunda resistência de pré-imagem

Dada uma entrada  , deve ser difícil encontrar uma entrada  diferente tal que hash(  ) = hash(  ) . Essa propriedade às vezes é chamada de resistência fraca à colisão . Funções que não possuem essa propriedade são vulneráveis a  .

Deve ser difícil encontrar duas mensagens diferentes  e  tais que hash(  ) = hash(  ) . Esse par é chamado de  criptográfico . Essa propriedade às vezes é chamada de forte resistência à colisão . Ela requer um valor de hash pelo menos duas vezes maior que o necessário para a resistência à pré-imagem; caso contrário, as colisões podem ser encontradas por um  . 

A resistência à colisão implica resistência à segunda pré-imagem, mas não implica resistência à pré-imagem.  A suposição mais fraca é sempre preferida na criptografia teórica, mas na prática, uma função hash que é resistente apenas à segunda pré-imagem é considerada insegura e, portanto, não é recomendada para aplicações reais.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo