本发明专利技术提供了一种工业数据加密传输方法,包含了数据加密方法和数据解密方法。所述数据加密方法的步骤包括创建明文缓冲区、创建明文分组队列一、创建密文存储区以及定义数据加密函数等步骤;所述数据解密方法的步骤包括创建密文接收缓冲区、创建密文接收分组队列、创建明文分组队列二和定义数据解密函数等步骤。本发明专利技术通过SM4加密算法对传输前的数据进行加密,并对接收到的数据进行解密,提高了数据传输的安全性能。
Industrial data encryption transmission method
The invention provides an industrial data encryption transmission method, which comprises a data encryption method and a data decryption method. The data encryption method comprises the steps of creating a plaintext buffer, create block queue, create a ciphertext storage area and definition of data encryption function step; the data decryption method comprises the steps of creating a receive buffer, create a ciphertext ciphertext received packet queue, the packet queue two and created expressly defined data decryption function steps. The invention encrypts the data before transmission through the SM4 encryption algorithm, decrypts the received data, and improves the safety performance of the data transmission.
【技术实现步骤摘要】
本专利技术涉及一种数据加密传输方法,尤其是一种基于uc/OS_II系统及总线协议的工业数据加密传输方法,属于工业控制领域。
技术介绍
RTU(远程终端单元),英文全称Remote Terminal Unit,其主要功能是完成遥测、遥信、遥控的端口采集与命令执行,并将信息或结果组装成报文上送至SCADA系统,是工业以太网、DCS及现场总线控制系统的重要组成部分。为应对针对工业控制网络和现场总线的攻击,保证数据传输的安全性,需要对传输的工业数据进行加密。然而,目前的RTU都不具有数据加密传输功能。
技术实现思路
为保证工业数据的传输安全,本专利技术提出了一种工业数据加密传输方法,其步骤为:(1)创建通讯协议存储区,将工业现场所用的通讯协议驱动内置于该通讯协议存储区,使用该通讯协议存储区中的通讯协议驱动进行数据传输;(2)创建一个通讯指令发送存储区,使用数据解密方法对接收到的读写工业现场设备的指令进行解密,并将解密后的指令存入通讯指令发送存储区;(3)创建一个数据接收缓冲区,用于接收工业现场设备对读写指令的响应数据;(4)对工业现场设备发送解密后的读写指令,将接收到的工业现场设备的响应数据存入数据接收缓冲区并使用数据加密方法进行加密;所述数据加密方法的步骤包括:(A-1)创建一个用于存储网络明文报文数据的明文缓冲区,并记录明文缓冲区的首指针;(A-2)创建一个明文分组队列一,对明文缓冲区中的明文报文数据进行分组,明文分组队列一中的各明文分组成员与明文缓冲区中各明文分组报文一一对应并记载所对应的明文分组报文的首指针和报文长度;(A-3)创建密文存储区,所述密文存储区中各密文分组成员用于与明文分组队列一中的各明文分组成员相对应;(A-4)创建明文读指针指向明文分组队列一的第一个成员,并创建密文写指针指向密文存储区的第一个成员;(A-5)定义数据加密函数:使用明文读指针读取明文缓冲区中的各明文分组报文,使用国密SM4算法、通过密钥对各明文分组报文分别进行加密,将加密后的数据通过密文写指针存入密文存储区的各密文分组成员中;(A-6)创建总线数据通讯协议,并将该协议绑定到系统的数据链路层;所述数据解密方法的步骤包括:(B-1)创建一个用于存储网络密文报文数据的密文接收缓冲区,并记录密文接收缓冲区的首指针;将收到的密文报文数据进行分组,然后检查密文接收缓冲区是否有空间存储,如果有空间则将密文报文数据存储到密文接收缓冲区中;(B-2)创建一个密文接收分组队列,密文接收分组队列中的各密文分组成员与密文接收缓冲区中各密文分组报文一一对应并记载所对应的密文分组报文的首指针和报文长度;(B-3)创建明文分组队列二,所述明文分组队列二中各明文分组成员用于与密文接收分组队列中的各密文分组成员相对应;(B-4)创建密文读指针指向密文接收分组队列的第一个成员,并创建明文写指针指向明文分组队列二的第一个成员;(B-5)定义数据解密函数:使用密文读指针读取密文接收缓冲区中各密文分组报文,通过密钥对各密文分组报文分别进行解密,将解密后的数据使用明文写指针存入明文分组队列二的各明文分组成员中。相对于现有技术,本专利技术的积极效果在于:(1)本方法将多种工业现场通讯协议内置在通讯协议存储区,实现了对现场多类设备数据寄存器的读写,降低了对设备底层的操作的复杂性;(2)本方法通过SM4加密算法对传输前的数据进行加密,并对接收到的数据进行解密,提高了数据传输的安全性能;(3)本专利技术使用分组的方式进行加密解密,一方面便于实现并行化加密解密,提高加密解密效率和传输的速度,另一方面通过分组拆装的方式可以提高在传输过程中破解加密数据的难度,进一步提升了数据传输的安全性。附图说明图1为本专利技术中数据加密的流程示意图。图2为本专利技术中数据解密的流程示意图。具体实施方式下面结合附图详细说明本专利技术的技术方案:一种工业数据加密传输方法,应用在基于uc/OS_II系统的RTU。uc/OS_II是一个完整的、可移植、可固化、可剪裁的占先式实时操作系统,适用于工业控制中的实时监控。将uc/OS_II实时操作系统进行移植、嵌入到RTU,并根据实际硬件设备和需求开发底层驱动程序,实现仪表、Modbus、RTU等协议的通信,不仅能够对所连接的被测设备进行控制信息的输入输出控制,还能够实现对其它RTU采集模块和输出模块的控制。该工业数据加密传输方法的步骤为:(1)创建通讯协议存储区,将工业现场所用的通讯协议驱动内置于该通讯协议存储区,使用该通讯协议存储区中的通讯协议驱动进行数据传输;(2)创建一个通讯指令发送存储区,使用数据解密方法对接收到的读写工业现场设备的指令进行解密,并将解密后的指令存入通讯指令发送存储区;(3)创建一个数据接收缓冲区,用于接收工业现场设备对读写指令的响应数据;(4)对工业现场设备发送解密后的读写指令,将接收到的工业现场设备的响应数据存入数据接收缓冲区并使用数据加密方法进行加密;如图1,所述数据加密方法的步骤包括:(A-1)创建一个用于存储网络明文报文数据即待加密数据的明文缓冲区,并记录明文缓冲区的首指针;(A-2)创建一个明文分组队列一,对明文缓冲区中的明文报文数据进行分组,明文分组队列一中的各明文分组成员与明文缓冲区中各明文分组报文一一对应并记载所对应的明文分组报文的首指针和报文长度;(A-3)创建密文存储区,所述密文存储区中各密文分组成员用于与明文分组队列一中的各明文分组成员相对应;(A-4)创建明文读指针指向明文分组队列一的第一个成员,并创建密文写指针指向密文存储区的第一个成员;(A-5)定义数据加密函数:使用明文读指针读取明文缓冲区中的各明文分组报文,使用国密SM4算法、通过密钥对各明文分组报文分别进行加密,将加密后的数据通过密文写指针存入密文存储区的各密文分组成员中;密文存储区中的数据即为加密后的数据;(A-6)创建总线数据通讯协议,并将该协议绑定到系统的数据链路层;如图2,所述数据解密方法的步骤包括:(B-1)创建一个用于存储网络密文报文数据即待解密数据的密文接收缓冲区,并记录密文接收缓冲区的首指针;将收到的密文报文数据进行分组,然后检查密文接收缓冲区是否有空间存储,如果有空间则将密文报文数据存储到密文接收缓冲区中;(B-2)创建一个密文接收分组队列,密文接收分组队列中的各密文分组成员与密文接收缓冲区中各密文分组报文一一对应并记载所对应的密文分组报文的首指针和报文长度;(B-3)创建明文分组队列二,所述明文分组队列二中各明文分组成员用于与密文接收分组队列中的各密文分组成员相对应;(B-4)创建密文读指针指向密文接收分组队列的第一个成员,并创建明文写指针指向明文分组队列二的第一个成员;(B-5)定义数据解密函数:使用密文读指针读取密文接收缓冲区中各密文分组报文,通过密钥对各密文分组报文分别进行解密,将解密后的数据使用明文写指针存入明文分组队列二的各明文分组成员中,明文分组队列二中数据的集合即为解密后的数据。数据传输时,RTU根据解密后的指令,在自定义协议中调用相应的数据传输函数,进行加密数据传输。本专利技术使用分组的方式进行加密解密,一方面便于实现并行化加密解密,提高加密解密效率和传输的速度,另一方面通过分组拆装的方式可以对数据进行混淆,并可对不同组本文档来自技高网...
【技术保护点】
工业数据加密传输方法,其特征在于所述工业数据加密传输方法的步骤为:(1)创建通讯协议存储区,将工业现场所用的通讯协议驱动内置于该通讯协议存储区,使用该通讯协议存储区中的通讯协议驱动进行数据传输;(2)创建一个通讯指令发送存储区,使用数据解密方法对接收到的读写工业现场设备的指令进行解密,并将解密后的指令存入通讯指令发送存储区;(3)创建一个数据接收缓冲区,用于接收工业现场设备对读写指令的响应数据;(4)对工业现场设备发送解密后的读写指令,将接收到的工业现场设备的响应数据存入数据接收缓冲区并使用数据加密方法进行加密;所述数据加密方法的步骤包括:(A‑1)创建一个用于存储网络明文报文数据的明文缓冲区,并记录明文缓冲区的首指针;(A‑2)创建一个明文分组队列一,对明文缓冲区中的明文报文数据进行分组,明文分组队列一中的各明文分组成员与明文缓冲区中各明文分组报文一一对应并记载所对应的明文分组报文的首指针和报文长度;(A‑3)创建密文存储区,所述密文存储区中各密文分组成员用于与明文分组队列一中的各明文分组成员相对应;(A‑4)创建明文读指针指向明文分组队列一的第一个成员,并创建密文写指针指向密文存储区的第一个成员;(A‑5)定义数据加密函数:使用明文读指针读取明文缓冲区中的各明文分组报文,使用国密SM4算法、通过密钥对各明文分组报文分别进行加密,将加密后的数据通过密文写指针存入密文存储区的各密文分组成员中;(A‑6)创建总线数据通讯协议,并将该协议绑定到系统的数据链路层;所述数据解密方法的步骤包括:(B‑1)创建一个用于存储网络密文报文数据的密文接收缓冲区,并记录密文接收缓冲区的首指针;将收到的密文报文数据进行分组,然后检查密文接收缓冲区是否有空间存储,如果有空间则将密文报文数据存储到密文接收缓冲区中;(B‑2)创建一个密文接收分组队列,密文接收分组队列中的各密文分组成员与密文接收缓冲区中各密文分组报文一一对应并记载所对应的密文分组报文的首指针和报文长度;(B‑3)创建明文分组队列二,所述明文分组队列二中各明文分组成员用于与密文接收分组队列中的各密文分组成员相对应;(B‑4)创建密文读指针指向密文接收分组队列的第一个成员,并创建明文写指针指向明文分组队列二的第一个成员;(B‑5)定义数据解密函数:使用密文读指针读取密文接收缓冲区中各密文分组报文,通过密钥对各密文分组报文分别进行解密,将解密后的数据使用明文写指针存入明文分组队列二的各明文分组成员中。...
【技术特征摘要】
1.工业数据加密传输方法,其特征在于所述工业数据加密传输方法的步骤为:(1)创建通讯协议存储区,将工业现场所用的通讯协议驱动内置于该通讯协议存储区,使用该通讯协议存储区中的通讯协议驱动进行数据传输;(2)创建一个通讯指令发送存储区,使用数据解密方法对接收到的读写工业现场设备的指令进行解密,并将解密后的指令存入通讯指令发送存储区;(3)创建一个数据接收缓冲区,用于接收工业现场设备对读写指令的响应数据;(4)对工业现场设备发送解密后的读写指令,将接收到的工业现场设备的响应数据存入数据接收缓冲区并使用数据加密方法进行加密;所述数据加密方法的步骤包括:(A-1)创建一个用于存储网络明文报文数据的明文缓冲区,并记录明文缓冲区的首指针;(A-2)创建一个明文分组队列一,对明文缓冲区中的明文报文数据进行分组,明文分组队列一中的各明文分组成员与明文缓冲区中各明文分组报文一一对应并记载所对应的明文分组报文的首指针和报文长度;(A-3)创建密文存储区,所述密文存储区中各密文分组成员用于与明文分组队列一中的各明文分组成员相对应;(A-4)创建明文读指针指向明文分组队列一的第一个成员,并创建密文写指针指向密文存储区的第一个成员;(A-5)定义数...
【专利技术属性】
技术研发人员:牟春晓,
申请(专利权)人:烟台大学,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。