我想下载Linux的某个发行版。但是它只使用bittorent进行下载。我不喜欢bittorent。但是,如果我使用它,如果我下载的MD5与distrubition网站的MD5匹配,那是否意味着文件没有被篡改?它与提供商的确切匹配,假设原始版本是“安全的”,也可以使用torrent下载的文件?
我想下载Linux的某个发行版。但是它只使用bittorent进行下载。我不喜欢bittorent。但是,如果我使用它,如果我下载的MD5与distrubition网站的MD5匹配,那是否意味着文件没有被篡改?它与提供商的确切匹配,假设原始版本是“安全的”,也可以使用torrent下载的文件?
Answers:
如果我下载的MD5与distrubition网站的MD5匹配,那是否意味着文件没有被篡改?
可能没有被篡改过。MD5确实有已知的攻击,因此它不如SHA-1那么好。对于诸如验证您是否具有正确文件的内容,MD5是可以的。
如果您使用存储的密码哈希值,那么MD5有点不好。网站等通常不希望存储您的密码,而是存储密码 - 然后将您输入的密码与使用哈希进行登录进行比较。这样,他们就不知道你的密码了。但是,如果黑客获得具有这些哈希值的帐户列表,他们可能会生成一个密码,当通过MD5传递时,会产生相同的哈希值(这称为哈希冲突)。我不确定这有什么用,实际上,只是它与MD5哈希冲突相比,它们可能比过去更容易。
Bittorrent使用SHA-1来“知道”它正在下载的文件以及同行交易的文件是否合适。因此,恶意对等体可能无法在群中注入坏数据 - 即使一个对等体知道如何破坏SHA-1,大多数其他对等体也必须合作。您可以相对确信Bittorrent swarm中没有人可以破坏下载,假设您拥有正确的.torrent
文件并且没有被恶意修改为指向其他跟踪器或其中的哈希值已被修改。
是的,它可能没关系。
我在日常系统管理员工作中经常使用md5,所以我对安全问题进行了大量研究。找到了一些很棒的链接,并在博客文章中总结了安全问题和哈希的使用
它的要点:要考虑三个主要方面:
1)两个不同的文件可能具有相同的散列。在他们的发现中,两个文件都需要由攻击者创建,即文件的创建者。
2)哈希也不能被定位。您找不到哈希值,然后设计一个文件来匹配该哈希值。相反,创建者必须创建两个具有相同哈希值的不同文件,并且实际哈希值本身不能提前“选择”
3)最后,存在有限数量的哈希值,因此,通过纯粹的运气,两个随机文件可能具有相同的哈希值(称为“冲突”)。良好的散列算法的优点之一是避免冲突。
考虑到上述情况:因此,如果您使用供应商提供的哈希值,您就知道这是您可以检查的实际哈希值,并且具有较高的置信度
以下是一些参考资料:
关于哈希安全性的精彩文章就在这里:http: //blog.codinghorror.com/speed-hashing/
关于散列的安全漏洞的非常深入的文章(甚至展示了创建具有相同散列的两个不同文件的示例) http://www.win.tue.nl/hashclash/SoftIntCodeSign/
我自己的安全和使用哈希信息的集合 http://geekswing.com/geek/the-magic-of-hash-and-i-mean-of-the-md5-and-sha-1-vintage/