【计算机网络】HTTP 与 HTTPS ( HTTP 在网络各个层级的传输过程 | HTTPS 工作流程 | HTTPS 弊端 )

简介: 【计算机网络】HTTP 与 HTTPS ( HTTP 在网络各个层级的传输过程 | HTTPS 工作流程 | HTTPS 弊端 )

文章目录

一、HTTP 在网络各个层级的传输过程

二、HTTPS 工作流程

1、中间人篡改服务器下发的数字证书

2、中间人冒充服务器端

三、HTTPS 弊端





一、HTTP 在网络各个层级的传输过程


应用层 : 在客户端浏览器 , 即应用层 , 生成 HTTP 请求报文 , 如下 :

image.png



GET / HTTP/1.1
Host: rucfd.ruc.edu.cn
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
If-None-Match: "b7f-5b575595fe630-gzip"
If-Modified-Since: Wed, 02 Dec 2020 06:28:18 GMT


如果只有 HTTP 请求报文 , 是无法将该报文准确送达 Web 服务器的 , 无法完整网络传输 ;


传输层 : 在传输层 , 添加 TCP 首部信息 ; ( TCP 首部信息 ( HTTP 报文 ) )


网络层 : 在网络层 , 添加 IP 首部信息 ; ( IP 首部信息 ( TCP 首部信息 ( HTTP 报文 ) ) )


数据链路层 : 在数据链路层 , 添加以太网首部信息 ; ( 以太网首部信息 ( IP 首部信息 ( TCP 首部信息 ( HTTP 报文 ) ) ) )


物理层 : 只进行物理传输 , 不改变数据 ;

image.png






二、HTTPS 工作流程


image.png


HTTPS 工作流程 :


① 客户端发送请求 : 浏览器向服务器发送请求 , 连接到服务器的 443 443443 端口 , 发送 " 随机值 1 11 " 和 客户端支持的加密算法 ;


② 服务器端响应请求 : 服务器端 收到客户端的信息后 , 回送响应信息 , 包括 " 随机值 2 22 " 和 匹配好的客户端的加密算法 ; 客户端支持的加密算法 范围 大于等于 服务器端匹配的加密算法 ;


③ 服务器端发送证书 : 服务器端 给 客户端 发送 数字证书 , 数字证书是由专门的组织机构颁发的 ;

数字证书 也可以自己生成 , 自己生成的证书需要客户端验证通过才能继续访问 ; 会弹出警告界面 ;

受信任的组织颁发的证书不会弹出警告界面 ;

数字证书由公钥和私钥构成 ;

传输的证书是公钥 , 公钥中包含了 : 证书颁发机构 , 过期时间 , 服务器端公钥 , 证书机构签名 , 服务器端域名信息 ;


④ 客户端解析证书 : 客户端 TSL 进行 数字证书解析 ;

验证 公钥有效性 , 颁发机构 , 过期时间 等 , 如果发现异常弹出警告 , 提示证书出现问题 ;

如果验证通过 , 则生成 " 预主密钥 " ;


⑤ 客户端生成会话秘钥 : 客户端证书验证通过后 , 将 " 随机值 1 11 " , " 随机值 2 22 " , " 预主密钥 " 组装为 " 会话秘钥 " , 使用数字证书公钥 , 加密会话秘钥 ;


⑥ 客户端发送会话秘钥 : 客户端向服务器端发送 加密后的 会话秘钥 ;


⑦ 服务器端解密会话秘钥 : 服务器端使用 数字证书 的私钥 , 解密使用 数字证书 公钥 加密后的 会话秘钥 , 得到 " 随机值 1 11 " , " 随机值 2 22 " , " 预主密钥 " , 将 3 33 者组装成 会话秘钥 , 与客户端进行沟通 ;


⑧ 客户端发送测试加密数据 : 客户端通过 " 会话秘钥 " 向服务器端发送加密后的消息 , 验证服务器端是否可以接收客户端加密后的信息 ;


⑨ 服务器端发送测试加密数据 : 服务器端通过 " 会话秘钥 " 加密一条消息发送给客户端 , 如果客户端可以解密该数据 , 说明 SSL 加密连接建立完成 ;



1、中间人篡改服务器下发的数字证书

