TLS之殇如何把我逼上绝望
1、协议的形式化分析,前提是弄清楚协议结构和协议参与者之间的会话交互,以及会话之间使用的加解密算法,签名算法,认证算法,等牵扯的算法。之后便是将要分析的协议部分进行抽象化,具体抽象涉及协议参与者(发起者,承接着,转发着,接受者,等),协议使用的参数(参数包括,常量,变量,中间变量,演变量),协议使用的函数,抽象的步骤是按照协议参与者之间会话的顺序进行。协议的安全属性的声明是根据协议规范的要求来形式化。(好吧 感觉我说的是废话 呵呵哒)
TLS协议1.3版本的形式化中间牵扯很多的算法。所以首先要分析整个协议认证的过程。
下面是写的TLS1,3的伪代码(其中为简化需要,将复杂的函数全部简化成Hash算法代替)。。。。。。单是......实验结果证明,这个形式化的模型并不能验证TLS1.3,验证的安全属性全部结果存在攻击。(但是可以当做一个参考。在send_4.和send_5,6在剥离参数的时候分析应该还是跟原版本协议的要求存在不吻合,所以报错)
usertype Params,Sessionkey;
const Sign,Aenc,PR,hash:Function;
const Vesign,Adec,PU,unhash:Function;
inversekeys(Sign,Vesign);
inversekeys(Aenc,Adec);
inversekeys(PR,PU);
inversekeys(hash,unhash);
const Signkey,krsa:Sessionkey;
const PreSharedkey:Sessionkey;
macro clienthello=protocolversion,clietnrandom,ciphersuite,legacycompressionmethods,extension;
macro serverhello = protocolversion,serverrandom,ciphersuite;
macro encryptedextension=Aenc(presharedkey,PU(krsa));
macro serverencryptedextension=signaturealgorithm, Aenc(presharedkey,PU(krsa));
macro servercertificatedservername,certificate,PU(krsa) ;
macro signcertficate=servename,certificate,PU(krsa)),Sign(servername,certificate,PU(krsa)),PR(signkey);
macro randomcs=clietnrandom,ServerRandom;
const Alice,Bob,Eve:Agent;
protocol tls13(a,b){
role a{
fresh protocolversion,clietnrandom:Nonce;
fresh ciphersuite,legacycompressionmethods,extension:Nonce;
var serverrandom:Nonce;
var krsa:Sessionkey;
var signkey:Sessionkey;
var servername:Nonce;
var rresharedkey:Sessionkey;
var signaturealgorithm,certificate:Params;
send_1(a,b,protocolversion,clietnrandom,ciphersuite,legacycompressionmethods,extension);
recv_2(b,a,protocolversion,serverrandom,ciphersuite);
recv_3(b,a,signaturealgorithm,Aenc(presharedkey,PU(krsa)));
recv_4(b,a,servername,certificate,PU(krsa),Sign(servername,certificate,PU(krsa),PR(signkey)));
send_5(a,b,hash(hash((clienthello,encryptedextension,servercertificated),servercertificated)));
recv_6(b,a,hash(randomcs,hash((serverhello,serverencryptedextension,signcertficate),servercertificated));
claim_a1(a,Secret,presharedkey );
}
role b{
var ciphersuite,protocolversion,legacycompressionmethods,extension,clietnrandom:Nonce;
fresh servername,serverrandom:Nonce;
fresh krsa,signkey,presharedkey:Sessionkey;
fresh certificate,signaturealgorithm:Params;
var clietnRandom:Nonce;
recv_1(a,b,protocolversion,clietnrandom,ciphersuite,legacycompressionmethods,extension);
send_2(b,a,protocolversion,serverrandom,ciphersuite);
send_3(b,a,signaturealgorithm,Aenc(presharedkey,PU(krsa)));
send_4(b,a,servername,certificate,PU(krsa),Sign(servername,certificate,PU(krsa),PR(signkey)));
recv_5(a,b,hash(hash((clientHello,encryptedextension,servercertificated),servercertificated)));
send_6(b,a,hash(randomcs,hash((serverhello,serverencryptedextension,signcertficate),servercertificated));
claim_b1(b,Secret,presharedkey);
}
}附上 使我伤心欲绝的结果 今天是第四次实验失败(记录一哈 挫败感)

2、显然实验还是要做的 ,如何进行下去 ,,,,,,不能造假吧 ,,,我觉不行 长这么大我考试都从不抄的 ,
那么现在我开始怀疑是不是我的能力,、是不是还没有达到能分析清楚 1.3 ,,现在确实陷入困境,,实践是检验整理的唯一标准 ,读研最大的收获就是考验背的政治(是不是?),一套分析方法,
嗯,那就将1.2的再 重组,添加上1.3的特性。
TLS之殇如何把我逼上绝望的更多相关文章
- 基于TLS证书手动部署kubernetes集群(上)
一.简介 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容器集群管理系统衍生 ...
- (转)基于TLS证书手动部署kubernetes集群(上)
转:https://www.cnblogs.com/wdliu/archive/2018/06/06/9147346.html 一.简介 Kubernetes是Google在2014年6月开源的一个容 ...
- 用了 HTTPS 还不安全,问题就出在低版本 TLS 上
HTTPS 加密时代已经来临,近两年,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 2018 年 7 月 25 日,Chrome 68 上线,所有 H ...
- 在Windows服务器上启用TLS 1.2及TLS 1.2基本原理
在Windows服务器上启用TLS 1.2及TLS 1.2基本原理 在Windows服务器上启用TLS 1.2及TLS 1.2基本原理 最近由于Chrome40不再支持SSL 3.0了,GOOGLE认 ...
- 在阿里云托管kubernetes上利用 cert-manager 自动签发 TLS 证书[无坑版]
前言 排错的过程是痛苦的也是有趣的. 运维乃至IT,排错能力是拉开人与人之间的重要差距. 本篇会记录我的排错之旅. 由来 现如今我司所有业务都运行在阿里云托管kubernetes环境上,因为前端需要对 ...
- TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大
HTTPS 加密时代已经来临,近两年,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 2018 年 7 月 25 日,Chrome 68 上线,所有 H ...
- [转帖]TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大
TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大 https://www.jianshu.com/p/efe44d4a7501?utm_source=oschina-app 又拍 ...
- TLS整理(下):TLS如何保证安全
明文 无法验证服务器的真实性 从而引出了TLS.本篇就来着重介绍下TLS. 说起TLS可能有些人还比较陌生,但如果说到SSL,那知道的人就更多了.TLS其实就是SSL发展而来,版本演进大体为SSL 2 ...
- SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程
相关学习资料 http://www.360doc.com/content/10/0602/08/1466362_30787868.shtml http://www.gxu.edu.cn/college ...
随机推荐
- time zone list
GMT UTC WET WET CET CET MET CET ECT CET EET EET MIT Pacific/Apia HST Pacific/Honolulu AST America/An ...
- 使用SoapUI测试wsdl
webservice服务wsdl地址:http://localhost:8080/services/HelloWorld?wsdl new project: new soap project: 调用测 ...
- LeetCode_263. Ugly Number
263. Ugly Number Easy Write a program to check whether a given number is an ugly number. Ugly number ...
- 亲爱的mssql码农们,看看利用sp_addlinkedserver实现远程数据库链接
亲爱的mssql码农们,可以看看本地连接远程的数据库方式(sp_addlinkedserver)--通过代码连接 --查看当前链接情况: select * from sys.servers; --使用 ...
- upload-labs 上传漏洞靶场环境以及writeup
一个帮你总结所有类型的上传漏洞的靶场 https://github.com/c0ny1/upload-labs 靶场环境(基于phpstudy这个php集成环境) https://github.com ...
- Centos7.0操作系统加固常见方法
1. 账号和口令 1.1 禁用或删除无用账号 减少系统无用账号,降低安全风险. 操作步骤 使用命令 userdel <用户名> 删除不必要的账号. 使用命令 passwd -l <用 ...
- C罗是你人生中最好的健身教练和精神导师
C罗又进球了,两场小组赛包揽全队4粒进球,一己之力帮助葡萄牙取得1胜1平,掌握出线主动权.此前三届世界杯金靴分别只有6球.5球.5球进账,C罗如果能延续火爆状态,金靴唾手可得. 之前三届世界杯,C罗7 ...
- python format函数/print 函数详细讲解(4)
在python开发过程中,print函数和format函数使用场景特别多,下面分别详细讲解两个函数的用法. 一.print函数 print翻译为中文指打印,在python中能直接输出到控制台,我们可以 ...
- [转帖]HAProxy 7层 负载均衡
HAProxy 7层 负载均衡 https://www.cnblogs.com/jicki/p/5546902.html HAProxy 系统 CentOS 5.8 x64 wget http://h ...
- k8s ingres 的安装与使用
1. 安装. 从ingress的官网下载yaml文件. https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy ...