这是关于 sig 文件和校验和文件之间的功能差异,以及下载某些软件的用户如何使用它们。
例如,在 PuTTY下载页面上,sig 文件和校验和文件都可用于编译的 Windows 二进制文件,如下所示。
这些文件类型之间的功能区别是什么?另外,虽然我知道如何检查下载文件的校验和,但如何使用 sig 文件(在 Windows 上)?
这是关于 sig 文件和校验和文件之间的功能差异,以及下载某些软件的用户如何使用它们。
例如,在 PuTTY下载页面上,sig 文件和校验和文件都可用于编译的 Windows 二进制文件,如下所示。
这些文件类型之间的功能区别是什么?另外,虽然我知道如何检查下载文件的校验和,但如何使用 sig 文件(在 Windows 上)?
校验和验证简单的奇偶校验;他们基本上可以告诉您,某处发生了两位翻转并且文件已损坏。它们不提供任何加密安全性,因为这些算法仅用于检测文件的意外更改。
然而,签名是基于 PGP(Pretty Good Privacy)的。这些算法基于一个相当标准的密码学思想:有两个密钥,一个私钥和一个公钥。给定输入文件和公钥,您可以确定私钥是合法的,但您无法确定私钥是什么。这样,我们就可以证明真实性。但是,这还不够好,因为您会注意到公钥和签名都在同一个站点上。PGP 通过建立信任来解决这个问题,这是通过让其他地方信任他们的人用他们的密钥签署原始密钥来完成的。
这意味着,如果您使用 PGP 来验证 PuTTY 的真实性(许多对安全性很认真的人),黑客无法伪造一个值得信赖的可执行文件(a)窃取私钥,这不是存储在该服务器上,或 (b) 入侵服务器,替换文件、校验和、签名和密钥,然后窃取大量私钥以建立对该私钥的信任。这两种情况基本上都是不可能的(或者,至少,非常难以置信);即使单个私钥被盗,作者也可以简单地撤销它,这将解散整个信任链等,然后他们可以重新建立起来而不会太麻烦。
RSA 只是使用太大而无法在任何合理的时间内计算的数字;目前的估计表明,宇宙中没有足够的熵来对私钥进行逆向工程,所以除非它被盗,否则它是非常安全的。再加上建立信任的能力,这是一种非常确信文件没有被恶意篡改的方法。
您应该能够使用Gpg4win 之类的东西来验证签名,它可以让您使用PuTTY 网站上的密钥来验证签名。另请参阅如何验证 PuTTY 的 PGP RSA 和/或 DSA 校验和签名?.