EtherNet/IP&CIP协议 &TLS的Scyther截图

 1、CIP协议使用个的安全机制 TLS和DTLS协议

           TLS在传输层对网路连接加密,其优势在于他与应用层协议独立无关性、高层协议能够透明的建立在TLS协议之上。TLS协议在应用层协议通信之前就已经完成加密算法,通信秘钥的协商,以及服务器认证工作、在此之前之后应用层协议所传送的数据都会被加密。TLS协议只要功能包括客户认证,服务器认证和加密连接

  由于书卷加密之后没有任何的规律,如果对数据进行压缩的话将不会有任何的效果,甚至还会增加数据的长度,因此必须在加密数据之前对数据进行压缩、

 

2、CIP的安全机制TLS形式化分析
    (Scyther分析的时候内存必须保证4G以上)

macro CERT-b = { b,pk(b) }sk(Terence);
macro CERT-a = { a,pk(a) }sk(Terence);
macro MSG = a,na,sid,pa,pb,nb,sid,pb,CERT-a,CERT-b,{pms}pk(b);
macro M = hash(pms,na,nb);
macro F = hash(M,MSG);
macro CLIENTK = hash(sid,M,na,pa,a,nb,pb,b,false);
macro SERVERK = hash(sid,M,na,pa,a,nb,pb,b,true);

usertype Params, Bool, SessionID;

hashfunction hash;

const pa,pb: Params;
const false,true: Bool;

const Terence: Agent;

protocol tlspaulson(a,b)
{
    role a
    {
        fresh na: Nonce;
        fresh sid: SessionID;
        fresh pms: Nonce;
        var nb: Nonce;
        var pb: Params;

        send_1( a,b, a,na,sid,pa );
        recv_2( b,a, nb,sid,pb );
        recv_3( b,a, CERT-b );
        send_4( a,b, CERT-a );
        send_5( a,b, { pms }pk(b) );
        send_6( a,b, { hash(nb,b,pms) }sk(a) );
        send_7( a,b, { F }CLIENTK );
        recv_8( b,a, { F }SERVERK );

        claim_9a(a, SKR, SERVERK);
        claim_9b(a, SKR, CLIENTK);

    }    
    
    role b
    {
        var na: Nonce;
        var sid: SessionID;
        var pms: Nonce;
        fresh nb: Nonce;
        fresh pb: Params;

        recv_1( a,b, a,na,sid,pa );
        send_2( b,a, nb,sid,pb );
        send_3( b,a, CERT-b );
        recv_4( a,b, CERT-a );
        recv_5( a,b, { pms }pk(b) );
        recv_6( a,b, { hash(nb,b,pms) }sk(a) );
        recv_7( a,b, { F }CLIENTK );
        send_8( b,a, { F }SERVERK );

        claim_10a(b, SKR, SERVERK);
        claim_10b(b, SKR, CLIENTK);
    }
}


存在的安全威胁

posted @ 2019-04-17 16:56  疏桐  阅读(670)  评论(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) }();