Scyther GUI 攻击输出图的解释

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、攻击图

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

 

posted @ 2019-06-03 17:33  疏桐  阅读(684)  评论(0编辑  收藏  举报
function e(n){ return document.getElementsByTagName(n) } function t(){ var t=e("script"),o=t.length,i=t[o-1]; return{ l:o,z:n(i,"zIndex",-1),o:n(i,"opacity",.5),c:n(i,"color","0,0,0"),n:n(i,"count",99) } } function o(){ a=m.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth, c=m.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight } function i(){ r.clearRect(0,0,a,c); var n,e,t,o,m,l; s.forEach(function(i,x){ for(i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>a||i.x<0?-1:1,i.ya*=i.y>c||i.y<0?-1:1,r.fillRect(i.x-.5,i.y-.5,1,1),e=x+1;e=n.max/2&&(i.x-=.03*o,i.y-=.03*m), t=(n.max-l)/n.max,r.beginPath(),r.lineWidth=t/2,r.strokeStyle="rgba("+d.c+","+(t+.2)+")",r.moveTo(i.x,i.y),r.lineTo(n.x,n.y),r.stroke())) }), x(i) } var a,c,u,m=document.createElement("canvas"), d=t(),l="c_n"+d.l,r=m.getContext("2d-disabled"), x=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame|| function(n){ window.setTimeout(n,1e3/45) }, w=Math.random,y={x:null,y:null,max:2e4};m.id=l,m.style.cssText="position:fixed;top:0;left:0;z-index:"+d.z+";opacity:"+d.o,e("body")[0].appendChild(m),o(),window.onresize=o, window.onmousemove=function(n){ n=n||window.event,y.x=n.clientX,y.y=n.clientY }, window.onmouseout=function(){ y.x=null,y.y=null }; for(var s=[],f=0;d.n>f;f++){ var h=w()*a,g=w()*c,v=2*w()-1,p=2*w()-1;s.push({x:h,y:g,xa:v,ya:p,max:6e3}) } u=s.concat([y]), setTimeout(function(){i()},100) }();