摘要
- RESINFO 让解析器用一条权威记录声明 QNAME 最小化、可返回的扩展 DNS 错误代码与 HTTPS 诊断页面。
- 认证连接或本地 DNSSEC 验证能防止第三方伪造回答,却不会自动核验每项声明是否在具体查询中兑现。
- 解析器声誉、客户端选择政策、任播节点一致性、查询轨迹与最终业务结果各有自己的证据边界。
最值得警惕的不是假回答
假设客户端已经完成加密解析器发现。它在认证连接中发送 RD=0 的 RESINFO 查询,收到 AA=1、且只有一条格式正确的记录。记录里有 qnamemin,列出了 Blocked、Censored、Filtered 等 EDE,还给出一条 HTTPS 帮助链接。
如果这时有人把解析器标成“隐私已验证”,证据就被抬高了一层。现有收据只能说明这台被认证的解析器作出了这些陈述。它没有展示权威服务器实际看到了哪些标签,没有制造一次受控过滤并检查错误代码,也没有证明同一任播地址背后的另一实例给出相同回答。
RFC 9606 直接承认,加密解析器可能返回不准确的 RESINFO。问题因此不是协议遗漏,而是使用者是否尊重它的边界。认证回答可以是真实来源的不实陈述;来源真实性与内容准确性从来不是同一个判断。
发现、取回与选择是三件事
DNR 或 DDR 可以发现加密 DNS 解析器及其 Authentication Domain Name。发现阶段回答“候选服务在哪里、用什么名称认证”。它既没有替客户端选中服务,也没有描述可选功能是否启用。
随后,客户端以 ADN 为 QNAME 查询 RESINFO。若 DDR 使用 resolver.arpa,也可以查询这个特殊名称。RD 必须清零,因为这份信息属于当前解析器,不该通过普通递归从上游取回。若回答没有 AA,客户端必须丢弃。理解 RESINFO 的解析器应给出恰好一条记录;格式无效的记录不进入判断。
为了抵抗伪造,客户端还要么在已经认证的安全连接中查询,要么自行完成 DNSSEC 验证。resolver.arpa 只能使用前一种办法。一个不理解 RESINFO 的解析器可能把查询递交上游,此后返回的正面答案可能来自别的解析器甚至攻击者。仅看字段内容而丢掉传输上下文,会让一条“权威”外观的记录借来不属于它的身份。
这些步骤分别证明发现关系、直接回答形式与来源完整性。它们尚未证明客户端应当选择谁。
qnamemin 是配置声明,不是逐跳录像
qnamemin 是存在即为真的布尔属性,表示解析器被配置为按 RFC 9156 尽量减少向权威服务器发送的隐私敏感名称。它故意很短,因此也没有携带测试名称、缓存状态、委派过程、例外处理或回退路径。
若要核验行为,运营者需要控制一个域名,准备可说明的缓存状态,在各层权威端观察实际查询,并记录解析器实例、时间和每一步暴露的标签。软件或配置改变后,还要用同一方法复测。
这样的轨迹也只覆盖一次实验。它不能保证所有名称与未来时刻,却比自述多了一项关键东西:执行事实。RESINFO 说“我被这样配置”,权威端轨迹说“这次我确实这样做了”。两者都重要,不能互相冒名。
exterr 说明能说什么,不说明决定是否合理
exterr 列出解析器可能返回的 Extended DNS Error 代码。出现 Blocked、Censored 或 Filtered,表示解析器可以在相关情况下给出这类理由。它不保证每次过滤都有 EDE,不证明过滤规则获得授权,也不证明分类正确或应用会把理由展示给人。
RFC 9606 给出了一个很有价值的纠错环。若客户端实际收到的 EDE 不在列表中,它可以重新查询 RESINFO。若差异仍在,客户端可以认定自述不准确并弃用它。这里,运行中的事实拥有纠正清单的权力。
反方向不能简单推理。一个已声明的代码长期没有出现,可能只是测试没有触发条件,也可能是逐步发布、不同实例或陈旧记录。要分辨这些原因,必须把测试查询、DNS 回答、EDE、预期政策、时间和到达实例放在同一份记录里。
HTTPS 页面不是政策裁判
infourl 指向通用诊断材料与问题报告方式。它必须使用 HTTPS;无效值会被忽略。标准明确把它定位为 IT 人员的排障资料,而非最终用户的选择界面。
HTTPS 可以保护到指定信息服务器的连接,不能证明页面完整、及时或已经执行。写下过滤原则不等于每次过滤都符合原则,提供申诉渠道也不等于申诉获得处理。自动化系统应保存该页面的地址与版本,但不能把它当成授权书或行为测量。
任播让“这台解析器”变成采样问题
共享 ADN 或任播地址的一组解析器实例应该公布一致的 RESINFO。这里的“应该”需要工程执行。不同客户端可能到达不同节点;同一客户端在读取自述与开展测试之间也可能改走另一条路。配置发布往往有先后。
每次采集因此要保存测量位置、目标、连接、时间、TTL,以及能够观察到的实例线索。同一个 ADN 下若出现两种记录,差异本身就是结果,不能用平均值制造一个不存在的统一配置。
反过来,两条记录完全相同也不证明运行路径相同。两个节点可能复制了同一自述,却运行不同版本;也可能在记录短暂不一致时做出相同行为。声明历史与行为历史必须分别版本化,再按时间与路径关联。
声誉属于本地政策
当某项属性无法在选择时直接验证,RFC 9606 建议只有在解析器按照本地政策具有足够声誉时才使用它。声誉可以来自用户配置、管理员配置或内置可信列表。
这条规则把最后决定还给承担查询风险的一方。IANA 统一键名;解析器发表声明;安全连接确认发言者;本地政策决定信任额度。任何登记项和认证回答都不能强迫客户端选择服务。
Lu Heng 强调的运行代码优先原则,在这里不是反标准。恰恰相反,最小共同规范让承诺可以比较,而本地观察防止承诺吞掉现实。RFC 9606 的成功不应以“多少客户端显示绿灯”衡量,而应以差异能否被准确发现和解释衡量。
来源
- https://www.rfc-editor.org/rfc/rfc9606.html
- https://www.rfc-editor.org/info/rfc9606/
- https://www.rfc-editor.org/rfc/rfc9606.txt
- https://www.rfc-editor.org/rfc/rfc9606.xml
- https://datatracker.ietf.org/doc/rfc9606/
- https://datatracker.ietf.org/doc/rfc9606/history/
- https://www.rfc-editor.org/errata/rfc9606
- https://www.rfc-editor.org/rfc/rfc9462.html
- https://www.rfc-editor.org/rfc/rfc9463.html
- https://www.rfc-editor.org/rfc/rfc9156.html
- https://www.rfc-editor.org/rfc/rfc8914.html
- https://www.rfc-editor.org/rfc/rfc1035.html
- https://www.rfc-editor.org/rfc/rfc6763.html
- https://www.rfc-editor.org/rfc/rfc8126.html
- https://www.rfc-editor.org/rfc/rfc7070.html
- https://www.rfc-editor.org/rfc/rfc9499.html
- https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
