介绍 HTTPS 中间人攻击

https协议是由http+ssl协议构成的。

客户端和服务端SSL或TLS能够相互通信的基本步骤

确定使用协议的版本
选择加密算法
通过交换和验证数字证书彼此进行身份验证
使用非对称加密技术生成共享密钥,避免密钥分发问题。
SSL或TLS使用共享密钥对消息进行对称加密解密,这比非对称加密更快。

中间人攻击过程

1、服务器向客户端发送密钥;
2、攻击者截获公钥,保存到自己手上;
3、然后攻击者自己生成一个【伪造的】公钥,发给客户端;
4、客户端收到【伪造的】公钥后,生成加密的hash值发给服务器;
5、攻击者获得加密hash值,用自己的私钥解密获得真密钥;
6、同时生成假的加密hash值,发给服务器;
7、服务器用私钥解密获得假密钥;
8、服务器用加密钥加密传输信息。

防范方法

服务端在发送浏览器的公钥中加入CA证书,浏览器可以验证CA证书的有效性。