域名系统安全扩展

目录导航

定义

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

资源记录类型

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

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

相关百科
返回顶部
产品求购 求购