1、密码协商

TLS协议中,密码协商的过程中Client在ClientHello中提供四种option

第一:client 支持的加密套件列表,密码套件里面中能出现Client支持的AEAD算法或者HKDF哈希对,

第二:  Supported_group 的扩展和 Key_share的 扩展,其中Supported_groups这个扩展表明了Client支持的(EC)DHE group 而 key_share 扩展表明了Client包含一些或者全部(EC)DHE共享。

第三: signature_agrorithms 签名算法和 signature_algorithms_cert这个扩展展示了具体的签名算法   signature_algorithms 这个扩展展示了Client可以支持哪些签名算法,signature_algorithms_cert这个扩展展示了具体的证书签名算法

第四: pre_shared_key 预共享秘钥和 pre_key_exchange_modes扩展,预共享秘钥扩展包含了Client可以识别的堆成秘钥标识 , psk_key_exchange_modes扩展表明了可能可以和psk一起使用的的秘钥交换模式。

2、TLS协议中的两大主要组成部分

握手协议:

握手协议主要处理通信双方之间认证的所有流程,包括秘钥协商,参数协商、建立共享秘钥。握手洗衣被设计用来抵抗篡改,如果连接未受到攻击,则活动攻击者不应该强制对方协商不同的参数

记录协议:

使用有握手协议建立的参数来保护通信双方的流量,记录协议将流量分成一系列的记录,美衣伊阁记录独立的使用秘钥保护机密性

3、TLS1.3 支持的基本秘钥交换模式

(EC)DHE 基于有限域或椭圆曲线的Diffe-Hellman、     PSK-only    、PSK with(EC)DHE

4、下面是TLS1.3 握手协议的过程

Client                                           Server

Key  ^ ClientHello
Exch | + key_share*
     | + signature_algorithms*
     | + psk_key_exchange_modes*
     v + pre_shared_key*       -------->
                                                  ServerHello  ^ Key
                                                 + key_share*  | Exch
                                            + pre_shared_key*  v
                                        {EncryptedExtensions}  ^  Server
                                        {CertificateRequest*}  v  Params
                                               {Certificate*}  ^
                                         {CertificateVerify*}  | Auth
                                                   {Finished}  v
                               <--------  [Application Data*]
     ^ {Certificate*}
Auth | {CertificateVerify*}
     v {Finished}              -------->
       [Application Data]      <------->  [Application Data]

+表示在以前标注的消息中发送的值得注意扩展

*表示 可选的或者依赖一定条件的消息/扩展 ,不总是发送

() 表示消息从 Client-early-traffic_serect 导出的秘钥保护

{} 表示使用一个[sender]handshake_traffic-serect 导出的秘钥保护

[]表示消息使用 [sender]_application_trafic_serect_N导出的秘钥保护

握手可以被认为是三个阶段:

第一个阶段是 :   秘钥交换---- 建立共享秘钥数据并选择密码参数,在这个阶段之后所有的数据都会被加密,

第二个阶段:   server参数  : 建立其他的握手参数 (Client是否被认证, 应用层协议支持等)

第三个阶段  : 认证Server (并选择性的认证Client  )提供秘钥确认和握手的完整性

