一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种计算机间通信方法及系统与流程

2021-12-04 02:47:00 来源:中国专利 TAG:


1.本发明属于分散控制系统技术领域,涉及分散控制系统传输数据的处理,特别涉及一种计算机间通信方法及系统。


背景技术:

2.分散控制系统(distributed control system,dcs)是利用计算机技术对工业生产过程进行集中监视、操作、管理和分散控制的一种新型控制设备,已被广泛应用于电力、化工等工业生产领域。现有的分散控制系统架构中,上位机不同节点计算机间的通信采用不同通信协议,例如公有协议或私有协议;通信报文大多采用明文发送,在网络被入侵的情况下,容易被入侵方通过网络抓包抓取通信内容从而篡改上位机各计算机间的通信信息,其明显无法保障电厂控制信息的运行安全。
3.目前,也有尝试采用对称加密算法对通信报文进行加密,这种方式有效提高了上位机不同节点计算机间的通信安全;但现有的加密方式,往往导致计算机的cpu资源开销较大,造成通信效率降低。


技术实现要素:

4.针对现有技术中存在的技术问题,本发明提供了一种计算机间通信方法及系统,以解决现有的上位机不同节点计算机间通信信息的加密方式,易导致计算机cpu资源开销较大,通信效率较低的技术问题。
5.为达到上述目的,本发明采用的技术方案为:本发明提供了一种计算机间通信方法,用于第一计算机的总线程序中,所述方法包括以下:接收第一计算机的应用程序发送的原始信息,并根据第一计算机内部的预设密钥,将原始信息通过预设加密算法加密,得到加密信息;将所述加密信息传输至第二计算机的总线程序;其中,所述加密信息用于触发第二计算机的总线程序根据第二计算机内部的预设密钥,将所述加密信息通过预设解密算法解密,得到原始信息;并将所述原始信息发送至第二计算机的应用程序。
6.进一步的,所述第一计算机内部的预设密钥的属性为隐藏;所述第一计算机内部的预设密钥的特征值保存在第一计算机的硬件信息中。
7.进一步的,接收第一计算机的应用程序发送的原始信息之前,还包括:将第一计算机内部的预设密钥的特征值与第一计算机的硬件信息中保存的预设密钥的特征值进行校验;若校验成功,则第一计算机的总线程序接收第一计算机的应用程序发送的原始信息;若校验失败,则发送告警信息。
8.进一步的,根据第一计算机内部的预设密钥,将原始信息通过预设加密算法加密之前,还包括:
采用在原始信息的预设固定位置加入校验码字符,之后对加入有校验码字符的原始信息进行加密。
9.进一步的,根据第一计算机内部的预设密钥,将原始信息通过预设加密算法加密,得到加密信息的过程,具体如下:获取第一计算机内部的预设密钥的第1位到第n位,得到加密位移信息并根据加密位移信息,将原始信息位移得到位移通信信息;获取第一计算机内部的预设密钥的第n 1位到第m位,得到加密奇偶交换信息;并根据加密奇偶交换信息,对位移通信信息处理,得到变换通信信息;获取第一计算机内部的预设密钥的第m 1位到最后一位,得到加密异或操作序列;并根据加密异或操作序列,对变换通信信息进行异或操作,得到加密信息。
10.本发明还提供了一种计算机间通信系统,用于第一计算机的总线程序中,所述系统包括加密模块及发送模块;加密模块,用于接收第一计算机的应用程序发送的原始信息,并根据第一计算机内部的预设密钥,将原始信息通过预设加密算法加密,得到加密信息;发送模块,用于第一计算机的总线程序将加密信息传输至第二计算机的总线程序;其中,加密信息用于触发第二计算机的总线程序根据第二计算机内部的预设密钥,将加密信息通过预设解密算法解密,得到原始信息;并将原始信息发送至第二计算机的应用程序。
11.本发明还提供了一种计算机间通信方法,用于第二计算机的总线程序中,所述方法包括以下:接收第一计算机的总线程序发送的加密信息,并根据第二计算机内部的预设密钥,将加密信息通过预设解密算法解密,得到原始信息;将原始信息传输至第二计算机的应用程序。
12.进一步的,根据第二计算机内部的预设密钥,将加密信息通过预设解密算法解密,得到原始信息的过程,具体如下:获取第二计算机内部的预设密钥的第m 1位到最后一位,得到解密异或操作序列;并根据解密异或操作序列,对加密信息进行异或操作,得到异或操作后的信息;获取第二计算机内部的预设密钥的第n 1位到第m位,得到解密奇偶交换信息;并根据解密奇偶交换信息,对异或操作后的信息处理,得到奇偶变换后的信息;获取第二计算机内部的预设密钥的第1位到第n位,得到解密位移信息;并根据解密位移信息,将奇偶变换后的信息位移,得到原始信息。
13.进一步的,第二计算机内部的预设密钥的属性为隐藏;第二计算机内部的预设密钥的特征值保存在第二计算机的硬件信息中;接收第一计算机的总线程序发送的加密信息之前,还包括:将第二计算机内部的预设密钥的特征值与第二计算机的硬件信息中保存的预设密钥的特征值进行校验;若校验成功,则第二计算机的总线程序接收第一计算机的总线程序发送的加密信息;若校验失败,则发送告警信息;第二计算机的总线程序将原始信息发送至第二计算机的应用程序之前,还包括:
对原始信息中预设固定位置的校验码字符进行校验,若校验成功,则将原始信息发送至第二计算机的应用程序;若校验失败,则发送告警信息。
14.本发明还提供了一种计算机间通信系统,用于第二计算机的总线程序中,所述系统包括解密模块及传输模块;解密模块,用于接收第一计算机的总线程序发送的加密信息,并根据第二计算机内部的预设密钥,将加密信息通过预设解密算法解密,得到原始信息;传输模块,用于将原始信息传输至第二计算机的应用程序。
15.与现有技术相比,本发明的有益效果为:本发明提供了一种计算机间通信方法及系统,通过在计算机的总线程序中,根据预设密钥及预设加解密算法对计算机间的通信信息进行加解密,有效降低了对cpu负载,大大降低了计算机cpu资源开销;同时,有效降低了网络被入侵后通信信息被篡改的风险,提高了上位机不同节点计算机间通信的安全性。
16.进一步的,预设密钥的特征值保存在计算机的硬件信息中,在接收原始信息或对原始信息进行加解密之前对预算密钥的特征值与保存在计算机的硬件信息中保存的预设密钥的特征值进行校验,避免了网络入侵者对预设密钥的篡改,提高了通信信息传输的安全性。
17.进一步的,采用对原始信息进行位移、奇偶变换及异或操作的加密或解密过程,加解密算法简单,对cpu的资源占用较少,可以满足在有限的系统资源下对所有通信消息进行加密或解密,成本较低,安全性高。
附图说明
18.图1为本发明所述的计算机间通信方法的流程图;图2为本发明所述的计算机间通信系统的结构框图。
具体实施方式
19.为了使本发明所解决的技术问题,技术方案及有益效果更加清楚明白,以下具体实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
20.如附图1所示,本发明提供了一种计算机间通信方法,所述方法具体包括以下步骤:步骤1、在第一计算机及第二计算机内分别配置预设密钥,第一计算机或第二计算机内部的预设密钥的特征值保存在各自计算机的硬件信息中。优选的,预设密钥的属性为隐藏,预设密钥的特征值为md5特征值,md5特征值写入计算机的主板产品信息中。
21.步骤2、将第一计算机内部的预设密钥的特征值与第一计算机的硬件信息中保存的预设密钥的特征值进行校验。若校验成功,则第一计算机的总线程序接收第一计算机的应用程序发送的原始信息,即跳转至步骤3;若校验失败,则发送告警信息。
22.步骤3、第一计算机的总线程序接收第一计算机的应用程序发送的原始信息,采用在原始信息的预设固定位置加入校验码字符。
23.步骤4、对加入有校验码字符的原始信息,根据第一计算机内部的预设密钥,将原
始信息通过预设加密算法加密,得到加密信息。加密过程,具体如下:步骤41、获取第一计算机内部的预设密钥的第1位到第n位,得到加密位移信息并根据加密位移信息,将加入有校验码字符的原始信息位移得到位移通信信息;步骤42、获取第一计算机内部的预设密钥的第n 1位到第m位,得到加密奇偶交换信息;并根据加密奇偶交换信息,对位移通信信息处理,得到变换通信信息;步骤43、获取第一计算机内部的预设密钥的第m 1位到最后一位,得到加密异或操作序列;并根据加密异或操作序列,对变换通信信息进行异或操作,得到加密信息。
24.步骤5、将第二计算机内部的预设密钥的特征值与第二计算机的硬件信息中保存的预设密钥的特征值进行校验。若校验成功,则第二计算机的总线程序接收第一计算机的总线程序发送的加密信息,即跳转至步骤6;若校验失败,则发送告警信息。
25.步骤6、第二计算机的总线程序接收第一计算机的总线程序发送的加密信息,并根据第二计算机内部的预设密钥,将加密信息通过预设解密算法解密,得到原始信息。解密过程,具体如下:步骤61、获取第二计算机内部的预设密钥的第m 1位到最后一位,得到解密异或操作序列;并根据解密异或操作序列,对加密信息进行异或操作,得到异或操作后的信息;步骤62、获取第二计算机内部的预设密钥的第n 1位到第m位,得到解密奇偶交换信息;并根据解密奇偶交换信息,对异或操作后的信息处理,得到奇偶变换后的信息;步骤63、获取第二计算机内部的预设密钥的第1位到第n位,得到解密位移信息;并根据解密位移信息,将奇偶变换后的信息位移,得到原始信息。
26.步骤7、对原始信息中预设固定位置的校验码字符进行校验,若校验成功,则将原始信息发送至第二计算机的应用程序;若校验失败,则发送告警信息。
27.如附图2所示,本发明还提供了一种计算机间通信系统,所述系统包括加密模块、发送模块、解密模块及传输模块;加密模块,用于接收第一计算机的应用程序发送的原始信息,并根据第一计算机内部的预设密钥,将原始信息通过预设加密算法加密,得到加密信息;发送模块,用于将加密信息传输至第二计算机的总线程序;解密模块,用于接收第一计算机的总线程序发送的加密信息,并根据第二计算机内部的预设密钥,将加密信息通过预设解密算法解密,得到原始信息;传输模块,用于将原始信息传输至第二计算机的应用程序。
28.实施例以某电厂分散控制系统的上位机中的两个不同节点计算机之间的通信过程为例,本实施例提供了一种计算机间通信方法,包括以下步骤:步骤1、在分散控制系统的每个节点计算机中配置预设密钥,预设密钥保存在每个节点计算机的预设指定路径中;预设密钥的文件属性默认为隐藏;预设密钥的特征值保持在各自节点计算机的硬件信息中;优选的,本实施例中,采用将预设密钥的md5特征值保存至节点计算机主板的产品信息中。
29.步骤2、节点计算机的应用程序启动传输需要加密的原始信息时,首先校验预设密钥的正确性;具体的,将第一计算机内部的预设密钥的md5特征值与第一计算机主板的产品信息中保存的对应md5特征值进行校验,若校验成功,则预设密钥正确,转至步骤3;若校验
失败,则发送告警信息。
30.步骤3、第一计算机的总线程序接收第一计算机的应用程序发送的原始信息,采用在原始信息的预设固定位置加入校验码字符,得到加入有校验码字符的原始信息。本实施例中,通过在原始信息加密前增加校验位,即在原始信息的预设固定位置加入校验码字符,以用于解密后去校验解密的原始信息是否正确,提高了通信过程的准确性。
31.步骤4、第一计算机的总线程序启动后,对加入有校验码字符的原始信息,根据第一计算机的预设密钥,将原始信息通过预设加密算法加密,得到加密信息。
32.本实施例中,第一计算机内部保持的预设密钥总共128位;其中,第1位至第4位为加密消息左移信息位数;第5位到第8位为是否进行奇偶交换信息位数,第9位至第128位为对原始消息进行异或操作信息位数。
33.加密过程,具体包括以下步骤:步骤41、获取第一计算机内部的预设密钥的第1位到第4位,得到加密左移位移信息并根据加密左移位移信息,将加入有校验码字符的原始信息左移位移得到位移通信信息;步骤42、获取第一计算机内部的预设密钥的第5位到第8位,得到加密奇偶交换信息;并根据加密奇偶交换信息,对位移通信信息处理,得到变换通信信息;其中,根据第一计算机内部的预设密钥第5位到第8位为0或1,判断是否进行奇偶交换,作为加密奇偶变换信息;其中,当第一计算机内部的预设密钥第5位到第8位为0时,对位移通信信息不进行奇偶变换;当第一计算机内部的预设密钥第5位到第8位为1时,对位移通信信息从低位到高位把奇数位和偶数位的数字进行交换,得到变换通信信息。
34.步骤43、获取第一计算机内部的预设密钥的第9位到第128位,得到加密异或操作序列;并根据加密异或操作序列,对变换通信信息进行异或操作,得到加密信息;具体的,采用预设密钥的第9位至第128位,分别循环遍历变换通信信息的对应位置信息,进行异或操作,得到加密信息。
35.步骤5、节点计算机的总线程序启动接收需要解密的加密信息时,首先校验预设密钥的正确性;具体的,将第二计算机内部的预设密钥的md5特征值与第二计算机主板的产品信息中保存的对应md5特征值进行校验,若校验成功,则预设密钥正确,转至步骤6;若校验失败,则发送告警信息。
36.步骤6、第二计算机的总线程序接收第一计算机的总线程序发送的加密信息,并根据第二计算机内部的预设密钥,将加密信息通过预设解密算法解密,得到原始信息。
37.本实施例中,第二计算机内部保持的预设密钥总共128位;其中,第1位至第4位为加密消息右移信息位数;第5位到第8位为是否进行奇偶交换信息位数,第9位至第128位为对加密消息进行异或操作信息位数。
38.解密过程,具体包括以下步骤:步骤61、获取第二计算机内部的预设密钥的第9位到第128位,得到解密异或操作序列;并根据解密异或操作序列,对加密信息进行异或操作,得到异或操作后的信息;步骤62、获取第二计算机内部的预设密钥的第5位到第8位,得到解密奇偶交换信息;并根据解密奇偶交换信息,对异或操作后的信息处理,得到奇偶变换后的信息。
39.其中,根据第一计算机内部的预设密钥第5位到第8位为0或1,判断是否进行奇偶
交换,作为解密奇偶变换信息;当第二计算机内部的预设密钥第5位到第8位为0时,对异或操作后的信息不进行奇偶变换;当第二计算机内部的预设密钥第5位到第8位为1时,对异或操作后的信息从低位到高位把奇数位和偶数位的数字进行交换,得到奇偶变换后的信息。
40.步骤63、获取第二计算机内部的预设密钥的第1位到第4位,得到解密右移位移信息;并根据解密右移位移信息,将奇偶变换后的信息右移位移,得到原始信息。
41.步骤7、对原始信息中预设固定位置的校验码字符进行校验,若校验成功,则将原始信息发送至第二计算机的应用程序;若校验失败,则发送告警信息;本实施例中,采用对解密后的消息进行校验码进行校验;原始消息的中在预设固定位置存放了校验码,解密完成后对固定位数的字符进行校验;若校验失败,发送告警消息,消息解密失败检查密钥文件或检查消息是否被篡改;若校验成功后,第二计算机的总线程序发送到应用程序进行处理。
42.本实施例中,对原始信息的加密处理采用在节点计算机的总线程序中进行;其中一个节点计算机的应用程序将与其他计算机交互的消息发送到该节点计算机的总线程序中,该节点计算机的总线程序对于原始信息进行加密后再发送到其他节点计算机的总线程序,其他节点计算机的总线程序收到加密信息后进行解密,在将解密后的原始信息发送到指定的应用程序中进行处理。
43.本实施例中,对每个节点计算机内部保持的预设密钥进行校验时,根据预设密钥的md5特征值和保存在计算机硬件中的md5特征值来进行全节点比较;如果校验失败,认为硬件信息被更改或者预设密钥遭到篡改,禁止启动计算机,并且计算机的应用程序弹出对话框来提示运行人员检查预设密钥。
44.本发明中,第一计算机或第二计算机均可以用作对通信信息进行加密或解密处理,或第一计算机和第二计算机可以用于同时对通信信息进行加密和解密处理,具体过程与上述实施例内容相类似,此处不再赘述。
45.本发明所述的计算机间通信方法,采用在计算机的总线程序中,根据预设密钥及预设加解密算法对计算机间的通信信息进行加解密,有效降低了对cpu负载,大大降低了计算机cpu资源开销;同时,有效降低了网络被入侵后通信信息被篡改的风险,提高了上位机不同节点计算机间通信的安全性。
46.上述实施例仅仅是能够实现本发明技术方案的实施方式之一,本发明所要求保护的范围并不仅仅受本实施例的限制,还包括在本发明所公开的技术范围内,任何熟悉本技术领域的技术人员所容易想到的变化、替换及其他实施方式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献