美文网首页
dnssec流程精读

dnssec流程精读

作者: 死鱼 | 来源:发表于2019-06-24 17:02 被阅读0次

用途

1、数据来源验证
2、数据完整性保护

DNSSEC 并非对 DNS 查询和响应本身进行加密签名,而是由数据所有者对 DNS 数据自身进行签名。

涉及到的记录类型

名称 作用 备注
普通记录 给客户端查询使用 包含A、NS、CNAME等普通解析记录
dnskey:zsk(zone sign key) 给zone里面的普通记录签名的密钥对 非对称加密的双密钥,暴露在外面的公钥叫做dnskey
dnskey:ksk(key sign key) 给zsk签名的密钥对
DS ksk公钥的摘要 这玩意一般是下级的DS存在上级,作为普通记录的一部分

随手画个图

流程:

说明,此处假设:
根区域文件包含了com,net等顶级域的解析授权信息,该文件存放在根区服务器;
com,net等顶级区域文件,包含了a.com等次级域的解析授权信息,该文件存放在顶级权威服务器。
需要清楚的是,实际情况上,a.com等次级域的解析授权信息,还会存在顶级权威服务器的下一级授权服务器中,原因尚未了解清楚(例如deadfishcrypto.com是被授权到dns15里面去了)。这里为了简化,就把a.com的解析信息存放在了权威服务器中的com区域文件中去了。

解析验证流程

关于信用锚的数据格式,引用一段话:

4.6.6. 了解信任锚(Trust Anchor)
信任锚由 `DNS` 域名以及此域名相关的公用密钥(或公用密钥的散列值)组成。
其表述为一个基本的 64 比特加密密钥。
其类似于一种信息交换方式的证书,含有公用密钥,
可用于对 `DNS` 记录进行核实和身份验证。

原文参考:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/sec-securing_dns_traffic_with_dnssec

数据结构:

标识:
红色:外部理应能够直接获取的数据
黑色:外部不需要知道的数据
蓝色:官方发布的数据


数据之间的关系

信任链:

这里的信任大前提就是:递归服务器上的信任锚是绝对可信的。


信任链

结论

由此可见,DNSSEC的信任流程是从递归服务器的信任锚开始的,如文章开头所说,DNSSEC并不保证 非数据所有者 的信息是否具备真实性。也就是说递归服务器和客户端之间的数据真实性问题,DNSSEC并不负责。

相关文章

网友评论

      本文标题:dnssec流程精读

      本文链接:https://www.haomeiwen.com/subject/trrvqctx.html