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之殇如何把我逼上绝望的更多相关文章

  1. 基于TLS证书手动部署kubernetes集群(上)

    一.简介 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容器集群管理系统衍生 ...

  2. (转)基于TLS证书手动部署kubernetes集群(上)

    转:https://www.cnblogs.com/wdliu/archive/2018/06/06/9147346.html 一.简介 Kubernetes是Google在2014年6月开源的一个容 ...

  3. 用了 HTTPS 还不安全,问题就出在低版本 TLS 上

    HTTPS 加密时代已经来临,近两年,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 2018 年 7 月 25 日,Chrome 68 上线,所有 H ...

  4. 在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认 ...

  5. 在阿里云托管kubernetes上利用 cert-manager 自动签发 TLS 证书[无坑版]

    前言 排错的过程是痛苦的也是有趣的. 运维乃至IT,排错能力是拉开人与人之间的重要差距. 本篇会记录我的排错之旅. 由来 现如今我司所有业务都运行在阿里云托管kubernetes环境上,因为前端需要对 ...

  6. TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大

    HTTPS 加密时代已经来临,近两年,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 2018 年 7 月 25 日,Chrome 68 上线,所有 H ...

  7. [转帖]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 又拍 ...

  8. TLS整理(下):TLS如何保证安全

    明文 无法验证服务器的真实性 从而引出了TLS.本篇就来着重介绍下TLS. 说起TLS可能有些人还比较陌生,但如果说到SSL,那知道的人就更多了.TLS其实就是SSL发展而来,版本演进大体为SSL 2 ...

  9. SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程

    相关学习资料 http://www.360doc.com/content/10/0602/08/1466362_30787868.shtml http://www.gxu.edu.cn/college ...

随机推荐

  1. 编译Flink 1.9.0

    闲来无事,编个Flink 1.9 玩玩 1.下载flink.flink-shaded 源码.解压 flink flink-shaded 7.0 [venn@venn release]$ ll tota ...

  2. C#操作IIS程序池及站点的创建配置实现代码

    首先要对Microsoft.Web.Administration进行引用,它主要是用来操作IIS7: using System.DirectoryServices;using Microsoft.We ...

  3. 07点睛Spring4.1-BeanPostProcessor

    7.1 BeanPostProcessor spring通过BeanPostProcessor接口可以对所有bean或者指定的某些bean的初始化前后对bean的检查或者修改提供支持; 使用postP ...

  4. Ubuntu16.04安装qt

    5.11官方下载网站: http://download.qt.io/official_releases/qt/5.11/5.11.1/ 可以直接下载linux系统下的.run安装包: 安装方式:htt ...

  5. urls 视图层

    urls.py 路由层 路由与视图函数对应关系 >>> 路由层 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射 ...

  6. 哈希--Hash,“散列”/“哈希”

    哈希 Hash,翻译“散列”,音译为“哈希”,把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散 ...

  7. PC电脑看电视 / 电视直播 / 高清频道 / 直播源

    打开方式 PotPlayer + .m3u播放列表 效果图 .m3u播放列表 #EXTM3U #EXTINF:150,CCTV1综合 http://183.251.61.207/PLTV/888888 ...

  8. java实现屏幕截屏功能

    最近在项目中遇到这样一个需求,用户生成推广海报想要发送给朋友,但是推广海报是用html网页写的,这时候想要分享给朋友的话只能用户自己手机截图,显然这样的用户体验是不友好的,如果可以给用户一个按钮实现一 ...

  9. C之typedef应用

    1.0关于typedef关键字的基础: https://www.cnblogs.com/anSn/p/8783347.html 1.1 typedef 修饰“函数类型” 的调用方法: 1)我们写一段普 ...

  10. python学习-59 hashlib模块

    hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块 加密功能 import hashlib obj = hashlib.md5() # 如果在md5里加上自己设置的参数,别的 ...