我刚刚读到了关于ECDH的文章,在对这个过程进行概述的同时,我注意到这个密钥交换方法既没有提供任何前向保密,也没有提供防止重放攻击的保护,因为每个会话共享的秘密都是相同的。是否有任何通用的方法来扩展ECDH以支持这些安全特性?
发布于 2013-03-26 16:47:33
要获得完全前向保密,您必须使用短暂的密钥。
对于静态Diffie-Hellman (椭圆曲线与否,这不是问题),Alice和Bob都拥有一个DH密钥对:Alice的私钥是a,公钥是aG (椭圆曲线符号,G是曲线的常规“基点”);Bob的私钥是b,公钥是bG。当艾丽斯和鲍勃想要交谈时,他们会做DH的事情,这意味着他们最终得到了共享的秘密值abG。他们总是有这样的秘密。如果攻击者设法窃取Alice的私钥(a),那么他可以重新计算共享的秘密,从而解密Alice和Bob之间过去和将来的所有对话。
转瞬即逝的Diffie-Hellman是关于生成DH密钥对的“动态”,而不是记录私钥在任何地方(私钥只保存在RAM中,并且只在对话期间)。永远不被记录应该使这些私钥免受别有用心的盗窃,这就是PFS的来源。这在SSL/TLS中与"DHE“(和"ECDHE")密码套件一起使用:服务器拥有一个私钥/公钥对,公钥位于证书中,适合签名(例如,密钥对是RSA或DSA类型的)。当客户端连接时,客户机和服务器都生成新的DH密钥对;服务器用其签名密钥对新生成的DH公钥进行签名(客户端验证该签名并验证服务器证书)。用于加密数据的密钥是从Diffie-Hellman算法导出的密钥。
在DHE密码套件中,如果服务器的私钥被偷,那么盗贼只能获得计算伪造签名的能力。然后,盗贼可能会冒充服务器并通过运行中间人攻击来危害未来的通信,但是过去的连接都是针对DH密钥加密的,而DH密钥早已丢失,因此不会被攻击者解密。那是PFS。
https://security.stackexchange.com/questions/33233
复制相似问题