这是我的镜头。我对此并不完全满意。我很感激批评。
至少公钥/私钥。有时参数。
我不认为这是很好的定义。但我没有任何来源支持这一点。(如果有人可以给我看一份标准文件,我会很高兴被证明是错误的。对我来说,任何事情都比不确定性要好。)
TLS1.2 RFC 说服务器可以选择这三个:
struct {
opaque dh_p<1..2^16-1>;
opaque dh_g<1..2^16-1>;
opaque dh_Ys<1..2^16-1>;
} ServerDHParams; /* Ephemeral DH parameters */
所以服务器可以改变这三个中的任何一个。
但我认为实际上只有服务器的 pubkey ( dh_Ys
) 会改变。这应该足以提供前向保密。
但只有当你的
opaque dh_p<1..2^16-1>;
opaque dh_g<1..2^16-1>;
不太可能很快被打破。(就像它们是 2048 位一样。)(Thomas Pornin 在另一个问题上说:要获得错误的 DH 参数,您必须故意这样做。)
F5的“单DH使用”
现在我查看了 F5 的网站,了解他们的负载均衡器如何实现 EDH。
他们有一个选项Single DH use
,我认为它可以重新生成 dh_p/dh_g 对。
这是报价单。我不明白我为什么要那样。让我很困惑。
单DH使用
此选项在使用临时/临时 DH 参数时创建一个新密钥。如果要防止小型子组攻击,则必须使用此选项,当 DH 参数不是使用强素数生成时(例如,使用 DSA 参数时)。如果使用强质数,则不必在每次握手期间生成新的 DH 密钥,但我们建议这样做。每当使用临时/临时 DH 参数时,您都应该启用 Single DH use 选项。
F5 键每小时生成一次
F5 有一篇文章说从 BIG-IP 11.4.0 开始,新的临时密钥的生成每小时发生一次。
我怀疑他们正在互换使用“键”和“参数”。
CryptoPP 将“重新生成的密钥对”方法称为短暂的。
当CryptoPP 谈到 EDH 时,他们的意思是:组保持不变。密钥对更改。
Citrix NetScaler 我不确定。
同样,我不确定它们是否完全区分 dhparams 和 dh-keypair。
dh文件
要安装的 PEM 格式 DH 参数文件的名称和路径(可选)。/nsconfig/ssl/ 是默认路径。
配置后端配置文件时,此参数不适用。
dhCount
客户端和 NetScaler 设备之间的交互次数,之后重新生成 DH 私有-公共对。零 (0) 值指定无限使用(不刷新)。
配置后端配置文件时,此参数不适用。
最小值:0
最大值:65534
dhKeyExpSizeLimit
此选项允许使用 NIST 推荐的(NIST Special Publication 800-56A)位大小作为私钥大小。例如,对于大小为 2048 位的 DH 参数,建议的私钥大小为 224 位。这是四舍五入到 256 位。
可能的值:启用、禁用
默认值:禁用
这里dhKeyExpSizeLimit
让我很困惑。我不明白您为什么允许该部分是用户可定义的。