使用“短暂性ECDH”相对于“短暂性ECDH”有什么优势?

#1 楼

好吧,静态临时ECDH的优点(并且也适用于DH):


您免费获得单向身份验证。也就是说,如果Bob拥有Alice的公共ECDH密钥,并使用它与某人交谈,则Bob知道某人是Alice,而无需进行任何进一步的检查。现在,爱丽丝不知道她在跟谁说话。另一方面,在某些情况下,爱丽丝真的不在乎。
您不需要爱丽丝的答复即可获得ECDH的公众价值;你已经知道了这可能使您可以少使用一轮协议(取决于需要对协议执行的其他操作)。实际上,如果Bob想要做的只是共享一个对称密钥,以便他可以向Alice发送消息,那么他根本不需要Alice的任何回复;他可以产生自己的公共价值,并使用从共享机密派生的密钥对消息进行加密和认证。这样做实际上被称为集成加密方案。如果这是您要执行的操作,则可能需要查看标准(因为人们已经仔细考虑了细节)

当然还有一些缺点:


这意味着Bob必须以经过身份验证的方式获取Alice的公共密钥。如果那意味着Bob在数据库中拥有Alice的密钥,那么,这会有一些实际的问题(例如,当Alice创建新密钥时,Bob会如何得知它。)
如果Alice确实在乎她是谁?与之交谈,这意味着鲍勃需要验证自己的身份。如果需要这样做,首先会失去从预配置密钥中获得的一些(但不是全部)优势。
您将丢失通常与DH相关的Perfect Forward Secrecy属性。您可能会或可能不会在乎,具体取决于您的安全性假设。也就是说,如果有人获得了Alice的私钥,那么他们不仅可以模拟Alice,还可以返回并解密以前的会话。


评论


$ \ begingroup $
同样,在优势方面,爱丽丝只有一半的计算要做。
$ \ endgroup $
–总统James K. Polk
2012-2-18 17:42

$ \ begingroup $
静态ECDH是否使用固定参数?
$ \ endgroup $
–艾因·阿兰尼(Aymn Alaney)
18年8月2日,0:15

$ \ begingroup $
@AymnAlaney:显然,要使两个静态ECDH密钥协同工作,它们必须具有相同的参数(曲线和生成器)。因此,从这个意义上讲,如果您使用的是静态ECDH,则您不得不使用固定参数
$ \ endgroup $
–雨披
18年8月2日,下午3:32

$ \ begingroup $
我有一个可以整合的问题,从临时密钥对和静态密钥对(静态临时密钥)生成的共享密钥是临时的,并且在每个会话中都被丢弃吗? @雨披
$ \ endgroup $
– PRVS
20-10-11在10:18

$ \ begingroup $
@PRVS:您的问题是什么?我无法将以“生成的共享机密..:”开头的部分作为一个问题来分析,除非您询问“短暂”是什么意思(我对此表示怀疑)
$ \ endgroup $
–雨披
20-10-18在13:15