LTS秘钥协商算法分析
1、根据RCF文档说法 在1-RTT中有两种密钥协商算法(1-RTT ECDHE和 1-RTT PSK )和4中0-RTT密钥协商方式(0-RTT PSK, 0-RTT ECDH ,0-RTT ECDHE-PSK ,0-RTT ECDH-ECDHE)
首先看ECDH密钥的协商:
计算存在两种方法:
第一种:密钥生成算法 ECDH_Generate_key 输出一个公钥和私钥对 (ECDH_pub_key,ECDH_pri_key),ECDH_pri_key需要秘密的保存,ECDH_pub_key可以公开发送给对方。
第二种:密钥协商算法 ECDH_Computer_key ,以对方的公钥最为自己的私钥输入,计算一个key。这样双方计算出来的key 是一致的‘
这种算法存在明显的漏洞,攻击者可以将发送给对方的公钥截获,使用ECDH_Generate_key计算出一对(公钥、私钥)对,然后将公钥发送给对方。这样产生的key就是和攻击者协商的。产生中间人攻击时因为没有经过身份认证。
2、带认证的密钥协商
ECDH认证密钥协商就是在ECDH密钥协商上加上数字签名,双方协商时对自己发送的 ECDH_pub_key进行签名,收到信息之后首先验证签名是否正确,正确之后再进行协商。签名算法 ECDA_verify_key是公开的。攻击者没有办法阻止对方获得公钥。因此无法伪造签名。
LTS秘钥协商算法分析的更多相关文章
- Https之秘钥交换过程分析
一.概念回顾 A <------M------> B场景:A.B两个人之间通讯,A传输信息M给B,假定是在不安全的通路上传输. 1.明文传输 被中间人C拦截下来,可以随意篡改A发送给B的消 ...
- TLS1.3 认证和秘钥建立握手环节的分析
1.ClientHello 中的参数 ClientHello---{ Random_C .extension } 在 extension中的扩展中包含 ( supported_version ...
- TLS握手秘钥套件分析
1.为了弄清楚TLS1.3的内部结构,觉得有必要将TLS的整个结构从新整理一遍,方便后续在做握手协议的形式化分析的时候能够不遗漏每个加密和认证的的环节. TLS1.3不论文在协议内容上还是性能上都较之 ...
- ssh秘钥交换详解与实现 diffie-hellman-group-exchange-sha
ssh的DH秘钥交换是一套复合几种算法的秘钥交换算法.在RFC4419中称为diffie-hellman-groupX-exchange-shaX 的算法(也有另一种单纯的 rsaX-shaX 交换算 ...
- docker ssh秘钥免密登录
一.概述 有一台跳板机,已经实现了免密登录后端服务器.但是我写了一个django项目,它是运行在容器中的,也需要免密登录后端服务器. 虽然可以在容器中手动做一下免密登录,但是容器重启之后,之前做的设置 ...
- Alipay秘钥问题
有三种秘钥一个是应用公钥 一个是支付宝公钥 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco } span.s1 { text-d ...
- ZeroMQ接口函数之 :zmq_z85_encode – 使用Z85算法对一个二进制秘钥进行加密,输出可打印的文本
ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq-z85-encode zmq_z85_encode(3) ØMQ Manual - ØMQ/4. ...
- sshd 指定端口,指定秘钥文件
scp -i ~/test -P22219 SRC/ root@10.2.227.76:/data/ #sshd的端口指定的是22219, -i 指定秘钥文件 指定秘钥文件需要注意的是,需要提 ...
- 将ubuntu的id_rsa秘钥转为putty的ppk格式
1.使用putty的puttygen.exe: 2.导入需要转换的秘钥 3.保存私钥
随机推荐
- 纯java代码对音频采样率进行转换
转换成16KHz采样率(含文件头) void reSamplingAndSave(byte[] data) throws IOException, UnsupportedAudioFileExcept ...
- Python - Django - ORM 查询方法
models.py: from django.db import models class Human(models.Model): id = models.AutoField(primary_key ...
- 【相机篇】从到FlyCapture2到Spinnaker
从FlyCapture2 到 Spinnaker SDK的变换,可参见FLIR公司机器视觉的相机产品:https://www.flir.com/iis/machine-vision/ Spinnake ...
- Swift4.0复习特性、编译标志和检查API的可用性
1.Swift中的特性: @引出,后面紧跟特性名,圆括号带参数即可. @attribute(args) avaiable: 指明对象,函数,类型的可用性. @available(iOS 10.0, m ...
- 【tensorflow】tensorflow官网进不去,因为它的地址改变了
以前的网址是https://www.tensorflow.org/,当时得fq才能打开,现在这个我fq都打不开了. 现在新网址是https://tensorflow.google.cn/这个不fq都可 ...
- python:如何传递一个列表参数
- Zero-shot Learning / One-shot Learning / Few-shot Learning
Zero-shot Learning / One-shot Learning / Few-shot Learning Learning类型:Zero-shot Learning.One-shot Le ...
- linux查看文件前几行和后几行的命令
可以使用head(查看前几行).tail(查看末尾几行)两个命令.例如:查看/etc/profile的前10行内容,应该是:# head -n 10 /etc/profile查看/etc/pr ...
- 【springcloud】1.微服务之springcloud-》eureka源码分析之请叫我灵魂画师。。。
- MySQL 索引机制
MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...