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,循环往复。