摘要

  • RFC 9563 把 DNSSEC 算法 17 分配给使用 SM3 的 SM2,把 DS 摘要类型 6 分配给 SM3,使相应记录在协议线上有了明确含义。
  • 该文档属于 Independent Stream,状态为 Informational,并非 IETF 标准轨道规范;文档明确说明 IETF 与 IRTF 均未分析这些算法是否适合此用途。
  • 注册表条目只是证据链的上游;签名端实现、父子区委派、验证器能力、本地策略、签名验证和应用最终得到的结果仍需分别证明。

一台验证解析器收到带签名的回答,算法字段写着 17。这个数字已经不再含糊:IANA 注册表说明了它指向什么。然而,解析器可能没有 SM2 实现,可能不支持委派中的 SM3 摘要,也可能因本地策略拒绝这条路径。即使密码学运算通过,也无法仅凭这一点证明私钥保管妥当。编号是证据链的起点,不是结论。

RFC 9563 于 2024 年 12 月 4 日发布,规定了 SM2 签名与 SM3 摘要如何进入 DNSSEC 记录:算法号为 17,助记名为 SM2SM3,DS 摘要类型为 6。文档同时清楚划定自身权威边界:这是 Independent Stream 的 Informational RFC,不代表 IETF 社区共识;IETF 和 IRTF 都没有分析 SM2 或 SM3 是否适合这里描述的用途,文档也提醒读者其中可能存在有意或无意的弱点。

这些话不是无关紧要的页眉。它们决定了这份文档究竟能证明什么。

分配编号消除了歧义,没有消除不确定性

没有代码点,不同实现就无法在 DNSKEY、RRSIG 或 DS 中可靠地表示同一算法。分配编号因此有实际价值:它给线上格式一个可互操作的名字,避免私有解释互相碰撞。

截至 2026 年 9 月 27 日,IANA 的 DNS Security Algorithm Numbers 注册表列有算法 17,并把签名、验证以及两侧实现建议都记为 MAY;DS 注册表也把类型 6 的委派和验证用途、实现建议记为 MAY。这是带日期的注册表事实,不是部署调查、采购批准或密码分析结论。

RFC 6014 和 IANA 表格治理的是命名空间:谁能分配编号、适用什么审查规则、编号代表哪种格式。即使某个运营网络里没有任何解析器实现该算法,注册表仍可以完全正确;反过来,实现存在也不代表生态已经广泛接受。把两层合并,就会把目录误读成部署报告。

RFC 7841 提供了另一条边界:RFC 的页眉与样板文字用于标明发布流和文档状态。“RFC 9563”这个整数能稳定定位一份出版物,却不能抹去 Independent Stream,更不能凭空制造 IETF 共识。

DNSSEC 验证是一条路径,不是一次运算

DNSSEC 并不只问某个签名等式能否成立。RFC 4033 区分权威服务器、具备安全能力的解析器和信任锚;RFC 4034 定义 DNSKEY、RRSIG、DS 和拒绝存在证明等记录格式;RFC 4035 则要求验证器组装认证路径:选择自己支持的算法、找到匹配密钥、重建规范化数据、检查签名有效期,并沿被接受的链验证签名。

解析器可能看懂算法号 17,却不会计算 SM2;也可能实现 SM2,却不支持摘要类型 6。子区可以发布 DNSKEY,但父区没有可用的 DS。即便所有密码学原语都在,本地策略仍可能不接受这条路径。

RFC 6840 第 5.2 节揭示了一个容易被忽略的结果:不支持的 DS 摘要算法会像不支持的 DNSKEY 算法一样被忽略;如果没有其他受支持的 DS,验证器可能把委派视为不安全,而不是错误。一个区域可以确实签了名,注册表也完全准确,但某台解析器仍无法建立受支持的认证路径。

RFC 8624 因此维护实现与使用建议,以降低算法变化造成的互操作断裂。它早于 RFC 9563 出版,旧表格当然不能证明算法 17 或摘要 6 的当下支持情况。真实覆盖率只能从具体软件、版本、密码后端、构建选项、配置和解析器群体中测得。

签名有效,只回答一个有边界的问题

RFC 9563 给出了进行密码学运算所需的公钥和签名编码。验证成功可以说明:在选定公钥、验证规则与时间窗口下,规范化 DNS 数据与签名相符。这是重要证据,但它没有说明谁实际控制私钥、此次使用是否获得授权、换钥是否保持连续,也没有说明应用最终接受了返回地址。

RFC 7583 把密钥生成、存储、轮换、泄露处置和退役都视为运营工作,因为密钥存在于系统和组织之中。RFC 9563 同样要求密码敏捷性:一旦发现弱点,运营者可能需要按照缓存时序更新 DS、DNSKEY、RRSIG 和 NSEC3 材料。注册表的一行变化无法代替这项执行工作。

完整证据链应依次保留:出版来源与状态、当前注册表状态、签名端构建与配置、观测到的 DNSKEY/DS/RRSIG、解析器算法能力、信任锚与策略、验证日志、考虑缓存的轮换连续性,以及应用结果。每张收据只证明自己的事件。

按照 Heng Lu 对“运行代码优先”和现实层次的区分,符号权威、配置意图、可执行能力与观测结果都是真实的,但任何一层都无权冒充下一层。RFC 9563 让 SM2 和 SM3 能在 DNSSEC 中被准确说出;之后发生了什么,只能由实现与观测证明。