我正在阅读 GPG 预备教程https://riseup.net/de/security/message-security/openpgp/best-practices在 Firefox 中单击 sks-keyservers.net 上的文件链接后.pem
,将打开一个窗口,询问我是否要信任它作为新的证书颁发机构。
Q1:让我检查此 CA 的证书的窗口显示:
Could not verify this certificate because the issuer is unknown.
我们可以说“当然”,因为实际上应该没有比 CA 更高的层级?还是我对认证的思维模式有误,认为它只是一个只有一个中央权威的金字塔?
问题 2:如有疑问,我该如何处理?在我看来,sks-keyserver.net 看起来就像 GPG 信任网络的母体 - 为什么 Mozilla 没有预装它?
问题 3:使用 GPG 时是否始终只有一个 CA 处于活动状态?我需要手动切换吗?
答案1
我们能说“当然”吗,因为实际上应该没有比 CA 级别更高的人?
当然不是。如果这是唯一的问题,Firefox 甚至不会询问 - 证书已经表明它是 CA。相反,它询问的是:
你相信吗此特定CA成为 CA?任何人都可以创建自己的证书颁发机构 - 但这并不意味着他们会做得很好。(许多大型和“受信任”的 CA 已经变坏了。)您是否相信 SKS 池运营商不会颁发虚假证书并保护 CA 密钥不被盗?
你确定你得到了吗正确的证书这个 CA 的证书是可信的吗?任何人都可以制作自己的证书,上面写上任何名字——如果你打算把它标记为可信的,你最好确保它是真正的“SKS CA”,而不是廉价的仿冒“SKS CA”,因为除了“指纹”值之外,它们可能看起来一模一样。你必须验证这一点,因为确实没有更高的 CA 可以验证根 CA。
(基本上,您之所以会看到此对话框,是因为就您的系统而言,您比所有 CA 都处于更高的层次结构级别。)
或者我对认证的思维模型有误,认为它只是一个只有一个中央权威的金字塔
那曾是20 世纪 90 年代用于 S/MIME(后来是 HTTPS)的原始模型,以 RSADSI 为中央机构。然而,垄断并没有持续多久——最终它变成了几个相互竞争的认证机构的列表。(现在它被称为“WebPKI”系统,有几十个 CA(不包括经销商)。)
更重要的是,它与 PGP 完全相反。不PGP 密钥的中央权威机构——它最初被认为是一个“信任网络”。您即将安装的 CA 在 PGP 密钥验证中不起任何作用。
相反,您首先要亲自验证一些 PGP 密钥(例如,您朋友的密钥),然后将这些人标记为权威机构。没有预先定义的 CA 列表来验证每个人。
在我看来,sks-keyserver.net 看起来就像 GPG 信任网络的母体 - 为什么它没有在 Mozilla 中预装?
首先,正如上面提到的,SKS CA 与 PGP 信任网络完全无关。它不向个人颁发证书,只向密钥服务器颁发证书。因此,它仅用于通过 HTTPS 与密钥服务器进行私下通信,但无论您是否使用 HTTPS 都不会真正影响 PGP。
而且 Mozilla 根本不与 PGP 信任网络打交道。公共网站使用的 HTTPS (TLS) 是完全独立的 - 它使用“WebPKI”信任网络。
SKS 池的运营商决定运行自己的 CA 而不是依赖 WebPKI CA,我认为这部分是由于对 CA 系统普遍不信任,部分是因为该池的运行方式使得使用商业 CA 变得困难(每个池服务器都使用一个带有两个域名的证书)。
由于 SKS CA 是专为特殊目的而构建的,并不向公众颁发证书,因此它不适合 Mozilla 的信任列表。
以上所有内容都引出了最后一点:您实际上并不需要将此证书安装到 Web 浏览器中,也不需要通过浏览器实际访问密钥服务器。相信你能这样做是因为它们大多数都提供了 Web 界面,但密钥服务器主要供 GnuPG 本身使用 - 您应该下载该 .crt 文件并在 GnuPG 中对其进行配置。
这实际上限制了您需要“信任”它的程度——因为它不必安装在您的网络浏览器上,这意味着它不会以任何方式影响您的日常浏览;它只能影响 GnuPG 软件。
(并且 SKS CA 实际上预装并预先配置了所有最新的 GnuPG 版本。您正在阅读的任何教程都已经过时了。)
问题 3:使用 GPG 时是否始终只有一个 CA 处于活动状态?我需要手动切换吗?
PGP 的核心功能根本不使用任何 X.509 CA。(SKS CA 的唯一用途是与密钥服务器私下通信。)PGP 密钥由其他 PGP 密钥验证,因此它在设计上允许多个“CA”。
对于密钥服务器 HTTPS 通信,GnuPG 支持多个 CA,它们只需位于同一个文件中即可。但您无需更改它们,除非您更改密钥服务器地址本身。
Web 浏览器已经对 HTTPS 使用多个 CA。