CN113472520A - 一种ModbusTCP协议安全增强方法及系统 - Google Patents

一种ModbusTCP协议安全增强方法及系统 Download PDF

Info

Publication number
CN113472520A
CN113472520A CN202110904643.9A CN202110904643A CN113472520A CN 113472520 A CN113472520 A CN 113472520A CN 202110904643 A CN202110904643 A CN 202110904643A CN 113472520 A CN113472520 A CN 113472520A
Authority
CN
China
Prior art keywords
data packet
communication data
random number
timestamp
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110904643.9A
Other languages
English (en)
Other versions
CN113472520B (zh
Inventor
衣孚民
张磊
赵大伟
杨淑棉
周洋
徐丽娟
吴晓明
杨美红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Computer Science Center National Super Computing Center in Jinan
Original Assignee
Shandong Computer Science Center National Super Computing Center in Jinan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Computer Science Center National Super Computing Center in Jinan filed Critical Shandong Computer Science Center National Super Computing Center in Jinan
Priority to CN202110904643.9A priority Critical patent/CN113472520B/zh
Publication of CN113472520A publication Critical patent/CN113472520A/zh
Application granted granted Critical
Publication of CN113472520B publication Critical patent/CN113472520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种ModbusTCP协议安全增强方法及系统,本发明在ModbusTCP协议中使用HMAC算法为工控系统通信数据同时提供身份认证和完整性保护,采用加解密速度比非对称加密算法更快的SM4分组密码算法为工控系统通信数据提供机密性,采用时间戳加随机数并结合随机数集合表更细粒度的防止重放攻击;本发明在保证了可用性的前提下,全面提高了使用ModbusTCP协议的工业控制系统安全性。

Description

一种ModbusTCP协议安全增强方法及系统
技术领域
本发明属于工业控制系统信息安全领域里的ModbusTCP通信协议技术领域,具体涉及一种ModbusTCP协议安全增强方法及系统。
背景技术
工业控制系统已经被广泛地运用到制造、交通、水利、电力、航空航天等各个领域,与我国经济的命脉紧密的联系在一起。随着工业以太网、工业互联网等技术的发展以及信息技术(IT)、运营技术(OT)的深入融合,工业控制系统与互联网的联接也日益频繁,企业为提高经济效益,做到决策精准化、科学化,需要掌握生产现场的实时数据并及时送至云平台进行大数据分析。这导致了原本处于封闭状态的工业控制系统暴露在互联网当中,意味着工业控制系统遭到黑客攻击的几率大幅度增加。
ModbusTCP协议作为一种通用型工业以太网协议,具有开放、简单、高效的特点,在西门子、罗克韦尔、施耐德、和三菱等众多国内外工控厂商生产的工控设备中广泛使用,并广泛应用于智能制造、能源、化工、水务等众多行业领域。同样,ModbusTCP协议也存在机密性、完整性保护缺失、缺乏身份认证等固有问题,导致采用此协议的设备存在较大安全隐患。据统计,在2020年,国内监测到的针对工控协议的攻击中,针对Modbus协议的攻击次数排名第二位。因此有必要针对ModbusTCP协议的安全缺陷从协议和机制两个层面进行安全增强设计,增加工业控制系统抵御风险的能力。
针对ModbusTCP协议中存在的安全问题,相关领域的研究人员也给出了相应的设计与解决方案。这些方案主要存在以下四点不足:第一,有些方案针对ModbusTCP协议中存在的安全问题的防护措施不全面;第二,有些方案对ModbusTCP协议进行全面防护后,使得ModbusTCP协议传输效率明显下降,降低了系统可用性;第三,有些方案基于硬件模块对ModbusTCP协议进行改改进,花费开销较大,导致工业控制系统升级比较困难。第四,有些方案采用国外加解密技术,对于我国信息安全存在潜在的威胁。
发明内容:
针对现有技术的不足,本发明提供了一种ModbusTCP协议安全增强方法;
本发明旨在解决工业控制信息安全领域中ModbusTCP协议缺乏身份认证、完整性检查、数据加解密的缺陷,同时又要保证系统可用性,目的是全面提高ModbusTCP协议应用于工业控制系统的安全性。
本发明使用HMAC-SM3算法同时实现通信双方的双向认证及完整性保护;采用SM4分组密码算法对通信数据进行加密;引入时间戳加随机数结合随机数集合表更细粒度的防止重放攻击。
本发明还提供了一种ModbusTCP协议安全增强系统。
术语解释:
1、逆转法,假设U服从[0,1]区间上的均匀分布,令X=F-1(U),则X的累计分布函数(CDF)为F。该方法原理简单、编程方便、适用性广。
2、SM4对称密钥K,是随机生成的长度为16字节的十六进制数据。
3、HMAC算法,是一种利用密码学中的散列函数来进行消息认证的一种机制,可以提供消息完整性认证和身份认证。
4、SM3散列函数,是我国采用的密码散列函数标准,可以将任意长度的消息压缩成固定长度的摘要
5、SM4分组密码算法,是我国自主研发的对称加密算法,用于消息的加解密。
本发明的技术方案为:
一种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)将随机数存储在随机数集合表中,在通信间隙对随机数集合表进行维护。
根据本发明优选的,ModbusTCP协议的数据格式包括MBAP字段、Encryptdata字段、Maccode字段、Timestamp字段及Nonce字段;
Encryptdata字段为加密数据字段;Maccode字段为认证及完整性验证字段;Timestamp字段和Nonce字段为防重放攻击字段,Timestamp是时间戳,Nonce字段为随机数,与时间戳结合更细粒度的防止重放攻击。
根据本发明优选的,步骤(6)中,接收方接收通信数据包M2,并依次进行解析、时间戳比对及随机数比对,包括步骤如下:
a、接收方接收到通信数据包M2之后,对通信数据包M2进行解析,获取D、S1、N1、S的值;
b、进行防重放攻击的验证:规定一个时间t1,提取时间戳S1与时间t1作对比,是否超过t1,如果超过t1,则认定该通信数据包M2为重放攻击,自动丢弃该通信数据包M2;否则,进入步骤c;
c、继续判断随机数N1是否在随机数集合表中,如果随机数N1在随机数集合表中,则判断该通信数据包M2为重放攻击,自动丢弃该通信数据包M2;否则,接收该通信数据包M2
根据本发明优选的,步骤(2)中,
根据系统时间生成时间戳S1;使用逆转法生成伪随机数N1
将S1和N1分别写入Timestamp字段以及Nonce字段中,和原始通信数据包M组合,构造出新的通信数据包M1,具体构造公式如式(Ⅰ)所示:
M1=M&&S1&&N1 (Ⅰ)。
根据本发明优选的,步骤(3)中,
主站和从站之间在通信之前预置一个SM4对称密钥K,将通信数据包M1和SM4对称密钥K作为HMAC算法里的SM3散列函数的输入,通过HMAC算法生成一个定长的消息摘要S,如式(Ⅱ)所示:
S=H(M1,K) (Ⅱ)。
式(Ⅱ)中,H()是指HMAC算法。
根据本发明优选的,步骤(4)中,将原始通信数据包M中的有效数据和预置的SM4对称密钥K输入到SM4分组密码算法中进行加密生成加密数据D,如式(Ⅲ)所示:
D=SM4encryption(M(Fuction code,Data),K) (Ⅲ)
式(Ⅲ)中,SM4encryption()是指SM4算法中的加密函数、M()是指M中的有效数据、Fuction code是ModbusTCP数据包中的功能码、Data是指功能码后面的数据。
根据本发明优选的,步骤(5)中,构造最终要发送和接收的含有S1、N1、S、D的通信数据包M2,如式(Ⅳ)所示:
M2=D&&S1&&N1&&S (Ⅳ)。
根据本发明优选的,步骤(7)中,接收方使用预置的SM4对称密钥K对加密数据D进行解密,并构造出通信数据包M1,如式(Ⅴ)所示:
M1=S1&&N1&&SM4decrypt(D,K) (Ⅴ)
式(Ⅴ)中,SM4decrypt()是指SM4算法中的解密函数。
一种ModbusTCP协议安全增强系统,用于实现上述ModbusTCP协议安全增强方法,包括依次连接的原始通信数据包生成模块、时间戳和随机数生成模块、消息摘要生成模块、加密模块、新的通信数据包构造模块、时间戳及随机数比对模块、解密模块、消息摘要比对模块;
所述原始通信数据包生成模块用于实现所述步骤(1);所述时间戳和随机数生成模块用于实现所述步骤(2);所述消息摘要生成模块用于实现所述步骤(3);所述加密模块用于实现所述步骤(4);所述新的通信数据包构造模块用于实现所述步骤(5);所述时间戳比对及随机数比对模块用于实现所述步骤(6);所述解密模块用于实现所述步骤(7);所述消息摘要比对模块用于实现所述步骤(8)。
本发明的有益效果为:
ModbusTCP协议在设计之初并没有考虑通信安全问题,因此Modbus TCP协议存在机密性、完整性保护缺失、缺乏身份认证等固有问题。与现有的ModbusTCP协议相比,本发明的有益效果有以下几点:
1、本发明采用SM4分组密码算法、内嵌SM3散列函数的HMAC-SM3算法以及时间戳加随机数并结合随机数集合表,对ModbusTCP协议存在的安全问题进行了全面且深入的防护;
2、本发明对ModbusTCP协议进行全面防护后,对其传输效率影响较小;
3、本发明是对Modbus TCP协议的修改,修改完成后的协议可以部署在网关中,无需修改PLC、HMI、智能仪表等设备,工业控制系统升级较简单;
4、本发明采用的SM4分组密码算法和SM3散列函数都是国密算法,符合国家的信息产品国产化战略。
附图说明
图1为本发明一种Modbus TCP协议的数据包格式示意图;
图2为本发明ModbusTCP协议安全增强方法的流程示意图;
图3为本发明ModbusTCP协议安全增强系统的结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
实施例1
一种ModbusTCP协议安全增强方法,如图2所示,包括步骤如下:
(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)将随机数存储在随机数集合表中,在通信间隙对随机数集合表进行维护。
如图1所示,ModbusTCP协议的数据格式包括MBAP字段、Encryptdata字段、Maccode字段、Timestamp字段及Nonce字段;Encryptdata字段为加密数据字段;使用SM4对称密钥将原始ModbusTCP协议中的功能码和数据字段进行加密,生成新的加密字段。Maccode字段为认证及完整性验证字段;实际意义为MAC认证码,通过SM4对称密钥以及SM3散列函数生成定长的消息摘要,用来实现通信双方的认证以及消息的完整性检查。Timestamp字段和Nonce字段为防重放攻击字段,Timestamp是时间戳,用来检查通信数据包的发送和接收时间是否超时;由于需要考虑网络延迟的情况,通常单纯时间戳方案防止重放攻击的精度不高,在一个允许时间范围内收到的数据包都认为合法,Nonce字段为随机数,与时间戳结合更细粒度的防止重放攻击。
在ModbusTCP协议数据格式中添加了Maccode、Time stamp、Nonce安全字段,Encrypt data字段替换掉原始ModbusTCP协议中的功能码和数据字段。
如表1所示,为原始ModbusTCP协议与本发明协议的对比数据,本发明增强后的协议相比较于原始ModbusTCP协议在安全性上有了全面提升,在身份认证、机密性、完整性、防重放四个方面提供了完善的保护措施。考虑到工业控制系统通信的实时性和可用性,增强的协议也进行了轻量化的处理。本发明采用加解密速度较快的对称加密算法,与此同时尽可能减少Hash算法的执行次数,在一次通信过程中,增强后的协议分别在主站和从站各执行一次HMAC-SM3算法和一次SM4分组密码算法。在密钥的存储上,只需要存储一个128比特的对称密钥。
表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
步骤(2)中,根据系统时间生成时间戳S1;使用逆转法生成伪随机数N1
将S1和N1分别写入Timestamp字段以及Nonce字段中,和原始通信数据包M组合,构造出新的通信数据包M1,具体构造公式如式(Ⅰ)所示:
M1=M&&S1&&N1 (Ⅰ)。
步骤(3)中,主站和从站之间在通信之前预置一个SM4对称密钥K,将通信数据包M1和SM4对称密钥K作为HMAC算法里的SM3散列函数的输入,通过HMAC算法生成一个定长的消息摘要S,如式(Ⅱ)所示:
S=H(M1,K) (Ⅱ)。
式(Ⅱ)中,H()是指HMAC算法。
步骤(4)中,将原始通信数据包M中的有效数据和预置的SM4对称密钥K输入到SM4分组密码算法中进行加密生成加密数据D,如式(Ⅲ)所示:
D=SM4encryption(M(Fuction code,Data),K) (Ⅲ)
式(Ⅲ)中,SM4encryption()是指SM4算法中的加密函数、M()是指M中的有效数据、Fuction code是ModbusTCP数据包中的功能码、Data是指功能码后面的数据。
步骤(5)中,构造最终要发送和接收的含有S1、N1、S、D的通信数据包M2,如式(Ⅳ)所示:
M2=D&&S1&&N1&&S (Ⅳ)。
步骤(7)中,接收方使用预置的SM4对称密钥K对加密数据D进行解密,并构造出通信数据包M1,如式(Ⅴ)所示:
M1=S1&&N1&&SM4decrypt(D,K) (Ⅴ)
式(Ⅴ)中,SM4decrypt()是指SM4算法中的解密函数。
实施例2
一种ModbusTCP协议安全增强系统,如图3所示,用于实现实施例1所述的ModbusTCP协议安全增强方法,包括依次连接的原始通信数据包生成模块、时间戳和随机数生成模块、消息摘要生成模块、加密模块、新的通信数据包构造模块、时间戳及随机数比对模块、解密模块、消息摘要比对模块;
原始通信数据包生成模块用于实现步骤(1);时间戳和随机数生成模块用于实现步骤(2);消息摘要生成模块用于实现步骤(3);加密模块用于实现步骤(4);新的通信数据包构造模块用于实现步骤(5);时间戳比对及随机数比对模块用于实现步骤(6);所述解密模块用于实现步骤(7);消息摘要比对模块用于实现步骤(8)。

Claims (9)

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&&S1&&N1 (Ⅰ)。
5.根据权利要求1所述的一种ModbusTCP协议安全增强方法,其特征在于,步骤(3)中,
主站和从站之间在通信之前预置一个SM4对称密钥K,将通信数据包M1和SM4对称密钥K作为HMAC算法里的SM3散列函数的输入,通过HMAC算法生成一个定长的消息摘要S,如式(Ⅱ)所示:
S=H(M1,K) (Ⅱ)
式(Ⅱ)中,H()是指HMAC算法。
6.根据权利要求1所述的一种ModbusTCP协议安全增强方法,其特征在于,步骤(4)中,将原始通信数据包M中的有效数据和预置的SM4对称密钥K输入到SM4分组密码算法中进行加密生成加密数据D,如式(Ⅲ)所示:
D=SM4encryption(M(Fuction code,Data),K) (Ⅲ)
式(Ⅲ)中,SM4encryption()是指SM4算法中的加密函数、M()是指M中的有效数据、Fuctioncode是ModbusTCP数据包中的功能码、Data是指功能码后面的数据。
7.根据权利要求1所述的一种ModbusTCP协议安全增强方法,其特征在于,步骤(5)中,构造最终要发送和接收的含有S1、N1、S、D的通信数据包M2,如式(Ⅳ)所示:
M2=D&&S1&&N1&&S (Ⅳ)。
8.根据权利要求1所述的一种ModbusTCP协议安全增强方法,其特征在于,步骤(7)中,接收方使用预置的SM4对称密钥K对加密数据D进行解密,并构造出通信数据包M1,如式(Ⅴ)所示:
M1=S1&&N1&&SM4decrypt(D,K) (Ⅴ)
式(Ⅴ)中,SM4decrypt()是指SM4算法中的解密函数。
9.一种ModbusTCP协议安全增强系统,其特征在于,用于实现权利要求1-8任一所述的ModbusTCP协议安全增强方法,包括依次连接的原始通信数据包生成模块、时间戳和随机数生成模块、消息摘要生成模块、加密模块、新的通信数据包构造模块、时间戳及随机数比对模块、解密模块、消息摘要比对模块;
所述原始通信数据包生成模块用于实现所述步骤(1);所述时间戳和随机数生成模块用于实现所述步骤(2);所述消息摘要生成模块用于实现所述步骤(3);所述加密模块用于实现所述步骤(4);所述新的通信数据包构造模块用于实现所述步骤(5);所述时间戳比对及随机数比对模块用于实现所述步骤(6);所述解密模块用于实现所述步骤(7);所述消息摘要比对模块用于实现所述步骤(8)。
CN202110904643.9A 2021-08-07 2021-08-07 一种ModbusTCP协议安全增强方法及系统 Active CN113472520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110904643.9A CN113472520B (zh) 2021-08-07 2021-08-07 一种ModbusTCP协议安全增强方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110904643.9A CN113472520B (zh) 2021-08-07 2021-08-07 一种ModbusTCP协议安全增强方法及系统

