继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

什么是DNSSEC?DNSSEC的概念及作用

tanhouyusheng
关注TA
已关注
手记 13
粉丝 17
获赞 196

DNS服务是 Internet的基本支撑! 其安全问题具有举足轻重的地位,DNS 面临拒绝服务"缓冲区中毒"区域信息泄漏等众多威胁!为解决 DNS安全问题而提出的 DNSSEC为 DNS提供了数据完整性"机密性的保护,但仍有待完善。我们接下来了解一下DNSSEC的基本原理以及各组成部分的作用。

DNSSEC是什么?

定义

DNSSEC全称Domain Name System Security Extensions,即DNS安全扩展,是由IETF提供的一系列DNS安全认证的机制(可参考RFC2535)。它提供一种可以验证应答信息真实性和完整性的机制,利用密码技术,使得域名解析服务器可以验证它所收到的应答(包括域名不存在的应答)是否来自于真实的服务器,或者是否在传输过程中被篡改过。

通过DNSSEC的部署,可以增强对DNS域名服务器的身份认证,进而帮助防止DNS缓存污染等攻击。

DNSSEC给解析服务器提供了防止上当受骗的武器,是实现DNS安全的重要一步和必要组成部分。

原理

DNSSEC通过公钥密码技术对DNS中的信息创建密码签名,为DNS信息同时提供认证和信息完整性检查,它的实施步骤如下:

DNS服务器收到DNS查询请求后,用散列函数将要回复DNS报文的内容进行散列运算,得到“内容摘要”,使用私匙加密后再附加到DNS报文中;

DNS查询请求者接收到报文后,利用公匙解密收到的“内容摘要”,再利用散列函数计算一次DNS查询请求报文中的“内容摘要”,两者对比;

若相同,就可以确认接收到的DNS信息是正确的DNS响应;若验证失败,则表明这一报文可能是假冒的,或者在传输过程、缓存过程中被篡改了。

DNSSEC的缺点
标记和校验DNS数据显然会产生额外的开销,从而影响网络和服务器的性能。签名的数据量很大,这就加重了DNS对Internet骨干网以及一些非骨干连接的负担。产生和校验签名也占用了很多CPU的时间。有时候,不得不把单处理器的DNS服务器换成多处理器的DNSSEC服务器。签名和密钥占用的磁盘空间和RAM容量达到它们表示的数据所占容量的10倍。同时数据库和管理系统也不得不进行相应的升级和扩容。

DNSSEC相关术语

DNSKEY/RRSIG/DS/NSEC资源记录

为了实现资源记录的签名和验证,DNSSEC增加了四种类型的资源记录:

RRSIG(Resource Record Signature)记录:存储资源记录集合(RRSets)的数字签名

DNSKEY(DNS Public Key)记录:存储公开密钥

DS(Delegation Signer)记录:存储DNSKEY的散列值,用于验证DNSKEY的真实性,从而建立一个信任链

NSEC(Next Secure)记录:用于应答那些不存在的资源记录

信任锚(Trust anchor)

DNSSEC需要一个信任链,必须有一个或多个开始就信任的公钥(或公钥的散列值),称这些初始信任的公开密钥或散列值为“信任锚(Trust anchors)”。

DLV(DNSSEC Lookaside Validation)

即DNSSEC旁路信任源。

KSK/ZSK与Signed zone

权威域的管理员通常用两个密钥配合完成对区数据的签名,一个是Zone-Signing Key(ZSK),另一个是Key-Signing Key(KSK)。

ZSK用于签名区数据,而KSK用于对ZSK进行签名,被签名的区数据则被称为Signed zone。

DNSSEC的应用场景

一、配置安全的域名解析服务器(Resolver)

即用户使用的DNS,常被称为本地DNS(Local DNS)或公众DNS。

通过该Resolver服务器可以保护使用它的用户,防止被DNS欺骗攻击,DNSSEC在这里只涉及数字签名的验证工作。

二、配置安全的权威域名服务器(Name Server)

也被称为授权DNS,例如CloudXNS。

DNSSEC对权威域的资源记录进行签名,保护服务器不被域名欺骗攻击。

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP