网络:简述HTTPS工作流程中的加密与解密

网络:简述HTTPS工作流程中的加密与解密


我们先来看客户端发起 “https://www.domain.com/” 请求的流程图:
客户端发起 “https://www.domain.com/” 请求的流程图
上图流程中的解释如下:

  1. client 发出请求;
  2. server 收到请求,并自己生成一对密钥,即服务端公钥Server-Public服务端私钥Server-Private
  3. server 把生成的服务端公钥Server-Public传递给 client (除了服务端公钥Server-Public,还有很多额外信息);
  4. client 收到服务端公钥Server-Public后进行判断,若无效,弹出警告;否则生成一串随机数,我们称之为客户端私钥Client-Private ,然后 client 用 server 传过来的服务端公钥Server-Public对该随机数加密,形成加密后的 【客户端私钥Client-Private】
  5. client 把加密后的 【客户端私钥Client-Private】 传递给 server;
  6. server 收到加密后的 【客户端私钥Client-Private】,用服务端私钥Server-Private把加密后的 【客户端私钥Client-Private】 解密成未加密的客户端私钥Client-Private,然后把需要传递的数据用 未加密的客户端私钥Client-Private进行加密 【数据】
  7. server 把加密后的 【数据】 传递给 client;
  8. client 收到加密后的 【数据】,用 客户端私钥Client-Private 解密,完成一次交互,反之亦然。

整体流程就是这样,涉及到对称加密和非对称加密。利用非对称加密的安全性来加密那一串随机数 - - 客户端私钥Client-Private ,利用对称加密的快捷性来加密报文数据,总体来说就是把真正加密解密的密钥(客户端私钥Client-Private )用 服务端公钥Server-Public服务端私钥Server-Private来加密。


补充:
     1 . 对称加密是指加密和解密用一致的密钥,特点是快。
     2 . 非对称加密是指密钥区分公钥和私钥,公钥加密,私钥解密(私钥好比唯一的一把钥匙,公钥好比锁,钥匙只有一把,但锁可以有很多,被锁头锁上的数据全天下只有一把私钥才能打开),特点是安全,但是慢。

注意: 本文只进行简单的描述,未深入讲解HTTPS的加密流程。例如:第三步发送给客户端的是ssl证书;第四步是根据系统中认证的证书机构,判断ssl证书的正确性,包括ssl证书的颁发机构,有效期,数字签名等。若无效,弹出警告;否则生成一串随机数(客户端私钥Client-Private) ,除此之外还有后续通讯用的对称加密算法等。


参考:https://www.jianshu.com/p/a68ca86183d7

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页