跳到主要内容

8. 区域考虑事项 (Zone Considerations)

已签名区域与未签名区域之间存在若干差异. 已签名区域会包含额外的安全相关记录 (RRSIG, DNSKEY, DS 和 NSEC 记录). RRSIG 和 NSEC 记录可以在提供区域服务之前由签名过程生成. 伴随区域数据的 RRSIG 记录定义了起始时间和到期时间, 由此为签名及其覆盖的区域数据建立有效期.

8.1. TTL 值与 RRSIG 有效期 (TTL Values vs. RRSIG Validity Period)​

需要注意 RRset 的 TTL 值与覆盖该 RRset 的 RRSIG RR 所指定签名有效期之间的区别. DNSSEC 不改变 TTL 值的定义或功能; TTL 值用于在缓存中维持数据库一致性. 无论解析器是否安全感知, 缓存解析器都会不迟于这些 RRset 的 TTL 字段所指定时间段结束时, 从缓存中清除 RRset.

另一方面, RRSIG RR ([RFC4034]) 中的 inception 和 expiration 字段指定签名可用于验证其覆盖 RRset 的时间段. 与已签名区域数据关联的签名仅在相关 RRSIG RR 中这些字段指定的时间段内有效. TTL 值不能延长解析器缓存中已签名 RRset 的有效期, 但解析器可以将已签名 RRset 签名有效期到期前的剩余时间作为该已签名 RRset 及其关联 RRSIG RR 在解析器缓存中 TTL 的上限.

8.2. 区域的新时间依赖问题 (New Temporal Dependency Issues for Zones)​

已签名区域中的信息具有原始 DNS 协议中不存在的时间依赖关系. 已签名区域需要定期维护, 以确保区域中的每个 RRset 都具有当前有效的 RRSIG RR. RRSIG RR 的签名有效期是一个时间间隔, 在此期间某个特定已签名 RRset 的签名可被视为有效; 同一区域中不同 RRset 的签名可能在不同时间到期. 对区域中的一个或多个 RRset 重新签名会改变一个或多个 RRSIG RR, 继而需要递增区域的 SOA 序列号以表明区域已发生更改, 并重新签署 SOA RRset 本身. 因此, 重新签署区域中的任何 RRset 也可能触发 DNS NOTIFY 消息和区域传送操作.