Episode 4
信任层级体系
前面说过,DNS 是层级结构的。
解析器想查 dnsimple.com 的 A 记录,得先问根服务器:.com 的服务器在哪儿?
* 这位是漫画《HowDNS.works》里的角色
然后 .com 服务器会给解析器指路:dnsimple.com 的权威域名服务器在那边。
* 这位是《HowDNS.works》里的另一个角色
最后,权威服务器把 dnsimple.com 的 A 记录对应的 IP 地址双手奉上。
* 还是《HowDNS.works》里的角色,懂的都懂。
这一整套,都建立在一根信任链上。
每跟一台服务器打交道,解析器都默认:自己正从可信的父区(爹),被引导到可信的子区(娃)那里。
在 DNSSEC 的世界里,这份信任靠一种新记录类型来传递——委托签名者(delegation signer,DS)。
DS 记录在子区生成,然后上交父区保管。
DS 记录的内容是:你的 DNS 服务商把 DNSKEY 记录里那把密钥签名密钥的公钥,做了一次哈希。
这条 DS 记录,必须放在父区里。
解析器来查子区时,父区会把 DS 记录交给它。
这一手有两个妙处:
其一,解析器由此得知:这家的子区开了 DNSSEC。
其二,解析器可以拿父区里明文存放的 DS 记录,跟子区的 DNSKEY 对一对暗号。
解析器把子区的 DNSKEY 重新哈希一遍,再和 DS 记录比对。
对不上?解析器立刻明白:这个区被人动过手脚了。
对上了?解析器从此就信任 dnsimple.com 了。
好,DNSimple 可信了。可 .com 和根服务器呢?它们又找谁背书?