如果我购买的域名已经过期,我是否可以保证之前的所有者没有该网站的有效 HTTPS 证书?换句话说,CA 在颁发证书时是否检查域名到期日期以确保证书不会超过域的所有权?或者,CA 是否会监控域名所有权并吊销已被删除的域的证书?
域名到期和 TLS
我是否可以保证以前的所有者没有该站点的有效 HTTPS 证书?
不,你没有。
CA 可以颁发在域到期日(颁发时)之后有效的证书。即使他们不这样做,域也可以在其到期日期之前转移。
此外,您不可能控制所有存在且受潜在客户信任的 CA。即使有一个可以监控域注册更新的方案,也不是所有的 CA 都可能是该方案的一部分。您不可能确切知道潜在用户可能信任的所有 CA。
我可以创建自己的 CA 并为一个甚至还不存在的域颁发一个有效期为未来 20 年的证书。当然,这是一个极端且毫无意义的例子,但是如果我将其用作内部 CA,而您后来恰好注册了该域,则您将无法知道它。
您当然可以将您的假设限制在周围的主要 CA。但是,据我所知,他们不监视对 whois 数据库的更改,至少对于域验证的证书(我不确定是否有针对 EV 证书的这种情况的任何规定)。
如果我们以威瑞信的认证实践声明为例,似乎对域所有权结束日期没有任何控制(参见域验证条件,第 83 页和第 84 页:与日期无关)。实际上,同一个 CPS 声明他们认为域验证的有效期最长为 13 个月(请参阅第 76 页),EV 证书的最长有效期为 27 个月,因此您可以期望的最佳保证是没有证书一个域名将超过该域名的所有权期限 40 多个月。这有点长。
我们在这里只讨论 Verisign 的 EV 证书。每个 CA 都有自己的规则,似乎没有任何共识或强制执行的限制。最终,设置边界是操作系统/浏览器供应商的责任,但据我所知,Microsoft/Mozilla/Apple 没有将证书有效期与域到期匹配的规定。
您可以通过实施TLSA(也称为 DANE)来降低这种风险,在这种情况下,您实际上将 Web 服务器的公钥存储在 DNS 中。Chrome 目前支持此功能。
我不确定先前所有者的证书是否优先于 DANE,反之亦然。考虑到它解决的安全问题,所有 TLS 浏览器都尝试 DANE 验证连接(最好通过 DNSSec)而不是传统的 HTTPS 是有道理的