06.HTTPS的实现原理-HTTPS的握手流程(TLS1.3)

05.HTTPS的实现原理-HTTPS的握手流程(TLS1.3)

  • 简介
  • [1. TLS 1.3版本介绍与应用](#1. TLS 1.3版本介绍与应用)
  • [2. TLS 1.3握手过程的特点](#2. TLS 1.3握手过程的特点)
  • [3. TLS 1.3的密钥交换和参数传输](#3. TLS 1.3的密钥交换和参数传输)
  • [4. TLS 1.3的扩展和支持](#4. TLS 1.3的扩展和支持)

简介

主要讲述了TLS 1.3相较于TLS 1.2版本的改进。TLS 1.3作为更高版本,旨在解决低版本在安全性、性能和兼容性方面的问题。它优化了算法,提高了安全性,并兼容低版本。性能上,TLS 1.3通过减少往返时延来提升效率,借鉴了TCP三次握手的逻辑,实现了客户端和服务器之间的快速握手和数据传输,从而提高了整体性能。

相关参考文章
05.HTTPS的实现原理-HTTPS的握手流程(TLS1.2)

1. TLS 1.3版本介绍与应用

1.TLS 1.3是TLS协议的更高版本,与TLS 1.2相比,主要目的是提升安全性和性能,解决兼容性问题。

2.TLS 1.3和TLS 1.2都是当前主流版本,广泛应用,而非TLS 1.3完全替代TLS 1.2。

2. TLS 1.3握手过程的特点

1.TLS 1.3握手过程借鉴了TCP三次握手的逻辑,优化了数据传输的效率。

2.通过减少握手次数和简化过程,TLS 1.3显著减少了建立安全连接所需的时间和资源。

3.客户端和服务器在握手过程中直接交换关键参数,减少了额外往返的需要。

TLS 1.2和TLS 1.3工作流程图比较:

1.TLS 1.2的四次握手包括Client Hello、Server Hello、Client Key Exchange和ChangeCipherSpec。

2.TLS 1.3的三次握手包括Client Hello、Server Hello和ChangeCipherSpec。可以看出客户端进行Client Hello后,服务端就已经拿到了Client Key Exchange、Server Key Exchange、Client Random、Server Random这四个用于生成对称密钥的要素,此时已经可以开始生成对称密钥。相比TLS1.2减少了一个往返时延。

3. TLS 1.3的密钥交换和参数传输

1.TLS 1.3支持使用椭圆曲线等加密算法(不再支持RSA)进行密钥交换,提高了安全性和性能。

2.客户端在握手过程中发送其公钥给服务器,服务器用此公钥加密其参数后发送给客户端。

3.通过公钥直接交换的方式,TLS 1.3减少了握手过程中的参数传输次数和复杂度。

4. TLS 1.3的扩展和支持

1.TLS 1.3支持大量扩展,允许灵活配置和定制协议的各种参数和行为。

2.许多额外的参数和功能是通过扩展实现的,提供了更好的兼容性和功能覆盖。

往期文章参考:
01.HTTPS的实现原理-HTTPS的概念
02.HTTPS的实现原理-HTTPS与HTTP的区别详解
03.HTTPS的实现原理-HTTPS的工作流程
04.HTTPS的实现原理-HTTPS的混合加密流程
05.HTTPS的实现原理-HTTPS的握手流程(TLS1.2)

相关推荐
微学AI7 分钟前
树莓派搭建便携弱网测试网关:基于 Facebook ATC 的实践指南
数据库·内网穿透
小江的记录本7 分钟前
【Bean】JavaBean(原生规范)/ Spring Bean 【重点】/ 企业级Bean(EJB/Jakarta Bean)
java·数据库·spring boot·后端·spring·spring cloud·mybatis
m0_6625779710 分钟前
自动化与脚本
jvm·数据库·python
讯方洋哥13 分钟前
HarmonyOS App开发——鸿蒙ArkTS端云一体化云数据库应用和实战
数据库·harmonyos
闻哥14 分钟前
MySQL InnoDB 缓存池(Buffer Pool)详解:原理、结构与链表管理
java·数据结构·数据库·mysql·链表·缓存·面试
heze0915 分钟前
sqli-labs-Less-50
数据库·mysql·网络安全
gechunlian8822 分钟前
redis exporter手册
数据库·redis·缓存
木易 士心34 分钟前
深入理解 MySQL 权限撤销(REVOKE)机制:从语法到安全实践
数据库·后端·mysql·安全
彭泽布衣40 分钟前
Linux如何指定源端口打流
linux·运维·网络
小龙报1 小时前
【数据结构与算法】栈和队列的综合应用:1.用栈实现队列 2.用队列实现栈 3.设计循环队列
c语言·数据结构·数据库·c++·redis·算法·缓存