一种基于Hilscher的可信数据采集系统和方法与流程

文档序号:11156510阅读:1111来源:国知局
一种基于Hilscher的可信数据采集系统和方法与制造工艺

本发明涉及数据处理技术领域,特别是指一种基于Hilscher的可信数据采集系统和方法。



背景技术:

随着计算机和网络技术的发展,工业化与信息化的深度融合成为科技发展的必然趋势。现有的发展趋势主要表现在物联网的快速发展,以及工控产品越来越多的与通用协议、通用软硬件结合等方面,但是带来了发展机遇的同时,也为工业控制系统数据安全造成了隐患。据统计,工业控制系统公开的漏洞主要涉及的厂商包括西门子、艾默生、施耐德、通用电气,其中SCADA占40%,PLC占30%,引发了一系列工业控制系统安全事件,工业控制系统安全面临严重挑战。然而,工业控制系统安全目前处于“外热内冷”的局面,相比国外,国内人力、物力投入水平远低于国外,造成这一现象的原因主要是重视程度不够。

由于上位机数据库稳定可靠运行也是工业控制系统安全的重要环节之一,因此部分工业厂商采取了一定的安全防护措施,如安装工业防火墙、入侵检测系统;但由于工业控制系统的复杂性和广泛性等实际情况,且没有采取针对性措施,导致防护效果有限。此外,采集到的数据经过数据传输后无法保证其可信度,即使数据传输时被篡改也无法及时察觉。再者,上位机主要依赖的安防措施依然是信息安全技术,对具有工业控制系统特征的攻击无法采取特定措施,这是很大的安全隐患。



技术实现要素:

基于上述缺陷,本发明实施例的目的是提出一种基于Hilscher的可信数据采集系统和方法。

为了达到上述目的,本发明实施例提出了一种基于Hilscher的可信数据采集系统,包括:DP主站模块、协议转换模块、数据加密模块、上位机;

其中所述DP主站模块包括:Hilscher芯片、至少一个用于连接PLC从站的Profibus-DP接口、Hilscher主从站通信接口;其中所述Hilscher芯片通过Profibus-DP接口连接至少一个PLC从站设备以采集PLC从站设备的Profibus总线上的基于Profibus协议的数据,并通过Hilscher主从站通信接口发送到协议转换模块;

所述协议转换模块包括:处理器、通讯接口组件、VPC3+C从站协议芯片;其中所述处理器通过通讯接口组件连接所述DP主站模块以从所述DP主站模块接收基于Profibus协议的数据,并通过VPC3+C从站协议芯片将基于Profibus协议的数据转换为基于Modbus协议和/或TCP/IP协议的数据,并发送到所述数据加密模块;

所述数据加密模块包括:用于接收协议转换模块发送来的数据的接收数据处理模块、用于对数据进行加密并将加密数据发送到上位机的加密发送数据处理模块;

上位机包括:解密USBKEY模块、双冗余实时数据库;其中所述解密USBKEY模块内设有内置解密程序的解密芯片,所述解密USBKEY模块通过USB接口连接上位机,以将数据加密模块发送来的加密数据进行解密;其中所述双冗余实时数据库包括冗余备份配置的AicDataHub工业实时库和Agilor工业实时库,以存储解密后的数据。

进一步的,所述上位机还包括snort入侵检测模块,所述snort入侵检测模块监听所述双冗余实时数据库的数据采集端口以将双冗余实时数据库的数据特征与预设的snort规则库特征进行对比以判断是否有入侵行为。

进一步的,所述上位机还包括连接双冗余实时数据库的数据管理界面,以通过所述数据管理界面实现用户管权限理、远程访问、数据查询、数据分析、数据筛选等功能。

进一步的,所述DP主站模块的Hilscher芯片接收到基于Profibus协议的数据,判断是否是首次与所述PLC从站进行数据传输,如果是执行以下的初始化过程以显式建立连接:

