通过网络[RSA]

时间:2019-06-11 18:43:14

标签: encryption cryptography rsa encryption-asymmetric

我正在与Asymmetric Cryptography (RSA & ECC)合作。关于公钥交换或至少我对机制的理解,我有一个非常基本的问题。

注意事项

  • 名为C1的客户端
  • 名为S1的服务器
  • 算法:RSA(非对称)
  • 威胁:中间人
  • 目标:通过网络传输敏感信息(可以是用于混合加密的数据或对称密钥)

到目前为止我读过的内容

  1. C1创建一对RSA密钥,并进行API调用,将公钥发送到S1。
  2. 在收到使用客户端公钥的请求时,服务器(S1)会生成一个RSA密钥对,并将其发送回客户端(C1)。
  3. 现在密钥已被传输,C1使用服务器的公钥对数据(密文)进行加密,用客户端的私钥对密文进行签名,然后进行API调用。
  4. 服务器接收包含密文的请求,使用客户端的公钥来验证签名,使用服务器私钥来解密数据,执行一些操作,生成响应,并使用客户端的公钥来加密响应,使用服务器私钥对响应密文签名,然后返回响应。

中间攻击者怎么可能?

  1. 在初始调用中,假设黑客拦截了客户端(C1)进行的第一个调用,生成了一个RSA密钥对,并将该黑客的公钥发送给了服务器。
  2. 服务器返回服务器公共密钥,黑客拦截服务器响应并存储服务器的公共密钥,然后将黑客的公共密钥返回给客户端。
  3. 客户端认为黑客的公钥实际上是服务器的公钥,对数据进行加密,签名并发送回去。
  4. 黑客也会拦截该调用,然后解密数据,对其进行修改并使用服务器公钥对其进行加密,并使用Hacker的私钥对其进行签名并将其发送到服务器。
  5. 服务器验证密文并尝试对其进行解密,因为服务器已将黑客的公共密码注册为客户端的公共密钥,所以所有密码均有效。
  

现在这很容易破解,黑客(中间人)可以读取敏感信息,还可以修改请求,从而导致对应用服务器的恶意操作。

由于RSA和这种交互被广泛使用,因此我肯定会丢失一些内容。有人可以指出我错过了什么吗?如果我什么都没错过,我该如何保护系统免受此类攻击

0 个答案:

没有答案