事件背景:DNS根密钥签名密钥二次轮换
据 Cloudflare 官方博客 披露,互联网根区(Root Zone)计划于 2026年10月11日 执行第二次密钥签名密钥(KSK)轮换。新密钥编号为 KSK-2024(密钥标签 38696),将取代自2017年起使用的 KSK-2017(密钥标签 20326),承担根区 DNSKEY 记录集的签名职责。此次更换仅替换密钥对,算法仍保持 RSA/SHA-256。
DNSSEC 信任链与根密钥角色
DNSSEC 通过数字签名验证 DNS 应答的真实性与完整性。解析器在查询如 cloudflare.com 时,信任链从根区延伸至 .com 再到具体域名,每一步由父级发布 Delegation Signer (DS) 记录指纹子级公钥。由于根区没有上级父区,解析器必须预置一个信任锚(Trust Anchor)——即根区公钥或指纹,作为验证起点。
KSK 与 ZSK 的分工
根区签名密钥分为两类:区域签名密钥(ZSK)直接签署根区记录(含顶级域的 DS);密钥签名密钥(KSK)则签署根区公布的 DNSKEY 记录集。解析器用预置的 KSK 验证 DNSKEY 集合,再取出其中的 ZSK 验证其他记录。因此,若解析器不信任新的 KSK,将导致所有顶级域下的域名可能解析失败。
轮换机制与解析器应对
根据 RFC 5011,支持自动更新的验证解析器可平滑学习新信任锚:根区在 DNSKEY 集中同时发布新旧 KSK,解析器用旧密钥验证新密钥记录,并观察至少 30 天且持续校验通过后,才接受新密钥为信任锚。KSK-2024 已于 2025年1月11日 起在根区发布,为自动更新留出充足时间。
运维实践与潜在风险
2018 年首次轮换时,部分解析器因软件升级或迁移丢失了自动习得的状态。为避免此类问题,Cloudflare 自 2024 年 7 月起将 KSK-2024 直接内置到 1.1.1.1 等解析服务的软件信任锚中。对于自建验证解析器的运维者,需检查系统是否已有新密钥,若缺失应依据软件厂商指引手动更新信任锚。
就绪测试:RFC 8509 哨兵机制
RFC 8509 定义了根密钥信任锚哨兵(Root Key Trust Anchor Sentinel),通过特殊域名查询检测解析器对某根密钥的信任状态。例如 is-ta-38696 与 not-ta-38696 查询:若解析器信任 KSK-2024,前者返回正常应答,后者返回 SERVFAIL。Cloudflare 在 dnstest.dev 提供在线测试,用户也可对 1.1.1.1 执行 dig 命令验证。
对读者的意义与技术解读
本次轮换对绝大多数仅使用公共 DNS(如 1.1.1.1、Cloudflare 托管 DNS)的网站运营者无感知,系统已提前内置新锚点。但对于企业内网、自建递归 DNS 或具备 DNSSEC 验证能力的 SRE 与网络工程师,需主动排查解析器信任锚状态:
- 在 2026 年 10 月前,通过 RFC 8509 哨兵或 dig 查询确认解析路径上的验证解析器已信任
KSK-2024; - 对使用 BIND、Unbound 等软件的节点,检查
managed-keys或trust-anchor配置,必要时手动注入密钥标签 38696 的 DS 记录; - 监控 DNSSEC 验证失败率与 SERVFAIL 告警,避免因密钥切换导致业务域名不可达。
轮换本质是密码学密钥生命周期管理,也是一次全网信任分发链路的实战演练。运维团队应将此类根区事件纳入变更日历,结合主动探测与被动监控,保障解析可用性 SLA。