步骤1、DP主站模块发送Initiate-REQ-PDU报文至到PLC从站的特定服务访问点;

步骤2、PLC从站判断是否有可用服务访问点,如果有则跳转到步骤3;如果没有则继续等待下一次命令,步骤结束;

步骤3、PLC从站发送RM-REQ-PDU报文至DP主站模块,所述RM-REQ-PDU报文中包括可用服务访问点;DP主站模块保存可用服务访问点信息,同时以轮询方式向PLC从站发送连接报文并等待PLC从站的应答;

步骤4、PLC从站向PLC从站应用程序发送初始化报文,并接收PLC从站应用程序的应答报文并转发到DP主站模块;

步骤5、DP主站模块解析所述应答报文,如果所述应答报文为同意建立连接,则DP主站模块与PLC从站建立连接后进行数据交换,并在完成数据交换后显式断开连接,完成数据的采集;如果所述应答报文为拒绝建立连接,则步骤结束。

进一步的,所述协议转换模块具体包括:处理器、VPC3+C从站协议芯片、电源模块、RS-232接口、RS-485接口、以太网口、JTAG模块;

处理器为LPC1788FDB208芯片,且所述LPC1788FDB208芯片连接有12MHz晶振;

VPC3+C从站协议芯片连接所述协议转换模块的Hilscher芯片通信和处理器,所述VPC3+C从站协议芯片的波特率为115200bps;且所述VPC3+C从站协议芯片连接有48MHz晶振;

其中所述电源模块的输入电压为24V,且电源模块的输出端分别连接LM2576芯片和LM1117-3.3/SOT223芯片提供5V和3.3V的输出电压;

RS-232接口用于连接外接计算机,以使计算机与处理器通信;

RS-485接口设有ADM2486电流隔离器以为Modbus协议接口以发送Modbus协议数据;

以太网口设有DP83848控制器以将输出信号转换为TCP/IP协议数据,并通过HR911103A接口连接所述数据加密模块;

JTAG模块用于连接外部调试设备。

进一步的,所述数据加密模块包括:数据接收网口、接收数据处理模块、加密发送数据处理模块、数据发送网口;

其中所述数据接收网口连接所述协议转换模块以接收数据,并通过接收数据处理模块对数据进行处理;其中所述接收数据处理模块为STM32F107芯片;

其中所述数据发送网口连接上位机,以将接收数据处理模块处理后的数据通过加密发送数据处理模块进行加密后发送到上位机;其中所述加密发送数据处理模块包括STM32F107芯片和加密芯片;

其中数据接收网口和数据发送网口都连接有DP83848以太网物理层控制器,且所述接收数据模块和加密发送数据处理模块之间通过高速SPI串口通信。

进一步的,所述数据加密模块还包括电源模块、两个SWD接口、USB接口;其中所述两个SWD接口分别连接所述接收数据处理模块的STM32F107芯片和加密发送数据处理模块的STM32F107芯片以进行程序下载,且USB接口连接所述加密发送数据处理模块以进行加密程序下载;所述。

其中所述电源模块的输入电压为24V,且电源模块的输出端分别连接LM2576芯片和LM1117-3.3/SOT223芯片提供5V和3.3V的输出电压。

同时,本发明实施例还提出了一种利用如前任一项所述的基于Hilscher的可信数据采集系统进行可信数据采集的方法,包括:

通过DP主站模块从连接PLC从站设备的Profibus总线上采集基于Profibus协议的数据;

通过协议转换模块将所述基于Profibus协议的数据转换为基于Modbus协议和/或TCP/IP协议的数据;

通过数据加密模块对协议转换模块的数据进行加密并发送到上位机;

上位机通过解密USBKEY模块对接收到的加密数据进行入侵检测并解密后,存储到双冗余实时数据库。

本发明的上述技术方案的有益效果如下:上述技术方案中。

附图说明

