有关Https的详解

作者 Weixu 日期 2018-08-19
有关Https的详解

我们知道Http协议传输数据使明文的,这样就会导致在传输某些敏感信息的时候可能会被截取报文信息,这样就会导致安全隐患。而Https协议就是在Http协议的基础上SSL协议,SSL依靠证书来验证服务器身份,并未浏览器和服务器之前的数据通信进行加密。

现在我们需要知道有关Https的如下四点内容

  • 使用Https协议需要到CA申请证书
  • Https协议是由Http和SSL协议构建的具有加密传输,身份认证的协议
  • Https的默认端口是443

以下是客户端发送请求以及服务器响应的流程

Https协议流程

  1. 客户端发起HTTPS请求
    用户在浏览器中输入一个Https的网址

  2. 服务端的配置

  3. 传送证书
    服务端将证书以及自己的公钥发送会浏览器

  4. 客户端解析证书
    浏览器验证服务器发送的证书是否是可信的
    浏览器随机生成一个对称密钥

  5. 传送加密信息
    浏览器将自己随机生成的对称密钥经过浏览器的公钥加密后传回服务器

  6. 服务段解密信息
    服务器用自己的私钥加密被浏览器通过自己的公钥的加密的浏览器随机生成的对称密钥,这个时候就能得到浏览器的私钥

  7. 传输加密后的信息
    服务器将客户端请求的数据通过浏览器的对称密钥加密后传回

  8. 客户端解密信息
    浏览器将服务器传回的已经加密的数据用自己的对称密钥解密