1、Scyther软件作者网站的整理

Scyther工具的网站主页:https://people.cispa.io/cas.cremers/index.html

首先 对Scyther软件的资料进行整理,作者的很多关于Scyther的资料都是公开在自己的官网上的。

协议使用角色序列作为参数,然后在体内进行定义:

3、对称角色协议:

一些对手妥协模型规则,像SKR、LKR (aftercorrect),依靠合作关系。对这种协议在角色和算法上都对称,(像HMQV),这不是适当的合作关系,使用正确的合作关系,协议需要使用说明作为一个对称协议,指导Scyther使用适当的合作。

4、全局声明

在很多应用中使用全局常量,这包括字符串常量,标签、或者协议的定义。他们的建模和使用方法如下:

5.7 Miscellaneous 混杂的

5.7.1 Macro  宏定义

使用宏定义是允许的,是对特殊术语的缩写,其语法的使用方法如下:

macro MyShortCut= LargeTerm ;

像下面这样的,协议包含了复杂的消息或者重复的元素,宏定义可以简化协议的描述(规范)

注意的是 宏定义有全局性,可以处理同层语法层面 ,者允许协议消息的全局缩写

5.7.2 导入文件

在一个协议描述中可能导入其他文件  ,使用  include  导入相关的协议描述文件

5.7.3 one-role-pre-agent

操作语义允许代理执行任何角色,甚至是不同的角色在同步。这种建模使用在最糟糕的场景中,敌手可以有很多种利用。但是在具体的设置中代理只执行一个角色,列如服务器和客户端集不相交,或者RFID标签和Reads 标签不相交,在这种情况下,我们不考虑领代理可以执行多个角色的攻击,可以通过下面的方式建模

option "--one-role-per-agent";  //允许代理在多个角色中。   这将引起Scyther 忽略 多个

5.8 输入语言BNF语法的介绍

下面给出了全部的输入语言BNF语法的介绍: 在严格的语法定义中,不存在的像这样的声称的术语 (Niagree  或者   Nisynch ),也没有像之前使用预定义的了预定义的类型 像 Agent ,取而代之的是他们在Scyther工具自身定义常量。

第六章 建立安全模型  Modeling security  protocols

6.1 Introduction

使用 Scyther软件对安全协议进行形式化的安全分析之前必须掌握 基本的符号模型。这些模型在 参考文献中有有详细的说明。

粗略的说,符号分析侧重于以下几个方面:

逻辑消息组件和协议预期的功能(公共秘钥和每次生成的或者不变的)

消息结构(配对,加密、签名、哈希加密)

消息流 (顺序、涉及到的参加的角色)

6.2 举例   Needham-Schroeder public key

正如下面的例子  , 我么使用剪短的协议模型

