IETF 112 DNSOP 工作组讨论了 NSEC3 参数配置问题,指出当前 RFC 5155 仅规定迭代次数上限,缺乏给区域所有者的实用指导。会议建议将盐值迭代计数设为 0,不使用盐值,以减少验证端计算负担且不降低安全性。
NSEC3 机制与三大目标:
NSEC3 作为 DNSSEC 后期加入的设计,试图同时实现三个目标:提供域名不存在的认证证明、防止区域枚举、允许未签名委派的选择性覆盖。其核心机制是对全限定域名应用 SHA-1 哈希,将哈希值按字典序排列形成“步进”区间,替代传统 NSEC 的明文名称排序。NSEC3PARAM 记录在区域顶点指定哈希算法、标志位、迭代次数与盐值四个参数。
迭代与盐值的实际效用分析:
RFC 5155 第 10.3 节仅给出迭代次数上限,未提供推荐值。会议指出:对哈希值再次哈希并不会增强保护强度,仅增加防御者与普通用户的计算开销,对攻击者无实质影响。盐值原意是增加字典攻击难度,但因哈希覆盖完整域名,字典攻击本身跨区域失效,盐值不提供额外防护;反而可能被滥用为针对验证解析器的计算攻击向量。
配置建议与工程取舍:
基于上述分析,会议给出务实建议:将迭代计数设为 0,盐值留空。此配置在不削弱认证不存在性证明的前提下,消除了不必要的计算负担,降低验证解析器被滥用放大攻击的风险。原文未给出具体部署比例数据,但强调该建议源于对哈希函数特性的工程认知而非理论推演。
对运维人员而言,调整 NSEC3PARAM 为零迭代、无盐值是低成本、零风险的优化动作,可直接减少权威服务器签名生成与递归解析器验证的 CPU 消耗,同时规避潜在的计算型滥用向量,建议在下次区域重签时同步应用。
原文: APNIC Blog(2021-11-18)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog