0

在仔细阅读该主题后,我知道 ECDHE-RSA 如何通过为每个会话创建一组新的私钥和公钥来提供 PFS。

然而我无法理解的是,这个方案与基本的 DH 方案有什么关系?与使用颜色解释的相同。

在我看来,我所知道的用于密钥交换的基本 DH 方案并没有出现在 ECDHE-RSA 上,而是为每个连接生成了一代新的私钥和公钥。

我的问题是,ECDHE-RSA 方案与安全密钥交换的基本 DH 方案有什么关系?看起来 ECDHE-RSA 就像使用 AES-RSA 一样,每个连接都有一组新的密钥。Diffie-Hellman 本身似乎无法真正参与到这个过程中。

4

2 回答 2

1

这里发生了一些事情,其中​​一些可能取决于实现。让我们从 ECDHE-RSA 的长首字母缩写词的含义开始。

ECDHE 表示椭圆曲线 Diffie-Hellman Ephemeral。第一部分,椭圆曲线,讨论了密码学背后的肮脏数学。出于实现目的,它基本上意味着您可以使用更短的密钥长度而不会影响安全性。

Diffie-Hellman 是密钥交换协议。它是一种通过不安全的通信线路导出密钥的方法。但是,标准的 DH 协议会受到中间人攻击。这意味着对手可以截获一些消息,如果他愿意,可以更改它们,然后将它们转发给接收者,而没有人是不明智的。标准 DH 不提供身份验证。这就是 RSA 位稍后会派上用场的地方。

临时意味着我们正在进行临时密钥交换,并且生成的密钥将仅用于此通信会话。这就是提供完美前向保密的原因。

现在回到 RSA 位:RSA 可以通过非对称加密提供身份验证。通过使用私钥和公钥来保护 DH 协议中的消息,您可以防止这些 MITM 攻击。

那么为什么没有到处使用 RSA 和非对称加密呢?非对称 crpto 函数的计算成本很高。使用非对称加密来协商共享秘密并使用对称加密进行重命名交易更有效。

于 2016-10-26T16:34:25.213 回答
0

是的,椭圆曲线 Diffie-Hellman 与 Diffie-Hellman 非常相似,但它对相同的“使用绘画”算法使用了不同的数学基础。

经典 Diffie-Hellman 是基于有限域密码术 (FFC) 的,具有公式s = mod(exp(mod(exp(g, a), p), b), p)(如果 a 和 b 翻转,则产生相同的值)。这是一个相当不友好的公式。

EC Diffie-Hellman 基于椭圆曲线密码学 (ECC),其公式s = a*b*G为 ,只需要相信乘法的交换性即可理解其工作原理(最后只使用 X 坐标,而且...当然,乘以的实际数学G非常难看;但两者ab都只是(大)整数)。

使用经典 DH 的油漆颜色类比:

  • 双方使用共同的曲线。ECC 中的每条“曲线”都有一个既定的起点(G=generator);与维基百科的图片进行比较,称其为黄色。
  • Alice 有一个私钥a,它表示让 Press Your Luck 游戏板围绕色轮前进多少次。所选颜色与 G 组合产生桃色。
  • Bob 有一个私钥,b. 使用 Press Your Luck 类比,在与 G 组合后,他会变成浅蓝色。

就像经典的 DH 图片一样,将 Alice 的桃红色与 Bob 的秘密 Press Your Luck 颜色合并产生的颜色与将 Bob 的浅蓝色与 Alice 的秘密 Press Your Luck 颜色合并产生的颜色相同。

出于数学原因,ECC 密钥更“安全”。因此,160 位 ECC DH 密钥与 1024 位 FFC DH 密钥一样安全。因此,它可以让相同的安全性更快地进行,这就是 ECDH 正在取代 DH 而 ECDSA 正在取代 DSA 的原因。使用更常见的 secp256r1 曲线(使用 256 位 ECC 密钥),它获得了相当于 3072 位 FFC DH 密钥的效果。

于 2016-11-02T18:48:17.843 回答