客户端角度上的HTTPS

这是站在客户端的角度上看HTTPS的一篇总结。以下内容都是个人理解,不确保都正确,如有问题请指正或者我们一起讨论。

HTTP

以往我使用HTTP请求,要么数据明文传输,不进行加密,要么使用非对称加密对传输数据进行加解密。

非对称加密是使用公钥和私钥进行数据加解密的,非对称加密的安全关键是私钥,私钥不能泄露,公钥可以分发给别人。

服务端保存私钥,将公钥给客户端,客户端使用公钥进行数据加密,服务端使用私钥进行数据解密。

HTTPS

HTTPS同时使用了非对称加密和对称加密,非对称加密用于证书验证,对称加密用于传输数据加密。

HTTPS中会有一个CA证书的概念,CA证书是从第三方CA证书机构申请的。

HTTPS的主要环节

  • 公司从CA服务商申请到服务器秘钥(公钥和私钥)

  • 客户端请求服务器获取公钥,并使用CA机构预置在客户端的CA根证书来验证服务器公钥是否正确,是否在有效期内等等

    CA根证书即CA公钥,是放在客户端的,客户端使用这个公钥验证服务端返回的公钥是不是有问题。

  • 如果验证服务器公钥没有问题,客户端生成一个用来对称加密的秘钥并使用服务器公钥加密,并发送给服务器端

  • 服务端接收到被加密的秘钥后使用私钥解密,并得到实际的对称加密的秘钥值,然后使用对称加密的方式加密之后要传输的信息

  • 客户端接收到信息后使用对称加密秘钥解密,获取到服务器传输的实际信息内容

一个HTTPS请求主要有证书验证和数据传输两个阶段。

客户端角度上的HTTPS

相关文章:

  • 2022-02-09
  • 2021-12-23
  • 2021-10-31
  • 2021-06-01
  • 2022-12-23
  • 2021-10-01
  • 2022-01-21
猜你喜欢
  • 2021-09-13
  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
  • 2021-09-02
  • 2021-05-04
  • 2021-12-24
相关资源
相似解决方案