网络基础(三) — HTTPS

一、概述

HTTP的不足

  1. 通信使用明文(不加密),内容可能会被窃听。
  2. 不验证通信方的身份,因此有可能遇到伪装。
  3. 无法验证报文的完整性,所以有可能已遭篡改。

下面针对以上3点给出解决方案。

二、明文传输的问题

问题:

已知 HTTP 的不足,信息在网络发送过程的任何一个节点都有可能被窃取,导致了信息的不安全。

方案:

为了解决这个问题,我们可以对发送的信息进行加密处理,从而达到了安全传输的目的。(虽然加密后的信息仍可能被窃取,但用户无法对信息进行解密或解密的难度提升很多)。

加密策略

  1. 通信的加密

HTTP 协议中没有加密机制,但可以通 过和 SSL (Secure Socket Layer,安全套接层) 或TLS (Transport Layer Security,安全层传输协议) 的组合使用,加密 HTTP 的通信内容。

  1. 内容加密

对HTTP报文内容进行加密。如下图所示:
在这里插入图片描述

三、通信方身份伪装的问题

问题:

不验证通信方的身份,存在各种隐患:

  1. 无法确定请求发送 目 的 Web 服务器是 是 实意图返回 响应的 台服务器。有可能是已伪装的 Web 服务器
  2. 无法确定正在通信的对方是否具备访问权限。
  3. 无法判断请求来自何方,出自谁手。
  4. 即使是无意义的请求也会照单全收,所以可能存在Dos攻击。

方案:

查看请求方的证书,证书需要第三方权威机构颁发 (即请求方的身份合法性由颁发证书机构保证)。SSL 提供了证书功能。

四、报文完整性的问题

问题:

HTTP 协议无法保证接收到的报文就是发送方请求的原始报文,也有可能在发送过程中被第三方劫持篡改过。如下图所示:
在这里插入图片描述

方案:

SSL 提供了摘要功能,可以验证信息的完整性。

五、HTTPS

HTTPS = HTTP + 加密+认证 + 完整性保护 = HTTP + SSL

由于 SSL 提供了 加密、认证、完整性保护 功能,因此 HTTPS 相当于是 HTTP + SSL

在这里插入图片描述

1. HTTPS 安全通信机制

在这里插入图片描述

2. SSL 的劣势

会导致请求和响应变慢。

主要有两个原因:

  1. 通信慢:除了TCP连接、发送 HTTP 请求、响应HTTP 外,还得进行 SLL通信,流程变多了。
  2. 使用 SSL 会对传输的内容进行加密处理,导致 CPU 和 内存消耗增加。
发布了158 篇原创文章 · 获赞 26 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/Love667767/article/details/105161232
今日推荐