摘要
- RFC 9525 要求客户端独立于服务器证书,先构造可接受的参考标识符列表;服务器不能用自己的陈述定义通过条件。
- 一次精确匹配只能验证既有预期,无法修复恶意输入,也不能把 DNS 中间名或 SVCB 连接目标自动提升为原始服务身份。
匹配的两边不能由同一方填写
RFC 9525 将服务身份核验拆成两类标识符。服务器在 PKIX 叶证书里给出“呈现标识符”;客户端则持有“参考标识符”,表示它事先预期并愿意接受的身份。核验要在两个集合之间寻找匹配。
这条分工避免了循环证明。如果客户端从待验证证书中提取一个名字,再把它设为参考,服务器只需陈述自己是谁就能通过。规范因此要求:参考列表的构造必须独立于服务器呈现的任何标识符。
参考标识符来自源域名,并可能包含应用服务类型。协议不同,可采用 DNS-ID、IP-ID、SRV-ID 或 URI-ID。它们不是几种随意互换的字符串格式;是否包含服务类型、是否精确匹配地址、允许哪些类型,都属于应用策略。
找到匹配后,客户端把匹配到的参考标识符作为已验证服务身份。方向没有颠倒:证书符合预期,不是证书创造预期。
“我要去哪里”也需要来源记录
源域名可能来自用户输入的 URL、预置账户参数、网页链接或其他应用信息。每条通道都带着自己的权力来源。管理员配置的邮件主机,与陌生消息中出现的链接,不能只因都能解析成域名就获得同等信任。
若用户点击钓鱼链接,客户端可能为恶意站点构造出完全自洽的参考身份。站点持有与之匹配的合法证书,TLS 核验也会正确成功。错误发生在意图进入比较器之前,而不是字符比较过程中。
证书不知道链接由谁提供,不知道配置是否获批,也不知道使用者原本想去哪里。它只能回答“呈现身份是否匹配这项参考”,无法回答“这项参考是否值得被构造”。
因此,引用 RFC 9525 的应用必须承担生成规则:限制可接受的 URI scheme,规定它们如何映射服务类型,要求敏感输入来自安全上下文,并说明哪些标识符类型进入列表。若这些规则只存在于代码偶然行为中,认证最先发生的决定便无法审计。
解析出来的名字不自动继承意图
客户端拿到原始服务名后,DNS 与发现系统可能给出别名、目标名和地址。它们往往长得像证书中的域名,也确实属于最后接收连接的设施。RFC 9525 仍然规定:中间值不会仅因被解析出来就成为参考标识符。
应用可以另行定义受认证的提升流程。没有这种流程,就应保留原始参考。否则,控制解析链的一方就能把“怎样抵达服务”的权力转化成“服务是谁”的权力。
外包托管正需要这种分离。原始域名可以把流量送往供应商域名,连接终止在供应商设备上;证书却要按照协议规则代表原始服务。只匹配设施目标,证明的是路由对象,而不是使用者选择的服务。
SVCB 改路,不改验证身份
RFC 9460 的 SVCB 与 HTTPS 记录允许 AliasMode 委托运营控制,也允许 ServiceMode 描述多个替代端点与连接参数。但规范明确保留原点和验证权威,TLS 客户端仍须为原始服务名验证证书。
在 HTTPS 中,SNI 与 HTTP authority 也指向 origin,而非记录里的 TargetName。TargetName 决定尝试连接哪里;origin 决定正在代表哪项服务。两者可以不同,并不构成矛盾。
监控系统若只保留“host”,就会被迫选一边。记录连接端点而丢掉 origin,会把基础设施名称误当服务身份;只记 origin,又会看不见实际流量去向。两列并存,才足以解释负载均衡、故障切换与供应商迁移。
类型、通配符和多重接受路径
证书匹配不是视觉相似。DNS 名按标签规则比较,IP-ID 要求地址字节精确相等,SRV-ID 与 URI-ID 还可能要求服务类型相同。客户端不能从一个参考取域名、从另一个参考取服务类型,再拼出从未批准的组合。
允许通配符时,它只能完整占据最左侧一个标签,并且只匹配一层。这样的约束降低歧义,却不证明所有被覆盖主机都由同一可靠团队运营,更不证明它们的行为安全。
客户端也可能构造多个可接受参考。兼容性会因此提高,接受面也会扩大。每增加一种标识符类型,都要重新判断签发机构的名称约束与本地策略能否覆盖它。更多路径不是免费的安全增益。
名字相符不是整张证书合格
RFC 9525 只处理叶证书中的服务身份形式,不创建或验证证书链。有效期、吊销状态、信任锚、密钥用途与完整路径仍要单独核验。名字可以精确匹配,整张证书仍应被拒绝。
匹配也不会认证 URI path 或 query,不会授予某项资源,不会证明服务器行为或应用事务成功。TLS 1.3 本身与应用协议无关;上层协议仍要决定如何启动 TLS,以及如何解释交换来的认证材料。
一张证书覆盖许多名字,还会把风险绑在一起。任何能够使用该证书的较弱服务器遭到攻破,都可能影响集合中的其他名字。匹配证明名字处于证书范围,不证明所有持有者具有相同运营强度。
失败时关闭,成功时保留来路
没有匹配时,自动客户端通常应以证书错误终止;直接面向人的客户端也应说明身份不符并默认结束连接。即时忽略错误或临时 pinning 需要极强克制,因为它们发生在最容易受诱导的时刻。
成功案例同样需要证据链。应保存初始输入、源域名、服务类型、完整参考列表、发现路径、实际连接端点、证书呈现集合、具体匹配项,以及证书路径与吊销核验结果。否则,系统只能证明比较算对了,却无法证明左边的数从哪里来。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
