AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 40789
Accepted
Bill Gray
Bill Gray
Asked: 2009-07-15 14:58:01 +0800 CST2009-07-15 14:58:01 +0800 CST 2009-07-15 14:58:01 +0800 CST

DNSCurve 与 DNSSEC

  • 772
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

有人可以告知,请就这两种方法的差异和优点/缺点给出一个冗长的答复?

我不是 DNS 专家,也不是程序员。我对 DNS 有相当基本的了解,并且有足够的知识来理解像 kaminsky 错误这样的事情是如何工作的。据我了解,DNSCurve 具有更强的加密功能,设置起来更简单,并且是一个更好的解决方案。

DNSSEC 不必要地复杂并使用易破解的加密,但它提供了端到端的安全性,而 DNSCurve 却没有。但是,我读过的许多文章似乎都表明端到端安全性几乎没有用或没有任何区别。

那么哪个是真的?哪个是更好的解决方案,或者每个的缺点/优点是什么?

编辑:

当目标是身份验证而不是保密时,如果有人可以解释加密消息内容所获得的结果,我将不胜感激。

密钥是 1024 位 RSA 密钥的证明在这里。

domain-name-system dnssec
  • 5 5 个回答
  • 4001 Views

5 个回答

  • Voted
  1. Alnitak
    2009-07-16T05:06:08+08:002009-07-16T05:06:08+08:00

    DNSCurve 为 DNS 数据包提供真正的加密,尽管只是在逐跳的基础上,特别是在递归服务器和权威服务器之间的跃点上。

    当在该路径上使用时,它可以提供区域数据的身份验证。然而,任何下游的客户端都无法从这种身份验证中受益,因为安全性只是“逐跳”。位于解析路径中间的恶意解析器仍然可以提供虚假数据。

    另一方面,DNSSEC 提供端到端的可验证加密签名,证明接收到的数据与权威服务器上的数据相同。DNSSEC 使用加密技术,但实际上并不加密任何 DNS 流量。

    DNSCurve 使用椭圆曲线加密算法允许使用比 RSA 小得多的密钥来实现相同级别的加密强度。然而,有人提议在 DNSSEC 假定的列表中包含类似的算法。

    DNSSEC 由 IETF(RFC 4034 和 RFC 4035,由 RFC 5155 更新)标准化,并在几个非常流行的名称服务器实现中实现,包括 BIND(当然)和 NSD/Unbound。PowerDNS 很快就会支持 DNSSEC。

    DNSSEC 诚然复杂,但正在努力简化这一点(参见例如http://opendnssec.org/),并且部署一直在增加。各种 TLD(.se、.br、.org、.gov 等)已与 DNSSEC 签署,并且已宣布根区域将在年底前签署 DNSSEC。

    DNSCurve 非常有趣,但由于它的开发方式独立,它几乎没有机会看到任何重大部署。恕我直言,它被部署在根服务器上的机会为零。

    顺便说一句,您关于使用“可破解加密”的 DNSSEC 的断言似乎完全没有根据。你这么说的依据是什么?

    区域签名密钥通常(但不一定)为 1024 位长。这些密钥通常每月左右滚动一次,目前最好的估计是至少需要几年时间才能强制使用 1024 位密钥。

    此时,针对 1024 位 RSA 的蛮力攻击将需要大约两年时间在几百万个计算内核上,每个处理器或主板具有数十 GB 内存

    这不完全是典型的僵尸网络。来自同一篇论文:

    接下来考虑专用硬件,最乐观的方法是筛选 1024 位 RSA 模数可以在一年内完成,费用约为 10,000,000 美元,加上一次性开发成本约为 20,000,000 美元,而且时间和成本相当为矩阵。在我们看来,这种设计遇到的(常见的)怀疑是无关紧要的。这些数字不应被解释为上限,即“小心,1024 位 RSA 可以在两年内以大约 2000 万美元的价格被破解(假设免费开发)”,而是作为下限,即“没有理由担心太多:即使在非常有利的攻击条件下,分解 1024 位 RSA 模数仍然需要大量资源。” 因此,这些估计不应被视为具有威胁性,而应被视为鼓舞人心。

    或者来自一年前的PCPro 文章:

    从这个角度来看,要破解一个 RSA 1,024 位密钥,卡巴斯基估计需要大约 1500 万台计算机运行一年才能成功

    坦率地说,没有人会花这么多精力来破解一个域的 ZSK!

    此外,真正的安全性在于密钥签名密钥,这些密钥通常至少为 2048 位,并且通常更长(4096 位)。破解 RSA 密钥所需的时间随密钥长度呈指数增长,而不是线性增长。

    • 14
  2. TRS-80
    2009-07-16T07:49:21+08:002009-07-16T07:49:21+08:00

    对 LWN索赔的评论

    DNSCurve 保护管道,而不是消息。它不能用于防止恶意缓存,也不是与 DNSSEC 等效的功能。

    以及法语讨论的链接。

    • 4
  3. Einstein
    2010-03-27T14:36:45+08:002010-03-27T14:36:45+08:00

    理解“信任”而不是“加密”是安全的关键。您可以使用“加密”与某人进行“安全”对话,但如果对方不是您认为的那个人,这对您有什么好处?

    DNSSec 和 DNSCurve 之间的主要区别在于 DNSSec 对所有内容进行签名,从根目录一直到每个运营商 DNS 服务器提供的主机记录都有一条清晰的信任链。

    DNSCurve 不签署任何内容,根本没有信任链。DNSCurve 的重点被缩小到防止 DNS 响应的被动或盲目平衡。

    归结为实用性...... DNSSec 存在巨大的运营挑战 - 您如何实际创建一个地球大小的信任锚?当数以百万计的域被签名时,使用什么机制来灌输信心,即伪造任何签名所必需的密钥材料不会落入坏人之手或没有被不当使用?从运营的角度来看,大规模的信任很难实现和维持。

    DNSCurve 甚至没有尝试。

    现在已经回答了基本问题,我认为实际上要解决的问题是什么以及这两种技术中的哪一种更适合。

    互联网本质上既是胡说八道的渠道,也是重要的讨论和启蒙的渠道。在我看来,一个完全值得信赖的互联网不是一个合理或可实现的目标,如果它变成这样,可能会对自由和不规范的言论和行为产生负面影响。

    在我看来,所需要的只是一个至少与底层传输一样值得信赖的 DNS 解决方案。它需要切实防止盲目注入虚假消息或被动嗅探请求并伪造 UDP 响应的攻击者对 DNS 记录的毒害。它不需要保证超出此范围的安全性。这样,互联网继续以可靠但不一定安全的方式路由数据包并提供 DNS 服务。

    在我看来,DNSSec 及其全球信任锚是一项愚蠢的差事,几乎完全专注于解决不存在的问题。(所有可以在互联网上使用的端端加密系统都已经有了自己的身份验证方法)

    DNSSec 速度慢、成本高,并且会显着延迟 DNS 的明显和当前问题,例如迁移到 IPv6 应该在昨天得到解决。

    DNSCurve 所做的是保护网络,以便命名服务至少与网络上数据包的底层传输一样可靠,但并非如此。在我看来,它解决了现实世界中实际面临的确切问题。DNSCurve 可以防止被动 MITM,但它实际上并不能防止没有 ssh 风格的“信仰之跃”签名缓存的主动 MITM。

    扮演魔鬼提倡大规模部署 DNSSec 可能会产生积极影响。PKI 基础设施可以替代 SSL 安全服务器 CA,并为 IPSec 和对等点之间的其他加密对话提供一些信任绑定。

    • 1
  4. kquinn
    2009-07-27T16:40:24+08:002009-07-27T16:40:24+08:00

    诚实地?一个都不够好。DNSSEC 因自身的重量而崩溃:它过于复杂,漏洞百出,而且可能永远无法正常工作。DNSCurve 擅长它的功能,但还远远不够。打补丁到 DNS 服务器更容易,但由于它的编写和推广方式,可能永远不会被广泛使用。

    我宁愿在我自己的(递归)DNS 服务器上部署 DNSCurve 而不是 DNSSEC,但这只是因为 DNSCurve 更明确地说明了它可以做什么和不能做什么,并且不会像 DNSSEC 那样提供错误的安全感——很多聪明的人认为 DNSSEC 已经足够好了,但事实并非如此。

    我的预感是,DNS 安全战争还有更多尚未到来,我们可能会看到第三种选择出现。希望它将建立在 DNSCurve 上,因为我认为 DNSCurve 非常适合以向后兼容的方式保护管道。

    • -1
  5. Best Answer
    Bill Gray
    2009-07-27T08:51:19+08:002009-07-27T08:51:19+08:00

    我得出了一个结论,DNSCurve 是一个更好的选择。

    因为:

    DNSSEC 使用 1024 位 RSA 密钥进行签名,这在 2003 年已经被大型网络、僵尸网络认为是牢不可破的。今天的情况仍然如此。

    要正确实现,必须重写许多代码。

    根服务器不会签署完整的数据库,不提供全面保护。

    域过期后最多 30 天的重播攻击是可能的。

    为了实现安全性,有必要公开所有域名。

    DNSCurve 没有这些问题,并且允许以 DNSSEC 没有的方式进行身份验证、可用性和机密性(如不必公开名称)。此外,它不需要修改代码,只需要额外的软件。

    由于使用了随机数,它还具有针对伪造数据包的保护,而 DNSSEC 没有,以及针对重放攻击的保护。DNSCurve 可能会受到 DNSSec 没有的 MITM 攻击,但据我了解,如果 DNSCurve 一直实施到根目录,情况就不会如此。

    • -9

相关问题

  • 可以任意注册名字到同一个公网IP吗?

  • Linux 绑定服务器为 DHCP Windows 客户端提供地址,但不为 DHCP Linux 客户端提供地址

  • 如何使用 Windows Server 解析 http 域名

  • 动态更新 /etc/resolv.conf 中列出的解析器

  • 内部名称解析

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve