如果你想确保文件是有效的(篡改,并从正确/预期的来源来),有两件事情可以做:散列,并签约。散列与签名的二进制文件
出于我的问题,散列意味着提供文件(以及文件)的散列下载。客户端下载哈希和文件,重新计算哈希,并验证它是否与下载的哈希相匹配;这“证明”该文件未被篡改。
签名表示使用公私密钥加密方案,您使用公钥对二进制文件进行签名,并且客户端使用私钥验证您是否确实签署了密钥。
基于这些定义,我并不真正看到签署某些东西和散列某些东西的主要好处。他们都应该证明文件没有被篡改。
我可以看到的唯一情况是,使用哈希,受损的服务器可能意味着某人也会损害哈希并用一个匹配键替换恶意二进制文件;但是只要私钥保密,就没有办法伪造恶意文件。
或者我错过了什么?
对于http://security.stackexchange.com,这可能是一个更好的问题。 –
@MattBall在这种情况下,请提名它移动。 – ashes999