最近,我一直在阅读有关 DNSSEC 及其工作原理的文章。我在这个网站和其他与此事相关的网站上发现了其他问题和一些非常有趣的答案。
但是,我有一个在任何地方都找不到答案的问题:客户端如何知道应该对 DNS 区域进行签名?如果machineA从未解析过名称example.com,DNSSEC 如何防止攻击者拦截 DNS 查询离开machineA并使用格式良好的 DNS 回复来回复该查询,该回复包含恶意 IP 地址,但似乎来自解析器?
换句话说,我无法理解 DNSSEC 如何防止中间人攻击。如果主机以前从未解析过名称,它怎么知道回复应该是签名的?
我了解 DNSSEC 如何防止缓存中毒,以及如何确保消息的完整性,但如果有人只是坐在用户计算机和解析器之间以剥离 dnssec 信息,这一切似乎都崩溃了。