-
HTTPS为了兼顾安全与效率,同时使用了对称加密和非对称加密。数据是被对称加密传输的。
-
对称加密过程需要客户端的一个密钥,为了确保能把该密钥安全传输到服务器端,采用非对称加密对该密钥进行加密传输,总的来说,对数据进行对称加密。
-
对称加密所要使用的密钥通过非对称加密传输。
HTTPS分为三个阶段
1、协议协商阶段
-
客户端发起HTTPS请求,请求报文中包括客户端支持的SSL协议版本以及
加密组件。 -
服务端收到报文后,筛选出客户端支持的SSL协议版本以及加密组件返回给客户端。
2、公钥传输阶段
-
服务端返回给客户端带有服务端公钥(非对称加密,用于加密客户端公钥)的证书。
-
客户端收到证书会通过第三方权威机构检查证书的合法性
-
若证书合法则证书中的服务端公钥有效。客户端会生成客户端公钥(对称加密,用于加密传输的数据)
-
服务端收到加密后的客户端公钥后,使用服务端私钥进行解密,这样就得到了客户端公钥了。以后就通过客户端公钥进行对称加密解密数据。
3、数据传输阶段
- 数据传输