我对ECDSA和ECDH的执行顺序感到困惑,哪一个先运行?
由于ECDH无法避免MITM附着,因此ECDSA用于验证实体。那么ECDSA应该在ECDH之前运行吗?
或者它根本不重要?
答案 0 :(得分:0)
由于ECDH无法避免MITM攻击
首先,这是使用RSA而不是DSA(或ECDSA)解决此难度的众多方法之一:客户端在线路上发送其ECDH(或DH)公钥之前,可以加密此ECDH(或DH)公钥与服务器的公共RSA密钥。这样,服务器就是唯一知道客户端ECDH密钥的对等体。因此,双方都在中间攻击中受到保护。当然,使用RSA加密另一个密钥可能需要OAEP。
或者它根本不重要?
在您的情况下,使用ECDSA而不是RSA,您无法加密任何内容。因此,您需要在要设计的协议中进行相互身份验证:您的服务器和客户端之前必须已交换其公共ECDSA密钥,或者必须具有某种类型的PKI和某种根证书才能验证远程公共ECDSA密钥。最后,客户端和服务器只需按以下顺序执行这些步骤: