DNSSEC 与加密有何不同?

在餐厅用智能手机付款的人

这是我们经常听到的问题:“DNSSEC 和加密 DNS 不是一样的吗?”

其实不然。DNSSEC 通过公钥加密技术保护网络免受中间人攻击,这与加密不同。换句话说,DNSSEC 提供了一种身份验证形式,但不是一种保密形式。

公钥加密与加密有何不同?

DNSSEC 使用公钥加密技术对 DNS 查询进行数字“签名”或身份验证。当在一个区域记录上启用 DNSSEC 时,接收设备可以将收到的信息与权威服务器发送的原始信息进行比较。这是通过数字签名启用的,数字签名使用公钥来验证数据的真实性。

在 DNSSEC 中,身份验证密钥通过加密受到保护,但数据本身不受保护。仍然有可能拦截并读取受 DNSSEC 保护的流量。如果数据在传输路径的某个地方被篡改并发送到目的地,接收服务器将能够察觉到异常,因为公钥将不匹配。

另一方面,加密使用加密技术对数据本身进行编码。加密通过改变攻击者在数据传输路径中拦截查询时所看到的内容,确保了数据的机密性。它使得数据变得无法理解,除非攻击者能够使用加密密钥解密信号。由于该密钥不会公开共享,加密可以保护数据免遭篡改。

为什么 DNSSEC 不使用加密?

DNS 是互联网上较早的协议之一。互联网初问世时规模远不如今,那时的参与者几乎彼此熟识。安全在当时只是次要考量。

当互联网安全成为一个问题时,DNS 已经被广泛使用,任何重大的改变都会导致整个系统的骤然停滞。与其尝试开发一个完全加密的协议来替代 DNS,不如决定在现有系统上增加一个认证机制。

DNSSEC 是一种妥协。它使查询和数据的身份验证成为可能,提高了协议的安全性。但它是在不改变底层系统的情况下实现的,这样互联网就可以继续发展,而无需重新设计任何东西。DNSSEC 的部署被设置为可选,以便组织可以在需要时根据自己的节奏进行过渡。

如果 DNSSEC 未加密,为什么要使用它?

DNS 缓存投毒(也称为 DNS 欺骗)是部署 DNSSEC 的一个重要原因。在 DNS 欺骗攻击中,未经认证的答案会被替换为对 DNS 查询的合法响应。该错误应答便会滞留于缓存系统中,在“存活时间”到期前将持续返回错误结果,并将用户导向恶意网站。

DNSSEC 通过认证 DNS 响应来防御这些攻击,确保只返回正确的答案。加密可以保护 DNS 连接中的基础数据,但无法抵御 DNS 欺骗攻击。

如果不加密,人们会使用 DNSSEC吗?

遗憾的是,只有大约 20% 的互联网流量(ibm.com 外部链接)通过 DNSSEC 进行验证。尽管与几年前相比,这是一个显著的增长,但与它应该达到的水平相比,仍有很大的差距。这一显著差距可归因于多重因素:操作界面存在可用性缺陷、相关信息披露不充分,以及用户自身的操作惰性。

NS1 强烈建议所有客户部署 DNSSEC,并通过简单的部署流程推广其使用。与其他服务商不同,NS1 甚至通过我们的专属 DNS 服务,支持将 DNSSEC 作为辅助服务提供商或冗余 DNS 选项。

 
相关解决方案
IBM NS1 Connect

IBM NS1 Connect 是一项完全托管的云服务,用于企业 DNS、DHCP、IP 地址管理和应用程序流量导向。

深入了解 NS1 Connect
网络解决方案

IBM 的云网络解决方案可实现高性能连接,为应用程序和业务提供支持。

深入了解云网络解决方案
网络支持服务

使用 IBM Technology Lifecycle Services 整合数据中心支持,以实现云网络等。

云网络服务
采取后续步骤

借助 IBM NS1 Connect 增强网络弹性。从免费开发人员帐户起步,深入了解托管 DNS 解决方案;或者预约实时演示,了解我们的平台如何帮助您优化网络性能和可靠性。

  1. 深入了解托管 DNS Services
  2. 预约实时演示