首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在Diffie-Hellman密钥交换中重复使用素数?

为什么在Diffie-Hellman密钥交换中重复使用素数?
EN

Security用户
提问于 2016-07-12 19:52:42
回答 2查看 1.4K关注 0票数 2

读到关于Logjam攻击Logjam攻击的文章,我了解到Diffie-Hellman的交易经常依赖于相同的1024位密钥。我知道在DH发明的时候,即使是512位的密钥也被认为是未来几十年的安全。但是,设计人员和多年来从事DH实现工作的许多程序员从来没有想到重用相同的素数会导致最终的(灾难性)漏洞吗?

我是不是错过了计算困难的东西?一旦在服务的初始配置中生成您自己的p和g,就应该足够了,并且应该保证不受标准化引物的任何缺陷的影响。

*:与过去一样,目前全世界三分之二的实施情况经常如此。

EN

回答 2

Security用户

发布于 2016-07-12 21:27:14

您可以查看以下有关生成您自己的DH键exhcange参数以及使用标准DH组参数的困难的问题:生成自己的Diffie-Hellman素数还是使用RFC 3526中定义的素数更安全?哪里可以得到迪夫-赫尔曼的素数?我能用两次吗?

对于普通的Diffie-Hellman,您需要的是p、q和g,这样:

  • P是一个足够大的素数(2048位现在已经足够了);
  • Q是较小的,但仍然足够大(例如256位),素数除以p-1;
  • G是具有q的倍数的子群模p的生成元。

在大多数情况下,在实际密钥交换发生之前创建DH密钥交换组并不容易,也不适用。注意,logjam利用DH组中使用的小素数(512位)。我认为,如果使用p为2048位的DH组,即使该组也被其他人使用,也应该是安全的。

票数 1
EN

Security用户

发布于 2016-07-12 21:20:10

您所指的三分之二的数字是特定于使用IPsec的VPN服务器的。我敢打赌,这是因为Sys管理员和Security没有花时间修改服务器中的任何默认设置,而不是在配置过程中绝对需要修改这些设置。

或者,IPsec的具体实现很可能是一个问题,因为它涉及到特定的VPN服务器子集,例如,如果这三分之二是思科如何将其实现到VPN或ASA设备中(因为它们很可能是硬件实现VPN的世界领先企业),或者某些版本Linux如何将其实现到服务器构建或Windows中,等等……无论如何,这似乎更像是一个实现问题,而不是DH或IPsec本身的实际问题,因为这两个问题多年来都得到了安全和密码专家的广泛检查。DH只是算法,只要它有一个X位的素数,算法就会执行它的工作。IPsec是一个用于实现安全性的框架。实现是通过框架实际选择并为算法提供素数的。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/129885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档