TLS1.3 握手过程特性的整理的更多相关文章

  1. TCP连接建立的三次握手过程可以携带数据吗?

    前几天实验室的群里扔出了这样一个问题:TCP连接建立的三次握手过程可以携带数据吗?突然发现自己还真不清楚这个问题,平日里用tcpdump或者Wireshark抓包时,从来没留意过第三次握手的ACK包有 ...

  2. SSL/TLS 握手过程详解

    在现代社会,互联网已经渗透到人们日常生活的方方面面,娱乐.经济.社会关系等都离不开互联网的帮助.在这个背景下,互联网安全就显得十分重要,没有提供足够的安全保障,人们是不会如此依赖它的.幸运的是,在大牛 ...

  3. JDK 5 ~ 10 新特性倾情整理!

    JDK 5 ~ 10 新特性倾情整理! 最近连 JDK11都在准备发布的路上了,大家都整明白了吗?也许现在大部分人还在用6-8,8的新特性都没用熟,9刚出不久,10-11就不用说了. 为了大家对JDK ...

  4. Java 5-11新特性的整理(转)

    Java 5-11新特性的整理(转) 作者:拔剑少年 简书地址:https://www.jianshu.com/u/dad4d9675892博客地址:https://it18monkey.github ...

  5. HTTPS详解二:SSL / TLS 工作原理和详细握手过程

    HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 在上篇文章HTTPS详解一中,我已经为大家介绍了 HTTPS 的详细原理和通信流 ...

  6. HTTPS 握手过程理解

    转自https://www.jianshu.com/p/a3a25c6627ee https://blog.csdn.net/xingtian713/article/details/11953057 ...

  7. SSL 握手过程

    SSL协议的握手过程 SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术.SSL 的握手协议非常有效的让客户和服务器 ...

  8. SSL握手过程

    原文地址: http://my.oschina.net/u/1188877/blog/164982 一.SSL握手有三个目的:1. 客户端与服务器需要就一组用于保护数据的算法达成一致:2. 它们需要确 ...

  9. SSL交互和握手过程

    SSL消息按如下顺序发送:  1.Client Hello  客户发送服务器信息,包括它所支持的密码组.密码组中有密码算法和钥匙大小: 2.Server Hello  服务器选择客户和服务器都支持的密 ...

随机推荐

  1. 报错:HDFS IO error org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/yk/dl/alarm_his":hdfs:supergroup:drwxr-xr-x

    报错背景: CDH集成了Flume服务,准备通过Flume将kafka中的数据放到HDFS中, 启动Flume的时候报错. 报错现象: // :: INFO hdfs.HDFSDataStream: ...

  2. Hello log4net——做一个实用好用的log4net的demo(转)

    log4net使用指南  (对配置解释比较全面细致,建议做完demo后多看) Log4Net使用详解(周公)——点击打开链接 Log4Net使用详解(续)周公——点击打开链接 点击打开链接 点击打开链 ...

  3. jqweui Popup 使用说明

    使用步骤说明: 今天遇到一个问题,无论怎么点击一个图标都不会弹出对应的遮罩层,但是把示列代码拷贝过来又可以正常显示:结果是由于在复制的时候把 # 号弄掉了 错误操作展示: <a href=&qu ...

  4. 什么是 CDN(超形象)

    原文地址:https://blog.csdn.net/lu_embedded/article/details/80519898 618电商节.双十一购物狂欢节,到底是什么在支撑数以万计的秒杀活动?这就 ...

  5. PMP备考笔记--1.1

    题型 200道中英文单选题 基本概念题(%10) 过程工具/技术和输入输出题ITTO (%10) 情景题(%70) 计算题(3-5道题) 图 pmp四大挑战 试卷100页,题干长,阅读量大,考试4个小 ...

  6. Extjs locked无效,使用enableLocking即可

    一.前言 在使用 extjs 做表格时,由于表格的列太多,我们需要设置一些固定列来查看数据,所以我们需要用到 locked 属性.普通加载 columns 的列是有效的,如果是动态加载的话,使用 lo ...

  7. php面相对象基本概念,基本形式,传值

    面向对象基本概念 面向对象三大特性:封装  继承  多态 类与对象 类:是用于描述“某一些具有共同特征”的物体的概念,是某一类物体的总称. 通常,一个类所具有的共同特征包括2大方面的信息: 外观,形状 ...

  8. MFC无法使用CDialogEx类

    在stdafx.h中添加以下代码: #include <afxcontrolbars.h>

  9. D2.Docker: 安装部署相关问题

    [mysql] docker 安装完mysql 后客户端无法访问

  10. 转:路由 router-view

    原文链接: 路由 router-view 路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页面中就要显示about 的内容.H ...