域名系统安全扩展

科技工作者之家 2020-11-17

域名系统安全扩展(英语:Domain Name System Security Extensions,缩写为DNSSEC)是Internet工程任务组(IETF)的对确保由域名系统 (DNS)中提供的关于互联网协议 (IP)网络使用特定类型的信息规格包。

定义域名系统安全扩展(英语:DomainNameSystemSecurity Extensions,缩写为DNSSEC)是Internet工程任务组(IETF)的对确保由域名系统(DNS)中提供的关于互联网协议 (IP)网络使用特定类型的信息规格包。它是对DNS提供给DNS客户端(解析器)的DNS数据来源进行认证,并验证不存在性和校验数据完整性验证,但不提供或机密性和可用性。1

资源记录类型这里所指的资源记录类似于现有的A记录、CNAME记录以及TXT记录。新增三种资源记录类型:RRSIG (Resource Record Signature)、DNSKEY (DNS Public Key)、DS (Delegation Signer)详细内容如下**:2**

RRSIG资源记录签名,该记录用于存放我们当前域名每一条记录的 DNSSEC 签名。

格式

算法类型 (参考附录「算法类型列表」)

标签 (泛解析中原先 RRSIG 记录的名称)

原 TTL 大小

签名失效时间

签名签署时间

Key 标签 (一个简短的数值,用来迅速判断应该用那个 DNSKEY 记录来验证)

签名名称 (用于验证该签名的 DNSKEY 名称)

加密签名

DNSKEY该记录用于存放我们用于检查 DNSSEC 签名的公钥。

格式

标识符 (Zone Key (DNSSEC密钥集) 以及 Secure Entry Point (KSK和简单密钥集))

协议 (固定值3 向下兼容)

算法类型 (参考附录「算法类型列表」)

公钥内容

DS该记录用于存放 DNSSEC 公钥的散列值。

格式

Key 标签 (一个简短的数值,用来迅速判断应该用那个 DNSKEY 记录来验证)

算法类型

摘要类型 (创建摘要值的加密散列算法)

现状及问题(1)无法保证私密性

DNSSEC 并没有改变 DNS 基于 UDP 的通讯方式,数据流也都是明文传输,他所做的只是加上了一个数字签名,而中间人依然可以看到你请求了什么、结果是什么

(2)挟持发生时不能告诉用户真正的记录

当用户的 DNS 被挟持的时候,用户通过检查 DNSSEC 签名,可以知道自己得到的并不是真正的解析结果,而是得到了一个被伪造的地址。但是,用户并不知道真正的解析结果是什么。

(3)支持 DNSSEC****的递归服务器并不多

就目前国内而言,只有 CNNIC 的 4.2.2.4 支持,其他例如 114.114.114.114 以及 223.5.5.5 都不支持,而国外的话,谷歌在 2013 年 5 月 6 号宣布其公共 DNS 服务器 8.8.8.8 以及 8.8.4.4 支持 DNSSEC。

部署目前仅部署在.org域名和.gov(美国政府域名)以及部分国家和地区顶级域(ccTLD),如:.se(瑞典域名)。2010年7月18日,根域名服务器(root-servers.net)已经完成DNSSEC签名。

参见DNSCrypt

DNSCurve

EDNS

TSIG

RPKI

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。