首页 / 专利库 / 电脑零配件 / 计算机系统 / 硬件 / 中央处理器 / 算术逻辑单元 / 一种水利自动化控制系统中现场总线信道加密方法

一种利自动化控制系统中现场总线信道加密方法

阅读:953发布:2020-05-12

专利汇可以提供一种利自动化控制系统中现场总线信道加密方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 水 利自动化控制系统中 现场总线 信道加密方法,通过在自动化控制设备与现场总线之间部署 硬件 加密网关,实现协议数据单元的透明加密。在硬件加密网关中,通过国产对称加密 算法 与非对称加密算法结合的混合加密方案,实现自动化控制设备身份验证、现场总线通信数据保密、协议分组完整性校验功能,有效 预防 未经授权的非法设备在现场总线的信道上监听、拦截、篡改数据监测及控制信息,对于中间人攻击具有较高的抵抗能 力 ,降低在水利自动化控制系统中因现场总线信道受到侵入而产生的安全 风 险。所述硬件加密网关能够无缝接入目前现有的水利自动化控制系统现场总线,具有较高的设备兼容性和通用性。,下面是一种利自动化控制系统中现场总线信道加密方法专利的具体信息内容。

1.一种用于现场总线信道加密的硬件加密网关,其特征在于:该网关由两个串口通信模、加密模块、密钥存储模块、供电模块组成;两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口;两个串口通信模块分别通过高速串行数据总线接口与加密模块连接;加密模块为一个单片机系统(SOC),通过其数据总线与地址总线接口连接密钥存储模块,通过其电源线接口连接供电模块;密钥存储模块为一个快速擦写只读存储器,通过其数据总线与地址总线接口与加密模块连接;供电模块为一个直流电源,通过二芯(VCC,GND)电源线接口与加密模块连接。
2.根据权利要求1所述的一种用于现场总线信道加密的硬件加密网关,其特征在于:所述串口通信模块使用的网络物理接口包括但不限于符合RS485/232标准的电气接口,串口通信模块使用的高速串行数据总线接口包括但不限于符合UART、I2C、SPI标准的总线接口;
所述密钥存储模块的数据总线与地址总线接口包括但不限于符合eMMC、UFS标准的扩展总线接口。
3.根据权利要求1所述的一种用于现场总线信道加密的硬件加密网关,其特征在于:所述加密模块通过内置寄存器的软件代码或算术逻辑单元硬件设备实现非对称加密算法、对称加密算法、散列算法、随机密钥生成算法;其中,非对称加密算法包括但不限于SM2、ECC、RSA算法,对称加密算法包括但不限于SM1、RC4、AES算法,散列算法包括但不限于SM3、MD5、SHA-1算法。
4.根据权利要求1所述的一种用于现场总线信道加密的硬件加密网关,其特征在于:每个串口通信模块都由一个串行通信芯片组成,芯片型号为ADM485,分别通过UART总线接口连接加密模块,使用RS485接口连接外部设备;加密模块由一个基于ACH512芯片的单片机系统组成;密钥存储模块由一块Flashrom芯片组成,通过NAND Flash接口连接加密模块。
5.根据权利要求1-4任一所述的硬件加密网关实现的一种利自动化控制系统中现场总线信道加密方法,其特征在于:该方法包括以下步骤:
S1:在连接至现场总线的每一台自动化控制设备与现场总线的网络物理接口之间,分别连接一台硬件加密网关,并在硬件加密网关的密钥存储模块中预先写入对应的密钥和目的地址编码;
S2:硬件加密网关的供电模块开始工作后,硬件加密网关启动,对硬件加密网关的密钥存储模块执行初始化;若初始化过程完成,进入步骤S3;若初始化过程终止,不执行后继操作;
S3:对硬件加密网关的密钥存储模块初始化完成后,开始执行监听过程;
S4:硬件加密网关开始执行监听过程之后,当且仅当供电模块停止供电时,监听过程终止;否则,始终执行监听过程;供电模块停止供电后,当且仅当再次进行供电时,硬件加密网关重新执行步骤S2所述初始化过程,以及步骤S3所述监听过程。
6.根据权利要求5所述的一种水利自动化控制系统中现场总线信道加密方法,其特征在于:步骤S2所述初始化过程如下:
(2-1)查找密钥存储模块中所有已存储的目的地址编码,以及与之相对应的公钥、私钥记录;
(2-2)判断私钥记录数是否唯一,若私钥记录数唯一,进入步骤(2-3);否则,初始化过程终止,不执行后继操作;
(2-3)判断公钥记录数是否大于或等于1,若公钥记录数大于或等于1,初始化过程完成;否则,初始化过程终止,不执行后继操作。
7.根据权利要求5所述的一种水利自动化控制系统中现场总线信道加密方法,其特征在于:步骤S3所述监听过程包括两部分:其一,在连接现场总线端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;其二,在连接设备端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听。
8.根据权利要求7所述的一种水利自动化控制系统中现场总线信道加密方法,其特征在于:在连接现场总线端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;步骤如下:
(3-1-1)当硬件加密网关连接现场总线端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求;加密模块响应中断,进入中断处理过程,使用应用数据单元ADU尾部的校验码CRC对于该单元中除CRC以外剩余部分的数据进行校验,校验算法使用加密模块中内部预置的散列算法;
(3-1-2)若校验失败,加密模块中断返回,对于应用数据单元ADU不进行响应;若校验成功,加密模块通过应用数据单元ADU首部的目的地址编码ADDR,在密钥管理模块中查找与目的地址编码ADDR对应的私钥PRK或公钥PUK;ADDR为大于或等于1个字节的十六进制(HEX)数据;
(3-1-3)若私钥PRK或公钥PUK不存在,加密模块中断返回,对于应用数据单元ADU不进行响应;若私钥PRK或公钥PUK存在,使用私钥PRK或公钥PUK,通过加密模块中内置的非对称加密算法,解密位于应用数据单元ADU中协议数据单元(Protocol Data Unit,PDU)首部的对称密钥密文CK,获得对称密钥RK;
(3-1-4)使用对称密钥RK,通过加密模块中内置的对称加密算法,解密协议数据单元PDU中除首部以外部分的封装数据载荷密文EC,获得封装数据载荷EP;封装数据载荷EP由其首部的数据明文PD与其尾部的散列数据DH组成;
(3-1-5)加密模块使用EP首部的数据明文PD,通过内置的散列算法计算明文散列值PH,并与EP尾部的散列数据DH进行比较;
(3-1-6)若明文散列值PH与散列数据DH不同,加密模块中断返回,将应用数据单元ADU舍弃,不进行响应;若明文散列值PH与散列数据DH相同,将数据明文PD作为新的协议数据单元PDU2;将目的地址编码ADDR附加到PDU2首部,计算PDU2的校验码CRC2并附加到PDU2尾部,作为新的应用数据单元ADU2;校验算法使用加密模块中内部预置的散列算法;
(3-1-7)将ADU2通过设备端的串口通信模块进行发送。
9.根据权利要求7所述的一种水利自动化控制系统中现场总线信道加密方法,其特征在于:在连接设备端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;步骤如下:
(3-2-1)当该网关连接设备端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求;加密模块响应中断,进入中断处理过程,使用应用数据单元ADU尾部的校验码CRC对于该单元中除CRC以外剩余部分的数据进行校验,校验算法使用加密模块中内部预置的散列算法;
(3-2-2)若校验失败,加密模块中断返回,对于应用数据单元ADU不进行响应;若校验成功,加密模块通过应用数据单元ADU首部的目的地址编码ADDR,在密钥管理模块中查找与该目的地址编码ADDR对应的公钥PUK或私钥PRK;其中ADDR为大于或等于1个字节的十六进制(HEX)数据;
(3-2-3)若公钥PUK或私钥PRK不存在,加密模块中断返回,对于该应用数据单元ADU不进行响应;若公钥PUK或私钥PRK存在,使用应用数据单元ADU中的协议数据单元PDU作为数据明文PD,通过内置的散列算法计算明文散列值PH,并将PH附加到数据明文PD尾部,形成封装数据载荷EP;
(3-2-4)通过内置的随机密钥生成算法,生成一个随机对称密钥RK,使用RK通过内置的对称加密算法,加密封装数据载荷EP,获得封装数据载荷密文EC;
(3-2-5)使用公钥PUK或私钥PRK,通过内置的非对称加密算法加密随机对称密钥RK,获得对称密钥密文CK;
(3-2-6)将对称密钥密文CK附加到封装数据载荷密文EC首部,作为新的协议数据单元PDU2;将目的地址编码ADDR附加到PDU2首部,计算PDU2的校验码CRC2并附加到PDU2尾部,作为新的应用数据单元ADU2,校验算法使用加密模块中内部预置的散列算法;
(3-2-7)将ADU2通过现场总线端的串口通信模块进行发送。

说明书全文

一种利自动化控制系统中现场总线信道加密方法

技术领域

[0001] 本发明属于信息技术领域,尤其涉及一种水利自动化控制系统中现场总线信道加密方法。

背景技术

[0002] 在我国目前部署的水利自动化控制系统中,绝大多数采用现场总线(Field Bus)网络对可编程逻辑控制器(PLC)与下位机进行组网。其原因是,计算机网络所使用的物理层媒体,如STP、单模或多模光纤等,其物理性质不能满足高耐候性、高强度的工业应用场景。RS232/485电缆以其优异的性能及价格优势,在工业自动化控制系统中具有二十余年的应用历史,短时间内无法被替代。而要对现有物理层进行更换,实施改造成本过高,甚至将高于当初部署系统的成本。如果使用无线组网,则会降低网络的可靠性与稳定性,且在信号屏蔽的场景中无法实施,具有较高的局限性。
[0003] 目前水利自动化控制系统所使用的PLC大多数不具备计算机网络通信能,必须为其搭配相配套的硬件接口。对于现有设备的改造同样存在实施成本过高的情况,且要考虑不同厂家之间电气、接口规范的不同需求,性价比低。虽然Modbus TCP协议支持在计算机网络中实现透明传输,但是由于其实现较为简单,无法支持TCP/IP协议中的网络层、传输层安全特性,需要对网络模进行特殊改造,通用性不强。
[0004] 电气工程师大多数仅具备现场总线网络中数据通信的开发经验,若使用计算机网络替代现场总线,必须具备足够的人员支撑,这意味着首先需要建立相关知识体系、培训教材、课程、实务、流程。由于目前电气工程师的培训周期较长,尚不具备实施计算机网络化改造的人员基础
[0005] 综上所述,复用计算机网络中相关理论及技术,用以解决水利自动化控制系统中现场总线网络安全性问题的思路,在目前人员及技术条件下,具有相当高的局限性。
[0006] 因此,如何在降低改造成本的前提下,针对现场总线信道提出一套低成本、高适用性的加密方案,通过国产对称加密算法与非对称加密算法结合的混合加密方案(Hybrid Encryption Scheme),实现自动化控制设备身份验证、现场总线通信数据保密、协议分组完整性校验功能,是一个具有较高研究及应用价值的课题。

