HTTPS

HTTPS是在原http的基础上加上一层用于数据加密、解密、身份认证的安全层TLS/SSL;
通讯数据明文传输,速度快,不安全;
通讯数据加密传输,但是速度可能会稍微慢一点。
对称加密速度快,加密时CPU资源消耗少;
非对称加密对待加密的数据的不能太长,传输比对称加密慢;
因此HTTPS选择了对称加密进行数据传输。


image.png

TLS加密有三对秘钥对:

  • CA证书(非对称加密秘钥对),公钥存在于各大浏览器和OS中
  • 服务端生成的非对称加密秘钥对
  • 客户端生成的对称加密秘钥对

加密过程

  1. 服务端向权威机构买来CA证书(非对称CA)。
  2. 客户端向服务端申请非对称加密的秘钥的公钥。
  3. 服务端生成非对称加密的秘钥对S
  4. 服务端将公钥(S.PUB)用CA证书的私钥(CA.PRI)进行加密后发送给客户端。
  5. 客户端用CA证书的公钥(CA.PUB)解密后取得服务端的公钥(S.PUB)
  6. 客户端生成对称加密秘钥对C
  7. 客户端用服务端的公钥(S.PUB)对对称加密的秘钥对(C)进行加密
  8. 客户端将密文发送给服务端
  9. 服务端接收到密文用S.PRI解密后得到对称加密秘钥对C
  10. 服务端和客户端可以用C愉快的安全的通讯了
image.png

你可能感兴趣的:(HTTPS)