SSL/TLS学习(四)

以上两种加密通信方式都无法防范中间人模式的攻击。

所谓中间人就是攻击者通过伪装IP等手段,在A和B的通信过程中,让A以为自己是B,让B以为自己是A,从而获取秘密信息的攻击手段。

下面就以假想的改进后的非对称加密为例,说明中间人模式的攻击过程。

假设攻击者是C。

1. B以为自己发送的通信请求是发给了A,但是其实是把通信请求发送给了C。

2. C收到B的通信请求后,直接把通信请求转发给A。

3. A收到了C发送的通信请求,生成了一对**。

4. A把公钥用明文发送给C。

5. C保存好A的公钥,然后C又生成了一对**。

6. C把自己生成的公钥发送给B。

7. B收到C发来的公钥,以为是A的公钥。

8. B生成一个用于对称加密的随机密码,用C的公钥加密,发送给C。(B以为自己是用A的公钥加密,把密码发送给了A。)

9. C用自己的私钥解密B发送来的加密信息,得到密码。

10. C生成一个用于对称加密的随机密码,用A的公钥加密,发送给A。

11. A用自己的私钥解密,得到C的密码。

12. A用C的密码加密信息,并发送给C。

13. C用自己的密码解密信息,然后用B的密码加密信息发送给B。

14. B用自己的密码解密信息,然后用自己的密码加密信息发送给C。(B以为是发送给了A。)

15. C用B的密码解密信息,然后用自己的密码加密信息,并发送给A。

16. A用C的密码解密,得到B发送的信息。(这个信息其实是B发送给C,C又发送给A的。)

17. 回到步骤12,循环往复。

SSL/TLS学习(四)