图1为本发明实施例的基于Hilscher的可信数据采集系统的结构框图;

图2为本发明实施例的协议转换模块的系统结构框图;

图3为本发明实施例的协议转换模块的显式建立连接的初始化过程的流程图;

图4为本发明实施例的数据加密模块的系统结构框图;

图5为本发明实施例的数据加密的流程图;

图6为本发明实施例的上位机的系统结构框图;

图7为本发明实施例的snort入侵检测的流程图;

图8为本发明实施例的双冗余实时数据库结构框图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实例进行详细描述。

为实现Profibus-DP可信数据采集,提高数据传输、存储安全性,同时确保系统稳定可靠运行,本发明提出了一种包含数据采集、传输、存储等多种技术融合的可信数据采集系统,该系统能够将Profibus-DP协议数据转换成多种数据格式供上位机完成数据采集。

本发明实施例的原理是利用LPC1788FBD208芯片控制Profibus协议芯片VPC3+C将Hilscher采集的Profibus-DP总线数据转换为TCP/IP协议从网口输出,输出数据由数据加密模块加密后发送到PC端进行解密,并通过双冗余实时数据库完成数据采集,从而实现获取可信数据,最后SCADA端对数据进行管理和展示操作。同时,本发明实施例在上位机端设计了snort入侵检测,以进一步确保数据安全。

本发明实施例提出的基于Hilscher的可信数据采集系统,包括DP主站模块、协议转换模块、数据加密模块、解密USBKEY模块、双冗余实时数据库、snort入侵检测模块、数据管理界面。

在工作时,DP主站模块从至少一个PLC从站设备接受数据,然后经协议转换模块通过TCP/IP协议将数据发至数据加密模块的数据接收网口,然后数据加密模块对数据进行加密处理后生成密文,然后将密文发送给PC端。

具体的:DP主站模块采用DPV1 Class 2通讯模式,包括Profibus-DP接口、Hilscher芯片、至少一个Hilscher主从站通信接口;其中Hilscher芯片通过Hilscher主从站通信接口连接至少一个PLC从站设备,以采集总线数据并存储在双端口寄存器中,然后通过Profibus-DP接口与协议转换模块进行数据通讯。

协议转换模块包括电源模块、处理器、两个RS-232接口、1个RS-485接口、1个以太网口、VPC3+C从站协议芯片、JTAG模块。协议转换模块作为DP从站,其中处理器通过控制VPC3+C从站协议芯片实现与Hilscher芯片通信,并将数据由Profibus协议转换为Modbus协议和TCP/IP协议,然后通过数据发送至所述数据加密模块。

如图2所示,所述协议转换模块具体包括:

电源模块的输入电压为24V,分别通过LM2576芯片和LM1117-3.3/SOT223芯片提供5V和3.3V的输出电压;

处理器为LPC1788FDB208芯片,该LPC1788FDB208芯片是基于ARMCortex-M3的微控制器,具有高度集成和低功耗通的特点;

RS-232接口连接计算机,以使计算机与处理器通信;

RS-485接口为Modbus协议接口,用于发送Modbus协议数据,该接口连接有ADM2486电流隔离器;

以太网口用于与DP83848控制器连接,用于将输出信号转换为TCP/IP协议数据;

VPC3+C从站协议芯片用于与所述协议转换模块的Hilscher芯片通信,进而实现智能从站的开发。VPC3+C从站协议芯片能够自适应9.6Kbps到12Mbps的波特率,本发明实施例中采用波特率为115200bps。

其中,作为处理器的LPC1788FDB208芯片和VPC3+C从站协议芯片的工作电压均为3.3V,相较于5V供电可取得较好的抗干扰性。LPC1788FDB208芯片和VPC3+C从站协议芯片分别连接12M、48MHz晶振。

