<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dnssec on Lutong's Homepage</title><link>https://www.elliot98.top/tags/dnssec/</link><description>Recent content in Dnssec on Lutong's Homepage</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 14 Jun 2020 20:57:12 +0800</lastBuildDate><atom:link href="https://www.elliot98.top/tags/dnssec/index.xml" rel="self" type="application/rss+xml"/><item><title>技术摘要| 论 DNSSEC 系统的信任锚点和旁路验证扩展 (DLV)</title><link>https://www.elliot98.top/post/tech/dnssec-dlv/</link><pubDate>Sun, 14 Jun 2020 20:57:12 +0800</pubDate><guid>https://www.elliot98.top/post/tech/dnssec-dlv/</guid><description>&lt;h2 id="域名树和-dns-递归查询"&gt;域名树和 DNS 递归查询&lt;/h2&gt;
&lt;p&gt;DNS 作为一个非常重要的互联网基础设施，已经陪伴我们走过了数十个春夏秋冬。DNS 系统的最基础的功能，便是将一个人类可读的域名，转化为一个机器可读的 IP 地址。然后安全性并不在 DNS 系统设计的早期考量之中。直到 DNSSEC 的出现，才给这个问题带来了一线解决的希望。&lt;/p&gt;
&lt;p&gt;DNS 域名系统是一个树状结构。根域名构成了域名系统的根，根域名之下有若干个全球顶级域名，比如耳熟能详的 .com ， .org 等等。再往下便是大家更加熟悉的 baidu.com， apple.com 这些域名。就这样，域名系统构成了域名数。&lt;/p&gt;
&lt;p&gt;域名的递归查询操作也便是在这样的树上进行从根到叶子的查询操作。比如查询 &lt;a href="https://www.baidu.com"&gt;www.baidu.com&lt;/a&gt; 的 IP 地址。那么首先 DNS 查询报文首先发往了全球 13 个根 DNS 服务器之一。这些服务器进一步返回了 .com DNS 服务器的地址，也就是一个 NS 记录。之后，向 .com DNS 地址查询 baidu.com 的 DNS 服务器地址。最后从 baidu.com 的 DNS 服务器地址查询得到 &lt;a href="https://www.baidu.com"&gt;www.baidu.com&lt;/a&gt; 的 IP 地址。&lt;/p&gt;
&lt;p&gt;当然，引入了缓存和 CNAME 之后，使得查询过程变得更加复杂，但是原理上就是域名树上递归地从根到叶子的递归查询过程。&lt;/p&gt;
&lt;h2 id="dnssec-的签名验证过程"&gt;DNSSEC 的签名验证过程&lt;/h2&gt;
&lt;p&gt;DNSSEC 是这样的，在 DNS 系统中引入了一个类似 PKI 的体系，并提供了域名和公钥哈希的绑定关系。这样，可以使用公钥来验证域名解析及其签名。DNS 域名树的结构，正好提供了一个非常可靠的 PKI/CA 结构，因此 DNSSEC 是直接架设在域名树之上，而无需额外维护一个 CA 体系。&lt;/p&gt;
&lt;p&gt;域名的签名过程是这样的，域名的 A 记录及其他记录通常称为是 RR 记录。域名所有者将生成两对公私钥 ZSK 和 KSK，分别被称为&lt;strong&gt;域签名秘钥&lt;/strong&gt;和&lt;strong&gt;秘钥签名秘钥&lt;/strong&gt;。使用 ZSK 域签名秘钥的私钥签名 RR 记录并形成了 RR 签名记录，也就是 RRSig 。之后，再使用 KSK 签名 ZSK 的公钥。&lt;/p&gt;</description></item></channel></rss>