跳到主要内容

6. 资源记录的规范形式与排序

本文档定义了用于对资源记录集合(RRset)进行签名和验证的资源记录规范形式(canonical form)以及规范顺序(canonical order)。使用规范形式可以确保:当区域的表示形式(presentation)变化时(例如,在域名的名称服务器之间进行区域传输时,域名被压缩或大小写被更改),签名仍然有效。

6.1. 规范形式​

在对资源记录进行签名或验证时,构成签名输入(signature input)的资源记录 MUST 以规范形式表示。资源记录的规范形式如下:

  • 所有者名称(OWNER NAME) MUST 以规范形式的域名表示(见第 6.2 节)。
  • RDATA 的以域名形式表示的任何部分 MUST 以规范形式的域名表示(见第 6.2 节)。
  • 如果资源记录的类型定义了以域名形式表示的 RDATA 字段(例如,NS、MX、CNAME、SOA、PTR 记录等),则这些域名在规范形式中也 MUST 表示为规范形式(不压缩、全小写)。
  • 所有域名 MUST 不压缩。
  • 任何以文本字符串()形式出现的域名的部分 MUST 以规范形式表示,且不压缩。
  • 对于本文档所定义的 DNSSEC 类型(DNSKEY、RRSIG、DS、NSEC),其 RDATA MUST 按第 2、3、4、5 节中规定的格式和顺序逐字段以二进制形式写出。

具体规则如下:

  1. 对于 DNSKEY 资源记录:RDATA 的规范形式由标志(16 位)、协议(8 位)、算法(8 位)和公钥(以线上格式表示的字节串)依次拼接而成。
  2. 对于 RRSIG 资源记录:RDATA 的规范形式由类型覆盖、算法、标签数、原始 TTL、签名有效期、签名起始期、密钥标记、签名者名称(规范域名)和签名依次拼接而成。
  3. 对于 DS 资源记录:RDATA 的规范形式由密钥标记、算法、摘要类型和摘要依次拼接而成。
  4. 对于 NSEC 资源记录:RDATA 的规范形式由下一个域名(规范形式)和类型位图(按照第 5.1 节编码)依次拼接而成。

6.2. 域名的规范形式​

域名的规范形式(canonical form)定义如下:

  • 域名中的 US-ASCII 字母 MUST 以小写形式表示(即,在选择大小写不敏感的情况下,使用小写)。例如,字符 "A" 至 "Z" MUST 映射为 "a" 至 "z"。
  • 域名 MUST 不压缩(即,不使用标签压缩指针)。
  • 域名 MUST 以域名的完整、未压缩的线上格式(wire format)表示,以一个空标签(零长度标签)终止。

6.3. 规范顺序​

规范的资源记录顺序(canonical RR order)用于确定 RRset 中资源记录的相对顺序,以及区域中域名和类型的顺序(例如,由 NSEC 记录使用)。规范顺序定义如下:

  1. 首先按所有者名称的规范形式以不区分大小写的方式排序,使用域名规范顺序(见下文)。如果在所有者名称上无法区分(即,名称相等),则转至下一步。

  2. 然后按资源记录类别(CLASS)以数值升序排序(对于 DNSSEC,类别通常为 IN)。如果类别相等,则转至下一步。

  3. 然后按资源记录类型(TYPE)以数值升序排序。

  4. 然后,对于具有相同所有者名称、类别和类型的 RRset 内的记录,按 RDATA 的规范形式的二进制排序(canonical RDATA order)升序排序:

    • 对于 RDATA 中包含域名的类型,域名以规范形式比较(不区分大小写)。
    • 对于 SOA 记录,按以下字段顺序比较:MNAME、RNAME、SERIAL、REFRESH、RETRY、EXPIRE、MINIMUM,每个字段以其规范形式比较。
    • 对于含有多个域名的类型(例如,MX 记录的优先级之后跟随目标域名),首先比较非域名字段,然后按规范形式比较域名。
    • 对于本文档定义的 DNSSEC 类型,按第 6.1 节中规定的二进制 RDATA 顺序逐字节比较。

域名规范顺序(canonical DNS name order):两个域名按照从末尾(最右侧标签)到开头的顺序逐标签比较,每个标签内部按不区分大小写的字节序比较。例如,名称 "a.example." 在 "b.example." 之前,而 "example." 在 "a.example." 之前。

6.4. 签名与验证的处理​

当对 RRset 进行签名时,签名方 MUST 按照第 6.1 至 6.3 节中的规范形式与规范顺序将 RRset 中的每条资源记录写到签名输入中,然后应用签名算法(见 [RFC4035])。验证方 MUST 以相同方式重建签名输入并验证签名。


相关章节导航: