首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Windows数字签名签名的可执行文件和用PGP签名的可执行文件有什么区别?

用Windows数字签名签名的可执行文件和用PGP签名的可执行文件有什么区别?
EN

Security用户
提问于 2021-03-03 18:28:28
回答 1查看 806关注 0票数 3

我正试图找出如何在我从互联网上下载的Windows可执行文件中建立信任。

我下载的一些软件(如KeepassXC )具有Windows签名,但它们也提供了一个PGP签名,我可以使用从他们的代码库获得的证书手动验证该签名。

我下载的其他软件,如我的税务软件,也是用Windows签名签名的,但它们不提供我可以验证的PGP签名。

  • Windows数字签名和PGP签名是否具有相同的功能?
  • 其中一个足够信任可执行文件没有被第三方篡改吗?如果是这样的话,为什么有些软件会提供额外的PGP签名,并告诉我如果该软件已经签署了,我需要验证它?
EN

回答 1

Security用户

回答已采纳

发布于 2021-03-03 20:16:45

Windows数字签名和PGP签名是否具有相同的功能?

好吧,是和不是。您所引用的windows数字签名是存在的,因为Windows需要对所有可执行文件进行签名。否则,Windows将抱怨可执行文件来自不受信任的发行者,而防御方SmartScreen将阻止它。Windows使用它来验证可执行文件是否已由信誉良好的发行者(仅仅签署是不够的,你也需要一个积极的声誉。)签名。当然,自签署以来,可执行文件的完整性也会得到验证。差不多了。

那么,如果文件上的数字签名已经验证了文件的完整性,为什么还要使用PGP呢?

问题是KeePassXC是安全意识强的人使用的软件。这些人中有相当一部分人(通常是完全正确的)极端偏执。用于签署可执行文件的Microsoft Authenticode证书的问题是,它们是由Windows信任的CA颁发的。CA可以被黑客攻击(过去也有),或者被盗用。因此,如果CA被泄露、被流氓或被政府强迫,他们可以以KeePass的名义签发假的Authenticode证书。然后,与其签名的任何软件都将作为经过验证的KeePass代码传递,并且可以向用户分发一个假的反向但有签名的版本。偏执的人宁愿不冒这个险。

所以解决办法是用他们自己的PGP密钥来签名。现在,任何在可执行文件上验证PGP签名的人都可以确定,他们没有使用使用欺诈性证书签名的备份版本。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/245642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档