https是http+tls/ssl的组合,是基于密码学的安全网络浏览协议

https的工作流程是:

  1. 浏览器向证书颁发组织(CA),请求证书
  2. 从证书中得到的非对称密钥,与服务器进行对接
  3. 浏览器与服务器建立通信,双方得到对称密钥
  4. 以对称密钥加密解密为基础,浏览器与服务器进行http传输

除了保证数据不被泄露的加密方法之外,还需要保证数据完整性的算法,等一连串的算法,一起组成了TLS/SSL协议,即密码套件

密码套件含有多种算法:

  1. 密钥协商算法
  2. 身份验证算法
  3. 加密算法或加密模式
  4. HMAC算法的加密基元
  5. PRF算法的加密基元

例如:

TLS_ECDHE_RSA_WHIT_AES_128_CBC_SHA256

其中,ECDHE是密钥协商算法,RSA是身份验证算法,加密算法是AES_128_CBC,HMAC算法是SHA256,保证数据完整性,PRF算法不一定是SHA256,由TLS/SSL协议版本和协商出来的密码套件决定

参考书目:

《深入浅出HTTPS:从原理到实战》