NSEC和NSEC3

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 【10月更文挑战第18天】

NSEC和NSEC3是DNSSEC协议中用于证明域名不存在(即证明DNS区域中不存在某个查询的记录)的两种不同类型的记录。它们的目的相同,但在实现方式和安全性方面有所不同。

NSEC(Next Secure Record)

NSEC记录用于证明在DNS区域中两个连续域名之间的空隙,即证明一个域名不存在。它通过指出区域中的下一个有效记录来做到这一点。
工作原理

  • NSEC记录会列出DNS区域中的一个条目和下一个条目的域名。
  • 如果查询的域名位于这两个条目之间,那么它就不存在。
  • NSEC记录还包含了该区间内的所有类型记录,证明这些类型在该区间内不存在。
    例子
    假设区域中有以下记录:
    bar.example.com
    foo.example.com
    
    AI 代码解读
    如果查询baz.example.com,权威DNS服务器将返回:
    baz.example.com NSEC bar.example.com A, AAAA
    
    AI 代码解读
    这表明baz.example.com不存在,并且在这个区间内没有A或AAAA记录。
    缺点
  • NSEC记录直接暴露了DNS区域中的所有域名,这可能导致隐私泄露,使得攻击者能够枚举区域中的所有域名。

    NSEC3(Next Secure Record version 3)

    NSEC3是NSEC的改进版本,旨在解决NSEC记录中的隐私泄露问题。NSEC3通过散列(哈希)区域中的域名来隐藏实际的域名,而不是直接列出它们。
    工作原理
  • NSEC3记录使用散列算法(通常是SHA-1)对域名进行散列处理。
  • 它使用散列后的域名(称为“NSEC3链”)来证明一个域名不存在,同时不直接暴露原始域名。
  • NSEC3记录还包含一个散列后的“下一个域名”和一个“类型位图”,类似于NSEC记录。
    例子
    使用NSEC3,上述例子中的记录可能看起来像这样:
    2t7b4g9c2f7kgqi7rb4g9c2f7kgqi7rb.example.com NSEC3 1 1 12 aabbccdd (
    2t7b4g9c2f7kgqi7rb4g9c2f7kgqi7rb A RRSIG )
    
    AI 代码解读
    这里,2t7b4g9c2f7kgqi7rb4g9c2f7kgqi7rbbaz.example.com的散列值,aabbccdd是下一个散列值。
    优点
  • 提高了隐私性,因为实际的域名没有直接暴露。
  • 使得攻击者更难以枚举DNS区域中的所有域名。
    缺点
  • 验证NSEC3记录需要额外的计算资源,因为解析器需要计算查询域名的散列值。
  • 如果散列算法被破解,则可能暴露原始域名。

    总结区别:

  • 隐私性:NSEC3比NSEC提供了更好的隐私保护,因为它不直接暴露域名。
  • 计算开销:NSEC3需要额外的计算资源来散列域名。
  • 安全性:NSEC3比NSEC更安全,因为它减少了域名枚举的风险。
  • 配置:NSEC3的配置比NSEC更复杂,因为它涉及到散列算法和参数的选择。
    由于NSEC3提供了更好的隐私保护,因此在DNSSEC部署中通常更受欢迎。然而,NSEC3的使用可能会导致额外的性能开销,尤其是在大规模的DNS区域中。
目录
打赏
0
0
1
0
113
分享
相关文章
DNS科普系列 :被动DNS(Passive DNS)
在DNS领域有一些“专有技术名词(俗称行业”黑话“),不熟悉DNS和相关应用的人可能不容易接触和理解他们。从这篇开始,我们将帮助大家梳理一些DNS专有名词,本期的专有名词是:被动DNS(Passive DNS)。
DNS科普系列 :被动DNS(Passive DNS)
YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
120 12
【域名解析DNS专栏】域名解析中的EDNS扩展:提升DNS协议灵活性
在互联网中,DNS作为连接用户与网络资源的关键桥梁,其传统协议在面对复杂网络环境时显现出局限性。EDNS(扩展机制)应运而生,通过在DNS请求和响应中添加额外选项和字段,提升了DNS的功能和灵活性。EDNS不仅提高了查询效率和支持更大范围的数据类型,还能增强安全性并通过负载均衡提升系统稳定性。例如,允许指定更大的UDP数据包大小以减少分片和重传,支持DNSSEC加强安全性验证,以及通过Python示例代码展示了如何在DNS查询中使用EDNS选项。随着技术发展,EDNS将在域名解析领域扮演更重要角色。
303 0
【域名解析DNS专栏】DNS解析过程深度解析:一次完整的域名查询旅程
【5月更文挑战第21天】DNS系统将人类友好的域名(如www.example.com)转化为IP地址,涉及递归和迭代查询。当用户输入域名,浏览器查询本地DNS缓存,未命中则向本地DNS服务器发起请求。本地服务器向根域名服务器查询,根服务器指引到对应顶级域名的权威DNS,权威DNS提供IP地址。Python示例代码展示了这一过程。了解DNS解析有助于理解互联网运作并优化网络资源管理。
333 2
【域名解析DNS专栏】DNS解析过程深度解析:一次完整的域名查询旅程
next数组的两种求法详解及完整代码
求字符串的next数组: 方法一: 这里我们将next数组第1,2位分别设为0,1(还有-1,0这种设法,这里先将其设为0,1若有需要再减一即可) 后面求解每一位的next值时,根据前一位进行比较。 从第三位开始,将前一位与其next值对应的内容进行比较, 如果相等,则该位的next值就是前一位的next值加上1; 如果不等,向前继续寻找next值对应的内容来与前一位进行比较, 直到找到某个位上内容的next值对应的内容与前一位相等为止, 则这个位对应的值加上1即为需求的next值; 如果找到第一位都没有
459 0
next数组的两种求法详解及完整代码
全面掌握 Kubernetes:部署、管理和扩展云原生应用
Kubernetes 是一个强大的云原生应用部署、管理和扩展平台,提供了丰富的功能和工具。通过本文的介绍,您应该能够了解 Kubernetes 的基本概念、核心组件,以及如何使用 Kubernetes 部署、管理和扩展云原生应用。同时,了解到 Kubernetes Dashboard 作为一个图形化工具,可以更方便地管理集群中的资源和应用程序。在实际应用中,深入学习和实践 Kubernetes 将有助于更好地掌握云原生应用的部署和管理。
552 1
全面掌握 Kubernetes:部署、管理和扩展云原生应用
医学影像PACS源码:PACS系统的基础知识(DICOM、HL7、SWF)
医学影像PACS源码:PACS系统的基础知识(DICOM、HL7、SWF)
339 0
【STC15单片机】按键&静态数码管显示0~9
【STC15单片机】按键&静态数码管显示0~9
487 0