【发布时间】:2014-12-13 01:42:01
【问题描述】:
从大多数受信任的站点下载文件时,它们会为文件提供哈希值,然后您可以使用这些哈希值来验证您下载的文件是否与他们发布的文件相同(或者,如果我在这方面有误,请纠正我!)
我的问题是:如果您是一名能够修改网站上文件的黑客,您难道不能同时更改该网站上发布哈希值的页面以反映您的新“修改”值吗?如果是这样,它提供了哪些额外的安全性?如果不是,为什么不呢?或者......我只是错过了关于这一切如何运作的明显内容吗?
【问题讨论】:
-
我多次向朋友、家人和客户提出同样的观点。我想有总比没有好,但不多。事实上,它可能更糟,因为它可能会导致错误的安全感。这就是数字签名的全部原因。不幸的是,许多重要的供应商和开源项目仍然提供未经数字签名的下载(叹气)。创建哈希的开销基本上为零。显然,获取签名证书和签名图像的开销太大了(又叹了口气……)
-
只要哈希是在通过 https 传递的页面上发布的,您至少可以合理地确定它是由给定证书的主题发布的。如果攻击者可以修改站点本身的文件,那么哈希就没有用了。我同意@Dan,最好是签名的可执行文件。
-
当文件也托管在下载镜像上时,哈希具有最大的附加值。通过在主站点上提供哈希值但在不同站点上提供文件,您可以确保来自其他站点的文件没有被更改。我同意,当它们都托管在同一个站点上时,它没有太多附加值。
-
感谢大家 (@Dan @user18044 @Rutix) 的回答!都是非常好的点。感谢您抽出宝贵时间分享。