1、在声明事件的安全属性的时候也就是整个过程要验证的 对象:

Scythe 的安全属性  分为下面几种:

  • Secrecy: 表示数据传输过程中是安全的,即使通过不信任的网络传也不能被攻击者获得
  • SKR: SKR表示的意义与 Secrecy相同,只是在session-key reveal 攻击模型中,将数据泄露给供给者。
  • (Commit,Running):用于模型之间对数据传输的认可

另外还有认证属性组:

I-SYNCH、NI-SYNCH、I-AGREE 、NI-AGREE

  • Reachable  用于检测声明是否被满足,由于Scyther的检测模式下
  • Empty   此声明不会被验证,只是Scyther为支持其他验工具时使用
  • Alive  存活性
  • Weakaggree    协议不一致

2、攻击图输出的解释

一个攻击对应着一个攻击输出图,下图是TLS协议在强安全模型下的其中一个输出攻击图,下面对图上的参数作用一个说明, 在每一个声称对应一行,每一行被分成好几列。

第一列表示协议的名字 ,

第二列显示的是角色的名字,(比方说TLS协议中 a 就表示 客户端 ,b 表示服务端),

第三列表示的是唯一标识符  tlspaulson 表示协议 ,a1 表示声明的一个标签。

第四列显示声明类型,和声明参数

看上面的截图   在 Status(状态栏)下面是两列, 第五列显示协议验证过程的世界结果,当声称是错误的时候显示 Fail ,当声称是正确的时候显示的是 OK 。

第六列完善之前一列的称述,在有些情况下 scyther 验证过程不是完整的,(在下一章中详细介绍),如果这列的状态是  Verified (确认)表示声称是真的,如果状态是 Falsified (伪造)表示声称是错误的。如果这一列是空的,那么 状态  fail/ok 取决于 指定的边界设置。

第七列 是注释  用于进一步解释结果的状态,这一列的表示存在多种情况,分为下面几种:

  • 至少存在 X 个攻击 (At least X attacks):一些攻击在状态空间中能够发现, 由于问题的不确定性的缘故,或者是因为搜索的分支和绑定的结构,不能确定是否还存在其他攻击状态
  • 在默认的Scyther 设置中 ,当找到一个攻击的时候Scyther会停止验证,
  • 至存在 x 个 模式
  • 确定存在 X个 模式(Exactly X pattern):这种是跟之前的两个一致的,只发生在有 ‘Reachable’的声明中,发现的状态并没与真正受到攻击,而是可达状态的类别。
  • 限制范围内没有找到攻击(No attack within bounds):限制范围内么有找到攻击,但是在状态界限之外可能存在攻击
  • 没有攻击(No attacks):在状态空间界限外或者内都没有发现攻击,可以建立证据没有攻击即使是状态空间没有界限设置,如此安全属性验证成功。

3、状态空间的限制

限制运行次数在Scyther中可以更改,如果设置运行次数为5,没有发现攻击,就是说在少于5次的运行中是不存在攻击的,但是不一定大于5次后任然是这样的结果,

4、攻击图

如上面的图,每一个垂直轴表示一个运行,运行是存菱形出开始,菱形表示运行的创建,并提供了运行了有关信息,

Scyther GUI 攻击输出图的解释的更多相关文章

  1. Scyther攻击输出图的解释(之二)

    下面对 Needham-Schroeder 协议形式化分析 的攻击输出图 做一个解释: Needham-Schroeder使用ns3表示, ns3 协议形式化描述结果如下: /*  * Needham ...

  2. 【转帖】远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)

    远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm) https://zhuanlan.zhihu.com/p/310 ...

  3. adminMongo:mongoDB node GUI(mongoDB图形化界面)

    adminMongo:mongoDB node GUI(mongoDB图形化界面) 获取项目项目 克隆:git clone https://github.com/mrvautin/adminMongo ...

  4. [未完成]关于GUI Java图形化界

    "笔记内容完成,整体未完成" GUI 图形化用户界面 用java做图形化用户界面的程序不多,大多用C++和defy.因为,Java做图形化效率低. 首先你要安装一个虚拟机,C++是 ...

  5. 远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)

    在做 数据分析(数据挖掘 或 机器学习)的时候,我们经常需要绘制一些统计相关的图表,这些统计.绘图的程序常常是跑在服务器上的,可是服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,于是这些统计 ...

  6. java GUI 返回图片源码

    返回图片源码,重开一个类粘贴即可 package cn.littlepage.game; import java.awt.Image; import java.awt.image.BufferedIm ...

  7. UML类图符号解释

    在UML类图中,常见的有以下几种关系:  泛化(Generalization)和  实现(Realization) - 父子关系 依赖(Dependency) - 局部变量.方法參数 聚合(Aggre ...

  8. JavaScript 作用域链图具体解释

    <script type="text/javascript"> /** * 作用域链: */ var a = "a"; function hao94 ...

  9. python GUI图形化编程-----wxpython

    一.python gui(图形化)模块介绍: Tkinter :是python最简单的图形化模块,总共只有14种组建 Pyqt     :是python最复杂也是使用最广泛的图形化 Wx       ...

随机推荐

  1. 学习 TTreeView [16] - 给 TTreeView 添加复选框 (回复 "丁永其" 的问题)

    问题来源: http://www.cnblogs.com/del/archive/2008/05/15/1114450.html#1199402 本例效果图: unit Unit1; interfac ...

  2. iis启动异常 0x80072749

    错误提示: “/”应用程序中的服务器错误. 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同 ...

  3. Mysql安装、查看密码、修改密码、初始化、修改字符类型

    安装mysql 参照python篇一键安装lnmp.安装完之后再按照下面修改密码,修改配置文件,否则安装的时候就修改配置文件会出错. 注意:这也是二进制安装mysql.另一种二进制安装容易出错,生产环 ...

  4. python学习笔记-电子书

    程序输入和raw_inoput() 内建函数 字符解释 f% :对应小数 >>> print "%s is number %d" % ("python& ...

  5. Convex Hull | Set 1

    Given a set of points in the plane. the convex hull of the set is the smallest convex polygon that c ...

  6. Graphics2D画快递电子面单图片并且打印

    画图类 package com.example.testpdf; import org.krysalis.barcode4j.impl.code128.Code128Bean; import org. ...

  7. php 生成32位随机字符串 用于支付验证 用户注册

    //32位随机字符串 function randstrpay($length=32) { $rand=''; $randstr= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 ...

  8. mysql 记录 - concat、concat_ws、group_concat 的用法

    本文中使用的例子均在下面的数据库表tt2下执行: 一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字 ...

  9. DMSETUP命令

    dmsetup命令是用来与Device Mapper沟通的命令行封装器(wrapper).可使用dmsetup命令的info,ls,status和deps查看LVM设备的常规信息,如以下小结所述 dm ...

  10. gcc/clang编译带pthread.h头文件的源码时需要的参数

    今天敲了一个小程序,编译时出现错误:undefined reference pthread_create 原来由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a, ...