发明内容

[0007] 发明目的:针对以上问题,本发明提出一种水利自动化控制系统中现场总线信道加密方法,实现自动化控制设备身份验证、现场总线通信数据保密、协议分组完整性校验功能。
[0008] 技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种用于现场总线信道加密的硬件加密网关,由两个串口通信模块、加密模块、密钥存储模块、供电模块组成。
[0009] 两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口,用于接收或发送串口通信协议分组。两个串口通信模块分别通过高速串行数据总线接口与加密模块连接。所述串口通信模块使用的网络物理接口包括但不限于符合RS485/232标准的电气接口。串口通信模块使用的高速串行数据总线接口包括但不限于符合UART、I2C、SPI标准的总线接口。
[0010] 加密模块为一个单片机系统(SOC),能够通过内置寄存器的软件代码或算术逻辑单元硬件设备实现非对称加密算法、对称加密算法、散列算法、随机密钥生成算法。其中,非对称加密算法包括但不限于SM2、ECC、RSA算法,对称加密算法包括但不限于SM1、RC4、AES算法,散列算法包括但不限于SM3、MD5、SHA-1算法。加密模块通过其高速串行数据总线接口连接串口通信模块,通过其数据总线与地址总线接口连接密钥存储模块,通过其电源线接口连接供电模块。
[0011] 密钥存储模块为一个快速擦写只读存储器。该网关通过密钥存储模块,存储目的地址编码,以及与之相对应的公钥、私钥。密钥存储模块通过其数据总线与地址总线接口与加密模块连接,接口包括但不限于符合eMMC、UFS标准的扩展总线接口。
[0012] 供电模块为一个直流电源。该网关通过供电模块进行供电,供电模块将现场总线上的宽压直流电源输入转换为符合网关工况需求的电压电流。供电模块通过二芯(VCC,GND)电源线接口与加密模块连接,输入电压为12V至24V。
[0013] 硬件加密网关的两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口,其中连接自动化控制设备网络物理接口的串口通信模块称为设备端,连接现场总线网络物理接口的串口通信模块称为现场总线端。
[0014] 一种水利自动化控制系统中现场总线信道加密方法,包括以下步骤:
[0015] S1:在连接至现场总线的每一台自动化控制设备与现场总线的网络物理接口之间,分别连接一台硬件加密网关,并在硬件加密网关的密钥存储模块中预先写入对应的密钥和目的地址编码。所述自动化控制设备包括但不限于PLC、下位机、传感器、控制器。
[0016] S2:硬件加密网关的供电模块开始工作后,硬件加密网关启动,对硬件加密网关的密钥存储模块执行初始化;若初始化过程完成,进入步骤S3;若初始化过程终止,不执行后继操作;初始化过程如下:
[0017] (2-1)查找密钥存储模块中所有已存储的目的地址编码,以及与之相对应的公钥、私钥记录;
[0018] (2-2)密钥存储模块中至少存储一条目的地址编码,以及与之相对应的私钥;判断私钥记录数是否唯一,若私钥记录数唯一,进入步骤(2-3);否则,初始化过程终止,不执行后继操作;
[0019] (2-3)密钥存储模块中至少存储一条目的地址编码,以及与之相对应的公钥;判断公钥记录数是否大于或等于1,若公钥记录数大于或等于1,初始化过程完成;否则,初始化过程终止,不执行后继操作。
[0020] S3:对硬件加密网关的密钥存储模块初始化完成后,开始执行监听过程;监听过程包括两部分:其一,在连接现场总线端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;其二,在连接设备端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;步骤如下:
[0021] (3-1)在连接现场总线端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;
[0022] (3-1-1)当硬件加密网关连接现场总线端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求。加密模块响应中断,进入中断处理过程,使用应用数据单元ADU尾部的校验码CRC对于该单元中除CRC以外剩余部分的数据进行校验,校验算法使用加密模块中内部预置的散列算法,包括但不限于SM3、MD5、SHA-1算法。
[0023] (3-1-2)若校验失败,加密模块中断返回,对于应用数据单元ADU不进行响应。若校验成功,加密模块通过应用数据单元ADU首部的目的地址编码ADDR,在密钥管理模块中查找与目的地址编码ADDR对应的私钥PRK或公钥PUK。ADDR为大于或等于1个字节的十六进制(HEX)数据。
[0024] (3-1-3)若私钥PRK或公钥PUK不存在,加密模块中断返回,对于应用数据单元ADU不进行响应;若私钥PRK或公钥PUK存在,使用私钥PRK或公钥PUK,通过加密模块中内置的非对称加密算法,解密位于应用数据单元ADU中协议数据单元(Protocol Data Unit,PDU)首部的对称密钥密文CK,获得对称密钥RK。非对称加密算法包括但不限于SM2、ECC、RSA算法。
[0025] (3-1-4)使用对称密钥RK,通过加密模块中内置的对称加密算法,解密协议数据单元PDU中除首部以外部分的封装数据载荷密文EC,获得封装数据载荷EP。封装数据载荷EP由其首部的数据明文PD与其尾部的散列数据DH组成。对称加密算法包括但不限于SM1、RC4、AES算法。
[0026] (3-1-5)加密模块使用EP首部的数据明文PD,通过内置的散列算法计算明文散列值PH,并与EP尾部的散列数据DH进行比较。散列算法包括但不限于SM3、MD5、SHA-1算法。
[0027] (3-1-6)若明文散列值PH与散列数据DH不同,加密模块中断返回,将应用数据单元ADU舍弃,不进行响应;若明文散列值PH与散列数据DH相同,将数据明文PD作为新的协议数据单元PDU2。将目的地址编码ADDR附加到PDU2首部,计算PDU2的校验码CRC2并附加到PDU2尾部,作为新的应用数据单元ADU2。校验算法使用加密模块中内部预置的散列算法,包括但不限于SM3、MD5、SHA-1算法。
[0028] (3-1-7)将ADU2通过设备端的串口通信模块进行发送。
[0029] (3-2)在连接设备端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;
[0030] (3-2-1)当该网关连接设备端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求。加密模块响应中断,进入中断处理过程,使用应用数据单元ADU尾部的校验码CRC对于该单元中除CRC以外剩余部分的数据进行校验,校验算法使用加密模块中内部预置的散列算法,包括但不限于SM3、MD5、SHA-1算法。
[0031] (3-2-2)若校验失败,加密模块中断返回,对于应用数据单元ADU不进行响应。若校验成功,加密模块通过应用数据单元ADU首部的目的地址编码ADDR,在密钥管理模块中查找与该目的地址编码ADDR对应的公钥PUK或私钥PRK。其中ADDR为大于或等于1个字节的十六进制(HEX)数据。
[0032] (3-2-3)若公钥PUK或私钥PRK不存在,加密模块中断返回,对于该应用数据单元ADU不进行响应;若公钥PUK或私钥PRK存在,使用应用数据单元ADU中的协议数据单元PDU作为数据明文PD,通过内置的散列算法计算明文散列值PH,并将PH附加到数据明文PD尾部,形成封装数据载荷EP。散列算法包括但不限于SM3、MD5、SHA-1算法。
[0033] (3-2-4)通过内置的随机密钥生成算法,生成一个随机对称密钥RK,使用RK通过内置的对称加密算法,加密封装数据载荷EP,获得封装数据载荷密文EC。对称加密算法包括但不限于SM1、RC4、AES算法。
[0034] (3-2-5)使用公钥PUK或私钥PRK,通过内置的非对称加密算法加密随机对称密钥RK,获得对称密钥密文CK。非对称加密算法包括但不限于SM2、ECC、RSA算法。
[0035] (3-2-6)将对称密钥密文CK附加到封装数据载荷密文EC首部,作为新的协议数据单元PDU2。将目的地址编码ADDR附加到PDU2首部,计算PDU2的校验码CRC2并附加到PDU2尾部,作为新的应用数据单元ADU2,校验算法使用加密模块中内部预置的散列算法,包括但不限于SM3、MD5、SHA-1算法。
[0036] (3-2-7)将ADU2通过现场总线端的串口通信模块进行发送。
[0037] S4:硬件加密网关开始执行监听过程之后,当且仅当供电模块停止供电时,监听过程终止。否则,始终执行监听过程。供电模块停止供电后,当且仅当再次进行供电时,硬件加密网关重新执行一次步骤S2所述初始化过程,以及步骤S3所述监听过程。
[0038] 有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:
[0039] 本发明通过在水利自动化控制系统的上位机、下位机等自动化控制设备与现场总线之间部署硬件加密网关,利用公钥加密、私钥加密、随机加密及数据散列算法实现了协议数据单元(Protocol Data Unit,PDU)的透明加密,提供了自动化控制设备身份验证、现场总线通信数据保密、协议分组完整性校验功能,能够有效预防未经授权的非法设备在现场总线的信道上监听、拦截、篡改数据监测及控制信息,对于中间人攻击具有较高的抵抗能力,降低在水利自动化控制系统中因现场总线信道受到侵入而产生的安全险。与现有的现场总线中采用的链路层明文数据传输方式相比,能够对于作为国民经济领域中关键性基础设施的水利自动化控制系统提供可靠的安全保障。本发明具有较高兼容性与通用性,不需要改变现场总线网络拓扑及物理层传输媒体,能够实现现有水利自动化控制系统的低成本改造。附图说明
[0040] 图1是硬件加密网关结构图;
[0041] 图2是设备连接示意图;
[0042] 图3是监听过程中现场总线端到设备端的通信分组数据结构;
[0043] 图4是监听过程中设备端到现场总线端的通信分组数据结构;
[0044] 图5是初始化过程流程图
[0045] 图6是现场总线端监听过程流程图;
[0046] 图7是设备端监听过程流程图。

