DNS协议存在的安全问题
DNS 是一个分布式的域名解析系统,它通过缓存技术、树状分层授权结构实现域名与IP 地址及邮件服务等的相互转换,但DNS 服务与域名解析服务器之间采用无连接的UDP 协议,无法确认数据来源及是否被篡改,存在较大的安全隐患,使得DNS 服务器经常遭受各种攻击。目前DNS主要存在数据包截取、ID猜测、缓存中毒、DDoS分布式拒绝服务攻击、缓存区漏洞溢出攻击、域名无效攻击、不安全的动态更新和信息泄漏等多种安全威胁。
目前有一些非DNSSEC 安全措施能缓解部分DNS 安全问题:
1)限制ZONE 区域数据传送;
2)服务地址限制;
3)关闭域名服务器递归查询功能;
4)Split DNS;
5)TSIG机制。
但这些安全措施仅从局部缓解DN S 部分安全问题,没有对DNS报文数据进行源身份认证和数据完整性检查,没有从DNS 内部根本解决安全问题。
DNS安全扩展协议(DNSSEC)
公钥机制(非对称加密算法)是一种强安全性的加密技术,其优点是密钥管理方便,可实现数字签名和身份认证等功能。公钥机制首先生成一个公钥/私钥对,公钥公开,私钥自己保留。如典型的RSA公钥技术是一种基于大质数的因式分解的分组密码系统,其中的明文和密文都是对于某个n的从0到n-l之间的整数,主要是求模运算。
公钥加密流程图
图中为公钥加密主要流程,其中发送方使用私钥对明文进行加密,接收方利用公钥对密文进行解密得到明文,经公钥加密技术加密的明文能且只能通过其对应的另一密钥进行解密。
在安全性方面,目前来讲对称加密算法使用长密钥时破解困难,而非对称加密算法如RSA里的公钥和私钥是一对大素数函数,从一个公钥和密文中破解出明文的难度等价于分解两个大素数之积,而分解两个大素数之积到目前为止仍然无解。所以就目前来说,基于非对称加密算法与对称加密算法的混合加密机制是比较安全的。
在执行效率方面,对称加密算法时间复杂度为0(n),空间复杂度为0(n)。非对称加密算法要加密对称加密算法的密钥,比如DES算法密钥采用一个64bit的伪随机数,其时间复杂度与空间复杂度为O(1),因此混合加密算法的时间复杂度和空间复杂度都不超过O(n)。因此,基于对称加密算法与非对称加密算法的混合加密机制可以在保证安全性的基础上提高DNSSEC 协议的整体运行效率。
DNSSEC已推出多年,但由于其基于公钥技术的技术方案实施复杂度大和对硬件要求高仍未被广泛采用,我们将一种结合对称加密算法加解密效率高与非对称加密算法密钥管理优势的混合加密机制引入DNSSEC并进行相关研究。
相关资料请阅读:
【编辑推荐】