是什么阻止了中间人为您的服务器申请证书?

信息安全 tls 证书 中间人
2021-08-19 06:30:29

假设您有一台服务器,shop.example.com并且您正在向 Comodo 等受信任的 CA 请求证书(他们说他们会在几分钟内在线发布)。

  • 首先,他们如何确保您确实是 的管理员shop.example.com也许是攻击者请求此证书以执行中间人攻击。

  • 其次,假设真的是你,你拿到了证书。是什么阻止了同一攻击者从其他 CA 请求同一域的证书?

  • 是否有所有请求的公共存储,以便 CA 可以轻松检测到此类重复?还是有其他方法可以防止它?

  • 有人也可以轻松地获得证书shop.example.net并希望某些输入错误的用户吗?

4个回答

CA 应该确保其颁发的证书仅包含真实信息。他们如何做到这一点是他们的事;严肃的 CA 应该发布详细的“认证实践声明”,记录他们的程序。

实际上,当您想为某个www.myshop.com域购买证书时,CA 会“挑战”您,以便您证明您确实拥有该域的控制权。一些经典的方法包括:

  • CA 会向您发送一段随机数据,以将其作为主机名包含在域中。因此,您展示了您对与域相关的 DNS 的控制。

  • CA 向您发送一段随机数据,您必须将其从www.myshop.com站点下载(通过纯 HTTP)。因此,您表明您控制了与域对应的主服务器。

  • CA 通过发送到的电子邮件发送该随机数据admin@myshop.com您将该数据返回给他们,从而证明您可以阅读发送给域管理员的电子邮件。

这些机制都不是真正强大的。此外,攻击者只要成功欺骗数百通常 Web 浏览器默认信任的 CA 中的一个就足够了。然而,欺诈性证书似乎很少见(例如,每年一次或两次,全球范围内),因此必须承认这些身份验证机制,无论它们看起来多么脆弱,都必须足以胜任这项工作。

至于输入错误的域名,这是一种非常经典的方法,通常通过购买那些输入错误的域名,或者向试图购买与您自己的域名“太接近”的域名的人释放您的律师。

证书颁发机构以仅向域的合法管理员提供证书的声誉为生。如果 CA 开始提供过多的欺诈性证书,浏览器将提取其根证书并且 CA 破产,因此不这样做符合 CA 的最大利益。

CA 验证申请人身份的确切方式因 CA 以及客户愿意在证书上花费多少而异。概括地说,有不同级别的证书:仅进行自动检查的域验证 (DV)和需要人对人验证的扩展验证 (EV),例如与申请公司的 CEO 通电话、面对面会议等,但购买成本更高。

要回答这个问题,在最简单的 DV 案例中,是什么阻止了中间人获取您的域的证书?常见的验证方法包括:

  • 证明您可以在以下地址之一接收电子邮件:admin@<domain.com>administrator@<domain.com>hostmaster@<domain.com>postmaster@<domain.com>webmaster@<domain.com>,此外还可以通过域WHOIS列表中列出的地址接收电子邮件。(例如:GlobalSign

  • 它们为您提供了一个 HTML 块,包括(我相信)您发送的证书签名请求 (CSR) 的哈希值,您必须将其插入到您网站的主页中。这证明申请人在服务器上具有管理员权限。(例如:GlobalSign

  • 将 CSR 的哈希值.txt放在域根目录的文件中,例如:http://yourdomain.com/<Upper case value of MD5 hash of CSR>.txt. (例如:科莫多

他们如何确保您确实是这个 myshop.com 的管理员,也许是攻击者要求此证书能够执行中间人攻击?

他们不能。如果您可以接收邮件,admin@example.com那么您可以获得该站点的证书。

是什么阻止了同一攻击者从其他 CA 请求同一域的证书?

没有什么。但是,对高​​价值域的证书请求可能会触发内部警报和手动检查。没有具体说明“高价值域”究竟是什么。也许是 Alexa Top 10000 网站之类的。(CABForum 的公共信息页面信息讨论了这一点。(存档在这里。))

有人也可以轻松获得 myhsop.com 的证书并希望一些输入错误的用户吗?

原则上,是的。上面提到的“高价值域”例外。CA 如何尝试检测相似性(以及与什么相似)的详细信息也不是公共知识。

是否有所有请求的公共存储以便 CA 可以轻松检测到它或其他一些防止它的方法?

没有。但是有 Google 的“证书透明度”(CT) 倡议。这个想法是所有已颁发证书的公共日志。然后,您作为担心的域所有者可以查看这些日志,以查看您的某个域是否有任何新颁发的证书。这至少可以在事后迅速检测到双重发行。——当且仅当所有 CA 都实际参与 CT 工作。如果浏览器强制执行此操作。(没有日志条目?没有流量!)

由于所有其他子问题都已得到充分回答,我将尝试回答有关注册与原始域相似的域的问题。

此操作称为域名抢注,由于域名抢注者拥有域名,他们将完全控制 SSL 证书颁发机构发送的验证请求。因此,他们将能够获得证书,该证书对于 CA 而言是合法的所有意图和目的。

防御这种形式的攻击的唯一技术是防御性地获取错字域名,或者像乐高所做的那样对错字域名采取法律行动