Publications (2)

Publication Number Publication Date
CN113472520A true CN113472520A (zh) 2021-10-01
CN113472520B CN113472520B (zh) 2022-06-03

Family

ID=77867757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110904643.9A Active CN113472520B (zh) 2021-08-07 2021-08-07 一种ModbusTCP协议安全增强方法及系统

Country Status (1)

Country Link
CN (1) CN113472520B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174273A (zh) * 2022-09-06 2022-10-11 军工保密资格审查认证中心 数据处理方法、工业控制系统、电子设备及存储介质
CN116436595A (zh) * 2023-02-06 2023-07-14 祎智量芯(江苏)电子科技有限公司 一种基于modbus通信协议的通信方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280178A1 (en) * 2006-05-31 2007-12-06 Honeywell International Inc. System and method for wireless communication between wired field devices and control system components
CN104079408A (zh) * 2014-05-30 2014-10-01 国家电网公司 一种工业控制系统中增强通信安全性的方法
US20150381642A1 (en) * 2014-06-30 2015-12-31 Electronics And Telecommunications Research Institute Abnormal traffic detection apparatus and method based on modbus communication pattern learning
US9264404B1 (en) * 2012-08-15 2016-02-16 Marvell International Ltd. Encrypting data using time stamps
CN105721500A (zh) * 2016-04-10 2016-06-29 北京工业大学 一种基于TPM的Modbus/TCP协议的安全增强方法
CN106789997A (zh) * 2016-12-12 2017-05-31 中国传媒大学 一种防重放攻击的加密方法
CN109768991A (zh) * 2019-03-04 2019-05-17 杭州迪普科技股份有限公司 报文的重放攻击检测方法、装置、电子设备
CN110048845A (zh) * 2017-12-13 2019-07-23 恩德莱斯和豪瑟尔分析仪表两合公司 操作过程自动化技术的测量变换器的扩展的方法和系统
CN112954048A (zh) * 2021-02-08 2021-06-11 北京市燃气集团有限责任公司 一种基于物联网加密网关的物联网系统
CN113055162A (zh) * 2021-03-10 2021-06-29 重庆邮电大学 一种基于国密算法的wia-pa网络安全通信方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280178A1 (en) * 2006-05-31 2007-12-06 Honeywell International Inc. System and method for wireless communication between wired field devices and control system components
US9264404B1 (en) * 2012-08-15 2016-02-16 Marvell International Ltd. Encrypting data using time stamps
CN104079408A (zh) * 2014-05-30 2014-10-01 国家电网公司 一种工业控制系统中增强通信安全性的方法
US20150381642A1 (en) * 2014-06-30 2015-12-31 Electronics And Telecommunications Research Institute Abnormal traffic detection apparatus and method based on modbus communication pattern learning
CN105721500A (zh) * 2016-04-10 2016-06-29 北京工业大学 一种基于TPM的Modbus/TCP协议的安全增强方法
CN106789997A (zh) * 2016-12-12 2017-05-31 中国传媒大学 一种防重放攻击的加密方法
CN110048845A (zh) * 2017-12-13 2019-07-23 恩德莱斯和豪瑟尔分析仪表两合公司 操作过程自动化技术的测量变换器的扩展的方法和系统
CN109768991A (zh) * 2019-03-04 2019-05-17 杭州迪普科技股份有限公司 报文的重放攻击检测方法、装置、电子设备
CN112954048A (zh) * 2021-02-08 2021-06-11 北京市燃气集团有限责任公司 一种基于物联网加密网关的物联网系统
CN113055162A (zh) * 2021-03-10 2021-06-29 重庆邮电大学 一种基于国密算法的wia-pa网络安全通信方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. PISTER等: "Industrial Routing Requirements in Low-Power and Lossy Networks", 《IETF 》 *
刘飞等: "基于哈希链与同步性机制的Modbus/TCP安全认证协议", 《计算机应用研究》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174273A (zh) * 2022-09-06 2022-10-11 军工保密资格审查认证中心 数据处理方法、工业控制系统、电子设备及存储介质
CN115174273B (zh) * 2022-09-06 2023-01-06 军工保密资格审查认证中心 数据处理方法、工业控制系统、电子设备及存储介质
CN116436595A (zh) * 2023-02-06 2023-07-14 祎智量芯(江苏)电子科技有限公司 一种基于modbus通信协议的通信方法及系统

