TLS协议详解

TLS、运输层安全协议 运输层安全协议现在广泛使用以下两个协议:安全套接字层 SSL、运输层安全 TLS。 阅读详情
AI摘要

本文详细介绍了TLS协议,包括其组成的记录协议和握手协议,阐述了TLS握手过程。还对比了TLS 1.3与TLS 1.2,指出TLS 1.3在兼容性、性能上的提升。此外,分析了HTTPS变慢的原因,并从加解密、证书、会话复用三方面给出优化建议。

TLS协议

一,TLS协议的组成

image

TLS协议架构模块分为两层:TLS记录协议,TLS握手协议

① TLS记录协议: 是所有子协议的基层,规定了TLS收发数据的基本单位。所有子协议都需要通过记录协议发出,多个记录数据可以在一个TCP中发送。主要负责使用对称密码对消息进行加密。

② TLS握手协议:

  • 握手协议:客户端和服务端在握手过程中协商 TLS版本号,随机数,密码套件,交换证书,最终获取会话密钥。
  • 密码规格变更协议:发送一个通知,告知对方后续的通信采用加密保护。
  • 警告协议:向对方发出警告,类似于http中的状态码。不支持旧版本,证书异常都会发送警报,另一方收到警报后可以进行相应的处理
  • 应用数据协议:将TLS承载的应用数据传达给通信对象

二,TLS的握手过程

image

上图是TLS握手的一个简易流程,每一个框就是一个 TLS Record(记录),多个Record合并成一个TCP来进行发送,可以看到整个TLS握手只需要2次消息往返即2RTT就能完成 ( TLS 1.2是2RTT,TLS 1.3可以做到 1RTT甚至0RTT )

接下来我们来结合wireshark抓包来详细介绍每一步的流程:

1,ClientHello

image
首先客户端先向服务端发起握手请求,在这个请求过程中client会携带以下参数

  • TLS 版本: 确定使用1.2还是1.3 但是这个地方固定是1.2。之后我们会在1.2与1.3的兼容性中聊到
  • Client提供的随机数: 用于后续生成会话密钥
  • Cipher Suites: 可用密码套件列表,供服务端选择
  • 会话ID(可忽略): 可用于之后TLS1.3的优化 —— 会话缓存
  • 可用压缩方式
密码套件

客户端和服务端在使用TLS建立连接时需要选择一组恰当的加密算法来实现安全通信,这些算法的组合就被称为 密码套件
如图中的密码套件那一行:TLS_ECDHE_RSA_WITH_AES_128-CBC-SHA 他的意思是

  • 握手时使用ECDHE算法进行密钥交换
  • 用RSA签名和身份认证
  • 握手后的通信使用 AES对称算法,密钥长度 128 位
  • 分组模式为 CBC
  • 摘要算法为 SHA 用于消息认证和产生随机数

2,ServerHello

服务端接收到客户端的握手请求,会回复客户端同时 发送 ServerHello,ServerHello会根据之前的ClientHello的参数来做如下操作:

  • **确认 TLS版本 **
  • 服务器提供的随机数
  • 选择的密码套件

3,Serv

传输层安全(TLS)笔记 一.什么是TLS TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Layer,安全套接字层),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。 ... 阅读详情

相关推荐

TLS、运输层安全协议,网络安全事件体系全面总结+实践分析

客户 A 向服务器 B 发送一个明文记录时,对 MAC 密钥 MA 、记录的当前序号和明文记录进行散列运算,鉴别明文记录的完整性(内容和顺序均无误)。(5)客户 A 用 B 的公钥 PKB 对主密钥 MS 加密,得出加密的主密钥 PKB(MS),发送给服务器 B。·s 代表 security,表明现在使用的是提供安全服务的 HTTP 协议(TCP 的 HTTPS 端口号是 443,而不是平时使用的端口号 80)。·在发送方,TLS 接收应用层的数据,对数据进行加密,然后把加密后的数据送往 TCP 套接字。

m0_60721823的博客 1541

一文详解SSL/TLS协议

SSL/TLS协议是保障网络通信安全的核心技术,其在应用层和传输层之间建立加密通道,文章系统梳理了TLS协议的发展历程、工作原理及最新进展

m0_50146396的博客 1万+

TLS握手协议详解

