网络原理(五):HTTPS - 加密 & SSL 握手流程

目录

1. 什么是 HTTPS

1.1 HTTPS 的由来

2. 加密

1.2 对称加密 / 非对称加密

3. HTTPS 的工作原理(SSL 的握手过程) [面试高频考点]

3.1 引入对称加密

3.2 引入非对称加密

3.2.1 非对称加密, 加密对称密钥

3.2.2 中间人攻击

3.3 引入校验机制

3.3.1 证书

3.3.1.1 数字签名

3.3.2 客户端校验


1. 什么是 HTTPS

HTTPS 也是应用层的一个协议, 是在 HTTP 的基础上引入了一个加密层, 使得传输的数据更加安全.

HTTPS 出现, 只有一个目的: 安全.

HTTPS = HTTP + S (SSL / TLS) => SSL 也是一个专门用来加密的应用层协议, TLS 是它的升级版.

1.1 HTTPS 的由来

由于 HTTP 报文的 URL 中带有域名, 所以 URL 在广告行业起到一个重要作用: 广告主通过 URL 的域名来区分多个广告平台, 从而向广告平台支付广告费.

在十年前的时候(大概 2014 年左右), 由于网络法律条文还不够完善, 运营商就钻了法律的空子, 经常修改其他广告平台的 Referer(将域名改成自己的), 将广告费算到自己的头上, 以此为自己谋利益(运营商劫持).

正是因为这件事, 百度, 搜狗, 360 等大厂牵头, 将 HTTP 升级为了 HTTPS, 对 HTTP 数据报进行加密传输(Referer 也被加密了).

2. 加密

什么是加密呢?? 

我们上面提到的运营商劫持事件, 之所以运营商能够 URL 中的数据, 是因为 HTTP 报文中的数据是明文传输的, "明文" 就是指没有加密的数据, 任何人都能看得见.

将这些 "明文" 数据升级到 "密文" 的过程, 就是加密. 并且, 明文和密文之间可以相互转化:

  1. 明文加密得到密文.
  2. 密文解密得到明文.

加密和解密的过程中, 一个关键的部件必不可少: 密钥. 

有了密钥, 才能对数据进行加密和解密操作. (密钥是一个很长的字符串)

1.2 对称加密 / 非对称加密

加密的形式分为以下两大类:

  1. 对称加密: 加密和解密使用同一个密钥
  2. 非对称加密: 加密使用一个密钥, 解密使用另一个密钥

在非对称加密中, 使用的两把密钥虽然不同, 但是存在关联关系的, 不过外人很难猜~

在非对称加密中的两把密钥, 一个称为公钥, 一个称为私钥:

  1. 公钥: 公开出去的那把密钥, 所有人都能用. (用来加密, 可以当做一把锁)
  2. 私钥: 自己保存的那把密钥, 不让任何人知道. (用来解密, 当做公钥的钥匙)

注意: 一个服务器是可以给多个客户端提供服务的, 所以一个服务器和不同的客户端进行通信时, 使用的密钥都是不同的.

就像你家门的钥匙, 和我家门的钥匙, 必然是不同的~~

3. HTTPS 的工作原理(SSL 的握手过程) [面试高频考点]

最开始时, 数据传输时是以 "明文" 的方式进行传输的, 既然是明文, 那么数据是很容易被黑客截获的, 极不安全.(例如, 运营商劫持)

3.1 引入对称加密

我们在明文传输的基础上, 使用对称密钥来对数据进行对称加密. 

此时, 客户端就可以对数据使用 key 来进行加密,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值