协议转换模块实现由Profibus协议转换为Modbus协议和TCP/IP协议,Modbus协议数据经过隔离型半双工的ADM2486电流隔离器处理后由所述RS-485接口11输出;TCP/IP协议数据经过DP83848以太网物理层控制器芯片处理后由所述以太网口12的HR911103A接口输出到数据加密模块。其中,2个RS-232接口10用于调试过程中计算机通过电平转换芯片MAX232与作为处理器的LPC1788FDB208芯片进行通讯。

利用所述协议转换模块的VPC3+C从站协议芯片,从DP主站模块的Hilscher芯片获取数据后,进行如图3所示的以下操作:

判断是否是首次进行数据传输,如果是则需要执行初始化过程以显式建立连接,建立流程包括:

步骤1、DP主站模块发送Initiate-REQ-PDU报文至到PLC从站的特定服务访问点;

步骤2、PLC从站判断是否有可用服务访问点,如果有则跳转到步骤3;如果没有则继续等待下一次命令,步骤结束;

步骤3、PLC从站发送RM-REQ-PDU报文至DP主站模块,所述RM-REQ-PDU报文中包括可用服务访问点;DP主站模块保存可用服务访问点信息,同时以轮询方式向PLC从站发送连接报文并等待PLC从站的应答;

步骤4、PLC从站向PLC从站应用程序发送初始化报文,并接收PLC从站应用程序的应答报文并转发到DP主站模块;

步骤5、DP主站模块解析所述应答报文,如果所述应答报文为同意建立连接,则DP主站模块与PLC从站建立连接后进行数据“读(Read)”、“写(Write)”、“数据交换(Data Transport)”操作,并在完成数据交换后显式断开连接,完成数据的采集;如果所述应答报文为拒绝建立连接,则步骤结束。

如图4所示,数据加密模块包括电源模块、数据接收网口、接收数据处理模块、加密发送数据处理模块、数据发送网口、运行状态指示灯、2个SWD接口、1个USB接口。其中接收数据处理模块可以为STM32F107芯片。加密发送数据模块可以为STM32F107芯片和加密芯片。

具体的:电源模块为数据加密模块供电,协议转换模块(2)通过TCP/IP协议将数据发至数据接收网口,接收数据处理模块由STM32F107芯片实现,再将数据交给加密发送数据处理模块,加密发送数据模块由STM32F107和加密芯片实现,通过加密处理后密文通过数据发送网口发送给PC端。其中,电源模块提供5V和3.3V供电;数据接收网口和数据发送网口均有DP83848以太网物理层控制器支持;接收数据模块和加密发送数据处理模块数据交换采用高速SPI串口通信;运行状态指示灯显示数据加密模块(3)运行情况;两个SWD接口分别用于两块STM32F107芯片程序下载,USB接口用于加密芯片程序下载。

如图1所示的,还包括连接数据加密模块的上位机,该上位机包括解密USBKEY模块、双冗余实时数据库、snort入侵检测模块、数据管理界面。

其中,解密USBKEY模块,包括运行指示灯、解密芯片。其中经过数据加密模块进行加密的数据,需要在双冗余实时数据库的驱动层完成解密,并将数据以通道的形式发到实时数据库进行后续操作。解密USBKEY模块的供电由上位机提供,解密USBKEY模块连接上位机的USB接口,解密程序固化在解密芯片中以对数据进行解密,而指示灯用于指示所处运行状态。

在本发明实施例中,双冗余实时数据库基于Visual Studio 2012程序开发,其采取冗余配置的AicDataHub工业实时库和Agilor工业实时库,目的是实现失效转移。当AicDataHub工业实时库运行出现故障时,就会自动启用Agilor工业实时库以代替实现数据存储管理功能,整个过程用户察觉不到。

snort入侵检测模块能够实现snort入侵检测,以监控应用层服务、网络流量、日志、用户行为、重要文件是否被改动等行为监控。snort入侵检测主要是监听实时数据库数据采集端口,将数据特征与snort规则库特征比对判断是否有入侵行为,如果发现有入侵行为时则发出警报,以实现具有特定工业控制系统攻击特征的防护。

