文件哈希如何保证文件没有被修改?

时间:2014-12-06 00:24:44

标签: file security hash

从大多数受信任的站点下载文件时,它们会为文件提供哈希值,然后您可以使用这些哈希值来验证您下载的文件与他们发布的文件是否相同(或者如果我错了,请更正我!)

我的问题是:如果您是一名能够修改网站上文件的黑客,那么您是否也不能更改该网站上发布哈希值的页面以反映您的新“修改”值?如果是这样,它提供了什么增加的安全性?如果没有,为什么不呢?或者......我只是错过了一些关于这一切是如何运作的明显的东西吗?

1 个答案:

答案 0 :(得分:0)

关键是你正在防范的攻击媒介:

  1. 有人违反主服务器

    如果有人可以进入主服务器,他们可以重写哈希看似有效(所以不要去)。

    因此哈希不提供对主服务器违规的保护。

  2. 有人违反镜像服务器

    假设哈希在主服务器上,那么他们可以为违反镜像的人添加一层防御,因为您可以检测到他们的修改。

  3. 连接中的某人MITM

    如果有人可以MITM连接,他们可以修改文件和哈希。

    所以它根本不会保护你。

  4. TCP连接中的位错误

    这是散列文件的主要优点。过去,当错误检查不像现在这样好时,您需要下载100mb文件,并且其中存在随机位错误。 md5sum可让您快速检测到这些错误并重新下载文件。

  5. 所有哈希都是有益的。完整性检查您下载的内容是服务器上的内容。

    如果您需要安全性,则需要来自可信私钥(GPG)的签名。在绝大多数情况下,Hashing对安全性没有任何作用。