中间人攻击

前面的文章我们讲到了RSA算法以目前的手段是很难被攻破的,那么使用RSA算法是不是就一定安全了呢?

答案当然是否,因为我们并没有考虑到网络传输中的各种情况。本文会讲一种攻击叫做中间人攻击,为了抵御这种攻击,我们引入证书的概念。我们会在后续的文章中讲解证书的概念。这里我们重点讲一下中间人攻击。

所谓中间人攻击就是在A和B通信的过程中加入了恶意攻击者C。C作为中间人转发两者的请求。

示意图如下:

消息发送者A攻击者C消息接受者B"1.请发送你的公钥""2.请发送你的公钥""3.这是我的公钥""4.C拦截B的公钥,并替换成C的公钥"A误以为收到的是B的公钥,实际上却用了C的公钥加"5.A向B发送密文,用C的公钥加密""6.C拦截信息,用自己的私钥解密,并伪造新的信息,用B的公钥加密后发给B""B用私钥解密"消息发送者A攻击者C消息接受者B

上面是一个完整的中间人攻击流程:

  1. A向B请求公钥,但是却被C截获。
  2. C向B发送公钥请求。
  3. B将公钥发给C。
  4. C截获了B的公钥,然后替换成自己的公钥发给A。
  5. A将C的公钥当成了B的公钥,并用其加密信息,发给B。
  6. C截获了加密信息,用自己的私钥解密,获得明文。同时伪造新的信息,再用B的公钥加密,发给B。
  7. B获得加密信息,用自己的私钥解密。

中间人攻击不仅仅针对于RSA算法,任何公钥算法都可能受到中间人攻击的影响。

只靠公钥本身是无法防御中间人攻击的。这时候,我们就需要一个第三方的可信任的机构来解决这个公钥传递的问题,那就是证书。我们会在后面的文章中讲到。

更多教程请参考 flydean的博客

相关文章

文章浏览阅读903次。文章主要介绍了收益聚合器Beefy协议在币...
文章浏览阅读952次。比特币的主要思路是,构建一个无中心、去...
文章浏览阅读2.5k次。虚拟人从最初的不温不火,到现在步入“...
文章浏览阅读1.3k次,点赞25次,收藏13次。通过调查和分析用...
文章浏览阅读1.7k次。这个智能合约安全系列提供了一个广泛的...
文章浏览阅读1.3k次。本文描述了比特币核心的编译与交互方法...