计算机网络-HTTPS

简介

HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP 的基础下加入SSL。

如上图所示 HTTPS 相比 HTTP 多了一层 SSL/TLS,用于保证传输安全。0

加密

对称加密

对称加密是指加密和解密都用同一份密钥。

对称加密的优点是运算速度快,缺点是互联网环境下无法将密钥安全的传送给对方。

非对称加密

非对称加密对应于一对密钥,称为私钥和公钥,用私钥加密后需要用公钥解密,用公钥加密后需要用私钥解密。

非对称加密的优点是可以安全的将公钥传递给对方,但是运算速度慢。

实现原理

证书验证阶段

  1. 客户端发起HTTPS请求;
  2. 服务端回应HTTPS请求,返回证书;
  3. 客户端验证证书是否合法,如果不合法则提示告警。

数据传输阶段

  1. 当证书验证合法后,在本地生成随机数;
  2. 通过公钥加密随机数,并将加密后的随机数传到服务端;
  3. 服务端通过私钥对随机数进行解密;
  4. 服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输;

数据传输选择对称加密的原因

非对称加密的效率是非常低的,HTTP场景中存在大量端与端的交互,非对称加密的效率无法接受。

HTTPS场景中只有服务端保存了私钥,一对公私钥只能实现单向的加解密,所以HTTPS中内容传输采取对称加密。

HTTPS抓包

HTTPS会被抓包,但仅限于用户主动授信,构建”中间人”网络,代会对传输内容解密。