TLS协议。

article/2025/10/16 22:45:24

    IPSec通过安全关联实现IP分组安全关联两端之间的安全传输过程,TLS通过建立安全连接实现数据在两个应用进程之间的安全传输过程。TLS建立安全连接时,实现安全连接两端应用进程之间的双向身份鉴别过程,保证经过安全连接传输的数据的保密性和完整性。TLS基于TCP建立两个应用进程之间的安全连接。

    对于许多客户/服务器(Client/Server,C/S)应用结构,实现双向身份鉴别与保证相互交换的数据的保密性和完整性是非常重要的,如访问网络银行,一是需要通过双向身份鉴别防止用户登录伪造的银行网站,并因此泄漏账号、密码等私密信息;二是必须保证经过网络传输的私密信息的保密性和完整性。为了对客户和服务器之间传输的数据进行加密和源端鉴别,客户和服务器之间必须约定加密密钥和鉴别密钥、加密算法和鉴别算法等。

    客户可以通过注册过程和服务器约定上述参数,如果这样,服务器必须为每一个注册客户保留上述安全参数,这一方面增加了服务器的存储负担,另一方面也增加了泄密这些安全参数的可能性。因此,有必要为每一次客户机和服务器之间的数据传输过程动态产生上述安全参数,而且这些安全参数在每一次数据传输过程结束后自动失效,这将大大增强客户机和服务器之间数据传输的安全性,但必须有一套用于完成双向身份鉴别和安全参数协商的协议,传输层安全(Transport Layer Security,TLS)就是这样一种协议。

TLS记录协议用于封装上层协议消息,通过TLS记录协议传输的上层消息可以实现源端鉴别、保密性和完整性。

TLS握手协议是一种实现身份鉴别和安全参数协商的协议。客户端和服务器端通过TLS记录协议传输数据前,需要通过TLS握手协议完成双向身份鉴别过程,并约定压缩算法、加密算法、MAC算法、加密密钥、MAC密钥等安全参数。

通信双方约定新的安全参数后,通过TLS改变密码规范协议通知对方开始使用新约定的安全参数。

报警协议用于传输出错消息,如解密失败、无法确认证书等。

通信双方第一次启动握手协议时,初始安全参数为不压缩、不加密、不计算MAC。

TLS记录协议

内容类型:上层消息类型,如TLS握手协议消息、HTTP消息等。

主版本号:对于TLS,固定为3。次版本号:对于TLS,固定为1。

压缩数据长度:加密操作前上层消息长度。

由于上层消息的长度可以任意,但TLS压缩后的数据的长度不能超过2''B,当单个TLS记录协议报文无法容纳上层消息时,必须对上层消息分段,保证每一段上层消息能够封装成单个TLS记录协议报文。如果通信双方需要对传输的数据进行加密和完整性检测,必须根据压缩后的数据计算消息鉴别码(MAC),并对压缩后的数据和MAC进行

加密运算,这就要求通信双方在进行如图6.17所示的封装过程前,必须通过TLS握手协议约定如下安全参数。

(1)压缩算法。用于压缩分段后的上层消息。

(2)加密算法。用于加密压缩后的数据和MAC,加密的目的是实现数据保密性。

(3)MAC算法。用于计算MAC,MAC的作用是实现源端鉴别和数据完整性。

(4)服务器端写密钥。服务器端加密数据和MAC时使用的密钥。

(5)客户端写密钥。客户端加密数据和MAC时使用的密钥。

(6)服务器端写MAC密钥。服务器端计算MAC时使用的密钥。

(7)客户端写MAC密钥。客户端计算MAC时使用的密钥。

(8)初始向量。采用分组密码体制的加密算法和加密分组链接(Cipher-Block Chaining,CBC)模式时,作为初始向量。

(9)序号。每发送一个TLS记录协议消息,序号增1,序号参与计算MAC过程。值得指出的是,服务器端至客户端传输方向和客户端至服务器端传输方向可以使用不同的加密密钥和MAC密钥。服务器端写密钥作为服务器端至客户端传输方向的加密密钥,服务器端写MAC密钥作为服务器端至客户端传输方向的MAC密钥。同样,客户端写密钥作为客户端至服务器端传输方向的加密密钥,客户端写MAC密钥作为客户端至服务器端传输方向的MAC密钥。

握手协议实现身份鉴别和安全参数协商过程

整个操作过程分为4个阶段,

阶段1:用于双方对压缩算法、加密算法、MAC算法及TLS协议版本达成一致。客户C在客户Hello消息中按优先顺序列出客户C支持的算法列表及TLS协议版本,服务器V从客户C支持的算法列表中按优先顺序选择一种自己支持的算法作为双方约定的算法,在双方支持的TLS版本中选择较低的TLS版本作为双方约定的TLS版本,并通过服务器 Hello 消息将双方约定的算法、TLS版本回送给客户C。

阶段2:验证服务器证书。用于完成对服务器V的身份鉴别。TLS支持多种鉴别服务器V身份的机制,这里以基于证书+私钥的鉴别机制为例讨论:

服务器 V 身份鉴别过程。服务器 V 身份鉴别过程就是确认客户C访问的服务器V就是域名为

IDv的服务器的过程。基于证书+私钥的鉴别机制鉴别服务器V身份的过程如下:服务器V向客

户C提供由认证中心颁发的IDv和公钥PKV绑定关系的证书

但确定公钥PKV和IDv的绑定关系并不能证明服务器v的绑定关系,只有在证明了服务器V拥有和公钥PKV对应的私钥SKV后,才能证明服务器V的域v。因此,阶段2并没有完成对服务器 V的身份鉴别。

阶段3:生成主密钥与验证客户证书

如果服务器V要求鉴别客户C的身份,阶段3一开始就由客户C通过客户证书消息向服务器V发送证书链,证书链包含的证书保证服务器V能够验证证明IDc和公钥PKC绑定关系的证书。

同样,客户C发送的证书链只能证明IDc和公钥PKC之间的绑定关系,要证明客户C的用户名为IDc,还需证明客户C拥有和公钥PKC对应的私钥SKC。

      客户C为了确认服务器V拥有和公钥PKV对应的私钥SKV,用公钥PKV加密客户C选择的预主密钥(Pre-Master Secret,PMS)(Y=Exv(PMS)),并通过交换密钥消息将密文 Excv(PMS)发送给服务器V,由于预主密钥是计算其他密钥的基础,因此,只有双方具有相同的预主密钥才能保证双方产生相同的安全参数,而服务器V得到预主密钥的唯一前提是,拥有和公钥PKV对应的私钥SKV(Dxv(Y)=Dsxv(Exv(PMS))=PMS)。这就证明,只要双方成功协商安全参数,客户C访问的就是域名为IDv的服务器。

   为了证明这一点,客户C发送的证实证书消息中包含客户C用私钥SKC对双方交换的握手协议消息的报文摘要进行解密运算后得到的密文(Y=Dxc(MD(握手协议消息))。由于服务器V保留了双方交换的握手协议消息,通过将对密文用PKC加密运算后的结果和自己对保留的双方交换的握手协议消息报文摘要运算后的结果进行比较,就可断定客户C是否拥有SKC。

 阶段四:双方身份鉴别和安全参数切换

要证明服务器V拥有和公钥PKV对应的私钥SKV,只需证明服务器V得到了预主密钥PMS。要证明服务器V得到了预主密钥PMS,只需证明服务器V计算所得的主密钥 MK和客户C计算所得的主密钥MK相同。因此,服务器V向客户C发送的结束消息中包含PRF(MK,"server finished",MD5(握手协议消息)|SHA-1(握手协议消息))计算结果,客户C根据自己计算所得的主密钥MK重新计算PRF(MK,"server finished",MD5(握手协议消息)|SHA-1(握手协议消息)),如果计算结果和服务器V发送的结束消息中包含的计算结果相同,服务器V的身份得到确认,同时,也证明相互传输的握手协议消息的完整性。


http://chatgpt.dhexx.cn/article/a31rfOem.shtml

相关文章

SSL/TLS协议

SSL/TLS协议 文章目录 SSL/TLS协议1 协议历史2 协议的目标3 SSL体系结构4 两个主要的协议5 SSL的两个重要概念6 会话状态参数7 连接状态参数8 SSL Record Protocol9 SSL记录协议中的操作10 SSL握手协议使用的消息11 SSL握手协议的流程 1 协议历史 1994年Netscape开发了SSL(Sec…

tls协议

tls 前言一、TLS 协议的组成二、ECDHE1.连接过程 三、TLS1.31.过程 前言 tls是ssl协议的标准化,处于应用层(5层架构)和会话层(OSI),有着rsa方式和ecdhe两种, 一、TLS 协议的组成 握手协议:负责在客户端和服务器之间协商决定密码算…

TLS协议详解!

TLS简介 SSL 即安全套接字层,它在 OSI 七层网络模型中处于第五层,SSL 在 1999 年被 IETF(互联网工程组)更名为 TLS ,即传输安全层,直到现在,TLS 一共出现过三个版本,1.1、1.2 和 1.3 ,目前最广…

esp-idf的内存管理——tlsf算法

目录 1 最初还不是tlsf2 为什么要引入tlsf3 tlsf算法概览4 idf中使用的tlsf算法的设计与实现4.1 先看结构4.1.1 管理内存块的结构4.1.2 管理tlsf堆的结构 4.2 优化内存块的元数据开销4.3 一二级位图索引的计算4.4 tlsf堆的创建与销毁4.4.1 tlsf堆的创建4.4.2 tlsf堆的销毁 4.5 …

TLSF算法1:二级索引的计算

TLSF算法1:二级索引的计算 一、什么是TLSF算法二,f的确定三、s的确定四、实验结果一、什么是TLSF算法 在嵌入式系统中,内存需要在分配和释放时有一个确定的相应时间,才能进一步分析其实时任务的可调度性。因此TLSF算法是一个十分适用嵌入式领域的动态内存分配算法。在关于T…

TLSF 内存分配算法详解

文章目录 1. DSA 背景介绍1.1 mmheap1.2 mmblk 2. TLSF 原理2.1 存储结构2.2 内存池初始化2.3 free2.4 malloc 参考资料 1. DSA 背景介绍 动态内存管理算法 DSA,Dynamic storage allocation。RTOS 一般情况下动态内存使用malloc申请分配,但是存在两个缺…

tlsf算法-概念、原理、内存碎片问题分析

文章目录 一、tlsf算法介绍二、tlsf代码分析2.1 mapping_search2.2 search_suitable_block 三、参考链接 一、tlsf算法介绍 tlsf(全称Two-Level Segregated Fit,内存两级分割策略算法),第一级(first level&#xff0c…

数学建模系列-优化模型(三)---排队论模型

所谓排队论模型,就是指一个模型中可根据交易简单的需要分为三个部分: (1)顾客造访 (2)服务顾客时间 (3)若不空闲,则顾客需要排队 下面是对于排队论模型的建模以及解决方法…

无线传感器网络:排队论(Queueing Theory)模型

文章目录 The arrival ProcessQueueing SystemThe M/M/1 queueThe M/M/1/N queue References 排队理论已被用于评估通信网络的性能很多年了。早在1917年,丹麦数学家 Erlang 就将该理论用于电话交换机的设计,并开创了现在著名的 Erlang-B 和 Erlang-C 公式…

排队论(Queuing theory)简介

Preliminary Questions 1.What does affect the performance of ——a computer system? ——a computer network? ——an Internet service? 2 How do we measure the performance of ——a computer system? ——a computer network? ——an Internet service…

泊松分布,指数分布与排队论模型

转自http://www.ruanyifeng.com/blog/2015/06/poisson-distribution.html泊松分布和指数分布:10分钟教程 https://www.bilibili.com/video/BV1L5411x7vH?p44北京工业大学运筹学 泊松分布与指数分布 泊松分布 泊松分布就是描述某段时间内,事件具体的…

排队论模型之M/M/S模型

相关参数 模型推导 例题 代码实现: s3; %服务台的个数 mu0.4; %单位时间内能服务的顾客数 lambda0.9; %单位时间内到达的顾客数rolambda/mu; rosro/s; sum10; %求解P0时把其分成两部分计算,分别为sum1,sum2 for i0:(s-1) sum1sum1ro.^i/factorial(i); …

排队模型和排队系统仿真

排队模型和排队系统仿真 Gary哥哥 2021.1.31 排队论又称随机服务系统,是研究系统随机聚散现象和随机服务系统工作过程的数学理论和方法,是运筹学的一个分支。排队论的基本思想是 1909 年丹麦数学家 A.K. 埃尔朗在解决自动电话设计问题时开始形成的&#…

数学模型算法实现之排队论

排队问题 https://wenku.baidu.com/view/475f68cb65ce0508763213a7.html 排队论详解 排队论又叫随机服务系统理论或公用事业管理中的数学方法。它是研究各种各样的排队现象的。它所要解决的主要问题是:在排队现象中设法寻求能够达到服务标准的最少设备,使得在满足服务对象…

排队论模型(二):生灭过程 、 M / M /s 等待制排队模型、多服务台模型

排队论模型(一):基本概念、输入过程与服务时间的常用概率分布 排队论模型(二):生灭过程 、 M / M /s 等待制排队模型、多服务台模型 排队论模型(三):M / M / s/ s 损失…

排队论模型(四):M / M / s 混合制排队模型

排队论模型(一):基本概念、输入过程与服务时间的常用概率分布 排队论模型(二):生灭过程 、 M / M /s 等待制排队模型、多服务台模型 排队论模型(三):M / M / s/ s 损失…

浅谈排队论

排队论起源于 1909 年丹麦电话工程师 A. K.爱尔朗的工作,他对电话通话拥挤问 题进行了研究。1917 年,爱尔朗发表了他的著名的文章—“自动电话交换中的概率理 论的几个问题的解决”。排队论已广泛应用于解决军事、运输、维修、生产、服务、库…

超详细的排队论建模

排队系统 顾客输入过程 顾客源(总体):有限/无限顾客到达方式:逐个/逐批(主要是逐个)顾客到达间隔:随机型/确定型顾客到达:相互独立/相互关联输入过程:平稳/非平稳 排队…

排队论模型(五): 有限源排队模型、服务率或到达率依赖状态的排队模型

排队论模型(一):基本概念、输入过程与服务时间的常用概率分布 排队论模型(二):生灭过程 、 M / M /s 等待制排队模型、多服务台模型 排队论模型(三):M / M / s/ s 损失…

排队论模型(一):基本概念、输入过程与服务时间的常用概率分布

排队论模型(一):基本概念、输入过程与服务时间的常用概率分布 排队论模型(二):生灭过程 、 M / M /s 等待制排队模型、多服务台模型 排队论模型(三):M / M / s/ s 损失…