【技术实现步骤摘要】
一种ModbusTCP协议安全增强方法及系统
[0001]本专利技术属于工业控制系统信息安全领域里的ModbusTCP通信协议
,具体涉及一种ModbusTCP协议安全增强方法及系统。
技术介绍
[0002]工业控制系统已经被广泛地运用到制造、交通、水利、电力、航空航天等各个领域,与我国经济的命脉紧密的联系在一起。随着工业以太网、工业互联网等技术的发展以及信息技术(IT)、运营技术(OT)的深入融合,工业控制系统与互联网的联接也日益频繁,企业为提高经济效益,做到决策精准化、科学化,需要掌握生产现场的实时数据并及时送至云平台进行大数据分析。这导致了原本处于封闭状态的工业控制系统暴露在互联网当中,意味着工业控制系统遭到黑客攻击的几率大幅度增加。
[0003]ModbusTCP协议作为一种通用型工业以太网协议,具有开放、简单、高效的特点,在西门子、罗克韦尔、施耐德、和三菱等众多国内外工控厂商生产的工控设备中广泛使用,并广泛应用于智能制造、能源、化工、水务等众多行业领域。同样,ModbusTCP协议也存在机密性、完整性保护缺失、缺乏身份认证等固有问题,导致采用此协议的设备存在较大安全隐患。据统计,在2020年,国内监测到的针对工控协议的攻击中,针对Modbus协议的攻击次数排名第二位。因此有必要针对ModbusTCP协议的安全缺陷从协议和机制两个层面进行安全增强设计,增加工业控制系统抵御风险的能力。
[0004]针对ModbusTCP协议中存在的安全问题,相关领域的研究人员也给出了相应的设计与解决方案。 ...
【技术保护点】
【技术特征摘要】
1.一种ModbusTCP协议安全增强方法,其特征在于,包括步骤如下:(1)生成原始ModbusTCP协议的数据包即原始通信数据包M;(2)生成时间戳S1和随机数N1,将S1和N1分别写入Timestamp字段以及Nonce字段中,和原始通信数据包M组合,构造出新的通信数据包M1;(3)主站或从站将通信数据包M1和SM4对称密钥K作为SM3散列函数的输入,生成一个定长的消息摘要S,将S写入Maccode字段;(4)将原始通信数据包M中的有效数据和预置的SM4对称密钥K输入到SM4分组密码算法中进行加密生成加密数据D,将D写入Encryptdata字段;(5)构造含有S1、N1、S、D的通信数据包M2并发送;(6)接收方接收通信数据包M2,并依次进行解析、时间戳比对及随机数比对,如果时间戳在规定时间t1内并且随机数不在随机数集合表中,则接收通信数据包M2,否则,丢弃通信数据包M2;(7)接收方使用预置的SM4对称密钥K对加密数据D进行解密,并构造出通信数据包M1;(8)将通信数据包M1和SM4对称密钥K作为SM3散列函数的输入,计算出消息摘要S1,将S1和S进行对比;两者一致,则接收通信数据包M1,进入步骤(9),否则,丢弃通信数据包M1;(9)将随机数存储在随机数集合表中,在通信间隙对随机数集合表进行维护。2.根据权利要求1所述的一种ModbusTCP协议安全增强方法,其特征在于,ModbusTCP协议的数据格式包括MBAP字段、Encryptdata字段、Maccode字段、Timestamp字段及Nonce字段;Encryptdata字段为加密数据字段;Maccode字段为认证及完整性验证字段;Timestamp字段和Nonce字段为防重放攻击字段,Timestamp是时间戳,Nonce字段为随机数,与时间戳结合更细粒度的防止重放攻击。3.根据权利要求1所述的一种ModbusTCP协议安全增强方法,其特征在于,步骤(6)中,接收方接收通信数据包M2,并依次进行解析、时间戳比对及随机数比对,包括步骤如下:a、接收方接收到通信数据包M2之后,对通信数据包M2进行解析,获取D、S1、N1、S的值;b、进行防重放攻击的验证:规定一个时间t1,提取时间戳S1与时间t1作对比,是否超过t1,如果超过t1,则认定该通信数据包M2为重放攻击,自动丢弃该通信数据包M2;否则,进入步骤c;c、继续判断随机数N1是否在随机数集合表中,如果随机数N1在随机数集合表中,则判断该通信数据包M2为重放攻击,自动丢弃该通信数据包M2;否则,接收该通信数据包M2。4.根据权利要求2所述的一种ModbusTCP协议安全增强方法,其特征在于,步骤(2)中,根据系统时间生成时间戳S1;使用逆转法生成伪随机数N1;将S1和N1分别写入Timestamp字段以及Nonce字段中,和原始通信数据包M组合,构造出新的通信数据包M1,具体构造公式如式(Ⅰ)所示:M1=M&...
【专利技术属性】
技术研发人员:衣孚民,张磊,赵大伟,杨淑棉,周洋,徐丽娟,吴晓明,杨美红,
申请(专利权)人:山东省计算中心国家超级计算济南中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。