Quão confiáveis são as somas SHA1 sum e MD5 em arquivos muito grandes?

1

Eu constantemente transfiro imagens de disco e imagens de máquinas virtuais (geralmente 800GB para quase 1 TB por arquivo) para um servidor em nuvem via rclone usando SSH, e me pergunto quão confiáveis são sha1sum e md5sum quando se trata de verificar a integridade de muito grandes arquivos.

Eu encontrei isto: Como posso verificar se um arquivo de 1TB foi transferido corretamente?

No entanto, tem algo a ver com desempenho, e não com a confiabilidade dos hashes gerados.

Poderia haver a possibilidade de outro arquivo compartilhar os mesmos hashes gerados, considerando que existem muitos arquivos distintos por aí?

Então, quão confiáveis são as somas MD5 e SHA-1 em arquivos muito grandes? Obrigado.

Eu também descobri isso em relação à colisão: link

link

    
por Loo Soo Yong 05.03.2017 / 16:54

1 resposta

3

O MD5 e o SHA-1 são bons para detectar danos / alterações acidentais nos arquivos. A probabilidade de um arquivo acidentalmente alterado com a mesma digestão de MD5 é uma em 2 ^ 128 = 340,282,366,920,938,463,463,374,607,431,768,211,456. A probabilidade de uma colisão acidental com SHA-1 é ainda menor, uma em 2 ^ 160. Se estivermos falando sobre encontrar correspondências acidentais em uma coleção de arquivos (conhecido como problema de aniversário), você precisaria de cerca de 2 ^ 64 = 18 bilhões de bilhões antes que uma colisão MD5 se torne provável. Note que o tamanho dos arquivos não importa; é o número de arquivos envolvidos que importa.

Mas nem o MD5 nem o SHA-1 são suficientes para proteger contra a substituição maliciosa de arquivos, ou para fornecer um ID exclusivo confiável para arquivos. Por exemplo, se você usar qualquer um deles, alguém poderá fornecer um arquivo, calcular o hash digest e, em seguida, enganá-lo, trocando-o por outro arquivo com o mesmo hash. Ou envie dois arquivos com o mesmo hash, o que pode confundir seu sistema.

BTW, a distinção acidental / maliciosa é um pouco solta. Suponha que alguém tenha encontrado os dois PDFs que o Google produziu com o mesmo hash SHA-1, pensou "Isso é legal! Eu deveria salvá-los para mais tarde" e tente usar o sistema para armazená-los e distribuí-los ... -de por acidente. Se algo assim for concebível, é melhor você usar o SHA-256.

EDIT: BitErrant é similar ao que eu descrevi no último parágrafo: é um exploit contra o BitTorrent, aproveitando o fato do BitTorrent usar o SHA -1 checksums como IDs para partes de arquivos.

    
por 05.03.2017 / 22:05