掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明属于工业设备数据采集领域,尤其涉及一种基于工业设备数据采集的数据安全传输方法及系统。

背景技术

目前,工业互联网是由现代工业技术与新一代数字化技术深度融合的产物,这也是我国新基建的重要建设领域之一。在工业互联网这个新概念、新生态下,设备数据是工业互联网的生产要素,在工业的全流程中扮演者重要的角色,贯穿于工业生产的全流程。工业设备数据的在工业物联网中的地位不言而喻,在万物互联的时代,工业数据安全也面临着非常大的安全风险,比如数据泄漏,数据窃取,数据篡改等。

现有数据加密是存在公钥被劫持风险、一般的加密方式很容易通过劫持公钥进行破解。通过劫持公钥也可以模拟发送错误信息数据、造成对系统的恶意攻击。

发明内容

针对现有技术存在的问题,本发明提供了一种基于工业设备数据采集的数据安全传输方法及系统。

本发明是这样实现的,一种基于工业设备数据采集的数据安全传输方法,利用国密算法和设备指纹信息保障物联网环境下数据传递的安全性,通过随机因子的运算保证数据的安全性,通过设备指纹可以防止公钥被劫持后的恶意攻击。

进一步,所述基于工业设备数据采集的数据安全传输方法包括:

初始化云端预置公私钥对以及云端随机因子RA;边缘计算网关发送数据至云端,采用动态密钥、SM2、SM3、SM4加密算法,以及雪花算法生成的高熵随机数计算工作密钥,进而对原始数据进行加密得到密文数据;云端接收所述边缘计算网关发送的密文数据,计算工作密钥,再解密所述密文数据得到原始数据;最后进行校验。

进一步,所述初始化包括:

云端创建公钥和私钥,用于与边缘计算网关通信时部分数据的加密及解密,同时随机生成一个二进制字符串为云端随机因子RA;将边缘网关的设备指纹数据转化成二进制形式;将生成的随机因子RA和二进制设备指纹预置在边缘网关设备中。

进一步,所述边缘计算网关发送数据至云端包括:

准备待发送原始数据;利用所述雪花算法生成边缘计算网关随机因子RB,使用公钥作为密钥对所述边缘计算网关随机因子RB使用SM2加密算法加密获得随机因子密文RB1;

所述云端随机因子RA加所述边缘计算网关随机因子RB加设备指纹以及公钥获得工作密钥SK;

使用公钥作为密钥对边缘计算网关的设备指纹使用SM2加密算法加密得到设备指纹密文PP;

原始数据做熵,使用SM3加密算法得到摘要信息M1;

使用所述工作密钥SK作为密钥,采用SM4加密算法加密原始数据,得到密文数据;并创建传输数据的数据结构。

进一步,所述工作密钥SK的生成过程包括:

通过使用所述云端随机因子RA与所述边缘计算网关随机因子RB进行异或运算得到结果RC,使用公钥作为密钥对RC使用SM4加密算法进行加密得到结果并转化为二进制数据RD,取RD前八位为F1,取RD后八位为F2;

使用SM4加密算法对当前设备的设备指纹进行加密,其中密钥为F1,得到密文数据并转换为二进制数据FA;

使用所述二进制数据RD和FA进行异或运算得到的结果再和F2进行异或运算得到工作密钥SK,F2位数不够的话在高位补0;

所述传输数据的数据结构,包括:

填充数据域一:随机因子密文RB1;

填充数据域二:设备指纹密文PP;

填充数据域三:摘要信息M1;

填充数据域四:密文数据。

进一步,所述云端接收所述边缘计算网关发送的数据包括:

接收所述密文数据;随机因子密文RB1加私钥采用SM2非对称算法解密得到边缘计算网关随机因子RB;

指纹密文PP加私钥采用SM2非对称算法解密得到设备指纹DF;

云端随机因子RA加边缘计算网关随机因子RB加设备指纹及私钥获得工作密钥SK;

工作密钥SK作为密钥,采用SM4算法对所述密文数据解密得到原始数据。

进一步,所述接收所述密文数据是通过解析所述数据结构,获取各个数据域的值,包括:

解析数据域一:随机因子密文RB1;

解析数据域二:设备指纹密文PP;

解析数据域三:摘要信息M1;

解析数据域四:密文数据。

进一步,所述校验的过程包括:

云端将解密得到的原始数据使用SM3摘要算法计算得到摘要信息M2;

与边缘计算网关传输至云端的摘要信息M1进行对比,若M1与M2相同,则数据可用;若M1与M2不同,则数据不可用,直击丢弃。

本发明的另一目的在于提供一种基于工业设备数据采集的数据安全传输系统,

