因此,我一直在尝试通过阅读 RFC 以及互联网上的其他各种帮助页面来了解 DNS 和 DNSSEC 的工作原理,但我不确定我是否完全理解,所以我想知道是否有人可以帮助我。
以下是我目前所掌握内容的概要:
DNSSEC 实际上并不加密任何数据,以保持系统足够高效地正常运行,但用于验证服务器收到的 RRset 的完整性和真实性。
DNSKEY RR 保存着区域可用于验证 RRSIG RR 中的签名的公钥。
区域在区域顶点还会有一个 DNSKEY,可作为区域的入口点。区域切口的另一侧会有一个指向此 DNSKEY 的 DS RR。
我对 NSEC RR 有点困惑。
它说它保存了与 RR 所有者名称相关的所有资源记录类型,然后指向下一个名称。
这里的所有者名称是什么意思?它是指区域的名称吗?还是主机的名称?
我的另一个问题与数据包拦截有关。由于没有任何加密,任何人仍然可以拦截数据包,对吗?
如果是这样的话,那么我猜这就是 NSEC 记录的意义所在,所以如果解析器看到 NSEC 认为不应该看到的东西,它就知道该数据包已被更改了?
但我仍然不太明白顶点中的 DS 和 DNSKEY 在这里是如何发挥作用的,因为我假设这就是它们以某种方式发挥的作用,所以我肯定在这里遗漏了一些基本的东西。
任何帮助都将受到赞赏。
答案1
所有者名称是指左侧的名称。这是您正在讨论的记录的完全限定域名,在本例中为 NSEC 记录。
任何人都可以拦截数据包并查看其中的记录。NSEC(或 NSEC3)记录的存在意味着可以为不存在的名称创建签名。在常规 DNS 中,标头中的标志(NXDOMAIN)表示名称不存在。当然,这可以被欺骗。NSEC(或 NSEC3)记录基本上表示“这两个名称之间不存在任何名称,并且只有这些 RR 存在于第一个名称中”。
DS 记录只是 DNSKEY 的哈希值。DNSKEY 位于子区域中,DS 记录位于父区域中。然后,父区域使用父区域的 DNSKEY 签署 DS 记录。这在父区域和子区域之间建立了信任链。