数据管理界面提供人机交互界面,以实现用户管权限理、远程访问、数据查询、数据分析、数据筛选等功能。用户可以通过数据管理界面连接双冗余实时数据库以获得数据,实现人机交互、实时监控工业控制。

如图1所示,基于Hilscher的可信数据采集系统包括DP主站模块(1)、协议转换模块(2)、数据加密模块(3)、上位机(4)。所述DP主站模块(1)包括Profibus从站设备接口(5)、Hilscher(6)、主从站通信接口(7);所述协议转换模块(2)主要包括处理器(8)、Profibus通讯协议芯片(9)、2个RS232接口(10)、1个RS485接口(11)、1个网口(12);所述数据加密模块(3)主要由接收数据处理模块(13)、发送数据处理模块(14)、加密芯片(15)组成;所述上位机(4)主要由入侵检测模块(16)、解密USBKEY(17)、双冗余实时数据库(18)、数据管理界面(19)组成。

如图2所示,所述协议转换模块输入电压为24V,电压模块分别通过LM2576和LM1117-3.3/SOT223输出5V、3.3V;所述处理器(8)为单片机LPC1788FDB208,是基于ARM Cortex-M3的微控制器,具有高度集成和低功耗通的特点,本例采用单片机控制所述Profibus通讯协议芯片(9)VPC3+C实现与所述Hilscher(6)通信,进而实现智能从站的开发,VPC3+C能够自适应9.6Kbps到12Mbps的波特率,本例采用波特率为115200bps。单片机LPC1788FDB208和芯片VPC3+C供电均为3.3V,相较于5V供电可取得较好的抗干扰性。单片机和VPC3+C分别接12M、48MHz晶振。协议转换实现由Profibus协议转换为Modbus协议和TCP/IP协议,Modbus协议数据经过隔离型半双工RS-485接收器ADM2486后由所述RS-485接口(11)输出;TCP/IP协议数据经过以太网物理层控制器芯片DP83848后由所述网口(12)HR911103A输出到加密模块。所述2个RS-232接口(10)用于调试过程中电脑与单片机通信,其电平转换芯片为MAX232。

如图3所示,利用所述通讯协议芯片(9)VPC3+C开发的智能从站与所述Hilscher(6)主站通信获取数据。进行主站从站组态,首先判断是否是首次进行数据传输,如果是则需要执行初始化过程以显式建立连接,建立连接的流程如下:1)主站发送Initiate-REQ-PDU至从站特定服务访问点;2)从站判断是否有可用服务访问点,有则将该点返回给主站,同时发送初始化报文至从站应用程序,如果没有则继续等待下一次命令;3)从站发送RM-REQ-PDU报文至主站;4)主站保存服务点信息,同时发送预连接报文并以轮询方式等待从站的应答;5)从站接收从站应用程序的应答报文,并发给主站,若为肯定应答则建立连接,否则建立连接失败。建立连接后便可进行数据“Read”、“Write”、“Data Transport”服务,完成数据交换后显式断开连接,主从站通信结束,完成数据的采集。

如图4所示,所述数据加密模块(3)系统结构基本对称,所述接收数据处理模块(13)主要由网口、DP83848以太网物理层控制芯片、ARM系列STM32F107芯片组成,数据通过网口采集到芯片;所述发送数据处理模块(14)系统结构与所述接收数据处理模块(13)相同,所述发送数据处理模块(14)与所述加密芯片(15)通信将获得的数据加密后发送给上位机,两块芯片数据交换通过直连的高速SPI口。其中,两块STM32F107芯片配有复位按钮和SWD程序下载口,SWD接口在高速模式下更加稳定,芯片晶振频率25MHz;加密芯片配有USB程序下载口,晶振频率为4MHz,运行指示灯可显示加密芯片所处工作状态为闲时或者忙碌。

