一种上位机通信加密方法及系统与流程

文档序号:25032637发布日期:2021-05-11 17:03阅读:263来源:国知局
一种上位机通信加密方法及系统与流程

本发明涉及计算机通信加密应用领域,具体涉及一种上位机通信加密方法及系统。



背景技术:

当前在计算机通信过程中存在大量的加密算法,但是在上位机与设备收发指令要求速度快的前提下,加密安全与解密快速在此显得尤为重要。基于这样的目的,但由于应用本身的复杂性和技术手段的落后,导致某些设备加密、解密的速度过慢,造成设备受控响应慢、用户体验感极差。从而为社会生产实践带来了大量的问题。

例如,在现实应用中经常需要将一串线阵挂在室内,然后使用工控上位机软件通过网络连接方法调节各个线阵的频率、音量等属性。在发送指令的过程中为了保证指令安全不被破译并且设备收到指令后又不必大量耗时解密。改加密方法采用非对称加密方式,相比于对称加密其安全性更好,每次连接都生成一对秘钥,持有公钥的一方加密信息,另一方必须使用私钥才能完成解密。相反,私钥加密,公钥方可解密。

目前,加密领域很多非对称对称算法在商业上得到广泛的使用,但是其缺点:加密和解密花费时间长、速度慢,在实时性要求比较高设备通信中不适用。相比对称加密,若秘钥泄露则加密信息则不安全,如图7所示,对于工控上位机指令泄露则有可能上位机软件被仿造。



技术实现要素:

本发明所要解决的技术问题是使用未加密的通信指令时,工控上位机易被伪造,而且使用现有的加密方法又增加了解密时间,直接影响到设备的响应速度,目的在于提供一种上位机通信加密方法及系统,解决了现有加密技术加密/解密复杂、响应速度慢的问题。

本发明通过下述技术方案实现:

一种上位机通信加密方法,包括以下步骤:步骤s1:在上位机与设备进行通信前,将上位机与设备之间的通信指令进行混淆处理,得到混淆信号,所述混淆处理的具体内容为:所述通信指令包括混淆码和多个功能码,所述混淆码随机穿插于部分所述功能码之间,所述功能码用于指示设备的各个功能,设备根据所述功能码的指示来获取执行数据并执行相应的功能;步骤s2:采用非对称加密算法对所述混淆信号进行加密,得到加密信号;步骤s3:在上位机与设备进行通信时,通过所述加密信号进行通信;步骤s4:上位机或设备收到所述加密信号后,对所述加密信号进行解密,再去除所述混淆码,得到所述通信指令,并执行所述通信指令。

现有技术中,在非加密的基础上发送中控指令容易被截获并分析,中控指令被破解后从而上位机就能被仿造,中控指令容易被泄露而破译设备。为了保护上位机软件中控指令不被破译,采用加密机制保护。在工程中,如果对中控指令过度加密,在解密的过程就会耗时,而设备在执行指令的过程中就难以达到高实时性,尤其在音频行业,对音频的处理都要求有较高的实时性。本发明在部分功能码之间随机的插入混淆码,混淆码的特点就是生成的数据长度有限且不会很长,对于整个通信指令来说,并不会因为加入混淆码导致数据量增加太大,而影响设备收发指令数据过程与数据解析变慢。对于上位机和设备来说,是不解析混淆码所占据的字节位,只解析功能码所占据的字节位。在没有混淆码的情况下,对于非加密的中控指令来说,容易根据统计规律掌握各个功能码所在的位置,及功能码的作用。根据本发明的方式,插入混淆码后采用非对称加密,大幅度提高中控指令的安全性。

进一步的,所述混淆码包括初始混淆码和混淆标志位。

进一步的,所述初始混淆码通过散列算法生成。

进一步的,将当前执行的多个功能码与数据、校验码混合后,通过散列算法生成所述初始混淆码。

进一步的,上位机生成一对密钥:上位机公钥和上位机私钥;设备生成一对密钥:设备公钥和设备私钥;所述通信指令包括上位机向设备传输的下行指令和设备向上位机传输的上行指令;通过所述设备公钥将所述下行指令进行加密,生成下行加密指令,设备接收所述下行加密指令,并通过所述设备私钥将所述下行加密指令进行解密,设备执行所述下行指令;通过所述上位机公钥将所述上行指令进行加密,生成上行加密指令,上位机接收所述上行加密指令,并通过所述上位机私钥将所述上行加密指令进行解密,上位机解读所述上行指令。

