HTTPS详解

HTTPS = HTTP + SSL/TLS

  1. http 明文传输,易被劫持,SEO降权
  2. TLS 传输层安全协议,是SSL的升级方案

HTTPS如何加密

对称加密

  1. 浏览器给服务器一个随机数
  2. 服务器给浏览器一个随机数
  3. 浏览器和服务器都根据这两个随机数得出一个密钥,他们用这个密钥加密或解密信息。

缺陷:容易被窃取

非对称加密

  1. 每个主机都有一对密钥:公钥和私钥。公钥负责加密,私钥负责解密。
  2. 公钥在网络上公开,而私钥是保密的。

缺陷:计算量大

混合加密 —— HTTPS的加密方式

以非对称加密方式得到会话密钥,用会话密钥以对称
TLS四次握手

校验证书

数字签名

  1. 证书 = 网站信息(包括公钥)+ 数字签名
    1. 数字签名是由网站信息计算出的hash值通过CA私钥机密后得到的
  2. 公钥解密数字签名后和网站信息hash值比较,如果相同则代表校验通过

数字签名和非对称加密不同。是用公钥解密,私钥加密。

注册证书

注册证书

证书防止黑客伪造公钥