TLS 1.3 中Pre_shared_key和key_share对应的两种密钥交换模式
1、TLS1.3的整个协议的文档规范 请参照 RFC 8846,协议规范中指出,TLS1.3提供三方面的安全属性,分别是身份认证、通信加密、完整性验证。
2、TLS1.3协议主要包括两个组成部分,分别是握手协议、记录协议、其中记录协议包括了警告协议。而握手协议的主要作用是实现双方身份认证,协商加密模式,建立共享密钥参数,产生一个主秘钥用于后续记录协议使用加密应用层通信消息。
3、TLS1.3提供密钥交换模式一共有三种分别是:
(EC)DHE (DDiffer-Hellman overr either finite fields or elliptic curves)(论文中讨论有限域上椭圆曲线秘钥交换模式)
PSK -Only
PSK with (EC)DHE (暂时还没有实现)
4、Pre_shared_key和key_share的内容区别
key_share 是Client发送ClientHello中Extension中包含的一个对应Support_group中椭圆曲线的对应计算的公钥集(ECDHE)
Pre_shared_key是PSK模式中
(TLS1.3中删除了之前版本在中使用的会话票据,而是使用PSK模式建立会话恢复)
其中加密协商的进程主要四个可选的扩展影响(Cipher_suite 表明AEAD算法、 HKDF算法 哈希对),(Support_group 包含ECDHE组)(Signature_algorithms签名算法)(Pre_shared_key 包含对称密钥标签)
5、LTS1.3 握手协议客户端和服务端 认证过程图
客户端: 服务端:
6、ProVerify验证TLS1.3握手协议(考虑服务端认证)
7、对TLS1.3 中秘钥推导计算的过程分析
8、CPNtool对TLS1.3我首先协议秘钥建立过程的建模分析
CPNtoll广泛使用在对系统的建模,其实并不适合对协议的分析,尤其是安全协议比较复杂的过程。适应CPNtoll我们只分析TLS1.3中没有使用加密的会话过程。同时添加攻击模型对其状态空间分析。
TLS 1.3 中Pre_shared_key和key_share对应的两种密钥交换模式的更多相关文章
- Java 获取*.properties配置文件中的内容 ,常见的两种方法
import java.io.InputStream; import java.util.Enumeration; import java.util.List; import java.util.Pr ...
- 【Spark篇】--Spark中Standalone的两种提交模式
一.前述 Spark中Standalone有两种提交模式,一个是Standalone-client模式,一个是Standalone-master模式. 二.具体 1.Standalon ...
- 在Java Web程序中使用监听器可以通过以下两种方法
之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响 ...
- Eclipse中SVN的安装步骤(两种)和使用方法
Eclipse中SVN的安装步骤(两种)和使用方法 一.给Eclipse安装SVN,最常见的有两种方式:手动方式和使用安装向导方式.具体步骤如下: 方式一:手动安装 1.下载最新的Eclipse,我的 ...
- [转]MFC子线程中更新控件内容的两种办法
一.概述 每个系统中都有线程(至少都有一个主线程),而线程最重要的作用就是并行处理,提高软件的并发率.针对界面来说,还能提高界面的响应能力.一般的,为了应用的稳定性,在数据处理等耗时操作会单独在一个线 ...
- python中字典的循环遍历的两种方式
开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...
- js如何实现动态的在表格中添加和删除行?(两种方法)
js如何实现动态的在表格中添加和删除行?(两种方法) 一.总结 1.table元素有属性和一些方法(js使用) 方法一:添加可通过在table的innerHTML属性中添加tr和td来实现 tab.i ...
- QT中获取选中的radioButton的两种方法(动态取得控件的objectName之后,对名字进行比较)
QT中获取选中的radioButton的两种方法 QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioBu ...
- Android中H5和Native交互的两种方式
Android中H5和Native交互的两种方式:http://www.jianshu.com/p/bcb5d8582d92 注意事项: 1.android给h5页面注入一个对象(WZApp),这个对 ...
随机推荐
- WebGL第一步
什么是WebGL? WebGL使用了GLSL ES(OpenGL ES)着色器语言,通过配合调用js相关的绘制接口来实现3D效果. 采用页面中的<canvas>元素来定义绘图区域,canv ...
- PAT 甲级 1074 Reversing Linked List (25 分)(链表部分逆置,结合使用双端队列和栈,其实使用vector更简单呐)
1074 Reversing Linked List (25 分) Given a constant K and a singly linked list L, you are supposed ...
- shell request failed on channel 0
今天普通用户ssh 登录提示shell request failed on channel 0 然后就退出了 幸亏root 用户没有被禁用,在root下 su - 普通 切换提示资源不足 解决方法 ...
- window10 phpstudy2018 mysql服务重启之后自动停止
使用phpstudy集成环境开发php,但是可能版本太旧,导致有些语法用不了.所以决定删掉,再下一个新版的. 把phpstudy退出之后,就直接把phpstudy文件夹删除了.发现它并不能删除成功.然 ...
- Python MySQLdb 学习总结(转)
转自http://www.cnblogs.com/coser/archive/2012/01/12/2320741.html 感谢@糖拌咸鱼 任何应用都离不开数据,所以在学习python的时候,当然也 ...
- 使用Xshell采用证书登录Linux
1,工具--- 用户key生成向导,选择秘钥类型,注意DSA只能选择1024位级以下,超过1024位的服务器不认. 2 给公钥取一个名字,并设置密码,保存为文件 3 在linux 用户目录,用cd ...
- CSP前的板子们
见窝的luogu博客qwq noip前的板子们
- Qt 自定义QTabWidget
思路: QTabWidget的特点:点击不同的选项卡显示不同的窗口.可以将QTabWidget分成两部分: (1).选项卡:点击时要知道点击的是哪个选项.则需要将选项卡和窗口的信息存起来,点击时去这个 ...
- 魔术方法之__call、__callStatic
1.__call() 作用,当调用不存在的方法时,会调用该方法.实际应用,当程序调用不存在的方法时,意外导致程序终止. .或者当你调用了受保护的或者是私人的方法时,也会自动调用__call方法 结果: ...
- IP核——FIFO
一.Quartus 1.打开Quartus ii,点击Tools---MegaWizard Plug-In Manager 2.弹出创建页面,选择Creat a new custom megafunc ...