一种在DNP系统中基于设备ID和时间的加密方法与流程

文档序号:12477509阅读:938来源:国知局
一种在DNP系统中基于设备ID和时间的加密方法与流程

本发明涉及分布式网络(DNP3.0)数据加密领域,具体涉及一种基于在DNP系统中基于设备ID和时间的加密方法。



背景技术:

在工业化3.0的时代,信息化与工业化融合更一步的加深。电力线路是电网运行的命脉,它在输送电能的同时又相当脆弱,任何来自外力的破坏错误操作,都有可能造成大面积停电,甚至电网瓦解,给社会经济和人民群众的生活带来巨大危害同时电力设备自动化程度的不断提高,对于电力设备的远程的监控已逐渐呈现出普及的趋势。远程通信系统在对远程电力设备正常运转的监控、运行控制和安全保护等方面起着不可替代的作用,同时保护电力信息避免泄漏而为他国势力所获取。因此保障整个电力系统的安全稳定运行,对远程监控系统的安全保障是很有必要的。

在电力行业,电力检测控制设备是可以保持电力系统稳定运行的可靠性。远程数据采集与监控系统(Supervisory Control And Data Acquisition,SCADA)可以通过网络与远端控制系统进行互连。但是,越来越多地支持电力系统的监视和控制的信息基础设施对维护电力系统的可靠性是至关重要的。2015年圣诞节期间,乌克兰国内多个区域的电网因遭遇黑客攻击,导致发生大规模停电。达拉斯信息安全公司iSight Partners的研究人员表示,黑客在乌克兰国家电网中植入的恶意软件导致了这次严重的停电事故。该事件充分反映出电力系统信息安全面临着严峻的形势。并且在现有的分布式网络Modbus、CAN、DNP中均没有加入数据加密方法。

现有的加密方法存在着相互握手后确定双方加密秘钥,用在分布式网络中,数据段数据传送流量大,实时性高等特点,相关加密方法如果应用在这种环境中后,用于加密的秘钥初始化后就不再改动,且分布式网络中的设备在连接后不经接收方确认就直接发送数据,以上各种加密方案中存在着非常大的风险。



技术实现要素:

本发明的首要目的在于对确定设备与网络协议的分布式控制网络,加入设备ID号码、时间序列,形成特定关系的数据加密,以及加密秘钥实时更新的方法。

本发明的另一目的在于克服在现有分布式网络中通信安全缺乏的缺点与不足,提供了一种基于在DNP系统中基于设备ID和时间的加密方法,该定位方法克服了以往不能满足确定网络设备中安全通信、秘钥实时更新的问题。

为了达到上述目的,本发明采用以下技术方案:

本发明提供了一种在DNP系统中基于设备ID和时间的加密方法,包括下述步骤:

为分布式控制系统上的每一个设备设置系统内部的唯一设备ID号码;

根据双方设备ID号码和数据的发送接收顺序,在非线性替换表中唯一确定一个字节序列1;

发送方的接收端在系统运行时,在系统内部保存一个数值,该数值随时间的增长而随之增长,同时在通信接收方的被确认后,会产生一个随机序列,通过对时间数字用随机序列进行HMAC数字签名,得到另外一个字节序列2;

把字节序列1与字节序列2按位异或得到了一个新的加密秘钥,此秘钥用于对发送来的数据段进行对称加密。

作为优选的技术方案,所述在非线性替代表中唯一确定一个字节序列1;其确定的具体方法为:

设备1的ID号码与设备2的ID号码均由一串16进制数字表示,每次在设备1的ID号码中取出一位数,同时在设备2的ID号码对应位取出另外一位数,这两个数字在非线性变换表中作为坐标,确定唯一一位数,从而获得字节序列1。

作为优选的技术方案,所述设备ID号由设备提供商或者设备使用商自由设定;在网络内部的设备ID号码具有非连续性,且在网络中相关设备ID号码设定等长;所述设备ID号码具有非相关性,从一个设备ID号码不能推算其他设备的设备ID号码。

作为优选的技术方案,两个相互通信的设备在发送与接受时的设备ID号码顺序不同,当设备C1发送、设备C2接收则顺序为(C1,C2),设备C2发送、设备C2接收则顺序为(C2,C1),不同顺序得到不同的字节序列1。

作为优选的技术方案,根据设备ID号码数值变换得到的字节序列,变换所根据是非线性变换,字节序列1与设备ID密切相关。

作为优选的技术方案,每个设备内部均设定有各自的时间数值序列,对时间数值序列进行摘要信息提取,所述摘要信息包括MD5、SHA信息,再由随机序列或者自设定秘钥作为秘钥进行数字签名HMAC,得到与时间序列相关的字节序列2。

作为优选的技术方案,由设备ID号码经非线性变换得到的字节序列与时间数值序列进行异或得到用于加密的秘钥。

作为优选的技术方案,时间数值会随时间增加而增加,在变化量大于设定阈值时,则重新计算用于对称加密的秘钥。

作为优选的技术方案,对于系统中正在通信的设备,发送方发送数据的秘钥与接收数据所用的秘钥不同。

作为优选的技术方案,所述随机数值序列只需要产生一次,不用对每一个设备分别设定一个,但在密钥更新时随机数值序列会重新生成一个用于与时间数值计算的随机数值序列。

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

本发明在固定的分布式网络系统中,在不改变现有分布式网络协议以及现有设备硬件的基础上,根据通信双方的设备ID号码与通信方向可以唯一确定双方安全通道通信的加密算法,实现了设备与设备之间确定性信息安全传输,加密秘钥与解密秘钥实时更新,对于现有分布式系统在较低的硬件成本上实现了较高的安全通信实现。

附图说明

图1是本发明一种基于在DNP系统中基于设备ID和时间的加密方法的秘钥生成流程框图。

图2是本发明一种基于在DNP系统中基于设备ID和时间的加密方法的设备ID变换表。

图3是本发明一种基于在DNP系统中基于设备ID和时间的加密方法的对时间数值的数字签名算法。

图4是本发明一种基于在DNP系统中基于设备ID和时间的加密方法的加密秘钥更新流程。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

如图1所示,本实施例一种在DNP系统中基于设备ID和时间的加密方法,所述方法对于分布式控制系统上的每一个设备都有系统内部的唯一设备ID号码,根据通信发送接收双方设备ID号码顺序,在非线性替换表中可以唯一确定一个字节序列1。在每个设备系统内部的时间数值,同时会产生一个随机序列,通过对时间数字用随机序列进行HMAC数字签名,得到另外一个字节序列2。字节序列1与字节序列2分别与通信顺序和时间相关,把字节序列1与字节序列2按位异或得到了一个新的加密秘钥。

如图2所示,一种基于在DNP系统中基于设备ID和时间的加密方法的设备ID变换表,设备ID号码由设备提供商,或者设备使用商自由设定,设备ID号码具有非连续性,且在网络中相关设备ID号码设定等长,设备ID号码具有非相关性,从一个设备号码不能推算其他设备的ID号码。两个相互通信的设备在发送与接受时的ID号码顺序不同,如设备C1发送、设备C2接收则顺序为(C1,C2),设备C2发送、设备C2接收则顺序为(C2,C1),不同顺序得到不同的秘钥。变换表是一种非线性表。

如图3所示,一种基于在DNP系统中基于设备ID和时间的加密方法的对时间数值的数字签名算法,每个设备内部均设定有各自的时间数值序列,时间序列再由随机序列作为秘钥进行数字签名(HMAC),得到与时间序列相关的字节序列,随机函数产生固定长度的字节序列。

如图4所示,一种基于在DNP系统中基于设备ID和时间的加密方法的加密秘钥更新,发送方根据图1中所得到的对称加密秘钥对数据段进行加密,并把加密数据发送给接收方。在发送方时间数值增加变化到一定度,发送方会进行对称加密秘钥的自动更新,并通知接收方。接收方在解密过程中出现多次解密错误,此时接收方通知发送发进行秘钥的更新。

所述的对称加密算法,可以根据需要选择例如AES、3DES等加密算法。

所述的非对称加密算法,可以是RSA、DSA、ECC等非对称算法中的一种。

所述的数字签名算法根据设备、需要选择HMAC-SHA1或者HMAC-SHA256。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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