如图5所示,所述发送数据处理模块(14)的STM32F107芯片与所述加密芯片(15)进行数据加密流程为:首先发送加密测试数据,若加密芯片处于忙状态则进入延时等待后再次发送加密测试数据,直到加密芯片处于空闲状态时验证加密芯片是否正常工作,若正常则发送预加密数据后延时,然后再次判断芯片工作状态,直到为空闲状态时读取密文,完成数据加密,而后进入下一次数据空闲状态判断和数据加密。整个过程中,测试加密数据只在第一次加密前执行。

如图6所示,所述上位机(4)系统结构图包括所述入侵检测模块(16)、所述解密USBKEY(17)、所述双冗余实时数据库(18)、所述数据管理界面(19)。由所述数据加密模块(3)提供的数据在端口处进行snort入侵检测,检测基于入侵检测规则库,然后在数据库驱动层利用所述解密USBKEY(17)解密数据,并将数据发送给所述双冗余实时数据库(18),所述数据管理界面(19)完成数据管理功能,主要包括用户管理、远程访问、数据分析、数据查询和数据筛选功能,实现人机交互。

如图7所示,snort入侵检测流程:调用ParseCmdLine()解析命令行参数、初始化变量结构和检测引擎例程。调用OpenPcap()打开数据包截获端口,根据端口类型设置底层链路层协议解析例程。初始化插件主要完成关键字与初始化程序对应,然后调用CreateDfaultRules()进行初始化框架建设,本发明用snort 2.9.8.0版本,可实现规则快速匹配优化例程并实现报警规则设置。接下来进入检测环节,调用ProcessPacket()进行数据包解码,调用PreProcess()可利用预处理器处理数据,然后根据规则库进行匹配,并依据设置的报警规则采取相应措施,如果继续检测则循环检测环节,否则终止程序。

如图8所示,双冗余实时数据库结构图:采用AicDataHub为主实时数据库、Agilor为备实时数据库确保数据同步,用户登录后实时监控,当主实时库故障立即切换到备实时库工作,确保系统稳定。

综上,本发明所述一种基于Hilscher的可信数据采集系统在工业控制系统总线Profibus-DP数据采集过程中通过协议转换、入侵检测、数据加密-传输-解密、双冗余实时数据库等安全措施,有效提高数据安全性和可信度。

本发明的有益效果在于:

1)克服Profibus-DP协议不对外开放给用户造成的困难,提高Profibus-DP总线数据使用便利性。通过主从站通信,将主站Hilscher获取的Profibus-DP总线数据转换为Modbus和TCP/IP公开协议,基于LPC1788FDB208和VPC3+C设计的智能从站具有自动识别功能。

2)采用密文传输,确保了数据传输安全性和可信度:两套STM32F107和DP83848分别实现数据采集和发送,之间通过高速SPI口直连,发送端配合解密USBKEY实现数据加密和解密,数据传输采用严格的通信机制,确保了数据加密传输的安全性和可靠性,USBKEY硬件解密减少了PC计算负担。

3)双冗余实时数据库有效提高了系统运行稳定性:以双冗余实时数据库为支撑的上位机数据管理界面稳定运行必须确保数据库有效运行,双冗余机制能够实现当其中一个实时库出现故障时自动启动另一个实时库,实现失效转移,大大减小了数据库障碍的可能性,整个切换过程对用户不可见。

4)snort入侵检测更有针对性的提供安全保护:工业控制系统数据安全防护以其特征为采取措施的依据,采用snort入侵可以监听端口、特征比对、报警,其中特征库可以结合实际情况进行有效改善和优化,当检测到有入侵行为时采取相应的报警措施。

5)上位机数据管理界面可实现用户权限管理、远程访问、数据查询、筛选、分析等功能,为用户提供可信数据和决策依据,达到实时监控工业控制系统运行状态的目的。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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