Skip to content

为什么必须域名验证 ​

域名验证是 CA 在签发证书前确认"申请人确实控制这个域名"的过程。 没有这一步,任何人都能给别人的域名申请证书,HTTPS 的信任基础就不存在了。

为什么需要域名验证 ​

证书的作用是把公钥和域名绑定起来,并由 CA 签名担保。浏览器看到证书时,只会判断"这是某个受信任 CA 签发给这个域名的证书",不会再回头核实申请人的身份。

如果 CA 不验证就签发,攻击者可以:

  1. 为 bank.example 申请一张证书;
  2. 把流量劫持到自己的服务器;
  3. 浏览器看到证书由受信任 CA 签发、域名匹配,不会报警。

所以行业规则要求 CA 必须先验证域名控制权,才能签发。 CA/B 论坛基线要求(BR)第 3.2.2 节把这件事定为强制步骤,各家 CA 都必须执行。

需要区分两个概念:

概念含义
域名控制权能在该域名下发布内容、修改 DNS 记录,或接收该域名的管理邮件
域名所有权法律意义上的归属,通常以注册商 WHOIS 记录为准

证书验证的是控制权,不是所有权。 网站代运营方、CDN 服务商在获得授权后同样可以完成验证。

验证结果也不是永久的。BR 规定验证信息有复用期限,到期后必须重新验证,这也是证书有效期缩短后需要更频繁操作的原因。

什么是多视角验证 ​

多视角验证(MPIC,Multi-Perspective Issuance Corroboration)是 CA 从多个不同网络位置重复检查验证结果,确认它们看到的内容一致。

BR 的定义是:

由主网络视角完成域名验证和 CAA 检查后,在签发证书前,由其他网络视角对这些判断进行佐证的流程。

单点验证为什么不够 ​

CA 通过网络查询或访问域名完成验证,不同网络位置可能得到不同结果。

攻击者可以操纵路由,让 CA 的验证请求在途中被引导到自己的服务器:

这类攻击称为同前缀 BGP 劫持。验证节点恰好落在被劫持的前缀里时,它看到的是攻击者的内容,验证会错误通过。

多视角怎么防 ​

CA 先由主网络视角完成验证,再由多个远端视角独立复查。只有足够多的视角都看到相同的验证值,才允许签发。

BR 第 3.2.2.9 节规定了分阶段要求:

生效日期最少远端视角附加要求
2025-03-152 个允许一定数量的不一致
2025-09-152 个必须满足法定票数,否则不得签发
2026-03-153 个需覆盖至少 2 个不同 RIR 服务区
2026-06-154 个需覆盖至少 2 个不同 RIR 服务区
2026-12-155 个需覆盖至少 2 个不同 RIR 服务区

对申请人的实际影响是:只要有一个地区的验证节点访问不到你的验证文件或 DNS 记录,验证就可能失败。 政企、高校等限制境外访问的环境尤其容易出现这种情况,排查方法见 MPIC 多视角域名验证排障。