对称加密->非对称加密->非对称+对称加密->CA证书

对称加密

1.客户端与服务端协商加密算法及压缩方法以及ssl/tls最高协议版本号等信息发送给服务器

2.服务器选定加密方法,压缩方法

3.客户端把加密套件及生成随机clientrandom数发送给服务器

4.服务器选好加密套件及发送随机serverrandom数发送给客户端

5.浏览器确认

6.服务器确认

7.clientrandom+serverrandom 生成密钥加密数据发送给服务器 

8.服务器用clientrandom +serverfandom 生成密钥解析数据

缺点:黑客拿到随机数可以解密

非对称加密

服务器保留私钥,把公钥及选好的加密套件发送给浏览器

浏览器用公钥加密数据 

服务器用私钥解析加密数据

缺点:非对称加密效率低,服务器端用私钥加密传输数据,浏览器端用公钥解密时容易被获得公钥

非对称加密传输对称加密时的密钥,传输数据其实还是用的对称加密

1.客户端把加密套件及生成随机clientrandom数发送给服务器

2.服务器返回加密套件及生成serverrandom数公钥发送给浏览器

3.浏览器用生成新的随机数newclientrandom,公钥加密newclientrandom +浏览器确认 发送给服务器

4.服务器用私钥解密newclientrandom

5.服务器确认发送给浏览器

6.浏览器用serverrandom + clientrandom + newclientrandom 生成密钥传输数据

7.服务器用serverrandom + clientrandom + newclientrandom 生成密钥解密数据

缺点:DNS 劫持将 IP 地址替换成了黑客的 IP 地址,这样我访问的其实是黑客的服务器了,黑客就可以在自己的服务器上实现公钥和私钥

 引入CA证书

引入CA证书之前有一套公钥和私钥

把公钥放在CA证书里面

1.当服务器端返回加密套件 + serverrandom + 数字签名证书

2.客户端拿到签名证书解析公钥

3.客户端生成newclientrandom 用共钥匙加密newclientrandom

4.服务端用私钥解密newclientrandom

相对上种方式只是引入CA证书,并将公钥放在CA证书里面,私钥用来解密加密后的newclientrandom

验证CA可靠性,浏览器内置顶级CA

原文地址:https://www.cnblogs.com/MDGE/p/15268654.html