DNSSEC

DNSSEC 用 RRSIG/DNSKEY/DS 为 RRset 添加数字签名,让验证解析器确认数据来自合法 Zone 私钥、传输未被篡改、且能证明名称/记录不存在;整体体系由 RFC 9364 整理。

#type / concept #status / growing #tech / network #protocol / dns

[!info] related notes

DNSSEC

一句话定义

DNSSEC(DNS Security Extensions) 为 DNS 的 RRset 添加数字签名,让验证解析器能够确认:数据来自拥有该 Zone 私钥的一方、传输后未被修改、且能证明某个名称或记录确实不存在。

核心机制 / 工作原理

关键记录

记录作用
DNSKEYZone 的公钥(KSK 签发密钥、ZSK 区签名密钥)
DS父区保存的子区密钥「摘要」,用于把信任从父传给孩子
RRSIG某个 RRset 的签名
NSEC / NSEC3证明「名称不存在」或「该类型不存在」(覆盖负结论)

信任链(Chain of Trust)

根区信任锚 (Root Trust Anchor)
     ↓  DS/DNSKEY
.top 的 DNSKEY
     ↓  DS/DNSKEY
anyrouter.top 的 DNSKEY
     ↓  RRSIG
anyrouter.top A RRset 的签名

验证解析器从根信任锚开始,逐层用父区的 DS 校验子区的 DNSKEY,最后用 Zone 的 DNSKEY 校验具体记录的 RRSIG。任一环对不上,验证失败。

最小例子 / 最小场景

dig +dnssec anyrouter.top A        # 看 RRSIG/DNSKEY
dig anyrouter.top DS               # 看父区给的摘要

若链路完整,支持验证的解析器会标 ad(authenticated data)标志。

边界与易混淆点

  • DNSSEC 不提供查询保密:旁观者仍能看到「你查了 anyrouter.top」。保密是 DoH/DoT/DoQ 的事(见 dns-over-https-doh)。
  • DNSSEC 不保证业务正确:若运营者错误地签名了 anyrouter.top → 错误 IP,DNSSEC 只会证明「这个错误答案确实由该 Zone 签发」——它验证来源,不验证内容对不对。
  • 与 DoH/TLS/ECH 是不同层面的保护,互补而非替代:
技术保护内容
DNSSEC数据来源真实性与完整性
DoH/DoT/DoQ客户端↔递归解析器传输机密性与完整性
HTTPS/TLS浏览器↔网站通信
ECHTLS ClientHello 中的 SNI 等信息
  • DNSSEC 验证失败会被短暂缓存(见 dns-negative-failure-caching),可能延迟恢复。
  • 部署要求父区支持 DS 上传(即注册局/注册商侧开启 DNSSEC),常因注册商不支持而被卡住。
创建于 2026/7/31 更新于 2026/7/31