云端,包括初始化模块、解密模块和校验模块,初始化模块用于创建公钥和私钥,并生成随机因子RA;解密模块用于对解密后的数据进行解密,得到原始数据;校验模块,用于对加密得到的摘要信息M1和解密得到的摘要信息M2进行对比,验证数据的正确性。

边缘计算网关,加密模块用于使用加密算法对设备数据进行加密并生成传输协议。

进一步,云端的初始化模块创建公钥和私钥用于与边缘计算网关通信时部分数据的加密及解密,同时生成一个随机字符串并转换为二进制数据定义为云端随机因子RA(此随机因子可根据具体情况按时间进行更新),并且将每一台边缘计算网关的设备指纹并转化为二进制,并将生成的公钥、随机因子RA和二进制设备指纹预置在每一台据采集设备(边缘计算网关)中。

边缘计算网关的加密模块通过使用雪花算法生成边缘计算网关随机因子RB,然后使用公钥、随机因子RA和设备指纹通过加密算法对设备数据进行加密并生成传输协议。

云端接收传输协议,解密模块通过公钥对、随机因子RA和设备指纹通过解密算法对加密后的设备数据进行解密,得到原始数据,校验模块通过对加密得到的摘要信息M1和解密得到的摘要信息M2进行对比,验证数据的正确性。

本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于工业设备数据采集的数据安全传输方法的步骤。

本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于工业设备数据采集的数据安全传输方法的步骤。

本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述基于工业设备数据采集的数据安全传输系统。

结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:

第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:

本发明融合了动态密钥、国产加密算法,数字签名技术,专钥专用,对数据提供安全保护以及可用性、完整性校验。通过数字签名可以对设备进行校验、有效防止公钥被劫持后的模拟攻击行为。本方案通过随机因子、及国密算法技术实现了密钥的动态性,有效保障数据信息安全传输。

第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:

本发明使用国产加密算法对设备数据进行加密,保证设备数据在传输过程中的机密性。密钥的生成使用的是高熵随机数,及设备指纹进行复杂运算得到,及时攻击者获得了密钥,密钥也是动态改变的,攻击者无法根据旧的密钥推算出新的密钥。

本发明使用SM3加密算法来保证数据的完整性和可用性,即使攻击者篡改了传输数据,云端也可以通过校验消息摘要来判断数据是否被篡改。

本发明采用雪花算法,在边缘计算网关高效率生成不重复的随机数,之后通过SM2算法进行加密再转为二进制数据,使用这种高熵随机数,参与工作密钥的制作,保证密钥很难被推算。

第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:

(1)本发明的技术方案转化后的预期收益和商业价值为:

安全是工业生产的总要指标,本发明可以有效的解决工业设备数据采集及数据传输的安全性,杜绝设备因公钥数据泄露造成的恶意攻击。

(2)本发明的技术方案是否解决了人们一直渴望解决、但始终未能获得成功的技术难题:

本发明通过结合国产加密算法、SM3加密算法以及雪花算法有效解决现有技术存在的技术难题,使得密钥难以被篡改和推算,保证了数据的可用性、安全性和完整性,降低了工业数据安全面临的安全风险。

附图说明

图1是本发明实施例提供的基于工业设备数据采集的数据安全传输方法架构图;

图2是本发明实施例提供的基于工业设备数据采集的数据安全传输方法核心算法流程图;

图3是本发明实施例提供的加密流程图;

图4是本发明实施例提供的解密流程图;

图5是本发明实施例提供的校验流程图;

图6是本发明实施例提供的基于工业设备数据采集的数据安全传输系统的架构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。

如图1所示,本发明实施例提供的基于工业设备数据采集的数据安全传输方法主要包括数据的发送以及数据的接收部分,针对涉及到指令型或命令型协议的传输,进行了全新的定义。

边缘计算网关数据发送流程包括如下步骤:

S1:待发送原始数据;

S2:随机因子RA加随机因子RB加设备指纹以及公钥获得工作密匙;

S3:随机因子RB加公钥获得随机因子密文RB1;

S4:设备指纹加公钥获得设备指纹密文PP;

S5:原始数据做熵得到摘要信息M1;

S6:使用工作密匙加密原始数据。

云端数据接收流程包括如下步骤:

S1:接收数据;

S2:随机因子RB1加私钥解密得到随机因子RB;

S3:指纹密文PP加私钥解密得到设备指纹;

S4:随机因子RA加随机因子RB加设备指纹及私钥获得工作密匙;

S5:工作密钥+加密数据获得原始数据;

S6:原始数据做熵得到M2,对比摘要信息M1,如果相同则数据有效,若不同则无效。

在本发明实施例中,初始化阶段:云端的初始化模块创建公钥和私钥用于与边缘计算网关通信时部分数据的加密及解密,同时生成一个随机字符串并转换为二进制数据定义为云端随机因子RA(此随机因子可根据具体情况按时间进行更新),同时获取每一台边缘计算网关的设备指纹并转化为二进制,最终将生成的随机因子RA、二进制设备指纹和公钥预置在每一台边缘计算网关设备中。

在本发明实施例中,边缘计算网关得加密流程。

S1:待发送的原始数据即为设备原始数据;

S2:接下来进行工作密钥获得,根据雪花算法生成唯一标识,该数据定义为随机因子RB,使用随机因子RA与RB进行异或运算得到结果RC,使用公钥作为密钥对RC使用SM4加密算法进行加密得到结果并转化为二进制RD,取RD前八位为F1,取RD后八位为F2;使用SM4加密算法对当前设备的设备指纹进行加密,其中密钥为F1,得到密文数据并转换为二进制数据FA;使用RD和FA进行异或运算得到的结果再和F2进行异或运算得到工作密钥SK,F2位数不够的话在高位补0;

S3:使用公钥作为密钥对随机因子RB使用SM2加密算法加密得到边缘计算网关随机因子RB1

S4:使用公钥作为密钥对边缘计算网关的设备指纹使用SM2算法加密得到设备指纹密文PP。

S5:原始设备数据通过SM3杂凑算法生成的信息摘要数据M1

S6:使用第二步生成的工作密钥SK作为密钥,采用SM4对称算法,对设备采集的数据进行加密得到密文数据。

在本发明实施例中,创建传输协议的数据结构:

填充数据域一:随机因子密文RB1;

填充数据域二:设备指纹密文PP;

填充数据域三:摘要信息M1;

填充数据域四:密文数据;

最后将传输协议发送给云端

在本发明实施例中,云端接收边缘计算网关发送的数据解密流程:

S1接收数据即接收传输协议,对传输协议进行解析。

解析数据协议结构,获取各个数据域的值:

解析数据域一:随机因子密文RB1;

解析数据域二:设备指纹密文PP;

解析数据域三:摘要信息M1;

解析数据域四:密文数据;

S2:获取随机因子RB。

使用私钥作为密钥,采用SM2非对称算法解密随机因子密文RB1得到随机因子RB。

S3:获取设备指纹DF:

使用私钥作为密钥,采用SM2非对称算法解密设备指纹密文PP得到设备指纹DF。

S4:计算工作密钥SK:

使用云端随机因子RA与边缘计算网关随机因子RB进行异或运算得到RC,使用公钥作为密钥对RC使用SM4加密算法进行加密得到结果并转化为二进制数据RD,取RD前八位为F1,取RD后八位为F2;

使用SM4加密算法对设备指纹DF进行加密,其中密钥为F1,得到密文数据并转换为二进制数据FA;

使用RD和FA进行异或运算得到的结果再和F2进行异或运算得到工作密钥SK,F2位数不够的话在高位补0;

S5:解密密文的数据得到原始数据,使用工作密钥SK作为密钥,使用SM4算法对密文数据解密得到设备数据。

S6:校验

云端将解密得到的设备数据使用SM3摘要算法计算得到摘要信息M2。

对比传输协议解析出的边缘计算网关传输的摘要信息M1:

与边缘计算网关得到的摘要数据进行对比,如果相同则数据有效,如果不同则数据无效。

初始化阶段是云端为了完成公私密钥对、随机因子RA的生成及各个设备指纹的转化,然后再将公钥、随机因子RA和转化好的设备指纹预置到每个对应的设备中,如此,才能进行接下来的加密解密阶段。

如图2所示,基于工业设备数据采集的数据安全传输方法的具体过程

包括:

初始化时,云端会预置公私钥对,以及云端随机因子RA。所有的数据采集设备(边缘计算网关预置云端生成的公钥)。在数据加密及数据传输过程中,采用的所有加密算法都是国密加密算法,使用动态密钥的思想,使用边缘计算网关以及云端生成的高熵随机以及设备指纹数通过复杂计算得到工作密钥。

在接收数据时,通过解密设备指纹以及随机因子RB,以及云端随机因子RA,计算得到工作密钥,再解密密文数据得到原始数据。

最后通过原始数据计算摘要,解密接收到的消息摘要密文,对比两者若相同则数据可用。

进一步,所述初始化具体过程包括:

云端创建公钥和私钥用于与边缘计算网关通信时部分数据的加密及解密,同时生成一个随机字符串并转换为二进制数据定义为云端随机因子RA(此随机因子可根据具体情况按时间进行更新)和每一台边缘计算网关的设备指纹并转化为二进制,并将生成的随机因子RA二进制设备指纹预置在每一台设备中。

如图3所示,加密过程包括:

生成工作密钥(SK):首先使用雪花算法生成边缘计算网关随机因子RB,然后使用RB与云端随机因子RA进行异或运算得到过程参数RC。采用公钥作为密钥,对过程参数RC使用SM4对称加密算法得到过程参数RD。取过程参数RD的前八位作为过程参数F1,RD后八位作为过程参数F2。采用F1作为密钥(位数不够高位补0),使用SM4对称加密算法对设备指纹DF进行加密得到过程参数FA。最后使用过程参数FA与过程参数F2异或得到的结果再与过程参数RD进行异或运算得到的结果为工作密钥。

生成随机因子密文RB1:采用公钥作为密钥,使用SM2非对称加密算法对随机因子RB进行加密,得到密文数据RB1。

数据加密以及摘要的运算:对设备数据进行SM3摘要算法,得到摘要信息M1;

使用生成的工作密钥SK作为密钥,采用SM4对称算法,对设备采集的数据进行加密。

最后,创建传输数据的数据结构:

(1)填充数据域一:随机因子密文RB1;

(2)填充数据域二:设备指纹密文PP;

(3)填充数据域三:摘要信息M1;

(4)填充数据域四:密文数据;

进一步,数据元素定义说明:

进一步,传输协议结构定义如下:

数据域一:随机因子密文RB1,数据采集设备产生的随机数经SM4加密算法加密生成。

数据域二:设备指纹密文PP,数据采集设备指纹经SM4加密算法加密生成。

数据域三:摘要信息M1,原始数据通过SM3杂凑算法生成的信息摘要数据。

数据域四:密文数据,原始数据经过工作密钥加密生成。

如图4所示,解密过程包括:

解析数据协议结构,获取各个数据域的值,包括:

(1)解析数据域一:随机因子密文RB1;

(2)解析数据域二:设备指纹密文PP;

(3)解析数据域三:摘要信息M1;

(4)解析数据域四:密文数据;

计算随机因子RB:采用私钥作为密钥,使用SM2解密算法进行解密得到随机因子RB。

计算设备指纹DF:使用SM2解密算法对设备指纹密文PP进行解密运算得到设备指纹明文DF,其中密钥为私钥。

计算工作密钥SK:使用随机因子RA与边缘计算网关随机因子RB做异或运算得到过程参数RC。使用公钥作为密钥,采用SM4对称加密算法对过程参数RC进行加密得到过程参数RD,取过程参数RD的前八位作为过程参数F1,RD后八位作为过程参数F2。采用F1作为密钥(位数不够高位补0),使用SM4对称加密算法对设备指纹DF进行加密得到过程参数FA。最后使用过程参数FA与过程参数F2异或得到的结果再与过程参数RD进行异或运算得到的结果为工作密钥。

解密密文数据:使用工作密钥对密文数据做SM4解密算法,得到明文设备数据。

如图5所示,校验过程包括:

计算消息摘要M2:对明文设备数据使用SM3摘要算法,计算得到消息摘要M2。

对比两个摘要信息:将边缘计算网关传输至云端的摘要信息M1,与上一步计算得到的摘要信息M2进行对比,得到结果,若M1与M2相同,则数据可用;若M1与M2不同,则数据不可用,直击丢弃。

为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。

本发明实施例可以应用到工业生产设备上,如PLC、DCS等设备的指令传输上。在模拟工业设备信息传送和接收的场景下,通过与传统的加密方式进行对比,本方案的公钥被劫后进行模拟数据传送数据都被拒绝,没有造成工业设备的错误运行,百分百保障了设备通信及正常的工业生产。而传统加密被劫持公钥后通过数据攻击,设备会接收错误指令对工业生产造成威胁。

本发明的另一目的在于提供一种基于工业设备数据采集的数据安全传输系统,

云端,包括初始化模块、解密模块和校验模块,初始化模块用于创建公钥和私钥,并生成随机因子RA;解密模块用于对解密后的数据进行解密,得到原始数据;校验模块,用于对加密得到的摘要信息M1和解密得到的摘要信息M2进行对比,验证数据的正确性。

边缘计算网关,加密模块用于使用加密算法对设备数据进行加密并生成传输协议。

云端的初始化模块创建公钥和私钥用于与边缘计算网关通信时部分数据的加密及解密,同时生成一个随机字符串并转换为二进制数据定义为云端随机因子RA(此随机因子可根据具体情况按时间进行更新),并且将每一台边缘计算网关的设备指纹并转化为二进制,并将生成的公钥、随机因子RA和二进制设备指纹预置在每一台据采集设备(边缘计算网关)中。

边缘计算网关的加密模块通过使用雪花算法生成边缘计算网关随机因子RB,然后使用公钥、随机因子RA和设备指纹通过加密算法对设备数据进行加密并生成传输协议。

云端接收传输协议,解密模块通过公钥对、随机因子RA和设备指纹通过解密算法对加密后的设备数据进行解密,得到原始数据,校验模块通过对加密得到的摘要信息M1和解密得到的摘要信息M2进行对比,验证数据的正确性。

应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

技术分类

06120115930563