[发明专利]一种ModbusTCP协议安全增强方法及系统有效
申请号: | 202110904643.9 | 申请日: | 2021-08-07 |
公开(公告)号: | CN113472520B | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 衣孚民;张磊;赵大伟;杨淑棉;周洋;徐丽娟;吴晓明;杨美红 | 申请(专利权)人: | 山东省计算中心(国家超级计算济南中心) |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/32;H04L12/40;H04L9/40;H04L67/12 |
代理公司: | 济南金迪知识产权代理有限公司 37219 | 代理人: | 杨树云 |
地址: | 250014*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 modbustcp 协议 安全 增强 方法 系统 | ||
1.一种ModbusTCP协议安全增强方法,其特征在于,包括步骤如下:
(1)生成原始ModbusTCP协议的数据包即原始通信数据包M;ModbusTCP协议的数据格式包括MBAP字段、Encryptdata字段、Maccode字段、Timestamp字段及Nonce字段;
Encryptdata字段为加密数据字段;Maccode字段为认证及完整性验证字段;Timestamp字段和Nonce字段为防重放攻击字段,Timestamp是时间戳,Nonce字段为随机数,与时间戳结合更细粒度的防止重放攻击;
(2)生成时间戳S1和随机数N1,将S1和N1分别写入Timestamp字段以及Nonce字段中,和原始通信数据包M组合,构造出新的通信数据包M1;
(3)主站或从站将通信数据包M1和SM4对称密钥K作为SM3散列函数的输入,生成一个定长的消息摘要S,将S写入Maccode字段;
(4)将原始通信数据包M中的有效数据和预置的SM4对称密钥K输入到SM4分组密码算法中进行加密生成加密数据D,如式(Ⅲ)所示:
D=SM4encryption(M(Fuctioncode,Data),K) (Ⅲ)
式(Ⅲ)中,SM4encryption()是指SM4算法中的加密函数、M()是指M中的有效数据、Fuctioncode是ModbusTCP数据包中的功能码、Data是指功能码后面的数据;
将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协议安全增强方法,其特征在于,步骤(6)中,接收方接收通信数据包M2,并依次进行解析、时间戳比对及随机数比对,包括步骤如下:
a、接收方接收到通信数据包M2之后,对通信数据包M2进行解析,获取D、S1、N1、S的值;
b、进行防重放攻击的验证:规定一个时间t1,提取时间戳S1与时间t1作对比,是否超过t1,如果超过t1,则认定该通信数据包M2为重放攻击,自动丢弃该通信数据包M2;否则,进入步骤c;
c、继续判断随机数N1是否在随机数集合表中,如果随机数N1在随机数集合表中,则判断该通信数据包M2为重放攻击,自动丢弃该通信数据包M2;否则,接收该通信数据包M2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省计算中心(国家超级计算济南中心),未经山东省计算中心(国家超级计算济南中心)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110904643.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种污水循环过滤系统
- 下一篇:电网运维诊断检修装置