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

依然范特西╮ 提交于 2020-03-07 11:04:07

 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);
    }
}


存在的安全威胁

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!