一种无代码变动实现ModbusTCP协议安全保护的方法及系统与流程
未命名
09-07
阅读:112
评论:0
一种无代码变动实现modbustcp协议安全保护的方法及系统
技术领域
1.本发明涉及工控数据安全传输技术领域,尤其涉及一种无代码变动实现modbustcp协议安全保护的方法及系统。
背景技术:
2.随着工业自动化控制和物联网的发展,将不同厂商生产的设备连成工业网络,进行集中控制和数据监控的需求日益增长,并且对工业网络传输的实时性要求也日益提升。
3.modbus总线协议作为一种应用层报文传输协议,采用主从通信方式,主站发出数据请求信息修改或读取从站的数据,实现双向读写。因其协议开放、可靠性高、实施简便、成本低廉的特点,已被国家自动化标准委员会sac/tc124转化成为一种国家工业标准,进一步促进了其在国内工控领域的普及与应用,得到了物联网领域各设备厂商的产品支持。目前工业中常用的modbus通信方式是通过以太网结合tcp/ip协议组成modbus tcp/ip网络进行通信,其广泛应用在工业、交通、电力、楼宇控制等领域。
4.然而,由于协议设计之初并没有考虑安全性,因此攻击者一旦进入modbustcp所属的工控系统网络,就可以伪造或篡改协议数据包、窃听网络通信并获取敏感数据。
5.现有技术中常见的安全措施,是在工控modbustcp的两端(服务端和客户端)之间使用vpn类通道技术保护传输数据的网络层安全,使用纵向加密装置基于ip五元组策略对转发的网络数据包进行密码保护。但纵向加密装置无法对应用层数据进行识别和内生保护,特别的当仅发生控制命令或重要数据本身被篡改时,纵向加密装置无法识别篡改的发生,依旧对非法的数据进行加密传输至对端,对端纵向加密装置解密后的控制指令或重要数据其实是非法数据,最终导致业务系统异常。
6.因而,对数据传输的监控信息进行加密,同时又保证监控数据传输的实时性是非常重要的。
技术实现要素:
7.本发明所要解决的问题是:提供一种无代码变动实现modbustcp协议安全保护的方法及系统,使业务系统两端之间的modbustcp报文在应用层面实现数据源的加密及签名保护,确保了数据传输的实时性和机密性。
8.本发明采用如下技术方案,一种无代码变动实现modbustcp协议安全保护的方法,包括如下步骤:s1、定义安全业务数据包safdatapkg,使用数据密钥key对原始业务数据加密得到安全业务数据包safdatapkg,对收到的安全业务数据包safdatapkg进行解密得到原始业务数据明文;s2、数据发送方进行数据安全封包,所述数据发送方包括数据发送端及相应的发送端安全组件,所述安全组件从数据发送端收原始modbustcp数据包,进行安全处理,得到安全业务数据包safdatapkg,发送给数据接收方;所述数据发送端为客户端或服务端,所述
安全组件为相应的客户端安全组件或服务端安全组件;s3、数据接收方进行数据安全解包,所述数据接收方包括数据接收端及相应的接收端安全组件,所述安全组件收到安全业务数据包safdatapkg,经安全处理,得到原始modbustcp数据包明文,发送给数据接收端;所述数据接收端为客户端或服务端,所述安全组件为相应的客户端安全组件或服务端安全组件;具体的,步骤s1中,所述安全业务数据包safdatapkg格式为安全数据帧stfu,包括安全报文头headersaf及安全数据单元pdu,所述安全报文头包括:2byte传输标识tid、2byte协议标识pid、2byte数据长度len、1byte单元标识uid;所述数据单元包括:时间戳tsc,1byte功能码func,以及数据单元内容data。
9.进一步的,步骤s2中按照定义的安全业务数据包safdatapkg格式对原始数据包进行封装,得到安安全报文头headersaf和安全数据单元pdu;包括如下子步骤:s2.1、按标准modbustcp协议,从原数据modbustcp数据包解析数据报文头mbap,得到传输标识tid、协议标识pid、单元标识uid,功能码func,数据单元内容data;s2.2、计算data长度len,当len《128字节时,将data添加随机数对齐至len=128字节;当128《len《256字节时,将data添加随机数对齐至len=256字节,得到对齐后的数据dataal,对齐方式为typ,所述随机数长度为n;s2.3、取当前时间戳ts作为tsc,使用key对tsc||typ||n||dataal进行加密运算,得到数据datas作为增强安全数据单元;s2.4、组合tid||pid||len(datas)+2||uid得到安全报文头headersaf,取功能码func对应的安全功能码funcs,组合tsc||funcs||datas得到数据单元pdu,组合headersaf||pdu得到符合safdatapkg安全格式的完整数据包,作为安全数据帧stfu发送。
10.进一步的,步骤s3包括如下子步骤:按照定义的安全业务数据包safdatapkg格式解析收到的数据包,得到安全报文头headersaf和安全数据单元pdu,包括如下子步骤:s3.1、解析安全报文头headersaf,得到传输标识tid、协议标识pid、单元标识uid;解析安全数据单元pdu得到tsc、安全功能码funcs和安全数据单元datas,取当前时间戳ts作为tss,对比tsc和tss,应当有tsc=tss;s3.2、使用key对datas进行解密运算,得到密文中的tsc作为tsce、对齐方式typ、对齐位数n、对齐后的dataal;对比tsc和tsce,应当有tsc=tsce;根据typ,n,dataal计算得到原始数据单元内容data;s3.3、组合tid||pid||len(data)+2||uid得到mbap;取funcs对应功能码func,组合mbap||func||data,复原modbustcp数据包,将此数据包发送给业务接收端。
11.特别的,还包括定义生成密钥流程数据包genkeypkg,用于进行密钥生成和密钥替代,所述密钥生成用于客户端和服务端安全组件初始化连接时获得数据密钥key,所述密钥替代用于定期使用新密钥取代旧密钥,所述客户端和服务端安全组件始终同时在内存中持有密钥key。
12.具体的,所述密钥流程数据包genkeypkg包括报文头和数据单元,所述报文头包括协议标识0x01f020c3、3byte长度,所述数据单元包括1byte功能码,以及数据。
13.一方面,步骤s4中,密钥生成方法包括如下子步骤:s4.1、客户端使用密码模块产生一个32位的随机数rc,使用服务端的公钥对rc加
密得到rc’,获取时间戳tsc,对(rc’||tsc)进行签名得到sc,最后以(rc’||tsc||sc)作为数据ds1发送给服务端,所述时间戳为毫秒级;s4.2、服务端收到ds1后,解析得到rc’、tsc和sc;先获取时间戳tss,验证(tss-tsc)的结果应小于td,验证成功则使用客户端证书对sc进行验签,验证成功后,使用自身私钥对rc’解密,得到rs,验证rs=rc应当成立;使用rs对自身rs进行对称加密得到rs’,对rs’签名得到ss,以(rs’||ss)作为数据ds2传送给客户端;保留rs作为数据密钥keysv;s4.3、客户端收到数据ds2,解析后得到rs’和ss,使用服务器证书对ss进行验证,验证成功后,使用rc对rs’进行解密得到rsp,验证rc=rsp成立;以rc作为数据密钥keyct ,keyct=keysv。
14.另一方面,步骤s4中,密钥替代方法包括如下子步骤:s5.1、服务端和客户端经过上述密钥生成流程分别得到密钥keysv和keyct,作为有效密钥同时持有,keysv=keyct;取当前时间戳ts作为tb;在任何时间点,数据发送端用该钥对数据进行加密;s5.2、当时间达到tn时,所述tn=tb+tp,由客户端再次发起执行密钥生成流程,得到新的密钥,将原密钥设为待销密钥ke,新密钥设置为kc;取当前时间戳ts,在tn≤ts≤(tn+tm)期间kc和ke共存,数据接收方先使用kc尝试解密,若失败则使用ke解密,若再失败,视为解密失败;当ts》(tn+tm)时,将ke销毁,只使用kc作为解密密钥。
15.本发明还提出了一种无代码变动实现modbustcp协议安全保护系统,包括:客户端和客户端安全组件,所述客户端与客户端安全组件以串接模式连接,使用标准tcp协议和标准modbustcp协议;服务端和服务端安全组件,所述服务端与服务端安全组件以串接模式连接,使用标准tcp协议和标准modbustcp协议;所述客户端安全组件与服务端安全组件之间,通过标准网络形式建立连接,包括路由器、网关;使用标准tcp协议和增强安全safdatapkg协议通讯;所述客户端安全组件,包括软件组件或硬件组件或硬件组件和硬件组件的结合。
16.所述安全保护系统其使用上述任一项无代码变动实现modbustcp协议安全保护的方法,根据定义的安全业务数据包safdatapkg,使用数据密钥key对原始业务数据加密得到密文后发送,对收到的安全业务数据包safdatapkg进行解密得到原始业务数据明文。
17.本发明采用以上技术方案与现有技术相比,具有以下技术效果:1、本发明对工控协议的数据本身,即modbus-tcp的应用层数据段进行加密和签名保护,使数据从任一端发出,到对端接收的整个过程中都无法被窃取;同时执行端在执行控制命令前,可以对控制指令进行真实性校验,使被篡改或假冒的控制指令无法执行,并可确保控制指令来源于正确的控制端;数据接收端可以对收到的数据进行真实性验证、解密存储,确保数据来源真实。
18.2、本发明对modbustcp数据的加密和签名、解密和验签等密码功能运算,都是在应用代理组件和对应的安全终端中进行,使业务系统本身不做任何源码改动。
19.3、本发明在服务端和客户端,都实现了应用层的安全防护,使两端都具备一定的安全防护能力,两者间的数据安全不再依赖于第三方的安全防护设备来实现。
附图说明
20.图1为本发明无代码变动实现modbustcp协议安全保护系统框图;图2为本发明安全业务数据包safdatapkg格式框图;图3为本发明密钥流程数据包genkeypkg格式框图;图4为本发明数据发送方数据安全封包流程图;图5为本发明数据接收方数据安全解包流程图。
具体实施方式
21.为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对申请的技术方案做进一步地详尽阐述,所描述的实施例,也只是本发明所涉及实施例的一部分。本领域其他研究人员在该实施例上的所有非创新型实施例,都属于本发明的保护范围。
22.本发明提出一种无代码变动实现modbustcp协议安全保护方法、组件及终端。
23.本方法在业务应用所在的有足够资源的服务器上部署一套安全组件程序,在无法修改或资源有限的一端串接安全终端。业务系统直接连接安全组件,执行终端直接连接安全终端,由应用安全组件程序与安全终端协作,负责数据的安全防护功能。
24.具体的,如图1所示,为确保安全组件或终端对业务数据发挥真正的安全防护作用,本发明要求客户端与安全组件或终端以串接模式连接,服务端与安全组件或终端以串接模式连接,安全组件或终端再接入网络。业务系统中客户端自身的属性为{ip-clt, port-clt}保持不变,调整配置连接到客户端安全组件{ip-safc,port-safc},安全组件通过网络连接至配套的服务端安全组件{ip-safs,port-safs},服务端安全组件再与业务服务器{ip-svr,port-svr}相连,形成一条完成的业务数据通路。
25.客户端与客户端安全组件之间,服务端和服务端安全组件之间都仍然使用标准tcp协议和标准modbustcp协议,不附加额外协议数据。客户端安全组件或终端与服务端安全组件或终端之间,建立tcp连接后,先使用本发明的增强安全协议中的密钥生成方法生成新的数据密钥,之后就按照本发明中对业务数据的处理流程,使用数据密钥对业务数据加密得到密文后发送,或者对收到的密文进行解密得到业务数据明文。
26.需要特别说明的是,所述客户端安全组件,包括软件组件或硬件组件或硬件组件和硬件组件的结合。在某些工控场景下,客户端受限于资源等条件不便于部署软件组件,可部署硬件组件,或使用软件组件和硬件组件的结合,用于实现对原始业务数据加密或安全业务数据包safdatapkg的解密。
27.在本发明的一个实施例中,首先,本发明为了针对原生modbustcp的数据包进行安全防护,自定义增强安全业务数据包格式safdatapkg,如图2所示,所述安全业务数据包safdatapkg格式为安全数据帧stfu,包括安全报文头headersaf及安全数据单元pdu,所述安全报文头包括:2byte传输标识tid、2byte协议标识pid、2byte数据长度len、1byte单元标识uid;所述数据单元包括:时间戳tsc,1byte功能码func,以及数据单元内容data。
28.数据发送方进行数据安全封包,数据接收方进行数据安全解包。
29.具体实施方法分为数据发送方和数据接收方两端分别部署。
30.在数据发送方进行数据安全封包,其中数据发送方包括数据发送端及相应的发送
端安全组件,所述安全组件从数据发送端收原始modbustcp数据包,进行安全处理,得到安全业务数据包safdatapkg,发送给数据接收方;所述数据发送端为客户端或服务端,所述安全组件为相应的客户端安全组件或服务端安全组件;如图4所示,发送端安全组件从数据发送端(客户端或者服务端)收到原始modbustcp数据包,经安全处理后,得到安全业务数据包safdatapkg,发送给数据接收端的安全组件或终端,具体步骤如下:(1) 按标准modbustcp协议,从原数据包解析mbap得到传输标识tid、协议标识pid、单元标识uid,功能码func,数据单元内容data。
31.(2) 计算data长度len(data),当len《128字节时,将data添加随机数对齐至len=128字节;当128《len《256字节时,将data添加随机数对齐至len=256字节。得到对齐后的数据dataal,对齐方式typ,添加随机数的长度n。
32.(3) 取当前时间戳ts作为tsc,使用key对tsc||typ||n||dataal进行加密运算,得到datas作为增强安全数据单元。
33.(4) 组合tid||pid||len(datas)+2||uid得到安全报文头headers,取功能码func对应的安全功能码funcs,组合tsc||funcs||datas得到pdu,组合headers||pdu得到符合safdatapkg安全格式的完整数据包,作为增强安全数据帧stfu发送。
34.相应的,在数据接收方进行数据安全解包,所述数据接收方包括数据接收端及相应的接收端安全组件,所述安全组件收到安全业务数据包safdatapkg,经安全处理,得到原始modbustcp数据包,发送给数据接收端;所述数据接收端为客户端或服务端,所述安全组件为相应的客户端安全组件或服务端安全组件。
35.如图5所示,数据接收端的安全组件收到安全业务数据包safdatapkg,经安全处理,得到原始modbustcp数据包,发送给数据接收端,具体步骤如下:(1) 按照safdatapkg安全格式解析stfu,得到安全报文头headers和安全数据单元datas。
36.(2) 解析headers得到传输标识tid、协议标识pid、单元标识uid;解析pdu得到tsc、安全功能码funcs和安全数据单元datas。取当前时间戳ts作为tss,对比tsc和tss,应当有tsc=tss。
37.(3) 使用key对datas进行解密运算,得到密文中的tsc作为tsce、对齐方式typ、对齐位数n、对齐后的dataal。对比tsc和tsce,应当有tsc=tsce。根据typ,n,dataal计算得到原始数据data。
38.(4) 组合tid||pid||len(data)+2||uid得到mbap。取funcs对应功能码func,组合mbap||func||data,复原modbustcp数据包,将此数据包发送给业务接收端。
39.作为本发明的一个优选实施例,本发明还定义了生成密钥流程数据包genkeypkg,用于进行密钥生成和密钥替代。
40.数据密钥自身的安全性,决定了业务数据的安全性。考虑工控设备算力较弱,工控通信对时延要求比较高,工控物联网的带宽较小,为避免同一个密钥长期使用而增加被暴力破解的风险,本发明特别定义密钥生成方法及替代方法。
41.两端的安全组件或终端初始化连接时和执行密钥定期替换时,都会进行密钥生成流程以获得新数据密钥key。密钥替代是定期使用新密钥取代旧密钥。两端的安全组件或终
端始终同时在内存中持有key。
42.具体的,如图3所示,密钥流程数据包genkeypkg包括报文头和数据单元,所述报文头包括协议标识0x01f020c3、3byte长度,所述数据单元包括1byte功能码,以及数据。
43.以下是密钥生成方法的具体流程:(1) 客户端使用密码模块产生一个32位的随机数rc,使用服务端的公钥对rc加密得到rc’,获取时间戳tsc,对(rc’||tsc)进行签名得到sc,最后以(rc’||tsc||sc)作为数据ds1发送给服务端,所述时间戳为毫秒级;(2) 服务端收到ds1后,解析得到rc’、tsc和sc;先获取时间戳tss,验证(tss-tsc)的结果应小于td,验证成功则使用客户端证书对sc进行验签,验证成功后,使用自身私钥对rc’解密,得到rs,验证rs=rc应当成立;使用rs对自身rs进行对称加密得到rs’,对rs’签名得到ss,以(rs’||ss)作为数据ds2传送给客户端;保留rs作为数据密钥keysv;(3) 客户端收到数据ds2,解析后得到rs’和ss,使用服务器证书对ss进行验证,验证成功后,使用rc对rs’进行解密得到rsp,验证rc=rsp成立;以rc作为数据密钥keyct ,keyct=keysv。
44.特别需要说明的是,上述 td可以根据工控业务的实际情况设定。
45.以下是密钥替代的具体流程:(1) 服务端和客户端经过上述密钥生成流程分别得到密钥keysv和keyct,作为有效密钥同时持有,keysv=keyct,取当前时间戳ts作为tb;在任何时间点,数据发送端用该钥对数据进行加密;(2) 当时间达到tn时,所述tn=tb+tp,由客户端再次发起执行密钥生成流程,得到新的密钥,将原密钥设为待销密钥ke,新密钥设置为kc;取当前时间戳ts,在tn≤ts≤(tn+tm)期间kc和ke共存,数据接收方先使用kc尝试解密,若失败则使用ke解密,若再失败,视为解密失败;当ts》(tn+tm)时,将ke销毁,只使用kc作为解密密钥。
46.特别需要说明的是,上述的tp,tm可以根据工控业务的实际情况设定。
47.综上,本发明在服务端和客户端之间串接安全组件或安全终端,业务数据发送端将原始modbustcp数据包发送给发送端的安全组件,进行密码安全加密处理后得到增强安全数据包safdatapkg,由安全组件或终端发送给数据接收端的安全组件或终端。数据接收端的安全组件或终端对安全数据包safdatapkg解密后,复原得到原始的modbustcp数据包,发送给业务数据接收端。
48.以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种无代码变动实现modbustcp协议安全保护的方法,其特征在于,包括如下步骤:s1、定义安全业务数据包safdatapkg,使用数据密钥key对原始业务数据加密得到安全业务数据包safdatapkg,对收到的安全业务数据包safdatapkg进行解密得到原始业务数据明文;s2、数据发送方进行数据安全封包,所述数据发送方包括数据发送端及相应的发送端安全组件,所述安全组件从数据发送端收原始modbustcp数据包,进行安全处理,得到安全业务数据包safdatapkg,发送给数据接收方;所述数据发送端为客户端或服务端,所述安全组件为相应的客户端安全组件或服务端安全组件;s3、数据接收方进行数据安全解包,所述数据接收方包括数据接收端及相应的接收端安全组件,所述安全组件收到安全业务数据包safdatapkg,经安全处理,得到原始modbustcp数据包明文,发送给数据接收端;所述数据接收端为客户端或服务端,所述安全组件为相应的客户端安全组件或服务端安全组件。2.根据权利要求1所述的一种无代码变动实现modbustcp协议安全保护的方法,其特征在于,步骤s1中,所述安全业务数据包safdatapkg格式为安全数据帧stfu,包括安全报文头headersaf及安全数据单元pdu,所述安全报文头包括:2byte传输标识tid、2byte协议标识pid、2byte数据长度len、1byte单元标识uid;所述数据单元包括:时间戳tsc,1byte功能码func,以及数据单元内容data。3.根据权利要求2所述的一种无代码变动实现modbustcp协议安全保护的方法,其特征在于,步骤s2,按照定义的安全业务数据包safdatapkg格式对原始数据包进行封装,得到安安全报文头headersaf和安全数据单元pdu;包括如下子步骤:s2.1、按标准modbustcp协议,从原数据modbustcp数据包解析数据报文头mbap,得到传输标识tid、协议标识pid、单元标识uid,功能码func,数据单元内容data;s2.2、计算data长度len,当len<128字节时,将data添加随机数对齐至len=128字节;当128<len<256字节时,将data添加随机数对齐至len=256字节,得到对齐后的数据dataal,对齐方式为typ,所述随机数长度为n;s2.3、取当前时间戳ts作为tsc,使用key对tsc||typ||n||dataal进行加密运算,得到数据datas作为增强安全数据单元;s2.4、组合tid||pid||len(datas)+2||uid得到安全报文头headersaf,取功能码func对应的安全功能码funcs,组合tsc||funcs||datas得到数据单元pdu,组合headersaf||pdu得到符合safdatapkg安全格式的完整数据包,作为安全数据帧stfu发送。4.根据权利要求3所述的一种无代码变动实现modbustcp协议安全保护的方法,其特征在于,步骤s3包括如下子步骤:按照定义的安全业务数据包safdatapkg格式解析收到的数据包,得到安全报文头headersaf和安全数据单元pdu,包括如下子步骤:s3.1、解析安全报文头headersaf,得到传输标识tid、协议标识pid、单元标识uid;解析安全数据单元pdu得到tsc、安全功能码funcs和安全数据单元datas,取当前时间戳ts作为tss,对比tsc和tss,有tsc=tss;s3.2、使用key对数据datas进行解密运算,得到密文中的tsc作为tsce、对齐方式typ、对齐位数n、对齐后的dataal;对比tsc和tsce,有tsc=tsce;根据typ、n、dataal计算得到原始数据单元内容data;
s3.3、组合tid||pid||len(data)+2||uid得到数据报文头mbap;取funcs对应功能码func,组合mbap||func||data,复原modbustcp数据包,将此数据包发送给业务接收端。5.根据权利要求1所述的一种无代码变动实现modbustcp协议安全保护的方法,其特征在于,还包括定义生成密钥流程数据包genkeypkg,用于进行密钥生成和密钥替代,所述密钥生成用于客户端和服务端安全组件初始化连接时获得数据密钥key,所述密钥替代用于定期使用新密钥取代旧密钥,所述客户端和服务端安全组件始终同时在内存中持有密钥key。6.根据权利要求5所述的一种无代码变动实现modbustcp协议安全保护的方法,其特征在于,所述密钥流程数据包genkeypkg包括报文头和数据单元,所述报文头包括协议标识、3byte长度,所述数据单元包括1byte功能码,以及数据。7.根据权利要求6所述的一种无代码变动实现modbustcp协议安全保护的方法,其特征在于,所述密钥生成,方法包括如下子步骤:s4.1、客户端使用密码模块产生一个32位的随机数rc,使用服务端的公钥对rc加密得到rc’,获取时间戳tsc,对(rc’||tsc)进行签名得到sc,最后以(rc’||tsc||sc)作为数据ds1发送给服务端,所述时间戳为毫秒级;s4.2、服务端收到ds1后,解析得到rc’、tsc和sc;先获取时间戳tss,验证(tss-tsc)的结果应小于td,验证成功则使用客户端证书对sc进行验签,验证成功后,使用自身私钥对rc’解密,得到rs,验证rs=rc应当成立;使用rs对自身rs进行对称加密得到rs’,对rs’签名得到ss,以(rs’||ss)作为数据ds2传送给客户端;保留rs作为数据密钥keysv;s4.3、客户端收到数据ds2,解析后得到rs’和ss,使用服务器证书对ss进行验证,验证成功后,使用rc对rs’进行解密得到rsp,验证rc=rsp成立;以rc作为数据密钥keyct ,keyct=keysv。8.根据权利要求7所述的一种无代码变动实现modbustcp协议安全保护的方法,其特征在于,步骤s4中,密钥替代方法包括如下子步骤:s5.1、服务端和客户端经过上述密钥生成流程分别得到密钥keysv和keyct,作为有效密钥同时持有,keysv=keyct,取当前时间戳ts作为tb;在任何时间点,数据发送端用该密钥对数据进行加密;s5.2、当时间达到tn时,所述tn=tb+tp,由客户端再次发起执行密钥生成流程,得到新的密钥,将原密钥设为待销密钥ke,新密钥设置为kc;取当前时间戳ts,在tn≤ts≤(tn+tm)期间kc和ke共存,数据接收方先使用kc尝试解密,若失败则使用ke解密,若再失败,视为解密失败;当ts>(tn+tm)时,将ke销毁,使用kc作为解密密钥。9.一种无代码变动实现modbustcp协议安全保护系统,其特征在于,包括:客户端和客户端安全组件,所述客户端与客户端安全组件以串接模式连接,使用标准tcp协议和标准modbustcp协议;服务端和服务端安全组件,所述服务端与服务端安全组件以串接模式连接,使用标准tcp协议和标准modbustcp协议;所述客户端安全组件与服务端安全组件之间,通过标准网络形式建立连接,包括路由器、网关;使用标准tcp协议和增强安全safdatapkg协议通讯;所述客户端安全组件,包括软件组件或硬件组件或硬件组件和硬件组件的结合。
10.根据权利要求9所述的一种无代码变动实现modbustcp协议安全保护系统,其特征在于,使用基于权利要求1-8任一项所述无代码变动实现modbustcp协议安全保护的方法,根据定义的安全业务数据包safdatapkg,使用数据密钥key对原始业务数据加密得到密文后发送,对收到的安全业务数据包safdatapkg进行解密得到原始业务数据明文。
技术总结
本发明公开了一种无代码变动实现ModbusTCP协议安全保护的方法及系统,所述方法包括,定义安全业务数据包SAFDATAPKG和密钥流程数据包;在服务端和客户端之间串接安全组件,业务数据发送方将原始ModbusTcp数据包发送给发送端的安全组件,进行密码安全加密处理后得到安全业务数据包SAFDATAPKG,由安全组件送给数据接收端的安全组件;数据接收端的安全组件对安全数据包SAFDATAPKG解密后,复原得到原始的ModbusTcp数据包,发送给业务数据接收端;使业务系统两端之间的ModbusTcp报文在应用层面实现了数据源的加密及签名保护,而不需要进行额外的代码改造,既保护了控制指令的来源真实可靠及不可抵赖,又确保了重要数据的机密性。密性。密性。
技术研发人员:邓峰 刘思君 王照阳 张晏斌 徐志杰 王春林 赵梓璇 朱辰泽
受保护的技术使用者:南京南自华盾数字技术有限公司
技术研发日:2023.08.03
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