一 点睛 握手协议是TLS握手协议的一部分,负载生成共享密钥以及交换证书。其中,生成共享密钥是为了进行密码通信,交换证书是为了通信双方相互进行认证。 握手协议这一名称中的“握手”,是服务器和客户端在密码通信之间交换一些必要信息这一过程比喻。 由于握手协议的信息交换是在没有加密的情况下进行的(即使用“不加密”这一密码套件),也就是说,在这一协议中所收发的所有数据都可能被窃听者窃听,因此在这一过...

实践求真知 1万+

安全协议之-TLS握手过程详解

本文想写介绍传输层安全协议TLS的握手过程

村中少年的专栏 1095

openEuler 欧拉 安装Oracle19c数据库RPM包安装

欧拉系统安装部署oracle 19c rpm方式

陈苏漾的IT生涯 6890

基于Lora的一主多从监测与控制系统

题目:基于Lora的远程农业监测与控制系统 目的:通过Lora子节点采集好各种传感器的信息,发送给汇聚节点,汇聚节点将数据通过ESP8266上传至云端,使用了微信小程序进行监测与控制

热爱生活、奋斗前行 7841

液冷方式介绍

如果将直径在1~100nm的颗粒悬置在传热流体(例如:水、乙烯、乙二醇等)中时,其传热能力会得到提升,因为大多数固体材料的热导率要大于液体,因此由颗粒、流体组成的混合物热导率也高于液体本身的热导率,由此制成的流体,我们称之为纳米流体。金属冷管的液体工质蒸散量几乎为0,而柔软材质的管道则会产生液体的蒸散,在封闭式循环系统中,为了弥补液体工质的蒸散,必须定期在系统中补充液体工质。——我们之前说过,材料的导电和导热的机制大致是类似的,所以导电能力更强的金属往往具有更好的导热能力。

制冷技术咨询与服务的博客 2030

FUEL算法解读(一)——框架解读,思维导图可以很清晰看懂算法启动框架,已更新完,图太大放不上来链接在文末

一图看懂FUEL算法节点框架!!!

weixin_43793717的博客 2783

基于 PID 算法的 STM32 步进电机高精度位置控制系统设计与实现(工业自动化应用)

硬件层面:选用 STM32F103C8T6+A4988 + 欧姆龙编码器的组合,兼顾工业可靠性与成本,接线需注意强弱电分离和信号抗干扰;软件层面:核心为位置式 PID 闭环控制,Mermaid 流程图清晰展现 “采集 - 运算 - 驱动” 的闭环逻辑,代码模块化易移植;性能层面:无负载定位误差≤±1 脉冲,带载误差≤±3 脉冲,满足工业自动化高精度位置控制需求。

weixin_42300449的博客 193

华为OD技术面八股文_C++_02

汇总华为OD面试C++方面计数八股文真题,提供详细解答。

qq_45776114的博客 764

【FDTD】仿真目录(共计 16 篇)

对于完美吸收型边界条件,有时候我们需要设置将仿真结构穿过边界条件区域,具体原因可以阅读下文。在进行 S 参数扫描时,当考虑到材料的色散特性时,我们可以如下文一样选择计算群延迟。仿真,我们需要构建仿真结构与仿真区域,对于它们的尺寸,应该遵循下文进行设定。中存在多种不同的网格类型,具体可以参考下文,这部分内容仅作了解即可。尺寸的设置问题,对于 mesh 的最小尺寸,可以参考下文。的边界条件设置也十分重要,下文中我们对边界条件进行总结。仿真中我们可以设定参与仿真的模式数量,可以参考下文。尺寸的实例,详见下文。

u011699626的博客 502

【人工智能】《Deep Dive into LLMs like ChatGPT 》—— Andrej Karpathy 第三阶段:强化学习(Reinforcement Learning, RL)

摘要:强化学习(RL)阶段通过让模型自主生成并验证答案,突破SFT阶段的模仿局限,使其在数学、代码等领域形成独特的推理路径。RL流程包括批量生成解答、自动批改筛选正确路径,并采用PPO/GRPO算法优化模型。模型会自发涌现自我检查、回滚等策略,显著提升正确率(如AIME竞赛准确率从15%升至56%)。与SFT模型相比,RL模型具备主动链式思维、验算能力,响应时间更长但效果更优,形成真正的“思考模型”。三阶段对比显示,RL通过可验证题的对错奖励机制,赋予模型超越人类范式的推理能力。

奶爸的编程之路,也就一周冷个三天 147

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: Feign源码详解
Genius!
博客等级 码龄7年 268粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值