一种水利工业控制系统加密设备中会话密钥管理方法与流程

文档序号:19219605发布日期:2019-11-26 02:00阅读:205来源:国知局
一种水利工业控制系统加密设备中会话密钥管理方法与流程

本发明属于信息技术领域,尤其涉及一种水利工业控制系统加密设备中会话密钥管理方法。



背景技术:

在我国现有的水利工业控制系统中,上位机与下位机之间绝大部分使用现场总线网络实现数据通信,通信协议多为modbus。modbus应用数据单元(adu)的结构在系统安全性方面存在较高的脆弱性:其中的协议数据单元(pdu)以明文传输,缺乏保密性;完整性校验机制过于简单,易被篡改;对重放攻击没有任何抵抗性。为了针对现场总线网络中由于上述脆弱性导致的安全风险,可通过在上位机、下位机等自动化控制设备,与现场总线之间部署加密设备,实现adu的安全传输。如何对此类加密设备的密钥进行管理,目前是一个较为重要的问题。

由于总线型网络的信道共享特性,以及自动化控制设备较低的通信速率,在现场总线中建立单独的公钥基础设施(pki)和认证中心(ca)实现中心化的密钥分配与管理,将会对系统的效率产生较大影响,甚至有可能造成可用性的降低。

因此,如何在保证系统效率和可用性的前提下,设计一套去中心化的现场总线信道加密设备密钥管理方法,实现便捷、高效的密钥分配、更新及移除,提高对于中间人攻击的抵抗能力,预防未经授权的非法设备在现场总线的信道上监听、拦截、篡改数据监测及控制信息,降低在水利行业的工业自动化控制系统中因现场总线信道受到侵入而产生的安全风险,对于国民经济领域中关键性基础设施提供可靠的安全保障,是一个具有较高学术及应用价值的课题。



技术实现要素:

发明目的:针对以上问题,本发明提出一种水利工业控制系统加密设备中会话密钥管理方法,实现去中心化的分布式加密设备密钥管理功能。

技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种水利工业控制系统加密设备中会话密钥管理方法,包括如下步骤:

s1:设水利工业控制系统的某一条现场总线fb,在控制设备与现场总线的网络物理接口之间接入加密设备,对加密设备进行初始化,初始化过程包括加密设备会话密钥生成及加密设备会话密钥预分配;

s2:当现场总线fb上的控制设备dd的地址码发生变化,对控制设备dd所连接的加密设备会话密钥进行更新,更新过程包括生成该加密设备新会话密钥,撤销原会话密钥以及加密设备会话密钥预分配;

s3:当现场总线fb上的控制设备dd暂时或永久性地断开与现场总线fb上其他设备的逻辑连接,对该控制设备dd所连接的加密设备中的会话密钥进行移除处理,移除过程包括该加密设备的会话密钥重置,并将该加密设备原密钥从现场总线fb上的其他每一台加密设备中删除。

进一步,步骤s1所述对加密设备进行初始化;方法如下:

使用加密设备内置的对称加密模块,生成一个会话密钥pk,其对应的对称加密算法包括但不限于des、aes、sm1;设加密设备连接的控制设备的地址码为dadr;

将pk、dadr作为一个二元组,写入加密设备的存储器中,该存储器包括但不限于nandflash、emmc;将pk、dadr作为一个二元组,导出至移动设备md中,以备预分配阶段使用,移动设备md的形态包括但不限于移动硬盘、u盘、sd卡;

完成现场总线fb上所有加密设备的会话密钥生成后,对每一台加密设备分别执行预分配操作,预分配完成后,初始化过程结束。

进一步,对现场总线fb上的每一台加密设备分别执行预分配操作;方法如下:

若加密设备连接的控制设备为主设备(master),将现场总线fb上所有连接其他从设备(slave)的加密设备中导出至移动设备md的二元组pk、dadr,分别写入与主设备连接的该加密设备的存储器中;

若加密设备连接的控制设备为从设备(slave),将现场总线fb上唯一的连接主设备(master)的加密设备中导出至移动设备md的二元组pk、dadr,写入与从设备连接的该加密设备的存储器中。

进一步,步骤s2所述当现场总线fb上的控制设备dd的地址码发生变化,对控制设备dd所连接的加密设备会话密钥进行更新;设控制设备dd的原地址码为dadr,对于其连接的加密设备,更新方法如下:

s2.1:使用该加密设备内置的对称加密模块,重新生成该加密设备的一个会话密钥pk_new,其对应的对称加密算法包括但不限于des、aes、sm1;设控制设备dd的新地址码为dadr_new;

将pk_new、dadr_new作为一个二元组,写入该加密设备的存储器中,并覆盖该加密设备的原二元组pk、dadr;将pk_new、dadr_new作为一个二元组,导出至移动设备md,并覆盖md中已存储的该加密设备的原二元组pk、dadr,以备预分配阶段使用,移动设备md的形态包括但不限于移动硬盘、u盘、sd卡;

s2.2:完成该加密设备的新会话密钥生成后,对现场总线fb上其他每一台加密设备分别执行撤销该加密设备原会话密钥操作,若现场总线fb上其他加密设备的存储器中存在已写入的该加密设备的原二元组pk、dadr,将该二元组删除;

s2.3:完成所有其他加密设备对该加密设备原会话密钥的撤销后,对该加密设备执行预分配操作;

若该加密设备所连接的地址码发生变化的控制设备dd为主设备(master),将该加密设备导出至移动设备md的二元组pk_new、dadr_new,分别写入现场总线fb上所有连接其他从设备(slave)的加密设备的存储器中;

若该加密设备所连接的地址码发生变化的控制设备dd为从设备(slave),将该加密设备导出至移动设备md的二元组pk_new、dadr_new,写入现场总线fb上唯一的连接主设备(master)的加密设备的存储器中;

s2.4:步骤s2.3执行预分配完成后,更新过程结束。

进一步,步骤s3所述当现场总线fb上的控制设备dd暂时或永久性地断开与现场总线fb上其他设备的逻辑连接,将该控制设备dd所连接的加密设备中的会话密钥进行移除;设该控制设备dd的原地址码为dadr,对于与其连接的加密设备,移除方法如下:

s3.1:若该加密设备的存储器中存在已写入的二元组pk、dadr,将该二元组删除,将该加密设备的存储器重置为原始状态;

s3.2:该加密设备重置完成后,对现场总线fb上其他每一台加密设备分别执行撤销该加密设备原会话密钥操作;若其他加密设备的存储器中存在已写入的该加密设备的原二元组pk、dadr,将该二元组删除;

s3.3:完成所有其他加密设备对该加密设备原会话密钥的撤销后,移除过程结束。

有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:。

本发明通过对称会话密钥离线分配、更新及移除的方法,实现了现场总线信道加密设备密钥去中心化的分布式管理。在现有水利工业控制系统的现场总线网络中,无需建立单独的公钥基础设施(publickeyinfrastructure)与认证中心(certificateauthority),即可实现控制设备的身份认证,具有较强的设备兼容性。本发明兼容现有的总线型拓扑网络,无需对现场总线物理层及链路层进行改造,能够有效预防未经授权的非法设备在现场总线的信道上实施监听、拦截、篡改等中间人攻击。与非对称加密方案相比,本发明在会话密钥中所采用的对称加密方案具有访问效率高、时间开销少的特点,因而在设备成本及节点处理时延上具有较高的竞争优势,能够在节约计算资源的前提下降低在水利行业的工业控制系统中现场总线信道的安全风险,对于国民经济领域中关键性基础设施提供可靠的安全保障。

附图说明

图1是本发明方法层次结构图;

图2是本发明初始化流程图;

图3是本发明更新流程图;

图4是本发明移除流程图。

具体实施方式

下面结合附图和实施例对本发明的技术方案作进一步的说明。

设某水利工业控制系统中,一条现场总线fb上,分别存在控制设备d1、d2、d3,其中d1为上位机,设为master模式,地址为0x01;d2、d3为下位机,设为slave模式,地址分别为0x02、0x03。控制设备d1、d2、d3均直接连接至现场总线fb,与现场总线fb之间未部署任何加密设备。

本实施例所述的一种水利工业控制系统加密设备中会话密钥管理方法,如图1所示,包括以下步骤:

s1:将新的加密设备nd1、nd2、nd3分别部署至控制设备d1、d2、d3与现场总线fb之间,依次对nd1、nd2、nd3执行以下操作:

