DNESEC是什么?DNESEC有什么作用?
2025/11/18
来源:
爱名网
作者:
Jerry
浏览:126
DNESEC是什么?
DNSSEC(Domain Name System Security Extensions),中文标准译名:域名系统安全扩展
DNESEC的作用
1、身份验证。让解析器确信收到的 DNS 应答确实来自权威服务器,防止“假答案”。
2、数据完整性。通过数字签名链(RRSIG + DNSKEY + DS 记录)确保应答在传输途中未被篡改。
3、已验证的否认存在。利用 NSEC/NSEC3 记录,可对“域名不存在”这类否定应答也进行签名,堵住“伪造 NXDOMAIN”攻击。
4、抵御三大典型攻击。DNS 缓存投毒(Cache Poisoning)、中间人劫持(MITM)、DNS 重播攻击(Replay)
DNSSEC的主要构成
1、 KeyTag(密钥标签)定义:KeyTag 是一个 16 位的整数(范围 0-65535),用于唯一标识对应的 DNSKEY 记录(DNSSEC 中的公钥记录)。
作用:当一个域名存在多个 DNSKEY(例如不同算法的公钥或新旧密钥交替)时,KeyTag 可以快速定位与当前 DS 记录匹配的 DNSKEY,避免混淆。
生成方式:通过特定算法从 DNSKEY 的公钥数据中计算得出(具体规则见 RFC 4034),确保同一公钥的 KeyTag 唯一。
2、Alg(算法)定义:Alg 是一个 8 位整数,代表DNSKEY 记录使用的签名算法(或密钥算法)。
作用:告知验证方(如递归 DNS 服务器)应使用哪种算法来验证子域的 DNS 签名(如 RRSIG 记录)。不同的算法有明确的编号(由 IANA 定义)
3、DigestType(摘要类型)定义:DigestType 是一个 8 位整数,代表生成 Digest(摘要) 时使用的哈希算法。
作用:告知验证方应使用哪种哈希算法来验证 Digest 的合法性。常见的哈希算法编号(IANA 定义)
4、Digest(摘要)定义:Digest 是一段二进制数据(长度取决于 DigestType),由子域的DNSKEY 公钥通过 DigestType 指定的哈希算法计算得出。
作用:Digest 是父域 “认可” 子域公钥的核心凭证。父域通过在自己的 DNS 区域中发布包含 Digest 的 DS 记录,向整个 DNS 系统声明:“这个子域的公钥(对应 KeyTag 和 Alg)是可信的,其哈希值为 Digest”。
验证逻辑:递归 DNS 服务器在验证子域数据时,会先获取子域的 DNSKEY,用 DigestType 算法计算其哈希值,再与父域 DS 记录中的 Digest 对比。若一致,则证明子域的公钥未被篡改,可用于验证后续的签名(如 RRSIG)。