为什么许多美国国防部证书不受 Firefox 信任?

信息安全 证书颁发机构 火狐 政府
2021-09-06 14:59:32

我需要定期访问许多美国国防部 (DoD) 网站(例如https://ataaps.csd.disa.mil/https://web.mail.mil),Firefox发出Warning: Potential Security Risk Ahead错误代码SEC_ERROR_UNKNOWN_ISSUER再看一点,它说“Peer's Certificate issuer is not respected”。

国防部想要颁发自己的证书似乎有一些明显的原因(参见为什么像国防部这样的组织更喜欢使用自己的根证书?),包括这样他们负责安全而不是其他人,成本很小,因为他们需要其他事情的证书。

我的问题是相反的,不是国防部为什么要颁发自己的证书,而是为什么 Firefox 默认不信任美国政府网站的证书?

更实际的问题是,在遇到所有站点时添加例外,甚至不做粗略的一瞥似乎都是一种不好的做法,有没有办法在全球范围内添加额外的 CA (???) 以使 Firefox 识别美国国防部(或谁是问题)作为证书颁发者?这是否有缺点并打开我的机器以进行其他攻击?

4个回答

证书是一个信任问题。当您使用 Firefox 的默认证书列表(分别是 Chrome、resp ...)时,您相信该列表中的所有证书颁发者只会出于合法目的向合法站点(或个人)颁发证书。颁发者通常应该发布他们在交付证书时使用的策略,并且证书通过 OID 引用这些策略。

证书背后有一项重要业务,证书颁发者更愿意避免政府开始使用自己的证书颁发机构。想象一个世界,任何公民在其国民身份证或护照上都有一个个人证书(或一个用于签名和认证,一个用于加密),并且所有官方网站都将有一个由政府机构颁发的证书。那么谁会购买证书呢?

但还有另一个,也许是更根本的原因。Aldous Huxley 的Brave New WorldGeorge Orwell 的1984 年以来,我们知道政府可能会试图将我们带入隐私受限的道路。有一条政治原则说,任何事物和任何人都应该由其他人控制。因此,最佳实践建议证书颁发者应独立于证书用户 (*)。因为这限制了组织(无论是否政府)发布和使用隐藏证书只是为了能够监视加密通道。这就是一些反恶意软件和企业防火墙所做的:它们将私有证书安装到系统的证书列表中,并且熟悉浏览器,以允许中间人攻击能够识别 HTTPS 通道中的恶意软件。好吧,最终用户或多或少地了解它,如果没有它,他们当然无法完成他们得到报酬的工作。

我知道这一点,并相信我的雇主和安全团队不会对我自己的隐私过于激进,但我不敢那样发送太隐私的信息。

想象一下,大多数国家的所有情报机构都可以这样做,并且可以自由地监视任何 HTTPS 通道,并问自己这是否是我们想要生活的世界。如果您犹豫,请再次阅读1984 ...

我不太相信国家安全局和其他主要情报机构不能这样做,但这不是盲目允许的理由,恕我直言


(*) 独立于强大的政府机构可能是相对的……而公司与其主要客户之间的独立性只是理论上的。后一部分在很大程度上促成了第一部分。

美国国防部运营自己的私有 PKI,并配有自己的私有 CA 根证书。他们这样做的原因是双重的。首先,这是一个成本衡量标准。您可能认为 14 美元的证书不是一笔大开销,但是当您每年颁发数十万张证书时,这些成本会迅速增加。另一个原因是他们的大多数证书仅供内部使用,并且颁发给不打算供公众访问的私人服务器。

这与维护数千个节点和数十万个证书的任何其他大型企业没有什么不同。(实际上,国防部的不同之处在于他们每年颁发数百万份证书。每个士兵都携带一张智能卡——它有自己独特的证书。这张智能卡允许访问从远程门到系统登录到访问他们的薪水和银行账户的所有内容;而且大多数这些设备也可能有证书。)

通常,当企业运营自己的 PKI 时,他们会使用商业上受信任的 CA 在其公开的服务器上签署少数旨在让公众访问的证书。国防部也不例外——他们的招聘网站https://www.goarmy.com有 Entrust 颁发的证书。

他们不使用大量外部签名证书的原因很简单:国防部以外的任何人都不需要信任他们的内部服务器。如果您不在军队中,您可能永远不会与他们的大多数服务器证书在同一个网络上。如果您在军队中,您的官方计算机上已经预装了军队的根 CA。

如果你有一台军用 Windows 笔记本电脑,陆军将使用像组策略这样的工具在他们拥有的每台机器上安装他们的私有根 CA 证书。IE、Edge、Safari 和 Chrome 都使用操作系统的内置可信证书存储来管理其可信证书列表。因此,如果您使用 IE、Edge、Safari 或 Chrome 从军用笔记本电脑或手机浏览到内部站点,它会自动信任他们放置在系统信任库中的证书。另一方面,Firefox 维护自己的受信任证书存储,并且不使用系统的证书存储。因此,默认的 Firefox 安装不会包含 Army CA 根证书。私人笔记本电脑也不会。这就是为什么您会收到此警告。

解决此问题的一种方法是将必要的 DoD 根 CA 证书导入 Firefox 的受信任证书存储区。然后,您将获得所需的信任,而无需检查每一次鼠标点击。

为什么会出现错误?

快速查看证书详细信息显示路径的顶层是“DoD Root CA 3”。否则,此证书的详细信息表明这些连接(理论上)与任何商业证书一样安全。所以,唯一的问题是,权威链的顶层是国防部,它不是一个“受信任的”权威。

在此处输入图像描述

国防部选择作为不受信任的权威机构运作有几个可能的原因:

1 - 成为受信任的证书颁发者是一个非常艰难的过程。浏览器公司对如何注册和管理中央机构有非常严格的要求,以确保 100% 确保它们不会受到损害。直到最近,自签名证书还经常被用来省钱。如果您需要像国防部那样的大量证书,那么您不想每年花费数百万美元从受信任的机构购买证书。当唯一使用这些证书的人是您自己时,您也不想花费数百万美元来跳过您需要经历的所有障碍,以成为并保持您作为受信任的权威的地位。

虽然像 Let's Encrypt 和 AutoSSL 这样的东西现在让免费做这些事情变得容易,但如果 DoD 已经有一个可行的解决方案,那么改变一切的时间和成本可能不值得。

2 - 对于军事或情报机构的证书颁发机构,这也有可能实际上是比安全机构颁发的证书更安全的证书。基本上,要获得权威地位,您需要让一群来自外部私人公司的技术书呆子进入您的系统,以验证您的方法。如果像国防部这样的组织正在使用机密的网络安全方法,那么这将被视为允许此过程发生的安全漏洞。

澄清一下:我不是指他们的身份验证协议,我的意思是服务器所在的建筑物和网络的内部运作将被分类。允许外部审计需要允许自己被追踪。他们的技术栈中的每一条信息、他们的访问控制方法、现场人员的姓名等都是安全设施中的受保护信息,您不能让人们轻易访问。

3 - 对于军事或情报机构,您可能不信任“受信任的机构”,因为它们是黑客的主要目标。如果 Comodo 被黑客入侵,并且黑客意识到 comodo 向国防部出售证书,那么该黑客就可以开始拦截机密的政府通信。或者更可能的情况是,中国意识到国防部正在使用 comodo;因此,他们花费数百万美元使用书中的每一个情报技巧,将一名忠诚的特工安置为 Comodo 的雇员,以便他们利用该访问权限监视国防部。

至于为什么浏览器不简单地接受它们作为受信任的权威的实际问题:

简而言之,这一切都归结为上面的原因#2。浏览器公司从不只是给出他们未经验证的信任,而且国防部也不只是让一群平民在他们最关键的安全系统之一中闲逛。如果 DoD 不让他们审核他们的工作,浏览器公司不会仅仅因为 DoD应该知道他们在做什么而做出任何假设事实上,一两年前,赛门铁克(世界上最大和最负盛名的网络安全公司之一)未能通过审计,几乎失去了作为受信任机构出售证书的权利。

尽管问题中提到的网站是面向公众的,但这些网站似乎不打算供公众使用。例如,https ://web.mail.mil 可能是 mail.mil 的网络邮件门户。

值得注意的是,国防部确实在其运行的其他站点上使用了广受信任的 CA 颁发的证书,这些证书旨在供公众使用。例如,https ://milconnect.dmdc.osd.mil/milconnect/ 使用 Entrust 颁发的证书进行保护。

对于面向公众但仅供美军服役人员使用的站点,国防部可以从充当自己的 CA 中获益。国防部可以轻松地将自己的根证书安装在它颁发给军事人员的设备上,并且可以指导军方成员如何在必要时在个人拥有的设备上安装其根 CA。