DNSSEC 是“域名系统安全扩展”的缩写,是一种增强协议,旨在确保 DNS 服务器提供的信息的真实性。 它利用公钥加密和数字签名来解决传统 DNS 协议中的安全漏洞。 DNS 于 1983 年开发,是一种将域名(主机名)解析为 IP 地址的系统,但因缺乏强大的安全机制而受到批评。 一个重大的漏洞是它容易受到 DNS 缓存中毒攻击。
DNS 基础设施由两种主要类型的服务器组成:
如果恶意或不正确的数据被存储在缓存中(“中毒缓存”),DNS 缓存服务器可能会向客户端提供错误的 IP 地址,将其重定向到欺诈网站。 这种蓄意利用被称为 DNS 缓存中毒。 出现这种情况的原因是服务器之间的 DNS 通信使用无状态 UDP 协议,缺少发件人验证。 通过巧妙地将欺骗的响应数据包与合法请求对齐,攻击者可以执行缓存中毒。
DNSSEC 通过引入加密验证来缓解这种情况。 权威 DNS 内容服务器生成一对加密密钥——一个私钥和一个可公开访问的密钥。 在响应查询时,服务器使用其私钥对 DNS 响应进行签名。 DNS 缓存服务器收到响应后,使用公钥验证数字签名。 此过程确保了数据的完整性和真实性,有效地防止了DNS缓存中毒攻击。