具体实施方式

[0047] 下面结合附图和实施例对本发明的技术方案作进一步的说明。
[0048] 本发明所述的一种用于现场总线信道加密的硬件加密网关,由两个串口通信模块、加密模块、密钥存储模块、供电模块组成。网关结构如图1所示,现场总线与设备连接如图2所示。
[0049] 每个串口通信模块都由一个串行通信芯片组成,芯片型号为ADM485,分别通过UART总线接口连接加密模块,使用RS485接口连接外部设备;
[0050] 加密模块由一个基于ACH512芯片的单片机系统组成,内部预置SM1、SM2、SM3、SM4算法的硬件实现,通过UART总线接口连接串口通信模块,通过地址总线接口连接密钥存储模块,通过二芯(VCC,GND)电源线接口连接供电模块。
[0051] 密钥存储模块由一块Flashrom芯片组成,通过NAND Flash接口连接加密模块。
[0052] 供电模块由一个稳压直流电路组成,通过RS485接口从现场总线上取电,通过二芯(VCC,GND)电源线接口与加密模块连接,提供加密模块的标准工作电压与电流。
[0053] 设某水利自动化控制系统中,同一条现场总线上分别存在自动化控制设备D1、D2、D3,其中D1为上位机,设为master模式,地址为0x01;D2、D3为下位机,设为slave模式,地址分别为0x02、0x03。
[0054] 本发明所述的一种水利自动化控制系统中现场总线信道加密方法,包括以下步骤:
[0055] S1:预先使用烧录程序按照以下规则向硬件加密网关G1、G2、G3的密钥存储模块写入密钥:
[0056] 在G1中,写入D1的地址0x01、D1的私钥;写入D2的地址0x02、D2的公钥;写入D3的地址0x03、D3的公钥。
[0057] 在G2中,写入D2的地址0x02、D2的私钥;写入D1的地址0x01、D1的公钥。
[0058] 在G3中,写入D3的地址0x03、D3的私钥;写入D1的地址0x01、D1的公钥。
[0059] 分别将硬件加密网关G1、G2、G3部署在设备D1、D2、D3与现场总线之间:G1的设备端串口通信模块连接D1,G1的总线端串口通信模块连接现场总线;G2的设备端串口通信模块连接D2,G2的总线端串口通信模块连接现场总线;G3的设备端串口通信模块连接D3,G3的总线端串口通信模块连接现场总线。
[0060] S2:G1、G2、G3的供电模块开始工作后,G1、G2、G3启动,开始对G1、G2、G3的密钥存储模块执行初始化过程,其过程如图5所示。初始化过程如下:
[0061] 查找密钥存储模块中所有已存储的目的地址编码,以及与之相对应的公钥、私钥记录;判断私钥记录数是否唯一,若不唯一,初始化过程终止,不执行后继操作;若唯一,判断公钥记录数是否大于或等于1,若公钥记录数大于或等于1,初始化过程完成;否则,初始化过程终止,不执行后继操作。
[0062] 由于上述步骤S1写入的密钥符合初始化过程的要求,因此初始化过程完成,G1、G2、G3开始执行监听过程。
[0063] S3:当D1向D2发送串口通信应用数据单元ADU时,设该ADU目的地址编码为0x02,G1的设备端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图7所示。由于G1中写入了D2的公钥,因此D1发出的原始ADU经过G1处理后,成为加密后的ADU,进入现场总线,其通信分组数据结构如图4所示。
[0064] G2接收到G1发出的上述加密后的ADU时,G2的总线端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图6所示。由于G2中写入了D2的私钥,因此G1发出的ADU经过G2处理后,恢复为明文,传输至D2,其通信分组数据结构如图3所示。此时,D2收到了D1发送串口通信应用数据单元ADU,可执行相关操作,并可将数据反馈至D1。
[0065] 由于Modbus协议中slave设备向master返回的ADU目的地址总是为设备地址,返回的分组目的地址为0x02,G2的设备端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图7所示。由于G2中写入了D2的私钥,因此D2发出的原始ADU经过G2处理后,成为加密后的ADU,通过G2的总线端串口通信模块进入现场总线,其通信分组数据结构如图4所示。
[0066] G1接收到G2发出的上述加密后的ADU时,G1的总线端串口通信模块产生中断,G1的加密模块响应该中断,开始进入中断处理过程,如图6所示。由于G1中写入了D2的公钥,因此G2发出的ADU经过G1处理后,恢复为明文,通过G1的设备端串口通信模块传输至D1,其通信分组数据结构如图3所示。
[0067] 设恶意攻击者将恶意设备D4不通过硬件加密网关直接连接至该现场总线,D4地址为0x04。攻击者已知master设备D1的地址为0x01,试图向D1发送恶意分组P,由于Modbus协议中slave设备向master返回的ADU目的地址总是为设备地址,P的目的地址为0x04。G1收到P后,检查密钥存储模块中是否存在地址0x04及其对应的公钥。由于该地址及公钥不存在,G1将P舍弃,攻击失败。
[0068] 恶意攻击者试图使用D4伪装为D3,向D1发送恶意分组PP,由于Modbus协议中slave设备向master返回的ADU目的地址总是为设备地址,PP的目的地址为0x03。G1收到PP后,检查密钥存储模块中是否存在地址0x03及其对应的公钥。由于该地址及公钥存在,G1使用D3的公钥解密PP。由于D4无法获取G3密钥存储模块中D3的私钥,PP在G1的校验过程中必然失败,G1将PP舍弃,攻击失败。
[0069] 恶意攻击者将D3从G3上拆除后,使用D4连接G3的设备端串口通信模块,向D1发送恶意分组PPP。由于D3与D4的地址不同,G3在密钥存储模块中无法找到地址0x04及其对应的私钥,G3将PPP舍弃,攻击失败。
[0070] 实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