【网络协议】【http】【https】TLS1.3

【网络协议】【http】【https】TLS1.3

TLS1.3它的签名算法和密钥交换算法,默认情况下是被固定了下来的,他的加密套件里面呢,只包含了对称加密算法和摘要算法

客户端和服务器第一次连接 仍然需要1RTT ,不能0-RTT

第一次连接

1.客户端 Hello

客户端向服务器发送 ClientHello 消息

1.TLS 版本(TLS 1.3)。

2.密码套件(TLS 1.3 只协商对称加密算法和摘要算法 )。

3.随机数(Client Random)。

3.Key_Share:客户端生成 ECDHE椭圆曲线支持的椭圆曲线列表和对应的公钥对

2. 服务器 Hello

服务器收到 ClientHello 后,返回 ServerHello

1.TLS 版本(TLS 1.3)。

2.选择的密码套件(仅对称加密算法和摘要算法)。

3.服务器随机数(Server Random)。

4.服务器选定的椭圆曲线。服务器 ECDHE 公钥。(此时根据这些数据计算出会话密钥了,参考上一篇文章)

5.服务器证书(用于身份认证)。

6.Certificate Verify(服务器使用私钥签名消息,证明身份)。

7.Finished 消息(包含握手数据的摘要,使用会话密钥加密)。

客户端和服务器分别使用 ECDHE 密钥交换算法:

服务器根据客户端的公钥,计算出 共享密钥 K。

客户端根据服务器的公钥,计算出 相同的共享密钥 K。

共享密钥 K + 客户端随机数 + 服务器随机数 → 最终的会话密钥。

由于 ECDHE 算法的特性,双方计算出的会话密钥是相同的。

客户端验证服务器身份

1.客户端使用服务器证书的进行身份验证,确保服务器的证书可信。

2.确保 Certificate Verify 消息的签名有效(证明服务器控制了私钥)。

3.验证 Finished 消息 的完整性。

3.如果验证通过,客户端 :

发送 Finished 消息(使用会话密钥加密,确保完整性)。

服务器验证该 Finished 消息,如果正确,则握手完成。

4 . 数据加密通信 (可以直接发送无需等待回复)

握手完成后,双方开始 安全数据传输,所有应用数据都使用 会话密钥加密。

如果客户端之前已与服务器建立 TLS 1.3 连接,服务器会发送 Session Ticket(会话票据)给客户端,用于 下次握手时减少延迟。这就是 0-RTT(Zero Round Trip Time)。

0-RTT 工作流程

服务器在首次握手完成后,向客户端发送:

Session Ticket(会话票据):保存握手信息(包括PSK预共享密钥)。

客户端下次访问时,可直接发送:

ClientHello + 0-RTT 数据,携带 Early data(客户端请求数据),(使用psk加密)立即发送加密数据。

服务器如果接受 0-RTT 数据,就能立即开始数据传输,同时继续完成 ECDHE 密钥协商,确保后续通信的安全性。

服务器可选择拒绝 0-RTT 数据,要求客户端进行完整握手。

后续会话密钥仍然需要协商(确保每次通信密钥不一样,更安全)

后续会大概说一下QUIC 基于TLS1.3 和UDP的传输层协议

部分转自:https://zhuanlan.zhihu.com/p/686461033

部分转自:https://www.cnblogs.com/ToTigerMountain/articles/18220849

部分转自:https://xiaolincoding.com/network/2_http/http_interview.html

相关推荐
我不会插花弄玉17 小时前
5.应⽤层协议HTTP【由浅入深-网络】
http
我不会插花弄玉1 天前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理1 天前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
火云代理2 天前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖2 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
火云代理2 天前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城2 天前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
略懂而已3 天前
安装SSL后网站速度变慢?
网络·网络协议·ssl
CodeYp20193 天前
第13讲:HTTPS 协议原理
linux·https
Thanks_ks3 天前
HTTPS:浏览器地址栏那把锁的工作原理
http·网络安全·https·tls·加密算法·数字证书·中间人攻击