CISPA Scyther tools的更多相关文章

  1. 协议形式化分析Scyther 资料整理

    1.性能分析 目前来说形式化的分析已经成为安全协议的一种很流行的方法,但是每种工具都用其不同适合的协议,Scyther软件是一种形式化分析工具,极大的促进了协议的分析和设计,scyther工具在运行界 ...

  2. Scyther tool 入门

    1.Scyther 适合分析什么样的协议    首先协议分析工具并不是可以分析所有的协议,每种协议都有其自己适合的分析方法,并不都是可以使用形式化方法来分析. 目前协议分析方法: 模态逻辑分析(BAN ...

  3. Scyther 形式化分析工具资料整理(三)

    1.作者Cas Cremers在做TLS1.3的时候我么发现并没有使用Scyther 形式化丰分析工具对其进行分析,而是使用了 The Tamarin .作者建立了TLS.13的模型. 那么我的目标是 ...

  4. 解决 Could not find com.android.tools.build:gradle 问题

    今天拉同事最新的代码,编译时老是报如下错误: Error:Could not find com.android.tools.build:gradle:2.2.0.Searched in the fol ...

  5. 免费的精品: Productivity Power Tools 动画演示

    Productivity Power Tools 是微软官方推出的 Visual Studio 扩展,被用以提高开发人员生产率.它的出现一定程度上弥补和完善了 Visual Studio 自身的不足, ...

  6. 2.Kali安装VMware tools(详细+异常处理)

    dnt@MT:~$ cd /media/cdrom0 进入光驱内 dnt@MT:/media/cdrom0$ ls 查看当前目录下有哪些内容manifest.txt run_upgrader.sh V ...

  7. 第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用

    上一篇 第二篇:Entity Framework CodeFirst & Model 映射 主要介绍以Fluent API来实作EntityFramework CodeFirst,得到了大家一 ...

  8. Chrome Developer Tools:Timeline Panel说明

    一.Timeline panel 概况 Timeline工具栏可以详细检测出Web应用在加载过程中,时间花费情况的概览.这些应用包括下载资源,处理DOM事件, 页面布局渲染或者向屏幕绘制元素. 如下图 ...

  9. linux-虚拟机centos6.5安装tools

    1.在VMWare选VM -> Install VMWare Tools-,就会在桌面出现VMWare Tools图示让你安裝 2.进入CentOS桌面后,将光盘打开,看到了VMWareTool ...

随机推荐

  1. java返回json设置自定义的格式

    使用注解@JsonSerialize(using = CustomPriceSerialize.class) 创建自定义的格式化类(可为内部类) /** * 设置默认返回的小数类型(0.01 元) * ...

  2. Spring MVC通过AOP切面编程 来拦截controller 实现日志的写入

    首选需要参考的是:[参考]http://www.cnblogs.com/guokai870510826/p/5977948.html    http://www.cnblogs.com/guokai8 ...

  3. GWAS:拒绝假阳性之case和control数量比例严重失衡的解决方案(SAIGE模型的应用)

    一.为什么要校正case和control数量比例不平衡情况 试问作为生信届人员,最怕的是什么,当然是统计结果不靠谱.统计结果不靠谱包括两方面:一个是假阴性,一个是假阳性.假阴性可以理解为白天鹅被误当成 ...

  4. ASP.NET MVC 企业级实战

    1.泛型 public class List<T>{ } 当定义泛型类的实例时,必须指定这个实例所存储的实际类型,泛型允许程序员将一个实际的数据类型规约延迟至泛型的实例被创建时才确定,泛型 ...

  5. jQuery使用():Callbacks回调函数列表之异步编程(含源码分析)

    Callbacks的基本功能回调函数缓存与调用 特定需求模式的Callbacks Callbacks的模拟源码 一.Callbacks的基本功能回调函数缓存与调用 Callbacks即回调函数集合,在 ...

  6. 记一次安装python umysql模块的报错

    今天,在写一个python脚本的时候要用到数据库相关的umysql模块,但在引用的时候报没有此模块,第一反应就是去安装此模块,但是报没有找到pip命令. #pip install umysql -ba ...

  7. ArcGIS——使用符号级别区分重叠的面图层

    1.有这样一个面图层shp文件(区域相重叠),需要做出如下右图的效果: 2.导入shp文件后,右键shp文件,属性->符号系统 3.高级->符号级别 将面积最大的图层的级别设为最小,面积最 ...

  8. SQLServer2012基于扩展事件的阻塞监控

    一.前言 SQL阻塞Block是事务联机系统OLTP的产物.由于锁导致的资源等待,事务执行时间过长,直接影响业务:了解阻塞,发现阻塞,已作为DBA日常维护的重中之重. 通过dmv可以发现当前正在阻塞的 ...

  9. ibatis .net $与#的区别

    $与#的区别 SELECT * FROM TABLE WHERE Id = #id# 其中如果字段id为字符串类型,那么#id#表示的就是'id',也就是说会自动加引号.如果id为整型,那么#id#就 ...

  10. import模块/包--软件开发规范

    一. 模块 模块:就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译 ...