为什么我们不能使用 DNS 来分发 SSL 证书?

nat*_*ado 4 domain-name-system ssl certificate

大多数低成本的 SSL 证书提供商实际上只是验证您是否控制了一个域名。对于这些类型的证书,与其支付第三方费用来验证我是否控制了域的 DNS 记录,为什么不在 DNS 中“签署”证书呢?如果我在服务器上生成一个密钥对并在 DNS 中为主机名发布相同的公钥,我认为这将是等效的安全级别。

我看到设计有两个问题,但似乎都很小:

  1. EA 证书和验证个人/公司详细信息的更高级别的证书无法通过这种方式完成。希望付费以获得浏览器中的绿色条的组织可以继续这样做。
  2. 带有流氓 DNS 服务器的恶意网络可能会将您重定向到不同的主机名和不同的受信任 SSL 证书。也许 DNSSEC 可以解决这个拒绝问题?

我不知道有任何浏览器实现了这样的东西,但似乎这是一种至少获得受信任的加密连接而不显示可怕的“不受信任的证书”对话框的好方法。除了我上面提到的问题和现有的商业认证机构反对这个想法之外,还有其他原因这样做会是一个坏主意吗?

Aln*_*tak 5

在 DNS 记录中编码 X.509 证书已经是完全可能的 - 查看CERT来自RFC 4398的记录类型。

它没有被愤怒地完成的主要原因是因为传输机制尚不安全。今年晚些时候,当根区域获得 DNSSEC 签名以及越来越多的 TLD 支持 DNSSEC 时,这种情况将发生巨大变化。

DNS 查询大小(如其他地方所述)也是一个问题,但值得注意的是,CERT RR它还允许您简单地存储可从中下载真实 X.509 证书的 URL。在这一点上,有一些鸡和蛋的问题,虽然......

  • 既然 DANE 存在,那么应该编辑答案... (3认同)