DH参数推荐尺寸?

信息安全 diffie-hellman
2021-08-16 22:58:27

我正在我的无线路由器上设置 EAP-TLS,并且目前正在为 FreeRADIUS 生成 DH 参数。

首先,这些参数有什么作用?另外,它们应该是什么尺寸?

我一直在生成当前参数一段时间:

openssl dhparam -check -text -5 4096 -out dh

我遵循的教程推荐了 512 位 DH 参数大小,但我有点像个锡箔帽。这些参数的大小和强度对安全有何影响?

2个回答

Diffie-Hellman 并不比以素数p为模的整数乘法子群中的离散对数问题更强。较大的素数p使 DL 更难。当前记录(在学术界)是针对 530 位素数模数的。虽然需要相当多的计算工作,但教训是 512 位 DH 可以用现有技术破解。因此,观察您的流量的攻击者可以(以一定的代价)突破密钥交换机制,恢复会话密钥并解密您的数据。此外,DL-break 算法往往是累积的,即以相同的模数打破不可告人的会话会更容易。

来自各种机构(包括 NIST)的当前建议要求 DH 使用 2048 位模数。已知的 DH 破坏算法的成本高得离谱,以至于它们无法使用已知的基于地球的技术运行完成。请参阅此站点以获取有关该主题的指示。

您不想过度使用大小,因为计算使用成本随着素数大小(介于二次和三次之间,取决于一些实现细节)而相对急剧上升,但 2048 位 DH 应该没问题(基本的低端 PC每秒可以执行数百个 2048 位 DH)。

对于给定的位长度,破解一组 dh 参数比破解 RSA 密钥要难一些。

一旦破解了一组 dh 参数,那么破解单个 dh 会话就相对容易了。因此,使用本地生成的 dh 参数比使用众所周知的参数更安全。

因此,我将使用的经验法则是使用与您使用的 RSA 密钥长度相同的自行生成的 dh 参数。

512 位现在可以轻松破解。

768位大概是学术高性能计算力所能及的破解。

1024位可能是民族国家可以破解的。有一些证据表明 NSA 可能已经破解了最常见的 1024 位 dh 参数集。

https://weakdh.org/

通常预计 2048 位是安全的。然而几年前人们期望 1024 位是安全的,所以如果你在长期抵抗之后我会上升到 4096 位(对于 RSA 密钥和 DH 参数)。