image.png



服务器端向客户端发送公钥时 , 可能被中间人拦截 , 伪装一个公钥 , 发送给客户端 ;


在第 ④ 步 , 客户端要验证服务器端发送的 数字证书 信息 ;

通过 权威机构 认证中心 确保该数字证书 的真实性 ;

客户端本地配置有 权威机构 CA 的公钥 , 对 数字证书 进行解密 , 得到 服务器端的公钥 和 数字签名 , 数字签名经过 CA 公钥解密 , 得到数字证书信息摘要 ;

计算当前数字证书的 信息摘要 , 与收到的 信息摘要 进行对比 , 如果一致 , 说明该 数字证书 没有被篡改 ;


数字证书 是 CA 权威机构认证中心 使用 私钥生成的 , 中间人只有 CA 公钥 , 无法进行修改 ;

通过鉴定 数字证书 就可以判定对方是否是中间者 ;


image.png



2、中间人冒充服务器端


到 认证中心 CA 申请数字证书时 , 需要绑定域名信息 , 提供域名管理员邮箱等 , 用户访问 域名1 , 中间人发送一个 域名2 的数字证书 , 肯定通不过验证 ;






三、HTTPS 弊端


HTTPS 的弊端 :


① 只能避免部分攻击 : 无法避免 拒绝服务攻击 , 服务器劫持 等黑客攻击 ;


② 不是绝对安全 : SSL 数字证书不是绝对安全的 , 美国控制 CA 根证书 , 可以实施中间人攻击 ;


③ 费用高 : SSL 证书需要购买申请 , 功能越强 , 费用越贵 ;


④ 资源消耗高 : 与 HTTP 对比 , 使用 HTTPS 缓存低效 , 流量成本高 , 延迟增加 50% , 耗电量增加 20% , 服务器资源占用高 ;


推荐不需要加密访问的页面使用 HTTP , 需要时再使用 HTTPS 协议 ;


相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
2天前
|
缓存 安全 网络协议
|
12天前
|
网络协议 C语言 网络架构
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
35 7
|
12天前
|
缓存
计算机网络——数据链路层-可靠传输的实现机制:选择重传协议SR(介绍、工作原理、窗口尺寸、题目练习)
计算机网络——数据链路层-可靠传输的实现机制:选择重传协议SR(介绍、工作原理、窗口尺寸、题目练习)
16 0
|
12天前
|
缓存
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
13 0
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
|
12天前
|
缓存 网络架构
计算机网络——数据链路层-可靠传输的实现机制:停止-等待协议SW(确认与否认、超时重传等,信道利用率及相关练习题)
计算机网络——数据链路层-可靠传输的实现机制:停止-等待协议SW(确认与否认、超时重传等,信道利用率及相关练习题)
34 0
|
13天前
|
网络协议 网络架构
计算机网络——数据链路层-可靠传输的基本概念(可靠传输服务、不可靠传输服务,分组丢失、分组失序、分组重复)
计算机网络——数据链路层-可靠传输的基本概念(可靠传输服务、不可靠传输服务,分组丢失、分组失序、分组重复)
27 0
|
13天前
计算机网络——数据链路层-封装成帧(帧定界、透明传输-字节填充,比特填充、MTU)
计算机网络——数据链路层-封装成帧(帧定界、透明传输-字节填充,比特填充、MTU)
27 0
|
13天前
计算机网络——物理层-传输方式(串行传输、并行传输,同步传输、异步传输,单工、半双工和全双工通信)
计算机网络——物理层-传输方式(串行传输、并行传输,同步传输、异步传输,单工、半双工和全双工通信)
12 0
|
13天前
计算机网络——物理层-物理层的基本概念、物理层下面的传输媒体
计算机网络——物理层-物理层的基本概念、物理层下面的传输媒体
9 0
|
13天前
|
网络协议 网络架构
计算机网络——计算机网络体系结构(4/4)-计算机网络体系结构中的专用术语(实体、协议、服务,三次握手‘三报文握手’、数据包术语)
计算机网络——计算机网络体系结构(4/4)-计算机网络体系结构中的专用术语(实体、协议、服务,三次握手‘三报文握手’、数据包术语)
10 0

热门文章

最新文章