一种基于fpga的工业过程数据安全采集装置及方法
【技术领域】
[0001]本发明涉及工业过程控制领域,具体涉及一种基于FPGA的工业过程数据安全采集装置及方法。
【背景技术】
[0002]工业化与信息化的发展实现了传统计算机网络与工业控制网络的紧密融合,越来越多的企业管理信息系统,如石油、化工等典型流程工业的生产执行系统(MES),利用多种数据交互设备从集散控制系统(DCS)采集实时数据,进而完成优化控制。特别是物联网、大数据等新技术的逐步深化应用,管理网与工控网的联系日趋紧密,扩大了工控网的访问范围,增加了安全风险。
[0003]为了将DCS的生产数据采集到MES中,目前广泛使用普通PC机完成数据采集。虽然在PC机中采用了诸如病毒防护、网卡隔离等措施,但这种以PC机为主的数据采集方式,仍然存在恶意程序在管理网络和控制网络之间肆意传播的隐患。
[0004]现有的数据采集装置一般都在应用层上对数据进行加密,属于典型的软件加密方式,这种加密方式不但会降低数据处理速率而且会增加时延。此外,目前数据加密模块一般采用固定的处理速率,这样对于工业控制现场存在的不同数据采集速率将显得不够灵活。最后,目前的数据加密装置一般对不同数据包使用相同的加密密钥,若某一数据包的加密密钥被非授权方获取,那么传输的所有数据都将会被破解,这大大增加了安全风险。
【发明内容】
[0005]为解决现有技术存在的问题,本发明以FPGA为核心,取代了数据采集装置中广泛使用的普通PC机,使用MACsec加密、解密技术,在保证实时数据采集速率的基础上提高了信息传递的安全性,使得工业控制系统免受来自管理网的安全风险。
[0006]通过以下技术方案实现,一种基于FPGA的工业过程数据安全采集装置及方法,以FPGA为核心,设计并开发CRC校验模块、MACsec加密、解密模块。
[0007]一种基于FPGA的工业过程数据安全采集装置,该装置包括支持PC1-Express的高速数据采集模块、数据发送模块、CRC校验模块、MACsec加密模块以及MACsec解密模块,上述各模块均为FPGA的内嵌模块,由FPGA负责整个装置的运行协调;所述高速数据采集模块采集DCS数据,并通过数据发送模块发送数据至MES;所述CRC校验模块、MACsec解密模块连接高速数据采集模块;所述MACsec加密模块连接数据发送模块;
[0008]FPGA的内核加密模块包括aes-gcm模块、MACsec控制模块、密钥和数据存储模块、MAC模块以及物理层,其中AES-GCM模块置于MACsec控制模块中,MACsec控制模块连接数据存储模块以及位于OSI模型中数据链路层的MAC模块:当信息从OS I模型的物理层传输到数据链路层时,MACsec控制模块根据发送者提供的128/256位密钥启动MACsec解密模块进行解密,解密后的数据传输到OSI模型中的网络层之上进行深度数据包检测;当信息从数据链路层传输到物理层时,MACsec控制模块根据密钥和数据存储模块中的128/256位密钥启动MACsec加密模块对传出的数据进行加密,加密完成后通过物理层传出。
[0009]优选的,MACsec加密模块、MACsec解密模块在硬件上实现安全加密、解密功能。
[0010]一种基于本发明公开的基于FPGA的工业过程数据安全采集装置的采集方法,数据采集装置开始运行后首先从文件中获得采集配置信息,加载采集配置信息成功后对高速数据采集模块进行初始化,通过PC1-Express接口与DCS建立连接;连接成功后对需要采集的标签点进行绑定,以循环的方式不断执行数据读取;对读取到的数据包进行MACsec解密和CRC校验,在确认无误的情况下将数据进一步传输到数据发送模块,数据经过MACsec加密模块处理后对外发布。
[0011]更优的,所述MACsec加密模块处理是通过对以太网链路层的数据进行加密。
[0012]更优的,所述MACsec加密模块的工作频率可以运行在1GHz、1GHz和40GHz不同档位,能够根据多种不同的数据采集速率而动态改变数据加密速率。
[0013]更优的,所述MACsec解密模块的工作频率可以运行在1GHz、1GHz和40GHz不同档位,能够根据多种不同的数据采集速率而动态改变数据解密速率。
[0014]更优的,每个数据包都有相应的编号,确保能检测并拒绝接收重复或重新发送的数据包。
[0015]更优的,MACsec加密模块对每个数据包使用不同的加密密钥,接收到消息后,接收器会在FPGA上的内容地址存储器列表中查找解密密钥。
[0016]更优的,所述CRC校验模块采用异或逻辑,基于8位输入数据和生成多项式运算得出CRC校验码。
[0017]具体的,所述CRC校验码计算步骤如下:
[0018](I)将16位寄存器自左到右编号为R15R14.--Ro;
[0019](2)将16位CRC寄存器自左到右编号为C15Cw --Co;
[0020](3)把CRC寄存器中每一位的初始值都设为O;
[0021 ] (4)计算输入一位数据后CRC寄存器中新的内容;
[0022](5)循环执行步骤(4)直到8位数据输入结束;
[0023](6)计算各个位的因子相互异或的结果,即为CRC校验码。
[0024]有益效果:
[0025]本发明提供了一种基于FPGA工业过程数据安全采集装置及方法,以FPGA为核心,取代了数据采集装置中广泛使用的普通PC机,使用MACsec加密技术,在保证实时数据采集速率的基础上提高了信息传递的安全性,使得工业控制系统免受来自管理网的安全风险。
【附图说明】
[0026]图1是本发明系统结构框图;
[0027]图2是本发明FPGA内核加密模块结构框图;
[0028]图3是本发明数据采集流程图。
【具体实施方式】
[0029]下面结合附图,对本发明的【具体实施方式】作进一步说明。本实施例以本发明技术方案为前提进行实施,但本发明的保护范围不限于下述的实施例。
[0030]如图1所示,数据采集装置主要由支持PC1-Express的高速数据采集模块、数据发送模块以及MACsec加密、解密模块组成。数据采集模块的数据源来自于DCS,DCS与FPGA通过PC1-Express进行通讯从而完成实时数据的高速采集。
[0031 ]上述模块均为FPGA主板上的内嵌模块,FPGA主板在DCS和MES之间起到了数据中枢的作用,负责将下层的实时数据安全的传递到上层管理网络中。
[0032]如图2所示,FPGA内核加密模块主要由AES-GCM模块、MACsec控制模块、密钥和数据存储模块、MAC(介质访问控制)模块以及物理层组成。其中MAC模块位于OSI模型中的数据链路层,在数据链路层对数据进行加密、解密处理可以提高速度并最大程度的降低时延,若在OSI模型中的数据链路层之上,如网络层、传输层对数据进行加密处理,信息必须传到协议上层进行处理,这显然会增加时延。
[0033]图2中,MACsec内核直接连接到数据链路层的MAC模块上,当信息从OSI模型的物理层传输到数据链路层时,MACsec控制模块根据发送者提供的128/256位密钥启动MACsec解密模块进行解密,解密后的数据传输到OSI模型中的网络层之上进行深度数据包检测。当信息从数据链路层传输到物理层时,MA