【计算机网络】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 协议 ;


目录
相关文章
|
1月前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
5月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
156 18
|
10月前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
10月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
515 3
|
11月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
267 11
|
11月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
817 3
|
11月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
10月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
231 17
|
10月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
185 10
|
10月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。