HTTPS传输过程

HTTPS:超文本传输安全协议

相较于HTTP明文传输,HTTPS增加了SSL/TLS进行了加密增加了通信的安全性。

SSL和TLS是两个不同的加密方法,SSL是TLS的前身,现在绝大多数浏览器使用的是TLS,所以着重了解以下TLS的概念即可。

首先了解以下加密的概念,信息传输的过程中为了防止别人监听我们就需要对传输的信息进行加密,加密模式有两种对称加密和非对称加密。

  • 对称加密:双方使用相同的公钥和私钥,容易被暴力破解
  • 非对称加密:两个人使用不同的私钥和公钥

非对称加密的过程:

  • 客户端发送自己的公钥
  • 服务器发送自己的公钥,以及使用客户端公钥加密的自己的私钥
  • 客户端发送使用服务器公钥加密的私钥
  • 现在双方都有对方的私钥和公钥就可以进行信息传输了

对称加密也存在它的问题,比如沟通的对象并不能保证是真实的客户端,一旦服务器的私钥泄漏会造成很大的问题,TLS考虑到这种情况采用了两种策略。

  • 数字证书验证
  • 由非对称加密转向对称加密

数字证书这个东西相信都见过,浏览一些问题网站时经常会遇到浏览器提示对方的数字证书有风险

HTTPS四次握手

  • 客户端发送一个client hello,告诉服务端采用的TLS版本及支持的加密套件,同时还有一个随机数这里记作r1

  • 服务器发送一个server hello,告诉客户端,服务器确认支持的TLS版本号及选择的加密套件,生成随机数r2,同时发送服务器的CA证书,如果服务器需要客户端的数字证书的话在这个阶段发出请求

  • 客户端的浏览器根据自己的证书信任列表判断这个服务器是否可信,没问题的话,客户端发送一个client key exchange,使用CA证书中的公钥加密一个随机数r3(预主密钥),同时告诉服务器接下来使用会话密钥通信并提取所有握手数据的摘要供服务器校验

  • 服务器使用私钥对预主密钥进行解密得到第三组随机数,然后使用约定的加密算法使用三组随机数生成会话密钥,服务器进行最后的响应,通知客户端接下来可以使用会话密钥了,同时把之前握手的数据进行提取摘要发送过去供客户端校验

HTTPS优点

  • 整个过程中私钥并未进行传输所以安全性更高,如果服务器的私有不泄露一般不会出现信息泄漏的情况
  • 引入了CA证书,有了证书的加持连接行为变得可控了许多

下面简单看一下数组证书的内容

使用数字证书的好处可以举一个例子,比如半夜你正在一个使用HTTP的网站看小说,这个时候你的室友想要整蛊你一下,他就可以通过一些工具模拟成一个中间人,你和他之间进行交换密钥,他和网站交换密钥,它可以修改你发送的信息然后修改之后再转发给服务器,这个过程神不知鬼不觉。

CA证书验证过程

  • 使用颁发证书机构提供的公钥提取数字签名得到一个证书内容的哈希值,然后自己对证书内容进行哈希,比较两段内容是否一样

所以说引入了CA证书后就可以确保和你通信的就是他本人了,他对证书内容进行修改的话也会因为没有颁发机构的私钥而无法得到正确的数字签名。

相关推荐
fiveym1 小时前
二层核心网络技术通俗解析(VLAN/Access/Trunk/LACP/ARP)
服务器·网络·网络协议
专注VB编程开发20年2 小时前
Vscode调试是真不方便
网络·网络协议
mobai73 小时前
frr使用Valgrind定位内存泄漏
网络协议
袁小皮皮不皮5 小时前
HCIP-BFD 学习笔记
运维·服务器·网络·笔记·网络协议·学习·智能路由器
xlq223225 小时前
54.序列化和反序列化
服务器·网络·网络协议·tcp/ip
JiaWen技术圈5 小时前
后端无状态鉴权 JWT 或 OAuth2 及其区别与实现
服务器·网络·网络协议
发光小北6 小时前
Profinet 从站转 Modbus TCP 网关如何应用?
网络协议
Shota Kishi7 小时前
基于 Solana Geyser gRPC 数据流的 pump.fun 代币铸造实时检测:流式架构与 HTTP/2 协议分析
网络协议·http·架构
lularible8 小时前
PTP协议精讲(3.13):故障处理与诊断——PTP的“健康卫士“
网络·网络协议·开源·嵌入式·ptp
许长安8 小时前
rpc和http的区别
经验分享·笔记·网络协议·http·rpc