CN115296791B - 一种用于现场总线的防重放攻击装置及方法 - Google Patents
一种用于现场总线的防重放攻击装置及方法 Download PDFInfo
- Publication number
- CN115296791B CN115296791B CN202210701527.1A CN202210701527A CN115296791B CN 115296791 B CN115296791 B CN 115296791B CN 202210701527 A CN202210701527 A CN 202210701527A CN 115296791 B CN115296791 B CN 115296791B
- Authority
- CN
- China
- Prior art keywords
- collision
- queue
- replay attack
- data
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 238000004891 communication Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 29
- 230000000903 blocking effect Effects 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 19
- 238000005538 encapsulation Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 7
- 230000002265 prevention Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 4
- 230000007123 defense Effects 0.000 abstract description 3
- 230000009545 invasion Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Abstract
本发明公开了一种用于现场总线的防重放攻击装置及方法,通过在现场总线与自动化控制设备之间部署桥接的防重放攻击装置,实现重放攻击报文的识别与防御。在防重放攻击装置中,通过设置碰撞队列,实现真随机数、散列数据、时间戳等特征值的检测,有效预防未经授权的非法设备在现场总线信道上实施重放攻击,对于中间人等类型的攻击具有较高的抵抗能力,降低在因现场总线信道受到侵入而产生的安全风险。所述防重放攻击装置能够无缝接入目前现有工业控制系统的现场总线,具有较高的设备兼容性和通用性。
Description
技术领域
本发明属于信息技术领域,尤其涉及一种用于现场总线的防重放攻击装置及方法。
背景技术
在我国目前部署的工业控制系统中,绝大多数采用现场总线(Field Bus)网络对可编程逻辑控制器(PLC)与下位机进行组网。其原因是,计算机网络所使用的物理层媒体,如STP、单模或多模光纤等,其物理性质不能满足高耐候性、高强度的工业应用场景。RS232/485电缆以其优异的性能及价格优势,在工业自动化控制系统中具有二十余年的应用历史,短时间内无法被替代。而要对现有物理层进行更换,实施改造成本过高,甚至将高于当初部署系统的成本。如果使用无线组网,则会降低网络的可靠性与稳定性,且在信号屏蔽的场景中无法实施,具有较高的局限性。
目前工业自动化控制系统所使用的PLC大多数不具备计算机网络通信能力,必须为其搭配相配套的硬件接口。对于现有设备的改造同样存在实施成本过高的情况,且要考虑不同厂家之间电气、接口规范的不同需求,性价比低。虽然Modbus TCP协议支持在计算机网络中实现透明传输,但是由于其实现较为简单,无法支持TCP/IP协议中的网络层、传输层安全特性,需要对网络模块进行特殊改造,通用性不强。
电气工程师大多数仅具备现场总线网络中数据通信的开发经验,若使用计算机网络替代现场总线,必须具备足够的人员支撑,这意味着首先需要建立相关知识体系、培训教材、课程、实务、流程。由于目前电气工程师的培训周期较长,尚不具备实施计算机网络化改造的人员基础。
综上所述,复用计算机网络中相关理论及技术,用以解决工业控制系统中现场总线网络安全性问题的思路,在目前人员及技术条件下,具有相当高的局限性。
因此,如何在降低改造成本的前提下,针对现场总线信道提出一套低成本、高适用性的防重放攻击方案,通过基于国产真随机数生成算法、对称加密算法的加密方案,实现重放攻击报文的识别与防御功能,是一个具有较高研究及应用价值的课题。
发明内容
发明目的:针对以上问题,本发明提出一种用于现场总线的防重放攻击装置及方法,通过在现场总线与自动化控制设备之间部署桥接的防重放攻击装置,实现重放攻击报文的识别与防御功能。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:
一种用于现场总线的防重放攻击装置,由两个串口通信模块、加密模块、碰撞队列存储模块、供电模块组成。
两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口;两个串口通信模块分别通过高速串行数据总线接口与加密模块连接;所述串口通信模块使用的网络物理接口包括但不限于符合RS485/232标准的电气接口。串口通信模块使用的高速串行数据总线接口包括但不限于符合UART、I2C、SPI标准的总线接口。
加密模块为一个单片机系统(SoC),能够通过内置寄存器的软件代码或算术逻辑单元硬件设备实现随机数生成算法、散列算法、对称加密算法。其中,其中,真随机数生成算法为通过符合FIPS 140-2标准的真随机数产生器(TRNG)硬件实现,散列算法包括但不限于SM3、MD5、SHA-1算法,对称加密算法包括但不限于SM1、RC4、AES算法。加密模块通过其数据总线与地址总线接口连接碰撞队列存储模块,通过其电源线接口连接供电模块。
碰撞队列存储模块为一个快速擦写只读存储器。该装置通过碰撞队列存储模块,存储碰撞队列。碰撞队列存储模块通过其数据总线与地址总线接口与加密模块连接,接口包括但不限于符合eMMC、UFS标准的扩展总线接口。
供电模块为一个直流电源。防重放攻击装置通过供电模块进行供电,供电模块将现场总线上的宽压直流电源输入转换为符合该装置工况需求的电压、电流。供电模块通过二芯(VCC,GND)电源线接口与加密模块连接,输入电压为12V至24V。
防重放攻击装置的两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口,其中连接自动化控制设备网络物理接口的串口通信模块称为设备端,连接现场总线网络物理接口的串口通信模块称为现场总线端。
本发明还提供了一种用于现场总线的防重放攻击方法,包括以下步骤:
S1,在连接至现场总线的每一台自动化控制设备与现场总线的网络物理接口之间,分别桥接一台防重放攻击装置;所述自动化控制设备包括但不限于PLC、下位机、传感器、控制器。
S2,防重放攻击装置的供电模块开始工作后,防重放攻击装置启动,对防重放攻击装置的碰撞队列存储模块执行初始化;若初始化过程完成,进入步骤S3;若初始化过程终止,不执行后继操作;初始化过程如下:
(2-1)查找碰撞队列存储模块中,所存储的碰撞队列长度是否为0,队列长度阈值是否等于默认值;若碰撞队列长度为0,且队列长度阈值等于默认值,初始化过程完成;否则,进入步骤(2-2);
(2-2)若碰撞队列长度不为0,删除碰撞队列中所有已存在的元素,并将碰撞队列长度设为0,将队列长度阈值设为默认值,初始化过程完成;其中,队列长度阈值默认值为用户预设的值。
S3,对防重放攻击装置的碰撞队列存储模块初始化完成后,开始执行监听过程;监听过程包括两部分:其一,在连接现场总线端的串口通信模块上对于所有传入防重放攻击装置的串口通信应用数据单元ADU进行监听;其二,在连接设备端的串口通信模块上对于所有传入防重放攻击装置的串口通信应用数据单元ADU进行监听。
(3-1)在连接现场总线端的串口通信模块上对于所有传入防重放攻击装置的串口通信应用数据单元ADU进行监听;
(3-1-1)防重放攻击装置连接现场总线端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求;加密模块响应中断,进入中断处理过程;使用应用数据单元ADU首部的真随机数RNG作为密钥,通过加密模块中内置的对称加密算法,解密该单元中除RNG以外剩余部分的封装数据载荷密文EC,获得封装数据载荷EP;封装数据载荷EP由数据明文PD、散列数据DH、时间戳STP组成;
(3-1-2)使用散列数据DH,对于数据明文PD进行校验,校验算法使用加密模块中内部预置的散列算法;
(3-1-3)若校验失败,加密模块中断返回,对于应用数据单元ADU不进行响应;若校验成功,在碰撞队列存储模块中对真随机数RNG、散列数据DH、时间戳STP进行碰撞检测;
(3-1-4)若真随机数RNG、散列数据DH、时间戳STP中,有任一值与碰撞队列中已存在的对象发生碰撞,说明可能发生重放攻击,加密模块中断返回,将应用数据单元ADU舍弃,不进行响应;若未发生碰撞,将真随机数RNG、散列数据DH、时间戳STP作为一个三元组(RNG,DH,STP),并检查碰撞队列长度是否小于或等于队列长度阈值;
(3-1-5)若碰撞队列长度小于队列长度阈值,将三元组(RNG,DH,STP)加入碰撞队列尾部;若碰撞队列长度等于队列长度阈值,将碰撞队列首部对象移出队列后,将三元组(RNG,DH,STP)加入碰撞队列尾部;
(3-1-6)将数据明文PD通过设备端的串口通信模块进行发送。
(3-2)在连接设备端的串口通信模块上对于所有传入防重放攻击装置的串口通信应用数据单元ADU进行监听;
(3-2-1)防重放攻击装置连接设备端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求;加密模块响应中断,进入中断处理过程;通过加密模块中内置的真随机数生成算法,生成真随机数RNG;
(3-2-2)将应用数据单元ADU作为数据明文PD,通过加密模块中内置的散列算法,计算数据明文PD的校验码,作为散列数据DH;
(3-2-3)根据防重放攻击装置加密模块的当前时间,生成时间戳STP;
(3-2-4)在碰撞队列存储模块中分别对真随机数RNG、散列数据DH、时间戳STP的值进行碰撞检测;
(3-2-5)若真随机数RNG、散列数据DH、时间戳STP中,有任一值与碰撞队列中已存在的对象发生碰撞,说明可能发生重放攻击,加密模块中断返回,将应用数据单元ADU舍弃,不进行响应;若未发生碰撞,将真随机数RNG、散列数据DH、时间戳STP作为一个三元组(RNG,DH,STP),并检查碰撞队列长度是否小于或等于队列长度阈值;
(3-2-6)若碰撞队列长度小于队列长度阈值,将三元组(RNG,DH,STP)加入碰撞队列尾部;若碰撞队列长度等于队列长度阈值,将碰撞队列首部对象移出队列后,将三元组(RNG,DH,STP)加入碰撞队列尾部;
(3-2-7)将据明文PD、散列数据DH、时间戳STP组成封装数据载荷EP,使用真随机数RNG作为密钥,通过加密模块中内置的对称加密算法,加密封装数据载荷EP,获得封装数据载荷密文EC;
(3-2-8)将真随机数RNG附加到封装数据载荷密文EC首部,通过现场总线端的串口通信模块进行发送。
S4,防重放攻击装置开始执行监听过程之后,当且仅当供电模块停止供电时,监听过程终止;否则,始终执行监听过程;供电模块停止供电后,当且仅当再次进行供电时,防重放攻击装置重新执行步骤S2所述初始化过程,以及步骤S3所述监听过程。
有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:
本发明通过在上位机、下位机等自动化控制设备与现场总线之间部署防重放攻击装置,利用碰撞队列、真随机数生成算法、散列算法、对称加密算法实现了重放攻击报文的识别与防御,能够有效预防未经授权的非法设备在现场总线的信道上通过重放攻击篡改数据监测及控制信息,对于中间人攻击具有较高的抵抗能力,降低在自动化控制系统中因现场总线信道受到侵入而产生的安全风险。与现有的现场总线中采用的链路层明文数据传输方式相比,能够对于作为国民经济领域中关键性基础设施的自动化控制系统提供可靠的安全保障。本发明具有较高兼容性与通用性,不需要改变现场总线网络拓扑及物理层传输媒体,能够实现现有自动化控制系统的低成本改造。
附图说明
图1是防重放攻击装置结构示意图;
图2是现场总线拓扑结构示意图;
图3是初始化过程示意图;
图4是现场总线端监听流程图;
图5是设备端监听流程图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
本发明所述的一种用于现场总线的防重放攻击装置,由两个串口通信模块、加密模块、碰撞队列存储模块、供电模块组成。装置结构如图1所示,现场总线与设备通过防重放攻击装置桥接的网络拓扑结构如图2所示。
每个串口通信模块都由一个串行通信芯片组成,芯片型号为ADM485,分别通过UART总线接口连接加密模块,使用RS485接口连接外部设备;
加密模块由一个基于ACH512芯片的单片机系统组成,内部预置TRNG、SM1、SM2、SM3、SM4等算法的硬件实现,通过UART总线接口连接串口通信模块,通过地址总线接口连接密钥存储模块,通过二芯(VCC,GND)电源线接口连接供电模块。
碰撞队列存储模块由一块Flashrom芯片组成,通过NAND Flash接口连接加密模块。
供电模块由一个稳压直流电路组成,通过RS485接口从现场总线上取电,通过二芯(VCC,GND)电源线接口与加密模块连接,提供加密模块的标准工作电压与电流。
设某自动化控制系统中,现场总线采用Modbus协议,同一条现场总线上分别存在自动化控制设备D1、D2、D3,其中D1为上位机,设为master模式;D2、D3为下位机,设为slave模式。
本发明所述的一种用于现场总线的防重放攻击方法,包括以下步骤:
S1,分别将防重放攻击装置G1、G2、G3部署在设备D1、D2、D3与现场总线之间:G1的设备端串口通信模块连接D1,G1的总线端串口通信模块连接现场总线;G2的设备端串口通信模块连接D2,G2的总线端串口通信模块连接现场总线;G3的设备端串口通信模块连接D3,G3的总线端串口通信模块连接现场总线。
S2,G1、G2、G3的供电模块开始工作后,G1、G2、G3启动,开始对G1、G2、G3的密钥存储模块执行初始化过程,其过程如图3所示。初始化过程如下:
查找碰撞队列存储模块中,所存储的碰撞队列长度是否为0,队列长度阈值是否等于默认值;若碰撞队列长度为0,且队列长度阈值等于默认值,初始化过程完成;若碰撞队列长度不为0,删除碰撞队列中所有已存在的元素,并将碰撞队列长度设为0,将队列长度阈值设为默认值,初始化过程完成;其中,队列长度阈值默认值为用户预设的值65535。
由于上述步骤S1中均为新部署设备,碰撞队列存储模块中碰撞队列长度为0,因此初始化过程完成,G1、G2、G3开始执行监听过程。
S3,当D1向D2发送串口通信应用数据单元ADU时,G1的设备端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图5所示。G1使用加密模块中的TRNG算法生成真随机数RNG,使用加密模块中的SM3算法计算ADU的校验码作为散列数据DH,根据当前时间生成时间戳STP。G1在碰撞队列存储模块中,对真随机数RNG、散列数据DH、时间戳STP进行碰撞检测。由于G1的碰撞队列长度为0,且小于队列长度阈值65535,未发生碰撞,G1将真随机数RNG、散列数据DH、时间戳STP作为一个三元组(RNG,DH,STP),加入G1的碰撞队列尾部,此时G1碰撞队列长度为1。G1将数据明文PD、散列数据DH、时间戳STP组成封装数据载荷EP,使用真随机数RNG作为密钥,通过加密模块中内置的SM1对称加密算法,加密封装数据载荷EP,获得封装数据载荷密文EC。最后,G1将真随机数RNG附加到封装数据载荷密文EC首部,作为ADU1,通过现场总线端的串口通信模块进行发送。
G2接收到G1发出的上述ADU1后,G2的总线端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图4所示。G2使用ADU1首部的真随机数RNG作为密钥,通过加密模块中内置的SM1对称加密算法,解密ADU1中除RNG以外剩余部分的封装数据载荷密文EC,获得封装数据载荷EP,提取其中的数据明文PD、散列数据DH、时间戳STP。G2使用加密模块中的SM3算法计算数据明文PD的校验码,其值等于散列数据DH,校验通过。G2在碰撞队列存储模块中,对真随机数RNG、散列数据DH、时间戳STP进行碰撞检测,由于G2的碰撞队列长度为0,且小于队列长度阈值65535,未发生碰撞,G2将真随机数RNG、散列数据DH、时间戳STP作为一个三元组(RNG,DH,STP),加入G2的碰撞队列尾部,此时G2碰撞队列长度为1。最后,G2将数据明文PD通过现场总线端的串口通信模块进行发送。
设恶意攻击者将恶意设备D4不通过防重放攻击装置连接至该现场总线,由于总线型网络拓扑结构中的广播特性,D4可监听到G1发送的ADU1,并进行重放。设D4重放的应用数据单元为ADU2,其内容与ADU1完全一致。
G2接收到D4发出的上述ADU2后,G2的总线端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图4所示。G2使用ADU2首部的真随机数RNG作为密钥,通过加密模块中内置的SM1对称加密算法,解密ADU2中除RNG以外剩余部分的封装数据载荷密文EC,获得封装数据载荷EP,提取其中的数据明文PD、散列数据DH、时间戳STP。G2使用加密模块中的SM3算法计算数据明文PD的校验码,其值等于散列数据DH,校验通过。G2在碰撞队列存储模块中,对真随机数RNG、散列数据DH、时间戳STP进行碰撞检测,由于G2的碰撞队列长度为1,且与上述唯一已存在的三元组对象的所有值发生碰撞,G2识别到发生重放攻击,加密模块中断返回,将ADU2舍弃,不进行响应。重放的应用数据单元ADU2无法通过G2到达D2,被G2成功拦截,D4重放攻击失败。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (8)
1.一种用于现场总线的防重放攻击装置,其特征在于:该装置由两个串口通信模块、加密模块、碰撞队列存储模块、供电模块组成;两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口;两个串口通信模块分别通过高速串行数据总线接口与加密模块连接;加密模块为一个单片机系统SoC,通过其数据总线与地址总线接口连接碰撞队列存储模块,通过其电源线接口连接供电模块;
所述碰撞队列存储模块,分别对加密模块传入的应用数据单元ADU中真随机数RNG、散列数据DH、时间戳STP的值进行碰撞检测;
当有任一值与碰撞队列中已存在的对象发生碰撞,加密模块中断返回,舍弃当前应用数据单元ADU;
若未发生碰撞,将真随机数RNG、散列数据DH、时间戳STP作为一个三元组(RNG,DH,STP),并检查碰撞队列长度是否小于或等于队列长度阈值;
若碰撞队列长度小于队列长度阈值,将三元组(RNG,DH,STP)加入碰撞队列尾部;若碰撞队列长度等于队列长度阈值,将碰撞队列首部对象移出队列后,将三元组(RNG,DH,STP)加入碰撞队列尾部。
2.根据权利要求1所述的用于现场总线的防重放攻击装置,其特征在于:所述串口通信模块使用的网络物理接口包括符合RS485/232标准的电气接口,串口通信模块使用的高速串行数据总线接口包括符合UART、I2C、SPI标准的总线接口;所述碰撞队列存储模块的数据总线与地址总线接口包括符合eMMC、UFS标准的扩展总线接口。
3.根据权利要求1所述的用于现场总线的防重放攻击装置,其特征在于:所述加密模块通过内置寄存器的软件代码或算术逻辑单元硬件设备实现真随机数生成算法、散列算法、对称加密算法;其中,真随机数生成算法为通过符合FIPS 140-2标准的真随机数产生器TRNG硬件实现,散列算法包括SM3、MD5、SHA-1算法,对称加密算法包括SM1、RC4、AES算法。
4.根据权利要求1-3任一所述的防重放攻击装置实现的一种用于现场总线的防重放攻击方法,其特征在于:该方法包括以下步骤:
S1,在连接至现场总线的每一台自动化控制设备与现场总线的网络物理接口之间,分别桥接一台防重放攻击装置;
S2,防重放攻击装置的供电模块开始工作后,防重放攻击装置启动,对防重放攻击装置的碰撞队列存储模块执行初始化;若初始化过程完成,进入步骤S3;若初始化过程终止,不执行后继操作;
S3,对防重放攻击装置的碰撞队列存储模块初始化完成后,开始执行监听过程;
S4,防重放攻击装置开始执行监听过程之后,当且仅当供电模块停止供电时,监听过程终止;否则,始终执行监听过程;供电模块停止供电后,当且仅当再次进行供电时,防重放攻击装置重新执行步骤S2所述初始化过程,以及步骤S3所述监听过程。
5.根据权利要求4所述的用于现场总线的防重放攻击方法,其特征在于:步骤S2所述初始化过程如下:
(2-1)查找碰撞队列存储模块中,所存储的碰撞队列长度是否为0,队列长度阈值是否等于默认值;若碰撞队列长度为0,且队列长度阈值等于默认值,初始化过程完成;否则,进入步骤(2-2);
(2-2)若碰撞队列长度不为0,删除碰撞队列中所有已存在的元素,并将碰撞队列长度设为0,将队列长度阈值设为默认值,初始化过程完成;其中,队列长度阈值默认值为用户预设的值。
6.根据权利要求4所述的用于现场总线的防重放攻击方法,其特征在于:步骤S3所述监听过程包括两部分:
其一,在连接现场总线端的串口通信模块上对于所有传入防重放攻击装置的串口通信应用数据单元ADU进行监听;
其二,在连接设备端的串口通信模块上对于所有传入防重放攻击装置的串口通信应用数据单元ADU进行监听。
7.根据权利要求6所述的用于现场总线的防重放攻击方法,其特征在于:在连接现场总线端的串口通信模块上对于所有传入防重放攻击装置的串口通信应用数据单元ADU进行监听;步骤如下:
(3-1-1)防重放攻击装置连接现场总线端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求;加密模块响应中断,进入中断处理过程;使用应用数据单元ADU首部的真随机数RNG作为密钥,通过加密模块中内置的对称加密算法,解密该单元中除RNG以外剩余部分的封装数据载荷密文EC,获得封装数据载荷EP;封装数据载荷EP由数据明文PD、散列数据DH、时间戳STP组成;
(3-1-2)使用散列数据DH,对于数据明文PD进行校验,校验算法使用加密模块中内部预置的散列算法;
(3-1-3)若校验失败,加密模块中断返回,对于应用数据单元ADU不进行响应;若校验成功,在碰撞队列存储模块中分别对真随机数RNG、散列数据DH、时间戳STP的值进行碰撞检测;
(3-1-4)若真随机数RNG、散列数据DH、时间戳STP中,有任一值与碰撞队列中已存在的对象发生碰撞,说明可能发生重放攻击,加密模块中断返回,将应用数据单元ADU舍弃,不进行响应;若未发生碰撞,将真随机数RNG、散列数据DH、时间戳STP作为一个三元组(RNG,DH,STP),并检查碰撞队列长度是否小于或等于队列长度阈值;
(3-1-5)若碰撞队列长度小于队列长度阈值,将三元组(RNG,DH,STP)加入碰撞队列尾部;若碰撞队列长度等于队列长度阈值,将碰撞队列首部对象移出队列后,将三元组(RNG,DH,STP)加入碰撞队列尾部;
(3-1-6)将数据明文PD通过设备端的串口通信模块进行发送。
8.根据权利要求6所述的用于现场总线的防重放攻击方法,其特征在于:在连接设备端的串口通信模块上对于所有传入防重放攻击装置的串口通信应用数据单元ADU进行监听;步骤如下:
(3-2-1)防重放攻击装置连接设备端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求;加密模块响应中断,进入中断处理过程;通过加密模块中内置的真随机数生成算法,生成真随机数RNG;
(3-2-2)将应用数据单元ADU作为数据明文PD,通过加密模块中内置的散列算法,计算数据明文PD的校验码,作为散列数据DH;
(3-2-3)根据防重放攻击装置加密模块的当前时间,生成时间戳STP;
(3-2-4)在碰撞队列存储模块中对真随机数RNG、散列数据DH、时间戳STP进行碰撞检测;
(3-2-5)若真随机数RNG、散列数据DH、时间戳STP中,有任一值与碰撞队列中已存在的对象发生碰撞,说明可能发生重放攻击,加密模块中断返回,将应用数据单元ADU舍弃,不进行响应;若未发生碰撞,将真随机数RNG、散列数据DH、时间戳STP作为一个三元组(RNG,DH,STP),并检查碰撞队列长度是否小于或等于队列长度阈值;
(3-2-6)若碰撞队列长度小于队列长度阈值,将三元组(RNG,DH,STP)加入碰撞队列尾部;若碰撞队列长度等于队列长度阈值,将碰撞队列首部对象移出队列后,将三元组(RNG,DH,STP)加入碰撞队列尾部;
(3-2-7)将据明文PD、散列数据DH、时间戳STP组成封装数据载荷EP,使用真随机数RNG作为密钥,通过加密模块中内置的对称加密算法,加密封装数据载荷EP,获得封装数据载荷密文EC;
(3-2-8)将真随机数RNG附加到封装数据载荷密文EC首部,通过现场总线端的串口通信模块进行发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210701527.1A CN115296791B (zh) | 2022-06-20 | 一种用于现场总线的防重放攻击装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210701527.1A CN115296791B (zh) | 2022-06-20 | 一种用于现场总线的防重放攻击装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115296791A CN115296791A (zh) | 2022-11-04 |
CN115296791B true CN115296791B (zh) | 2024-07-09 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708227A (zh) * | 2019-09-29 | 2020-01-17 | 河海大学 | 一种现场总线中自动化重放攻击测试方法 |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708227A (zh) * | 2019-09-29 | 2020-01-17 | 河海大学 | 一种现场总线中自动化重放攻击测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430014B (zh) | 一种用于现场总线信道加密的硬件加密网关及加密方法 | |
CN108011716B (zh) | 一种密码装置及实现方法 | |
WO2021042736A1 (zh) | 一种水利工业控制系统中应用数据单元加密方法 | |
CN111711686A (zh) | 一种基于配电终端的安全防护方法 | |
WO2021057017A1 (zh) | 一种现场总线中自动化重放攻击测试方法 | |
CN102377505A (zh) | 一种基于串口的ipmi数据包传输方法 | |
CN112270020A (zh) | 一种基于安全芯片的终端设备安全加密装置 | |
CN104506502A (zh) | 一种融合通信网络与主站对接的方法 | |
CN115296791B (zh) | 一种用于现场总线的防重放攻击装置及方法 | |
US20140059250A1 (en) | Network system | |
KR20140061043A (ko) | 차량용 lin 통신 시스템 및 이 시스템에서 슬레이브 모듈의 동작 방법 | |
CN111181956A (zh) | 应用于继电保护装置的无线多业务数据加密系统及方法 | |
CN115296791A (zh) | 一种用于现场总线的防重放攻击装置及方法 | |
CN106169955A (zh) | 配网终端无线维护的安全认证方法与系统 | |
CN106357607A (zh) | 电子设备连接与安全验证、通信、通信监测方法及装置 | |
CN211630190U (zh) | 一种基于安全芯片的终端设备安全加解密系统 | |
CN116208421A (zh) | 一种安全认证的管控方法、装置、介质及服务器 | |
CN111914267B (zh) | 一种基于FPGA的soc架构数据隔离系统 | |
CN107317925A (zh) | 移动终端 | |
CN107819788B (zh) | 一种基于电力生产控制与监测数据的安全加密系统 | |
CN210327601U (zh) | 一种基于串口通信的水利物联网加解密装置 | |
CN111917638A (zh) | 一种电力监测通信系统 | |
CN201741156U (zh) | 一种可信硬件设备 | |
CN117318295B (zh) | 一种配电网全面数据感知的系统和方法 | |
CN111065091A (zh) | 一种基于lora的无线数据采集系统及数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |