首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪种顺序是正确的?ECDSA运行在ECDH之前还是ECDH之后?

哪种顺序是正确的?ECDSA运行在ECDH之前还是ECDH之后?
EN

Stack Overflow用户
提问于 2017-09-15 09:54:22
回答 1查看 393关注 0票数 1

我对ECDSA和ECDH的执行顺序感到困惑,哪个是先跑的?

由于ECDH无法避免MITM附加,因此使用ECDSA对实体进行验证。那么ECDSA应该在ECDH之前运行吗?

还是根本不重要?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-15 11:05:55

由于ECDH无法避免MITM攻击

首先,这里是您可以使用RSA而不是DSA (或ECDSA)解决这一困难的许多方法之一:客户端在将其ECDH (或DH)公钥发送到线路上之前,可以使用服务器的RSA公钥加密此ECDH (或DH)公钥。这样,服务器是唯一知道客户端ECDH密钥的对等方。因此,双方都受到保护,以防人在中间攻击。当然,使用RSA加密另一个密钥可能需要OAEP。

还是根本不重要?

在您的例子中,使用ECDSA而不是RSA,您不能加密任何东西。因此,您需要在将要设计的协议中进行相互身份验证:您的服务器和客户端必须之前交换了它们的公共ECDSA密钥,或者必须有某种带有某种根证书的PKI来验证远程公共ECDSA密钥。最后,客户机和服务器只需按照以下顺序执行这些步骤:

  • 用他们的ECDSA私钥签署他们的ECDH公钥,
  • 把这个信息发送到另一个主机,
  • 从另一个主机接收到此信息,
  • 查查签名,
  • 如果检查失败了,别说了,
  • 如果正确检查签名,则执行DH算法的结尾。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46236765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档