使用nd1内置的对称加密模块,生成一个会话密钥pk1,其对应的对称加密算法为sm1。nd1连接的控制设备d1的地址码dadr1为0x01,将pk1、dadr1作为一个二元组,写入nd1的存储器中,该存储器为nandflash。将pk1、dadr1作为一个二元组,导出至移动设备md中,移动设备md的形态为u盘。

使用nd2内置的对称加密模块,生成一个会话密钥pk2,其对应的对称加密算法为sm1。nd2连接的控制设备d2的地址码dadr2为0x02,将pk2、dadr2作为一个二元组,写入nd2的存储器中,该存储器为nandflash。将pk2、dadr2作为一个二元组,导出至移动设备md中。

使用nd3内置的对称加密模块,生成一个会话密钥pk3,其对应的对称加密算法为sm1。nd3连接的控制设备d3的地址码dadr3为0x03,将pk3、dadr3作为一个二元组,写入nd3的存储器中,该存储器为nandflash。将pk3、dadr3作为一个二元组,导出至移动设备md中。

nd1连接的控制设备d1为主设备(master),将现场总线fb上所有连接其他从设备(slave)d2、d3的加密设备nd2、nd3中导出至移动设备md的二元组pk2、dadr2和pk3、dadr3,分别写入nd1的存储器中。

nd2连接的控制设备d2为从设备(slave),将现场总线fb上唯一的连接主设备(master)d1的加密设备nd1中导出至移动设备md的二元组pk1、dadr1,写入nd2的存储器中。

nd3连接的控制设备d3为从设备(slave),将现场总线fb上唯一的连接主设备(master)d1的加密设备nd1中导出至移动设备md的二元组pk1、dadr1,写入nd3的存储器中。

此时,初始化过程结束,nd1、nd2、nd3的存储器中均写入了自己的会话密钥。其中,nd1的存储器中写入了nd2、nd3的地址与会话密钥,nd2、nd3的存储器中写入了nd1的地址与会话密钥。因此,nd1可以分别与nd2、nd3进行数据通信,nd2与nd3之间由于缺少对方的会话密钥,无法进行数据通信,实现了从设备间的通信数据隔离。初始化流程如图2所示。

s2:当现场总线fb上的控制设备d2因故障需要更换,更换后的新设备d2的地址码从0x02变为0x04,对于已部署在d2和fb之间的nd2,依次执行以下操作:

使用nd2内置的对称加密模块,重新生成一个会话密钥pk4,其对应的对称加密算法为sm1。nd2连接的新设备d2的新地址码dadr4为0x04,将pk4、dadr4作为一个二元组,写入nd2的存储器中,并覆盖原二元组pk2、dadr2。将pk4、dadr4作为一个二元组,导出至移动设备md,并覆盖md中已存储的原二元组pk2、dadr2。

然后,依次在nd1、nd3的存储器中查找nd2的原二元组pk2、dadr2,由于nd1的存储器中已写入该二元组,故需要执行撤销nd2原密钥操作,将nd1存储器中的该二元组进行删除。

最后,执行预分配操作。由于控制设备d2为从设备(slave),将导出至移动设备md的二元组pk4、dadr4,写入现场总线fb上唯一的连接主设备(master)d1的加密设备nd1的存储器中。

此时,更新过程结束。原设备d2的pk2均被从加密设备nd2的存储器中移除,即使将原设备d2通过加密设备nd2连接现场总线fb,也无法与主设备d1进行通信。新设备d2可以正常与主设备d1进行通信。更新流程如图3所示。

s3:当现场总线fb上的控制设备d3报废,需要永久性地断开与d1、d2的逻辑连接,对于已部署在d3和fb之间的加密设备nd3,依次执行以下操作:

由于nd3的存储器中存在已写入的二元组pk3、dadr3,先将该二元组删除,然后将nd3的存储器重置为初始化过程之前的状态。

与主设备d1连接的加密设备nd1的存储器中存在已写入的nd3的原二元组pk3、dadr3,将该二元组删除。

此时,移除过程结束。nd1、nd2、nd3中均不存在pk3,d3无法与d1进行任何数据通信。此时,即使报废后的d3被恶意攻击者获取,接入加密设备nd3后也不能对现场总线fb上的d1、d2进行攻击。若需要将新的控制设备与加密设备nd3连接并接入现场总线fb时,则需要重新对加密设备nd1、nd2、nd3进行初始化。移除流程如图4所示。

实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

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