TLS概述

news/2024/12/5 9:01:58/

握手过程
可分为5步(使用Diffie – Hellman算法):
第一步,浏览器给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法
第二步,服务器确认双方使用的加密方法,使用的tls版本号和一个随机数
第三部,并给出数字证书、以及一个服务器运行Diffie-Hellman算法生成的参数,比如pubkey
第四部,浏览器获取服务器发来的pubkey,计算出另一个pubkey,发给服务器。
第五部,服务器发给浏览器一个session ticket

访问ping虎扑体育(www.hupu.com)

第一步:查看序列号2426分组,浏览器发送一个“Client Hello”消息,内容包括:支持的协议版本,比如TLS 1.2版,客户端生成的随机数(稍后用于生成“会话密钥”),支持的加密算法(如RSA公钥加密)。如下图所示:

第二步:服务器将其SSL版本号、服务器生成的随机数(稍后用于生成“对话密钥”),确认使用的加密方法(如RSA公钥加密)发送给客户端,

第三步:Certificate:服务器发一个证书给客户端,该证书用于向客户端确认服务器的身份。如果配置服务器的SSL需要验证服务器的身份,会发送该消息。在这个Certificate包中,还告诉我们服务器和浏览器是通过Diffie-Hellman算法来生成最终的密钥(也就是Session key)

TLS记录层为什么分成两部分(第一部分包括certificate,第二部分包括server key exchange和server hello done)

第四步:浏览器收到服务器发来的Certificate包来之后,运行Diffie-Hellman算法生成一个pubkey,然后发送给服务器。通过这一步和上面Certificate两个步骤,服务器和浏览器分别交换了pubkey,这样他们就可以分别生成了一个一样的session key,

session key(会话密钥),是保证用户跟其它计算机或者两台计算机之间安全通信会话而随机产生的加密和解密密钥。

第五步:完成上面的步骤,可以说TLS的握手阶段已经完成了,但是,服务器还会发送一个Session Ticket给浏览器,这个session ticket包含了这个ticket的生命周期等信息。

这个session ticket包有什么做用呢?
握手阶段用来建立TLS连接。如果出于某种原因,对话中断,就需要重新握手。客户端只需发送一个服务器在上一次对话中发送过来的session ticket。这个session ticket是加密的,只有服务器才能解密,其中包括本次对话的主要信息,比如对话密钥和加密方法。当服务器收到session ticket以后,解密后就不必重新生成对话密钥了。就可以继续使用上一次的连接了。

第六步:之后,服务器和浏览器建立了安全的连接,便可以传数据了,如下图所示的application data:

 

关于 Encryted Alert消息,警报消息经常只是客户端用来提示服务端 SSL 传输结束,对照抓包到的内容确实如此。所以这里只是 SSL 传输结束的一个信号。

发出了 Encryted Alert 后客户端数据传输完毕,准备进入四次挥手断开 TCP 连接。

总结
ssl协议中整个握手,主要完成对客户端或者服务器的身份认证后,交换出一种加密方法(协商好对称加密算法和对称加密密钥及验证密钥),最终对传输的数据进行加密与解密。


http://www.ppmy.cn/news/243348.html

相关文章

什么是TTL

TTltime to live 这应当从网络的层次讲起: 首先,PING命令是属于ICMP协议规定的,而ICMP是内嵌于IP层的,因此,可以说,PING是网络层的命令。 PING的实现过程很简单,命令将引发IP层发送一个简单的…

tesserocr

1.OCR,光学识别符。 tesserocr是Python的一个OCR库,但其实是对tesseract做的一层Python APIde 封装,所以他的核心是tesseract。因此,在安装tesserocr之前,我们需要先安装tesseract。 2.相关链接 tesserocr PyPI : https://pyp…

TLA+概述--Summary of TLA+

参考文档:C:\ProgramFiles\TLAToolbox-1.6.0-win32.win32.x86_64\plugins\org.lamport.tla.toolbox.doc_1.7.0.202004251858\pdfs\summary-standalone.pdf 模块级结构 -- Module-Level Constructs 常数运算符 -- The constant Operators 其他构造 -- Miscellaneous …

Trustonic Tee

(4)Tokenization。国际芯片卡标准化组织EMVCo定义了智能卡支付,也定义了一个Token(即令牌),在实际卡应用中作为代用品。商家可以使用同样的方式处理卡和令牌,这意味着没有必要改变已经部署和安装…

tls协议

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

62.合理使用预训练网络-1

62.1 什么是微调(fine-tune) 微调(fine-tune),顾名思义指稍微调整参数即可得到优秀的性能,是迁移学习的一种实现方式。 微调和从头训练(train from scratch)的本质区别在于模型参数的初始化,train from scratch通常指对网络各类参数进行随机初始化(当然随机初始化也存…

sms开发文档

sms系统设计参考毕业设计-----------学生选课管理系统的设计 一、使用axios 来实现网页中ajax请求 首先说到axios,是一个类库,他的底层基于ajax库,通常用于ajax请求 ajax又是什么 ajax是一种创建快速动态网页的技术, 传统的页…

幽默笑话-傻冒-猿粪啊

傻冒 一农夫在数高楼,一骗子过来:数几层了?罚款,每层5元。 农夫:15层。交了钱,旁观者说:傻冒。 农夫:他才傻呢,其实我数了18层。 猿粪…