在仔细阅读了这个主题之后,我知道ECDHE-RSA如何通过为每个会话创建一组新的私钥和公钥来提供PFS。
然而我无法理解的是,这个方案与基本的DH方案有什么关系?使用颜色解释的相同。
在我看来,我知道用于密钥交换的基本DH方案不是在ECDHE-RSA上发生的,而是每一个连接只有一代新的私钥和公钥。
我的问题是, ECDHE-RSA方案如何与安全密钥交换的基本DH方案相关?似乎ECDHE-RSA就像使用AES-RSA一样,每个连接都有一组新密钥。看起来Diffie-Hellman本身并不参与这个过程。
答案 0 :(得分:1)
这里有一些事情,其中一些可能依赖于实现。让我们从ECDHE-RSA的长首字母缩写开始。
ECDHE表示椭圆曲线Diffie-Hellman短暂。第一部分,Elliptic Curve,讨论密码学背后的肮脏数学。出于实现目的,它基本上意味着您可以使用更短的密钥长度而不会影响安全性。
Diffie-Hellman是密钥交换协议。它是一种在不安全的通信线路上导出密钥的方法。但是,标准DH协议受到中间人攻击。这意味着攻击者可以拦截一些消息,如果他这样选择就改变它们,并将它们转发给接收者而不会让任何人变得更聪明。标准DH不提供身份验证。这是RSA位稍后会派上用场的地方。
短暂意味着我们正在进行短暂的密钥交换,并且生成的密钥将仅用于此通信会话。这就是提供完美前瞻性的保密。
现在回到RSA位:RSA可以通过非对称加密提供身份验证。通过使用私钥和公钥来保护DH协议中的消息,您可以防止这些MITM攻击。
那为什么RSA和非对称加密器到处都没用?不对称的crpto函数在计算上是昂贵的。使用非对称加密来协商共享密钥并使用对称加密来重命名事务更有效。
答案 1 :(得分:0)
是的,Elliptic Curve Diffie-Hellman非常像Diffie-Hellman,但它使用不同的数学基础来使用相同的“使用绘画”算法。
Classic 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
的实际数学非常难看;但a
和b
都只是(大)整数。)
使用类似于经典DH的油漆颜色:
G
=发电机);与维基百科图片进行比较,将其称为黄色。a
,表示让Press Your Luck游戏板在色轮周围前进多少次。选定的颜色与G组合产生颜色桃。b
。使用按下你的运气类比,在与G结合后,他变成浅蓝色。就像经典的DH图片一样,将Alice的桃子与Bob的秘密按下你的运气颜色合并产生的颜色与将Bob的浅蓝色与Alice的秘密按下你的运气颜色相同。
出于肮脏的原因,ECC密钥更“密集安全”。因此,160位ECC DH密钥与1024位FFC DH密钥一样安全。因此,它可以让同样的安全性更快,这就是为什么ECDH正在取代DH而ECDSA正在取代DSA。使用更常见的secp256r1曲线(使用256位ECC密钥),它可以获得3072位FFC DH密钥的等效性。