TLS & HTTPS
TLS
SSL(Secure Socket Layer)安全套接层。主要用于保证 WWW(Wrold Wide Web) 通讯的安全。通过提供 加密,信息完整性,身份认证 来保证安全通讯。
TLS(Transport Layer Security)安全传输层协议。用于在两个应用程序之间提供保密性和数据完整性。TSL 是基于 SSL3.0 改进而来。
加密
TLS
协议是基于 TCP
协议之上的,图中蓝线部分为 TCP 建立连接的过程,橙色部分为 TLS
握手过程。
握手过程:
client1
:TLS
版本号+所支持加密套件列表+希望使用的TLS
选项Server1
:选择一个客户端的加密套件+自己的公钥+自己的证书+希望使用的TLS
选项+(要求客户端证书)Client2
:(自己的证书)+使用服务器公钥和协商的加密套件加密一个对称秘钥(自己生成的一个随机值)Server2
:使用私钥解密出对称秘钥(随机值)后,发送加密的Finish消息,表明完成握手
总结:
- 加密算法为:非对称加密+对称加密
身份认证
证书验证过程:
HTTPS
What is HTTPS
HTTPS:HTTP Over SSL,应用层协议,用于保证 HTTP 数据传输的安全性。