进一步的,上位机与设备进行通信之前,将所述上位机公钥传输给设备,将所述设备公钥传输给上位机。

进一步的,所述混淆码包括1-3位。

本发明的另一种实现方式,一种基于上述任一所述上位机通信加密方法的系统,包括:加解密单元和散列运算单元,所述加解密单元用于对所述通信指令进行加密和解密,所述散列运算单元用于生成所述混淆码。

本发明与现有技术相比,具有如下的优点和有益效果:

本发明加密策略灵活难破解,解密速度快。使得上位机指令不易被破解,保护产品设备不易被仿造的上位机所控制,以及重要数据不被非法篡改或窥视。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1为上位机连接设备示意图;

图2为上位机与设备交换公钥的过程示意图;

图3为上位机与设备通信过程示意图;

图4为生成混淆码示意图;

图5为有无混淆码的区别示意图;

图6为加密关键信息示意图;

图7为现有技术中上位机被伪造示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例1

在工程上,为了保护上位机软件中控指令不被破译,采用加密机制保护,如图1所示,在非加密的基础上发送中控指令容易被截获并分析,中控指令被破解后从而上位机就能被仿造,如图7所示。根据上位机软件发送的指令可以控制设备。但是由于没有对中控指令加密,中控指令容易被泄露而破译设备,从而仿造出类似的上位机软件控制设备。如果对中控指令过度加密,在解密的过程就会耗时,而设备在执行指令的过程中就难以达到高实时性,尤其在音频行业,对音频的处理都要求有较高的实时性。

本实施例1是一种能够快速加密、解密并且保障通信数据、通信指令安全的上位机通信加密方法,包括以下步骤:

步骤s1:在上位机与设备进行通信前,将上位机与设备之间的通信指令进行混淆处理,得到混淆信号,混淆处理的具体内容为:通信指令包括混淆码和多个功能码,混淆码随机穿插于部分功能码之间,功能码用于指示设备的各个功能,设备根据功能码的指示来获取执行数据并执行相应的功能;

步骤s2:采用非对称加密算法对混淆信号进行加密,得到加密信号;

步骤s3:在上位机与设备进行通信时,通过加密信号进行通信;

步骤s4:上位机或设备收到加密信号后,对加密信号进行解密,再去除混淆码,得到通信指令,并执行通信指令。

该方法包括上位机连接设备过程中加密数据和解密数据,加密方式数据矩阵转置、行列变换,加密策略灵活难破解,解密速度快。该方法使得上位机指令不易被破解,保护产品设备不易被仿造的上位机所控制,以及重要数据不被非法篡改或窥视。上位机软件与设备通信收发数据时,为保数据指令安全不易被破译,本实施例1采用关键数据帧加密与生成混淆码的方式保护指令安全,从而确保了在高实时性的情况下确保指令安全。

一方面,提供了一套通信中控指令,在这套通信中控指令包含了若干位的功能码,用功能码来指示着设备里面的各个功能。设备根据功能码的指示获取数据并执行相应的功能。另一方面,提供了混淆机制,根据混淆机制可以生成1至3位混淆码,混淆码可以穿插在功能的功能码与功能码之间,隔离部分功能码。对于上位机软件与设备来说,是不需要解析混淆码所占据的字节位,只解析功能码所占据的字节位。如图5所示,在没有混淆码的情况下,对于非加密的中控指令来说,容易根据统计规律掌握各个功能码所在的位置,及功能码的作用。根据本实施例1的方式,先混淆再对关键信息采用非对称加密,大幅度提高中控指令的安全性。

在设备连接阶段,采用非对称加密方式,上位机与设备首先交换密钥,如图2所示,上位机软件将生成一对密钥,包括公钥1与私钥1,对于设备来说也会生成一对密钥,公钥2与私钥2。公钥加密信息只能使用私钥解密,相反,私钥加密信息只能使用公钥解密。

本实施例1克服了现有加密技术加密、解密复杂、速度慢的问题,在上位机通信指令的基础上可以兼容网络通信发送中控指令。采取散列算法生成混淆码,散列生成初始混淆码,初始混淆码加上混淆标志位就构成了完整的混淆码。如图4所示。散列运算单元负责将信息采集并散列运算。混淆码的生成是利用散列运算单元。功能码决定着中控指令在设备或上位机接收后所要执行的命令。将当前执行的若干个功能码与数据和校验码混合加入散列运算单元。散列运算单元接收并逐步散列运算,生成长度为n个字节的初始混淆码,将此混淆码加上混淆标志即为混淆码。如图5所示,混淆码将会插入功能码与功能码之间,起到干扰防止破译。混淆码的特点就是生成的数据长度有限且不会很长,对于整个中控指令来说不会因为加入混淆码导致数据量增加太大而影响设备收发指令数据过程与数据解析变慢。

如图3所示,在连接设备后,上位机收发数据的逻辑为:上位机将未加密的中控指令,送入混淆运算单元进行混淆。混淆运算后使用图2中方式保存下来的设备公钥进行关键信息加密。生成加密中控指令就可以往信道发送数据,设备在接收到加密中控指令后使用设备密钥进行解密,再去除混淆就可以还原出原本的中控指令,接着就可以执行指令。对于设备发送中控指令就是相反的过程。设备将中控指令送入混淆单元进行混淆,再使用上位机公钥进行加密处理,生成加密中控指令,将加密中控指令发送。上位机在接收到指令后使用上位机私钥进行解密再去除混淆得到设备发送过来的原始执行指令并执行指令。

由于所有功能码的所占的字节长度都是等长的,在设备或上位机软件获取指令时,去除混淆码并截取加密功能码,将功能码使用公钥解密还原出原本的功能码并结合数据执行指令。

实施例2

本实施例2是在实施例1的基础上,一种上位机通信加密方法,包括以下步骤:

步骤1:对上位机中控指令进行划分,具体为:帧头sa、功能帧s1、功能码s2、...、功能码sn、混淆码sv、数据data、校验码sx、帧尾se,如图6所示。并根据数据位计算出混淆码sv=f{s1,s2,…,sn,data,sx};

步骤2:加密/解密处理,具体步骤如下:

采用非对称式加密,生成一对秘钥,公钥pub_r、私钥pri_r.并对关键信息r{s1,s2,…,sn,sv,sx}使用私钥pri_r加密生成r_h;加密后中控指令:m={sa,r,data,se}

步骤3:分发公钥pub_r与加密中控指令m。

步骤4:设备收到公钥与中控指令后,采用公钥解密中控指令m。

步骤5:设备采取公钥pub_r加密,对关键信息r{s1,s2,…,sn,sv,sx}使用公钥pub_r加密生成r_h,回复消息m_b={sa,r,data,se}。

根据权利要求1所述的方法,其中,计算混淆码sv=f{s1,s2,…,sn,data,sx},以及获得关键信息的步骤包括:r{s1,s2,…,sn,sv,sx},并且加密生成的中控指令m={sa,r,data,se}。

其中,计算混淆码sv=f{s1,s2,…,sn,data,sx},以及获得关键信息的步骤包括:r{s1,s2,…,sn,sv,sx},并且加密生成的中控指令m={sa,r,data,se}。

如图2所示,上位机生成一对密钥,并将公钥以中控指令的形式往信道发送请求连接设备。设备获取上位机公钥后将其保存,也生成一对密钥,将设备公钥以上位机密钥加密返回给上位机软件。上位机获取后用私钥解密获取设备公钥。这样双方就持有了对方相互的公钥。往后在非断开连接的前提下通信就以混淆码加上公钥加密通信。

实施例3

实施例3是在实施例2的基础上,一种上位机通信加密系统,包括加解密单元和散列运算单元,加解密单元用于对中控指令进行加密和解密,散列运算单元用于生成混淆码。

散列运算单元负责将信息采集并散列运算。混淆码的生成是利用散列运算单元。功能码决定着中控指令在设备或上位机接收后所要执行的命令。将当前执行的若干个功能码与数据和校验码混合加入散列运算单元。散列运算单元接收并逐步散列运算,生成长度为n个字节的初始混淆码,将此混淆码加上混淆标志即为混淆码。如图5所示,混淆码将会插入功能码与功能码之间,起到干扰防止破译。混淆码的特点就是生成的数据长度有限且不会很长,对于整个中控指令来说不会因为加入混淆码导致数据量增加太大而影响设备收发指令数据过程与数据解析变慢。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1