最近梳理和CPNtools和Scyther之间的性能和差别。方便后面整理使用

1、库所的托肯值是什么?

托肯值也叫作令牌, 即网络系统中的资源,托肯的数目值代表了网络赋予的资源大小。在一个活的网络系统中资源可以在库所中不断的流动。(在CPNtools中我们设定托肯值为拟定的值,可以用来检测协议中的错误,死锁状态),这就是说托肯值是可以可移动的(从一个库所移动到另一个库所),而且每个库所的的的托肯值并不是唯一确定的。

2、  基于CPNtools的网络协议建模与仿真技术研究

提出的问题:托肯值和颜色值是不是一个概念

回答:不是一个概念,首先托肯值是在建模分析的时候在每 个变迁上认为规定的,而颜色值

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,   ,,,

附录:petri网的一些要点:

Petri里面有两种变迁如果都用发生的条件,则不认为其执行顺序有任何关系。Petri旨在描述变迁之间的因果关系,并由此构造时序。不支持构造大规模的模型,如自定向下,或者相反。

1 CPNtools验证协议存在的问题

PCNtools的本质是:

1、CPNtool 建模的前提条件

CPNtools研究协议存在的一些缺点是什么?

2、CPNtool不能使用模拟来验证协议的性质,,可以用来测试协议和定位协议错误

3、完全状态空间表示正在分析的模型的所有的可能的操作,完全状态空间的基本思想是计算CPN模型中所有可能达到的状态和状态变化(发生绑定元素),并将这些元素在与各有向图里表示,

4、TLS协议秘钥协商要通过客户端和服务端之间的预装置的证书,即证书中包含了双方之间认证需要的公钥,这个在CPN建模原理中不适用。

5、CPN 建模协议的原理和验证协议存在缺陷的问题是------通过状态空间遍历是否乱序或者序列号出现问题,但是这这EtherNet/IP中的种的安全机制中本身采用啦冗余校验机制避免了这种情况。所以使用CPN来分析EthetNet/IP协议本身是错误的,没有任何人价值意义

6、CPNtool 无法解决状态空间爆炸问题,采用约简方式简化状态空间的问题超出的能力范围

7、在模糊和非模糊环境下的协议验证成为Petri网研究的一个难点。

8、CPNtool 无法解决状态空间爆炸问题,采用约简方式简化状态空间的问题超出的能力范围

CPNtools在分析TLS协议中存在的问题

1、CPN建模范围:

如图TLS协议的双方认证机制,和加密认证机制原理图见下:

模拟工具在执行的时候选择随机绑定元素或者手动绑定元素执行序列,这与TLS握手协议双方之间认证过程原理违背。

TLS协议的的认证过程

EtherNet/IP有自己的容错检错机制,没有必要再讨论起安全的时候在再来分析是否丢包和包序列号问题。而CPN重点模拟协议的时候在检查协议错误的时候是以讨论是否存在丢包和乱序问题上。

1、CPNtool 建模的前提条件(待整理)

2、CPNtool不能使用模拟来验证协议的性质,,可以用来测试协议和定位协议错误

3、完全状态空间表示正在分析的模型的所有的可能的操作,完全状态空间的基本思想是计算CPN模型中所有可能达到的状态和状态变化(发生绑定元素),并将这些元素在与各有向图里表示,

4、TLS协议秘钥协商要通过客户端和服务端之间的预装置的证书,即证书中包含了双方之间认证需要的公钥,这个在CPN建模原理中不适用。

5、CPN 建模协议的原理和验证协议存在缺陷的问题是------通过状态空间遍历是否乱序或者序列号出现问题,但是这这EtherNet/IP中的种的安全机制中本身采用啦冗余校验机制避免了这种情况。所以使用CPN来分析EthetNet/IP协议本身是错误的,没有任何人价值意义

图1 是TLS的整个建立过程

分清楚CPNTool和Scyther之间的性能和分析协议我们开始分析协议之间的

这样TLS协议的认证完全不能使用CPN tools来建模分析。即便是使用CPN来建模TLS协议的握手认证过程,也不能来表征协议的安全性。

2、CPNtool不能使用模拟来验证协议的性质,,可以用来测试协议和定位协议错误

3、完全状态空间表示正在分析的模型的所有的可能的操作,完全状态空间的基本思想是计算CPN模型中所有可能达到的状态和状态变化(发生绑定元素),并将这些元素在与各有向图里表示,

4、TLS协议秘钥协商要通过客户端和服务端之间的预装置的证书,即证书中包含了双方之间认证需要的公钥,这个在CPN建模原理中不适用。

5、CPN 建模协议的原理和验证协议存在缺陷的问题是------通过状态空间遍历是否乱序或者序列号出现问题,但是这这EtherNet/IP中的种的安全机制中本身采用啦冗余校验机制避免了这种情况。所以使用CPN来分析EthetNet/IP协议本身是错误的,没有任何价值意义

6、CPNtool 无法解决状态空间爆炸问题,采用约简方式简化状态空间的问题超出的能力范围

第二部分:使用CPN来分析协议

