HTTP与HTTPS
HTTPS 是在 HTTP 和 TCP 之间 加了一层 TLS/SSL,这个 TLS协商了一个 对称密钥 进行 HTTP 加密
TLS 与 SSL
- 两者在传输层对网络连接进行加密,为并列关系
- SSL / TLS 不仅仅可以用在 HTTP,也可以用在 FTP,Telnet 等应用层协议上
- TLS 是 SSL 标准化后的产物,建立在 SSL 3.0 协议规范之上,是 SSL 3.0 的后续版本
- TLS 较于 SSL 更安全和完善
SSL / TLS 实际上混合使用了对称和非对称密钥,主要分成这几步
- 使用非对称密钥建立安全的通道
- 客户端请求 Https 连接,发送可用的 TLS 版本和可用的密码套件
- 服务端返回证书,密码套件和 TLS 版本
- 用安全的通道产生并发送临时的随机对称密钥
- 生成随机对称密钥,使用证书中的服务端公钥加密,发送给服务端
- 服务端使用私钥解密获取对称密钥
- 使用对称密钥加密信息,进行交互