HTTPS是HTTP+SSL/TLS协议。 TLS 实际上只是SSL的更新版本,TLS(Transport Layer Security 安全传输层协议)当前有1.1,1.2.1.3版本
工作原理:
- TCP三次握手
- 客户端(浏览器)向服务器发送问候信息,包含客户端支持的TLS版本和加密套件(加密算法如RSA)
- 服务端返回选中的TLS版本和加密套件,更重要的是同时发送公钥给客户端。
- 客户端拿到公钥后,通过加密套件产生一个session key。然后用公钥对session key进行加密发送给服务端。
- 服务端拿到加密后的session key,通过私钥解密,保存在服务端。这些是非对称加密。
- 接下来,服务端通过session key和加密套件对内容进行加密,服务端进行对应的解密,这里就是对称加密。
- 为什么要有2套加密方式,因为非对称加密使用成本高。
更详细可以看视频