CPNtools 提供给每一个变迁一个用CPN ML语言编程的程序编辑区,当变迁发生变化的时候,执行所编辑的程序,完成所需的功能,程序编辑区有三个固定的语句,input()     optput()   action()  表示输入参数   输出参数  执行语句。我们针对具体的不同的不可否认协议,将安全属性用CPN ML查询函数进行形式化描述。首先用断言函数定义不安全状态,即就是协议满足安全属性时不可能出现的状态。再定义搜索函数对状态空间的所有状态进行断言函数的测试。寻找符合的结点标识,最后于搜索查询函数 分析实验结果。

Scyther : 没有对丢包的验证说法。而只是验证协议的正确性,能否抵抗第三者的攻击

CPN tools  :研究自身协议的漏洞,可达性和

参考文献:苏桂平, 孙莎. 基于CPN模型的不可否认协议分析[J]. 信息安全与通信保密, 2011(08):61-62+65.


CPNtools 模拟工具适合分析什么样的协议的更多相关文章

  1. Nmap脚本文件分析(AMQP协议为例)

    Nmap脚本文件分析(AMQP协议为例) 一.介绍 上两篇文章 Nmap脚本引擎原理   编写自己的Nmap(NSE)脚本,分析了Nmap脚本引擎的执行过程,以及脚本文件的编写,这篇文章将以解析AMQ ...

  2. 【转】为什么 MQTT 是最适合物联网的网络协议

    初识 MQTT 为什么 MQTT 是最适合物联网的网络协议 Michael Yuan2017 年 6 月 14 日发布 WeiboGoogle+用电子邮件发送本页面 0 物联网 (IoT) 设备必须连 ...

  3. 学习axios必知必会(1)~axios基本介绍、axios配置、json-server接口模拟工具

    一.axios基本介绍 1.axios(前端最流行的 ajax 请求库) 特点: ① 基于 xhr + promise 的异步 ajax 请求库 ② 浏览器端/node 端都可以使用 ③ 支持请求/响 ...

  4. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  5. [转载] 常用 Java 静态代码分析工具的分析与比较

    转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...

  6. ASP.NET Core 一步步搭建个人网站(5)_Api模拟和网站分析

    前言 经过前面几章,我们的网站已经最基本的功能,接下来就是继续拓展其他的功能,这期一起来实现一个该网站流量分析的工具,统计出这个网站每天用户相关数据,不仅要满足了我们对流量统计数字的基本要求,并且用更 ...

  7. 【转载】常用 Java 静态代码分析工具的分析与比较

    摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后 ...

  8. wireshark抓包分析——TCP/IP协议

    本文来自网易云社区 当我们需要跟踪网络有关的信息时,经常会说"抓包".这里抓包究竟是什么?抓到的包又能分析出什么?在本文中以TCP/IP协议为例,简单介绍TCP/IP协议以及如何通 ...

  9. synflood 模拟工具

    synflood 模拟工具 来源 https://blog.csdn.net/wuzhimang/article/details/54581117 因项目需要,要对主流的几家抗DDoS设备做测评,当然 ...

随机推荐

  1. django安装使用xadmin

    Xadmin介绍 直接替换掉Django自带的admin系统,并提供了很多有用的东西:完全的可扩展的插件支持,基于Twitter Bootstrap的漂亮UI. 完全替代Django admin 支持 ...

  2. [转]Ubuntu18.04下安装搜狗输入法

    鏈接地址:https://blog.csdn.net/lupengCSDN/article/details/80279177

  3. LODOP中打印项水平居中简短问答

    相关博文:LODOP打印项水平居中(超文本纯文本居中)LODOP打印超文本有边距不居中的情况2(超文本居中的一种) LODOP表格水平居中3(宽度为百分比)(超文本居中的一种) LODOP打印图片水平 ...

  4. 多核vs多处理器

    多核vs多处理器 多核CPU性能最好,但成本最高:多CPU成本小,便宜,但性能相对较差 线程数=cpu处理器个数 * 一个cpu内的核数[如果有超线程,再乘以超线程数] 多核 CPU 和多个 CPU ...

  5. Spring boot后台搭建二集成Shiro实现用户验证

    上一篇文章中介绍了Shiro 查看 将Shiro集成到spring boot的步骤: (1)定义一个ShiroConfig,配置SecurityManager Bean,SecurityManager ...

  6. TCP/IP学习笔记2--协议分层与OSI参考模型

    协议的分层: 为解决不同计算机之间的通信,ISO(International Organization for Standards)指定了一个国际标准OSI(Open Systems Intercon ...

  7. java静态代理和JDK动态代理

    静态代理 编译阶段就生产了对应的代理类 public interface IBussiness { void execute(); } public class BussinessImpl imple ...

  8. WIP*更新生产批详细信息行产品配料

    DECLARE l_batch_header_rec gme_batch_header%ROWTYPE; l_material_detail_rec gme_material_details%ROWT ...

  9. 27 多线程(一)——创建进程的三种方法、线程锁(同步synchornized与lock)

    线程的流程 线程的创建 有三种方法,重点掌握前两种: 继承Thread类 实现Runnable接口(推荐使用:避免单继承的局限性) 实现Callable接口 根据java的思想,要少用继承,多用实现. ...

  10. git clone一个仓库下的单个文件【记录】

    注意:本方法会下载整个项目,但是,最后出现在本地项目文件下里只有需要的那个文件夹存在.类似先下载,再过滤. 有时候因为需要我们只想gitclone 下仓库的单个或多个文件夹,而不是全部的仓库内容,这样 ...