协议
- https 相对于http多了一个SSL/TLS一层(ip -> tcp -> ssl/tls -> http)
加密算法
对称算法
- 加密和解密都是使用的同一个密钥。
非对称算法
- 公钥和私钥。 公钥和公钥算法是公开, 私钥是保密的。 安全性好但是性能差。
https工作原理
https握手过程
TCP三次握手
client -> server (syn)
server -> client (syn + ack)
client -> server (ack + 内容)
SSL握手
clinet -> server
- 客户端版本号、32字节随机值、客户端支持的加密算法
server -> client
- 客户端版本号、32字节随机值、客户端支持的加密算法
- 服务端公钥、证书颁发机构
client -> server
- 根据之前服务器发送来的公钥进行加密
- 告诉服务器以后信息都是用协商好的密钥和算法
server -> client
- 告诉客户端会使用协商好的密钥来加密