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

打印 上一主题 下一主题

主题 854|帖子 854|积分 2562

【网络协议】【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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表