CN110430014B - 一种用于现场总线信道加密的硬件加密网关及加密方法 - Google Patents

一种用于现场总线信道加密的硬件加密网关及加密方法 Download PDF

Info

Publication number
CN110430014B
CN110430014B CN201910653667.4A CN201910653667A CN110430014B CN 110430014 B CN110430014 B CN 110430014B CN 201910653667 A CN201910653667 A CN 201910653667A CN 110430014 B CN110430014 B CN 110430014B
Authority
CN
China
Prior art keywords
encryption
module
key
gateway
algorithm
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
Application number
CN201910653667.4A
Other languages
English (en)
Other versions
CN110430014A (zh
Inventor
傅晓
王志坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN201910653667.4A priority Critical patent/CN110430014B/zh
Publication of CN110430014A publication Critical patent/CN110430014A/zh
Priority to PCT/CN2020/085959 priority patent/WO2021012728A1/zh
Application granted granted Critical
Publication of CN110430014B publication Critical patent/CN110430014B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

一种用于现场总线信道加密的硬件加密网关及加密方法
技术领域
本发明属于信息技术领域,尤其涉及一种水利自动化控制系统中现场总线信道加密方法及加密网关。
背景技术
在我国目前部署的水利自动化控制系统中,绝大多数采用现场总线(Field Bus)网络对可编程逻辑控制器(PLC)与下位机进行组网。其原因是,计算机网络所使用的物理层媒体,如STP、单模或多模光纤等,其物理性质不能满足高耐候性、高强度的工业应用场景。RS232/485电缆以其优异的性能及价格优势,在工业自动化控制系统中具有二十余年的应用历史,短时间内无法被替代。而要对现有物理层进行更换,实施改造成本过高,甚至将高于当初部署系统的成本。如果使用无线组网,则会降低网络的可靠性与稳定性,且在信号屏蔽的场景中无法实施,具有较高的局限性。
目前水利自动化控制系统所使用的PLC大多数不具备计算机网络通信能力,必须为其搭配相配套的硬件接口。对于现有设备的改造同样存在实施成本过高的情况,且要考虑不同厂家之间电气、接口规范的不同需求,性价比低。虽然Modbus TCP协议支持在计算机网络中实现透明传输,但是由于其实现较为简单,无法支持TCP/IP协议中的网络层、传输层安全特性,需要对网络模块进行特殊改造,通用性不强。
电气工程师大多数仅具备现场总线网络中数据通信的开发经验,若使用计算机网络替代现场总线,必须具备足够的人员支撑,这意味着首先需要建立相关知识体系、培训教材、课程、实务、流程。由于目前电气工程师的培训周期较长,尚不具备实施计算机网络化改造的人员基础。
综上所述,复用计算机网络中相关理论及技术,用以解决水利自动化控制系统中现场总线网络安全性问题的思路,在目前人员及技术条件下,具有相当高的局限性。
因此,如何在降低改造成本的前提下,针对现场总线信道提出一套低成本、高适用性的加密方案,通过国产对称加密算法与非对称加密算法结合的混合加密方案(HybridEncryption Scheme),实现自动化控制设备身份验证、现场总线通信数据保密、协议分组完整性校验功能,是一个具有较高研究及应用价值的课题。
发明内容
发明目的:针对以上问题,本发明提出一种水利自动化控制系统中现场总线信道加密方法及加密网关,实现自动化控制设备身份验证、现场总线通信数据保密、协议分组完整性校验功能。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种用于现场总线信道加密的硬件加密网关,由两个串口通信模块、加密模块、密钥存储模块、供电模块组成。
两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口,用于接收或发送串口通信协议分组。两个串口通信模块分别通过高速串行数据总线接口与加密模块连接。所述串口通信模块使用的网络物理接口包括但不限于符合RS485/232标准的电气接口。串口通信模块使用的高速串行数据总线接口包括但不限于符合UART、I2C、SPI标准的总线接口。
加密模块为一个单片机系统(SOC),能够通过内置寄存器的软件代码或算术逻辑单元硬件设备实现非对称加密算法、对称加密算法、散列算法、随机密钥生成算法。其中,非对称加密算法包括但不限于SM2、ECC、RSA算法,对称加密算法包括但不限于SM1、RC4、AES算法,散列算法包括但不限于SM3、MD5、SHA-1算法。加密模块通过其高速串行数据总线接口连接串口通信模块,通过其数据总线与地址总线接口连接密钥存储模块,通过其电源线接口连接供电模块。
密钥存储模块为一个快速擦写只读存储器。该网关通过密钥存储模块,存储目的地址编码,以及与之相对应的公钥、私钥。密钥存储模块通过其数据总线与地址总线接口与加密模块连接,接口包括但不限于符合eMMC、UFS标准的扩展总线接口。
供电模块为一个直流电源。该网关通过供电模块进行供电,供电模块将现场总线上的宽压直流电源输入转换为符合网关工况需求的电压、电流。供电模块通过二芯(VCC,GND)电源线接口与加密模块连接,输入电压为12V至24V。
硬件加密网关的两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口,其中连接自动化控制设备网络物理接口的串口通信模块称为设备端,连接现场总线网络物理接口的串口通信模块称为现场总线端。
一种水利自动化控制系统中现场总线信道加密方法,包括以下步骤:
S1:在连接至现场总线的每一台自动化控制设备与现场总线的网络物理接口之间,分别连接一台硬件加密网关,并在硬件加密网关的密钥存储模块中预先写入对应的密钥和目的地址编码。所述自动化控制设备包括但不限于PLC、下位机、传感器、控制器。
S2:硬件加密网关的供电模块开始工作后,硬件加密网关启动,对硬件加密网关的密钥存储模块执行初始化;若初始化过程完成,进入步骤S3;若初始化过程终止,不执行后继操作;初始化过程如下:
(2-1)查找密钥存储模块中所有已存储的目的地址编码,以及与之相对应的公钥、私钥记录;
(2-2)密钥存储模块中至少存储一条目的地址编码,以及与之相对应的私钥;判断私钥记录数是否唯一,若私钥记录数唯一,进入步骤(2-3);否则,初始化过程终止,不执行后继操作;
(2-3)密钥存储模块中至少存储一条目的地址编码,以及与之相对应的公钥;判断公钥记录数是否大于或等于1,若公钥记录数大于或等于1,初始化过程完成;否则,初始化过程终止,不执行后继操作。
S3:对硬件加密网关的密钥存储模块初始化完成后,开始执行监听过程;监听过程包括两部分:其一,在连接现场总线端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;其二,在连接设备端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;步骤如下:
(3-1)在连接现场总线端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;
(3-1-1)当硬件加密网关连接现场总线端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求。加密模块响应中断,进入中断处理过程,使用应用数据单元ADU尾部的校验码CRC对于该单元中除CRC以外剩余部分的数据进行校验,校验算法使用加密模块中内部预置的散列算法,包括但不限于SM3、MD5、SHA-1算法。
(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。非对称加密算法包括但不限于SM2、ECC、RSA算法。
(3-1-4)使用对称密钥RK,通过加密模块中内置的对称加密算法,解密协议数据单元PDU中除首部以外部分的封装数据载荷密文EC,获得封装数据载荷EP。封装数据载荷EP由其首部的数据明文PD与其尾部的散列数据DH组成。对称加密算法包括但不限于SM1、RC4、AES算法。
(3-1-5)加密模块使用EP首部的数据明文PD,通过内置的散列算法计算明文散列值PH,并与EP尾部的散列数据DH进行比较。散列算法包括但不限于SM3、MD5、SHA-1算法。
(3-1-6)若明文散列值PH与散列数据DH不同,加密模块中断返回,将应用数据单元ADU舍弃,不进行响应;若明文散列值PH与散列数据DH相同,将数据明文PD作为新的协议数据单元PDU2。将目的地址编码ADDR附加到PDU2首部,计算PDU2的校验码CRC2并附加到PDU2尾部,作为新的应用数据单元ADU2。校验算法使用加密模块中内部预置的散列算法,包括但不限于SM3、MD5、SHA-1算法。
(3-1-7)将ADU2通过设备端的串口通信模块进行发送。
(3-2)在连接设备端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元ADU进行监听;
(3-2-1)当该网关连接设备端的串口通信模块收到传入的串口通信应用数据单元ADU时,向加密模块发送中断请求。加密模块响应中断,进入中断处理过程,使用应用数据单元ADU尾部的校验码CRC对于该单元中除CRC以外剩余部分的数据进行校验,校验算法使用加密模块中内部预置的散列算法,包括但不限于SM3、MD5、SHA-1算法。
(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。散列算法包括但不限于SM3、MD5、SHA-1算法。
(3-2-4)通过内置的随机密钥生成算法,生成一个随机对称密钥RK,使用RK通过内置的对称加密算法,加密封装数据载荷EP,获得封装数据载荷密文EC。对称加密算法包括但不限于SM1、RC4、AES算法。
(3-2-5)使用公钥PUK或私钥PRK,通过内置的非对称加密算法加密随机对称密钥RK,获得对称密钥密文CK。非对称加密算法包括但不限于SM2、ECC、RSA算法。
(3-2-6)将对称密钥密文CK附加到封装数据载荷密文EC首部,作为新的协议数据单元PDU2。将目的地址编码ADDR附加到PDU2首部,计算PDU2的校验码CRC2并附加到PDU2尾部,作为新的应用数据单元ADU2,校验算法使用加密模块中内部预置的散列算法,包括但不限于SM3、MD5、SHA-1算法。
(3-2-7)将ADU2通过现场总线端的串口通信模块进行发送。
S4:硬件加密网关开始执行监听过程之后,当且仅当供电模块停止供电时,监听过程终止。否则,始终执行监听过程。供电模块停止供电后,当且仅当再次进行供电时,硬件加密网关重新执行一次步骤S2所述初始化过程,以及步骤S3所述监听过程。
有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:
本发明通过在水利自动化控制系统的上位机、下位机等自动化控制设备与现场总线之间部署硬件加密网关,利用公钥加密、私钥加密、随机加密及数据散列算法实现了协议数据单元(Protocol Data Unit,PDU)的透明加密,提供了自动化控制设备身份验证、现场总线通信数据保密、协议分组完整性校验功能,能够有效预防未经授权的非法设备在现场总线的信道上监听、拦截、篡改数据监测及控制信息,对于中间人攻击具有较高的抵抗能力,降低在水利自动化控制系统中因现场总线信道受到侵入而产生的安全风险。与现有的现场总线中采用的链路层明文数据传输方式相比,能够对于作为国民经济领域中关键性基础设施的水利自动化控制系统提供可靠的安全保障。本发明具有较高兼容性与通用性,不需要改变现场总线网络拓扑及物理层传输媒体,能够实现现有水利自动化控制系统的低成本改造。
附图说明
图1是硬件加密网关结构图;
图2是设备连接示意图;
图3是监听过程中现场总线端到设备端的通信分组数据结构;
图4是监听过程中设备端到现场总线端的通信分组数据结构;
图5是初始化过程流程图;
图6是现场总线端监听过程流程图;
图7是设备端监听过程流程图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
本发明所述的一种用于现场总线信道加密的硬件加密网关,由两个串口通信模块、加密模块、密钥存储模块、供电模块组成。网关结构如图1所示,现场总线与设备连接如图2所示。
每个串口通信模块都由一个串行通信芯片组成,芯片型号为ADM485,分别通过UART总线接口连接加密模块,使用RS485接口连接外部设备;
加密模块由一个基于ACH512芯片的单片机系统组成,内部预置SM1、SM2、SM3、SM4算法的硬件实现,通过UART总线接口连接串口通信模块,通过地址总线接口连接密钥存储模块,通过二芯(VCC,GND)电源线接口连接供电模块。
密钥存储模块由一块Flashrom芯片组成,通过NAND Flash接口连接加密模块。
供电模块由一个稳压直流电路组成,通过RS485接口从现场总线上取电,通过二芯(VCC,GND)电源线接口与加密模块连接,提供加密模块的标准工作电压与电流。
设某水利自动化控制系统中,同一条现场总线上分别存在自动化控制设备D1、D2、D3,其中D1为上位机,设为master模式,地址为0x01;D2、D3为下位机,设为slave模式,地址分别为0x02、0x03。
本发明所述的一种水利自动化控制系统中现场总线信道加密方法,包括以下步骤:
S1:预先使用烧录程序按照以下规则向硬件加密网关G1、G2、G3的密钥存储模块写入密钥:
在G1中,写入D1的地址0x01、D1的私钥;写入D2的地址0x02、D2的公钥;写入D3的地址0x03、D3的公钥。
在G2中,写入D2的地址0x02、D2的私钥;写入D1的地址0x01、D1的公钥。
在G3中,写入D3的地址0x03、D3的私钥;写入D1的地址0x01、D1的公钥。
分别将硬件加密网关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的密钥存储模块执行初始化过程,其过程如图5所示。初始化过程如下:
查找密钥存储模块中所有已存储的目的地址编码,以及与之相对应的公钥、私钥记录;判断私钥记录数是否唯一,若不唯一,初始化过程终止,不执行后继操作;若唯一,判断公钥记录数是否大于或等于1,若公钥记录数大于或等于1,初始化过程完成;否则,初始化过程终止,不执行后继操作。
由于上述步骤S1写入的密钥符合初始化过程的要求,因此初始化过程完成,G1、G2、G3开始执行监听过程。
S3:当D1向D2发送串口通信应用数据单元ADU时,设该ADU目的地址编码为0x02,G1的设备端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图7所示。由于G1中写入了D2的公钥,因此D1发出的原始ADU经过G1处理后,成为加密后的ADU,进入现场总线,其通信分组数据结构如图4所示。
G2接收到G1发出的上述加密后的ADU时,G2的总线端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图6所示。由于G2中写入了D2的私钥,因此G1发出的ADU经过G2处理后,恢复为明文,传输至D2,其通信分组数据结构如图3所示。此时,D2收到了D1发送串口通信应用数据单元ADU,可执行相关操作,并可将数据反馈至D1。
由于Modbus协议中slave设备向master返回的ADU目的地址总是为设备地址,返回的分组目的地址为0x02,G2的设备端串口通信模块产生中断,其加密模块响应该中断,开始进入中断处理过程,如图7所示。由于G2中写入了D2的私钥,因此D2发出的原始ADU经过G2处理后,成为加密后的ADU,通过G2的总线端串口通信模块进入现场总线,其通信分组数据结构如图4所示。
G1接收到G2发出的上述加密后的ADU时,G1的总线端串口通信模块产生中断,G1的加密模块响应该中断,开始进入中断处理过程,如图6所示。由于G1中写入了D2的公钥,因此G2发出的ADU经过G1处理后,恢复为明文,通过G1的设备端串口通信模块传输至D1,其通信分组数据结构如图3所示。
设恶意攻击者将恶意设备D4不通过硬件加密网关直接连接至该现场总线,D4地址为0x04。攻击者已知master设备D1的地址为0x01,试图向D1发送恶意分组P,由于Modbus协议中slave设备向master返回的ADU目的地址总是为设备地址,P的目的地址为0x04。G1收到P后,检查密钥存储模块中是否存在地址0x04及其对应的公钥。由于该地址及公钥不存在,G1将P舍弃,攻击失败。
恶意攻击者试图使用D4伪装为D3,向D1发送恶意分组PP,由于Modbus协议中slave设备向master返回的ADU目的地址总是为设备地址,PP的目的地址为0x03。G1收到PP后,检查密钥存储模块中是否存在地址0x03及其对应的公钥。由于该地址及公钥存在,G1使用D3的公钥解密PP。由于D4无法获取G3密钥存储模块中D3的私钥,PP在G1的校验过程中必然失败,G1将PP舍弃,攻击失败。
恶意攻击者将D3从G3上拆除后,使用D4连接G3的设备端串口通信模块,向D1发送恶意分组PPP。由于D3与D4的地址不同,G3在密钥存储模块中无法找到地址0x04及其对应的私钥,G3将PPP舍弃,攻击失败。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (4)

1.一种用于现场总线信道加密的硬件加密网关,其特征在于:该网关由两个串口通信模块、加密模块、密钥存储模块、供电模块组成;两个串口通信模块分别连接自动化控制设备和现场总线的网络物理接口;两个串口通信模块分别通过高速串行数据总线接口与加密模块连接;加密模块为一个单片机系统(SOC),通过其数据总线与地址总线接口连接密钥存储模块,通过其电源线接口连接供电模块;密钥存储模块为一个快速擦写只读存储器;供电模块为一个直流电源;
所述加密模块通过内置寄存器的软件代码或算术逻辑单元硬件设备实现非对称加密算法、对称加密算法、散列算法、随机密钥生成算法;其中,非对称加密算法包括SM2、ECC、RSA算法,对称加密算法包括SM1、RC4、AES算法,散列算法包括SM3、MD5、SHA-1算法;所述密钥存储模块用于存储一条唯一的私钥以及若干条公钥;
其一,在连接现场总线端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元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通过设备端的串口通信模块进行发送;
其二,在连接设备端的串口通信模块上对于所有传入硬件加密网关的串口通信应用数据单元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通过现场总线端的串口通信模块进行发送。
2.根据权利要求1所述的一种用于现场总线信道加密的硬件加密网关,其特征在于:所述串口通信模块使用的网络物理接口包括符合RS485/232标准的电气接口,串口通信模块使用的高速串行数据总线接口包括符合UART、I2C、SPI标准的总线接口;所述密钥存储模块的数据总线与地址总线接口包括符合eMMC、UFS标准的扩展总线接口。
3.根据权利要求1所述的一种用于现场总线信道加密的硬件加密网关,其特征在于:每个串口通信模块都由一个串行通信芯片组成,芯片型号为ADM485,分别通过UART总线接口连接加密模块,使用RS485接口连接外部设备;加密模块由一个基于ACH512芯片的单片机系统组成;密钥存储模块由一块Flashrom芯片组成,通过NAND Flash接口连接加密模块。
4.根据权利要求1-3任一所述的硬件加密网关实现的一种现场总线信道加密方法,其特征在于:该方法包括以下步骤:
S1:在连接至现场总线的每一台自动化控制设备与现场总线的网络物理接口之间,分别连接一台硬件加密网关,并在硬件加密网关的密钥存储模块中预先写入对应的密钥和目的地址编码;
S2:硬件加密网关的供电模块开始工作后,硬件加密网关启动,对硬件加密网关的密钥存储模块执行初始化;若初始化过程完成,进入步骤S3;若初始化过程终止,不执行后继操作;
S3:对硬件加密网关的密钥存储模块初始化完成后,开始执行监听过程;
S4:硬件加密网关开始执行监听过程之后,当且仅当供电模块停止供电时,监听过程终止;否则,始终执行监听过程;供电模块停止供电后,当且仅当再次进行供电时,硬件加密网关重新执行步骤S2所述初始化过程,以及步骤S3所述监听过程;
步骤S2所述初始化过程如下:
(2-1)查找密钥存储模块中所有已存储的目的地址编码,以及与之相对应的公钥、私钥记录;
(2-2)判断私钥记录数是否唯一,若私钥记录数唯一,进入步骤(2-3);否则,初始化过程终止,不执行后继操作;
(2-3)判断公钥记录数是否大于或等于1,若公钥记录数大于或等于1,初始化过程完成;否则,初始化过程终止,不执行后继操作。
CN201910653667.4A 2019-07-19 2019-07-19 一种用于现场总线信道加密的硬件加密网关及加密方法 Active CN110430014B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910653667.4A CN110430014B (zh) 2019-07-19 2019-07-19 一种用于现场总线信道加密的硬件加密网关及加密方法
PCT/CN2020/085959 WO2021012728A1 (zh) 2019-07-19 2020-04-21 一种水利自动化控制系统中现场总线信道加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910653667.4A CN110430014B (zh) 2019-07-19 2019-07-19 一种用于现场总线信道加密的硬件加密网关及加密方法

Publications (2)

Publication Number Publication Date
CN110430014A CN110430014A (zh) 2019-11-08
CN110430014B true CN110430014B (zh) 2022-02-01

Family

ID=68410080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910653667.4A Active CN110430014B (zh) 2019-07-19 2019-07-19 一种用于现场总线信道加密的硬件加密网关及加密方法

Country Status (2)

Country Link
CN (1) CN110430014B (zh)
WO (1) WO2021012728A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430014B (zh) * 2019-07-19 2022-02-01 河海大学 一种用于现场总线信道加密的硬件加密网关及加密方法
CN110557244B (zh) * 2019-09-06 2021-12-28 江苏省水文水资源勘测局 一种水利工业控制系统中应用数据单元加密方法
CN111526158A (zh) * 2020-05-21 2020-08-11 无锡极地之光信息技术有限公司 一种现场总线安全传输器装置
CN111885062B (zh) * 2020-07-23 2022-06-24 湖南中车时代通信信号有限公司 一种具有认证加密功能的基于rs485总线的通信系统及方法
CN112835841A (zh) * 2021-03-05 2021-05-25 大唐半导体科技有限公司 基于串口通讯的asic数据安全传输与存储装置及方法
JP7161583B1 (ja) * 2021-06-29 2022-10-26 ウィンボンド エレクトロニクス コーポレーション 半導体装置
CN113612757B (zh) * 2021-07-29 2024-07-23 四川福泰美科技有限公司 一种工业物联网终端安全接入网络的方法和系统
CN114143013B (zh) * 2021-12-16 2024-08-13 郑州轨道交通信息技术研究院 基于MD5、RC4加密和zmq通讯的网关授权方法
CN114938304B (zh) * 2022-05-23 2023-04-28 贵州大学 一种工业物联网数据安全传输的方法和系统
CN115484131B (zh) * 2022-08-31 2024-04-12 江苏奥立信数字科技有限公司 物联网网关以及用于该物联网网关的设备数据存储系统
CN115987688B (zh) * 2023-03-20 2023-08-01 北京网藤科技有限公司 一种保障plc和上位机之间安全通信的方法及系统
CN117459557B (zh) * 2023-12-22 2024-03-15 广州晟能电子科技有限公司 一种低代码物联网多维数据的融合方法
CN117828648B (zh) * 2024-03-06 2024-05-28 湖南博匠信息科技有限公司 一种可信总线交互系统的实现方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299683A (ja) * 2007-06-01 2008-12-11 Nippon Telegr & Teleph Corp <Ntt> 情報記録媒体のセキュリティ方法、情報処理装置及びプログラム
CN101799681A (zh) * 2010-02-10 2010-08-11 刘文祥 智能电网
CN102014015A (zh) * 2010-06-29 2011-04-13 北京飞天诚信科技有限公司 智能密钥设备的自检方法
CN102411352A (zh) * 2011-11-02 2012-04-11 北京必创科技有限公司 一种无线模拟量控制方法、装置及系统
US8363837B2 (en) * 2005-02-28 2013-01-29 HGST Netherlands B.V. Data storage device with data transformation capability
CN103679062A (zh) * 2013-12-23 2014-03-26 上海贝岭股份有限公司 智能电表主控芯片和安全加密方法
CN103872778A (zh) * 2014-03-15 2014-06-18 内蒙古大唐国际新能源有限公司 一种冗余设置的风电控制中心装置
CN104092772A (zh) * 2014-07-23 2014-10-08 江苏敏捷科技股份有限公司 一种高速高通的数据安全存储和传输方法
CN107566353A (zh) * 2017-08-21 2018-01-09 浙江大学 一种用于加密控制器实验研究的工业控制系统安全实验平台
CN109639438A (zh) * 2019-02-26 2019-04-16 燕山大学 一种基于数字签名的scada网络工业信息加密方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231690A (zh) * 2011-03-31 2011-11-02 华立仪表集团股份有限公司 一种公用事业仪表远程抄表方法
DE102016125511A1 (de) * 2016-12-22 2018-06-28 Abb Schweiz Ag Sicherheitsgerät und Feldbussystem zur Unterstützung einer sicheren Kommunikation über einen Feldbus
CN106899404B (zh) * 2017-02-15 2020-06-02 同济大学 基于预共享密钥的车载can fd总线通信系统及方法
CN110430014B (zh) * 2019-07-19 2022-02-01 河海大学 一种用于现场总线信道加密的硬件加密网关及加密方法
CN110557244B (zh) * 2019-09-06 2021-12-28 江苏省水文水资源勘测局 一种水利工业控制系统中应用数据单元加密方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363837B2 (en) * 2005-02-28 2013-01-29 HGST Netherlands B.V. Data storage device with data transformation capability
JP2008299683A (ja) * 2007-06-01 2008-12-11 Nippon Telegr & Teleph Corp <Ntt> 情報記録媒体のセキュリティ方法、情報処理装置及びプログラム
CN101799681A (zh) * 2010-02-10 2010-08-11 刘文祥 智能电网
CN102014015A (zh) * 2010-06-29 2011-04-13 北京飞天诚信科技有限公司 智能密钥设备的自检方法
CN102411352A (zh) * 2011-11-02 2012-04-11 北京必创科技有限公司 一种无线模拟量控制方法、装置及系统
CN103679062A (zh) * 2013-12-23 2014-03-26 上海贝岭股份有限公司 智能电表主控芯片和安全加密方法
CN103872778A (zh) * 2014-03-15 2014-06-18 内蒙古大唐国际新能源有限公司 一种冗余设置的风电控制中心装置
CN104092772A (zh) * 2014-07-23 2014-10-08 江苏敏捷科技股份有限公司 一种高速高通的数据安全存储和传输方法
CN107566353A (zh) * 2017-08-21 2018-01-09 浙江大学 一种用于加密控制器实验研究的工业控制系统安全实验平台
CN109639438A (zh) * 2019-02-26 2019-04-16 燕山大学 一种基于数字签名的scada网络工业信息加密方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Double-Hashing Operation Mode for Encryption;Sultan Almuhammadi;《 2017 IEEE 7th Annual Computing and Communication Workshop and Conference (CCWC)》;20170302;全文 *
SCADA系统中数据传输安全性研究;王婷婷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130615(第6期);正文第20、36-45页 *
工业控制系统轻量级数据安全传输的研究;徐珊珊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160815(第8期);全文 *

Also Published As

Publication number Publication date
WO2021012728A1 (zh) 2021-01-28
CN110430014A (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
CN110430014B (zh) 一种用于现场总线信道加密的硬件加密网关及加密方法
CN110557244B (zh) 一种水利工业控制系统中应用数据单元加密方法
US11086810B2 (en) Intelligent controller and sensor network bus, system and method including multi-layer platform security architecture
CN111186414A (zh) 一种汽车蓝牙钥匙安全管理系统及方法
CN111049803A (zh) 基于车载can总线通讯系统数据加密及平台安全访问的方法
CN103986582A (zh) 一种基于动态加密技术的数据加密传输方法、装置及系统
CN110753344A (zh) 基于NB-IoT的智能表安全接入系统
CN114270328B (zh) 智能控制器和传感器网络总线以及包括多层平台安全架构的系统和方法
CN103093139B (zh) Ic卡智能燃气表信息安全管理模块
CN110321725A (zh) 一种防止篡改系统数据与时钟的方法及装置
CN103441849A (zh) 无线安全路由器、配电网数据传输系统及其工作方法
CN115296791B (zh) 一种用于现场总线的防重放攻击装置及方法
CN107968764A (zh) 一种认证方法及装置
CN111914267B (zh) 一种基于FPGA的soc架构数据隔离系统
CN111065091B (zh) 一种基于lora的无线数据采集系统及数据传输方法
WO2018076299A1 (zh) 数据传输方法及装置
CN107317925A (zh) 移动终端
CN203102265U (zh) 一种ssd控制芯片
CN210327601U (zh) 一种基于串口通信的水利物联网加解密装置
CN201741156U (zh) 一种可信硬件设备
CN107819788B (zh) 一种基于电力生产控制与监测数据的安全加密系统
CN104639326A (zh) 一种基于认证的安全控制方法、装置及系统
CN113360887B (zh) 一种用于继电保护设备的认证加密方法及模块
CN210745175U (zh) 一种区块链接技术加密系统
CN118246080B (zh) 一种数据处理方法、电子设备、存储介质及产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant