摘要
- RFC 9975 以父区当前发布的子区委派为观察范围:取出全部 NS 名称和对应的全部地址,再直接询问每一个地址。
- NODATA 是一份有意义的权威回答;完全没有回答则需要重试、退避,并可从另一个网络观察点复核。
- 只要相关回答不一致,父区代理就必须终止整个操作,不新增、不删除也不改写目标记录。一致性证明的是共同请求,而不是身份、授权或最终验证结果。
假设同一子区的一个服务器发布了新 CDS 密钥,另一个服务器给出经过验证的 NODATA。两台机器都可能健康,两份回答也都可能带有有效 DNSSEC 证明。若父区只采用先到达的密钥,它便把复制时差变成了信任锚变更;若忽略密钥,它也可能延误一场正常轮换。
普通解析器追求一份可用回答,因而通常无需遍历所有服务器。准备修改 DS、NS 或 glue 的父区代理却在做另一件事:它把子区的可见状态升级为命名空间上层的持久决定。这项动作需要比“能解析”更强的证据标准。
2026 年 5 月发布的 RFC 9975 正式定义了这种标准。Peter Thomassen 是该文档的唯一作者。它要求父区在处理 CDS/CDNSKEY 或 CSYNC 之前,确认委派权威服务呈现“可信的一致性”。这个词没有承诺全知,而是拒绝让一个偶然样本冒充整个服务。
由既有委派确定被询问者
检查不是从请求方提供的一份服务器名单开始。父区代理先读取父区内的子区 NS 委派,获取每个名称的所有 IP 地址,并包括可用的 glue。地址解析应经过验证,然后相关查询被直接送到每个地址。
这一顺序切断了一个利益冲突:被检查的信号不能自己挑选证明该信号的见证者。否则,一个配置错误或有意裁剪的来源可以漏掉仍发布旧状态的服务商。父区的现有委派虽然不等于法律权属,却是父区已经向互联网宣布的运行范围。
只通过递归解析器问一次 NS 名称也不等价。一个名称可以对应多个地址,不同地址可能通往不同实例;同一个 anycast 地址从不同地点也可能抵达不同节点。RFC 因此允许使用另一个网络观察点,对无回答状态再次求证。
这仍是一套有限证据。路径故障可能遮蔽可用实例,测量时刻也不覆盖永远。但有限并不等于任意:代理应保存它依据哪份委派、解析出哪些地址,以及每个地址是否真正进入了本轮判断。
NODATA 与沉默不能互换
RFC 9975 最关键的定义之一,是把 NODATA 明确算作“收到的回答”。服务器权威地作出回应,只是没有返回被询问的记录类型。对 CDS/CDNSKEY 来说,这可能表示该视图没有提出自动变更。
若一个服务器列出新密钥,另一个返回 NODATA,两者不能被平均。忽略 NODATA 会形成单向偏差:只有要求改变的服务器才有发言权,而保持现状的权威回答被当作不存在。
完全没有响应是另一种状态。丢包、路由、过滤或服务器故障都会使观察失败。父区代理应在把地址视为永久不可达之前重试。RFC 给出的退避示例为 5、10、20、40 分钟递增;具体间隔和总时限由本地政策规定。第二观察点可帮助区分服务端故障与单一路径问题。
标准并不要求无限等待。它要求运营者公开那条把“尚未观察到”转为“永久不可达”的规则。等待多久、从哪里重试、由谁升级处理可以本地化;沉默却不能悄悄被解释为同意。
不一致的唯一写操作是零写入
一旦相关状态不一致,父区代理不能选择多数、最高 SOA 序列号或最快回答。它必须放弃此次操作。拟新增的记录不能新增,拟删除的不能删除,现有集合也不能部分调整。
保留旧状态并非宣称旧状态永远正确。它只是父区目前已经发布、风险已知的基线。从两个互相冲突的子区视图中任选一个,都可能破坏解析或 DNSSEC 验证。原地不动为子区完成复制、修复多供应商分裂或采用经过认证的带外流程留下时间。
下一次尝试应重新发起查询,形成一轮新的相干观察,而不是只继承上一轮有利的回答。在某个回答已确认维持现状时,RFC 允许提前移出部分待决查询,因为后续回答只会确认不变或暴露不一致,两种情况都不会产生写入。用于报告的查询仍可继续,以补全诊断。
原子性同样阻止“先改安全的一半”。若一个 CSYNC 请求所依赖的视图互相矛盾,代理不能先移动 NS 再等待地址一致。被评估的是拟议操作整体。
CDS 与 CDNSKEY 比较密钥集合
可信一致性不是要求每个数据包逐字节相同。对 CDS/CDNSKEY,任何一处引用的合格密钥,都必须在其他相关回答中同样被引用。一处存在、另一处缺失,即构成不一致。
完全移除 DS 集合的请求也不能被特殊宽待。一份删除请求若与另一份更新请求或 NODATA 并存,就不是一个共同状态。RFC 对允许参与比较的摘要类型给出了边界;父区可在边界内选择发布策略,却不能通过本地偏好重新解释子区实际共同引用了哪些密钥。
2026 年 7 月以 Best Current Practice 发布的 RFC 10026 由 Steve Sheng 与 Thomassen 合著,它在一致性之外增加另一道门:拟生成的 DS 集合还必须维持有效的 DNSSEC 验证路径。所有服务器完全同意,也可能一致地请求一项会造成失验的错误变更。共同意图与技术连续性不是同一张收据。
CSYNC 允许不同序列号,不允许不同决定
CSYNC 需要针对字段的比较模型。收到的回答中,immediate 标志和类型位图必须一致。SOA 序列号在常规复制或多供应商环境中可能不同,所以每个 CSYNC 序列号要与来自同一服务器的 SOA 一起判断;最终得到的“是否允许更新”决定必须相同。
若 CSYNC 指定要同步 NS 或关联地址等数据集合,相关服务器返回的 RDATA 集必须相等,包括全部为空的情况。CSYNC 的其他处理顺序仍然有效,例如名称服务器与 glue 变更的先后关系。
因此,“问遍所有服务器”只是入口描述。真正的实现必须知道不同记录族允许什么差异,什么代表传播中的过渡状态,什么差异使父区无法安全推导一项变更。
通知只是门铃
Thomassen 也是 RFC 9859 的作者之一。该机制允许子区通知父侧接收者:与 CDS 有关的状态已经变化,从而减少周期扫描的等待。
通知不会跳过证据链。接收者应启动与定时器触发时相同的 DNS 查询和验证。通知送达、全地址采集、跨服务器一致性、预期 DS 验证、父区发布以及缓存过期后的可见结果,是彼此分开的状态。
若把它们压成一个绿色的“自动化完成”,最后到达的消息就会冒充此前每一步和此后结果的证明。通知改善发现速度,却不扩大请求的权力。
一致不等于有权
所有服务器给出同一值,并不能证明域名属于谁、谁有权向 DNS 服务商发令,也不能排除账户被攻破。既有 DNSSEC 链可为部分维护操作提供技术认证。首次引导时父区尚无 DS,需要 RFC 9615 所描述的路径。注册管理机构、注册商和持有者的授权控制仍然位于记录比较之外。
父区写入成功也不代表每个递归解析器已经观察到新状态。缓存会在 TTL 到期前保留旧 DS 或委派数据。子区若过早进入密钥轮换下一阶段,仍可能制造故障。RFC 10026 因此把时间、持续验证、回滚与报告视为独立运行工作。
当子区运营者无法形成一致发布时,RFC 9975 保留经过认证的带外途径。它不是绕开一致性检查的漏洞,而是不同的授权路径。多供应商之间的治理僵局,不能靠让第一个可达服务器获胜来解决。
作者身份记录贡献,而非控制面
RFC Editor 将 RFC 9975 的唯一作者记为 Peter Thomassen。公开 IETF 资料在所审查时点将他列为 deSEC 创始人兼首席技术官、SSE 执行董事、Domain Connect 主席以及 DNSOP 秘书。他也参与撰写 RFC 9615、RFC 9859 和 RFC 10026。
这些事实把他的工作置于可核实的标准演进中,却不意味着他运行每个父区代理、控制注册管理机构、认证具体实现或造成某起事故。RFC 说明最低行为;只有部署日志能证明哪些地址被问过、答案如何比较,以及冲突出现时父区是否真的未动。
这与机制本身的界线相呼应:作者姓名是贡献证据,不是对所有实现的权力;委派中的服务器名称是观察来源,不是单独改写父区的主权。
最终产品是一张决定收据
符合标准精神的系统,应保留定义范围的父区委派、解析出的全部地址与 glue 来源、查询时间和观察点、每个相关回答或 NODATA、验证结果、比较结果、重试、退避和任何永久不可达排除。
随后还要记录拟议的父区差异、持续验证检查、放弃或应用决定,以及发布后的实际父区状态。秘密凭据不应进入这份记录;重现决定所需的证据必须进入。
共同的最低规范很清楚:不得从不一致的子集推导会修改委派的结论。重试时限、替代观察点、报告渠道和允许范围内的摘要策略可以本地决定。运行代码才会证明这条边界是否真正存在于文档之外。
来源
- RFC 9975 — Clarifications on CDS/CDNSKEY and CSYNC Consistency
- RFC 10026 — Operational Recommendations for DNSSEC Delegation Signer Automation
- RFC 7344 — Automating DNSSEC Delegation Trust Maintenance
- RFC 8078 — Managing DS Records from the Parent via CDS/CDNSKEY
- RFC 9615 — Automatic DNSSEC Bootstrapping Using Authenticated Signals from the Zone's Operator
- RFC 9859 — Generalized DNS Notifications
- IETF Datatracker — Peter Thomassen
- IETF Datatracker — Peter Thomassen 官方身份照片
- Heng Lu — Running-Code Primacy
- Heng Lu — Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
