ECDHE-RSA 和 DHE-RSA 有什么区别?
我知道 DHE-RSA 是(一句话)Diffie Hellman 使用 RSA 密钥签名的。DH 用于前向保密而 RSA 用于防范 MITM,但 ECDHE-RSA 中的椭圆曲线究竟在哪里使用?ECDHE-RSA 与 DHE-RSA 相比有哪些优势?
ECDHE-RSA 和 DHE-RSA 有什么区别?
我知道 DHE-RSA 是(一句话)Diffie Hellman 使用 RSA 密钥签名的。DH 用于前向保密而 RSA 用于防范 MITM,但 ECDHE-RSA 中的椭圆曲线究竟在哪里使用?ECDHE-RSA 与 DHE-RSA 相比有哪些优势?
ECDHE 套件使用椭圆曲线 diffie-hellman 密钥交换,而 DHE 套件使用普通 diffie-hellman。这个交换是用 RSA 签名的,在这两种情况下都是一样的。
ECDHE 的主要优点是它比 DHE 快得多。这篇博客文章稍微讨论了在 SSL 环境中 ECDHE 与 DHE 的性能。
添加一些关于@CodesInChaos 所说的信息:
当您使用 ECDHE 代替 DHE 时,您可以获得以下优势:
我看到两个问题
“ECDHE-RSA 中的椭圆曲线到底在哪里使用?”
我认为这是“当它是 ECDHE_RSA 中的 RSA 时如何使用椭圆曲线?”。好吧,检查RFC 4492,第 2 节,ECDHE_RSA - 它非常好。本质上,服务器证书是一个 RSA 证书(即具有长期 RSA 密钥),但在 TLS 握手期间,它改为同意与 DH 的瞬态/临时/临时( E是DHE)EC 公钥。因此,通过服务器证书的 RSA 签名确认长期真实性,但临时密钥是通过临时 EC 密钥(然后生成对称密钥)派生的
ECDHE-RSA 与 DHE-RSA 相比有哪些优势?
这已经在其他答案中得到解决。
ECDHE-RSA 和 DHE-RSA 有什么区别?
让我们从相似之处开始。
现在来看看区别。
ECDHE-RSA 与 DHE-RSA 相比有哪些优势?
有一种众所周知的攻击适用于传统的 DH,但不适用于 ECDH。
因此,要获得相同级别的假定安全性*,DH 需要比 ECDH 大得多的组。这意味着更慢的计算和更多的网络流量。
进入混乱的实用世界,一些客户只支持传统的 DHE,而其他客户只支持 ECDHE。此外,如果 DHE 与大于 1024 位的素数一起使用,Java 7 将无法握手**。
因此,如果您希望与尽可能多的客户端实现广泛的客户端兼容性、强大的密码学和前向保密性,那么您应该使用 ECDHE 作为首选选项,而 DHE(具有适当大的素数)作为第二选择。
* 鉴于目前最知名的攻击,这是破解它所需的计算量。
** 没有人公开承认破解它,但怀疑资源充足的攻击者可以这样做。