Also Published As

Publication number Publication date
CN113472520B (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN101917270B (zh) 一种基于对称密码的弱认证和密钥协商方法
CN105049401B (zh) 一种基于智能车的安全通信方法
CN113472520B (zh) 一种ModbusTCP协议安全增强方法及系统
CN103581173A (zh) 一种基于工业以太网的数据安全传输方法、系统及装置
CN106533656B (zh) 一种基于wsn的密钥多层混合加/解密方法
CN112671710B (zh) 一种基于国密算法的安全加密装置、双向认证及加密方法
CN113285959A (zh) 一种邮件加密方法、解密方法及加解密系统
CN113312608B (zh) 一种基于时间戳的电力计量终端身份认证方法及系统
CN105610837A (zh) 用于scada系统主站与从站间身份认证的方法及系统
CN116321129B (zh) 一种轻量级的基于动态密钥的电力交易专网通信加密方法
Pang et al. Secure transmission mechanism for networked control systems under deception attacks
CN114826656A (zh) 一种数据链路可信传输方法和系统
CN111049738B (zh) 基于混合加密的电子邮件数据安全保护方法
CN101931623A (zh) 一种适用于受控制端能力有限的远程控制的安全通信方法
CN107659405B (zh) 一种变电站主子站间数据通信的加密解密方法
CN112311553B (zh) 一种基于挑战应答的设备认证方法
CN111740941A (zh) 一种工业场景实时数据文件加密传输方法
CN109410394A (zh) 一种智能门锁的信息发送方法和信息发送系统
CN112039663B (zh) 一种数据的传输方法及系统
CN112423295B (zh) 一种基于区块链技术的轻量级安全认证方法及系统
CN103873270B (zh) 智慧型电表基础建设网络系统及其消息广播方法
CN108566270B (zh) 使用双分组密码的新型加密方法
CN113660195B (zh) 一种基于104规约的aes-rsa抗中间人攻击方法
CN113904792B (zh) 基于国密算法的电网调控信息加密传输方法
CN207638685U (zh) 一种基于动态随机加密的安全通信网关

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant