首页> 中国专利> 一种用于加密控制器实验研究的工业控制系统安全实验平台

一种用于加密控制器实验研究的工业控制系统安全实验平台

摘要

本发明公开了一种用于加密控制器研究的工业控制系统安全实验平台,包括:PLC控制器、加密/解密单元、控制网络、过程仿真单元和PC站点。PLC控制器负责执行各种加密的控制律计算,加密/解密单元用于对控制器数据进行加解密、量化/恢复和明文处理,控制网络完成控制器和现场单元之间的数据传输,过程仿真单元用于搭建模拟工业控制场景的虚拟被控对象。通过应用加密控制器增强工业控制系统安全,能够验证加密控制器的可行性,评估加密控制器的安全性,分析加密控制器和工业控制系统的相互影响,并推动加密控制器的理论改进和应用实践。本发明逼真度高、灵活性好、对用户友好,可广泛用于工业控制场景下对加密控制器的实验研究。

著录项

  • 公开/公告号CN107566353A

    专利类型发明专利

  • 公开/公告日2018-01-09

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN201710719487.2

  • 申请日2017-08-21

  • 分类号

  • 代理机构杭州求是专利事务所有限公司;

  • 代理人刘静

  • 地址 310058 浙江省杭州市西湖区余杭塘路866号

  • 入库时间 2023-06-19 04:13:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-30

    授权

    授权

  • 2018-02-02

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20170821

    实质审查的生效

  • 2018-01-09

    公开

    公开

说明书

技术领域

本发明涉及工业控制系统安全领域,尤其涉及一种用于加密控制器研究的工业控制系统安全实验平台。

背景技术

近年来,随着工业化和信息化的深度融合,工业控制系统向着网络化、信息化迅速发展,诸如网络化控制系统、信息物理系统等现代控制系统已广泛应用于各种工业部门和关键基础设施。然而,由于普遍缺乏有效的信息安全防御和数据保密措施,工业控制系统在愈发智能的同时,也遭受到日益严峻的信息安全威胁(如病毒、蠕虫、木马、网络攻击等)。面对层出不穷的安全事件,加之工业控制系统关乎国计民生和国家安全的重要性,研究工业控制系统安全,特别是研究增强工业控制系统信息安全的方法很有意义。

在工业控制系统信息安全增强的研究中,基于数据加密的方法十分重要,尤其是在信息泄露方面的漏洞高发、系统中的明文数据易被窃取并用于攻击的背景下。传统的基于数据加密的方法是通信加密,即对经由通信链路传输的测量信号、控制信号等数据进行加密防护,从而显著地增强通信传输数据的安全性。但是,通信加密方法还存在严重问题,其对数据的加密局限于通信链路上,而对于系统中其它数据,特别是控制器内的各种重要数据缺乏防护,遗留了严重的信息安全风险。试想,当控制器内的大量明文数据被攻击者窃取,由于数据没有加密防护,很容易就造成对工业控制系统的严重破坏。具体的,一方面,直接利用测量/控制信号、模型/控制参数、配方等重要数据,攻击者可以窃取到工艺参数、生产信息、产品性能等关键信息,进而对工业生产(尤其是军工生产等)构成严重威胁。另一方面,以控制器内的各种重要数据为基础,攻击者可以搜集到被攻击目标的大量情报,并为多种强大攻击的实施提供必要的前提条件,进而导致严重的攻击破坏。

有鉴于此,一种同时加密通信链路和控制器的新方法被提出,即“加密控制器”。何谓加密控制器?在通信加密的基础上,该方法不再需要解密测量信号,而是直接由密文测量信号和密文控制器参数计算出加密的控制信号,从而保证了模型/控制参数、测量/控制信号、配方等控制器内的数据的保密性。可以想见,即使攻击者成功窃取到控制器内的数据,由于数据被加密防护,只要不能正确地解密数据,就很难造成对工业控制系统的威胁和破坏。显然,将加密控制器方法应用到真实的工业控制系统会对其信息安全有很大程度的增强。

然而,总结现有的对于加密控制器的研究,可以发现:主要的研究工作都在理论方面,缺乏在实际工业控制系统中的实验研究。而且,没有考虑网络通信存在的丢包、时延和数据加密诱发的量化误差等实际因素对加密控制器的影响。因此,从目前处在初级阶段的研究工作出发,为了进一步研究加密控制器方法,需要创新一种用于加密控制器研究的工业控制系统安全实验平台。该实验平台的意义是,有利于加密控制器方法的实验验证,有利于加密控制器方法和工业控制系统的相互影响分析,有利于加密控制器方法的理论改进和应用实践。事实上,本发明就是旨在搭建上述需求的创新的工业控制系统安全实验平台,其逼真度高、灵活性好、对用户友好,可广泛用于工业控制场景下对加密控制器的实验研究。

发明内容

本发明的目的在于针对目前关于加密控制器的研究工作的重大欠缺,创新地提供一种用于实验研究加密控制器的工业控制系统安全实验平台。

本发明的目的是通过以下技术方案实现的:本发明提供的用于加密控制器研究的工业控制系统安全实验平台由五个组件构成,包括PLC控制器、加密/解密单元、控制网络、过程仿真单元和PC站点。具体的,PLC控制器负责执行各种加密的控制律计算,其首先接收来自加密单元的密文数据并不做解密的用作控制器输入,然后将密文输入和控制器内的密文参数按照控制律计算得到加密的控制器输出,再发送该密文输出到解密单元;加密/解密单元用于对控制器数据进行加解密、量化/恢复和明文处理,在传感器‐控制器方向,主要是加密前明文处理、量化原文数据和加密控制器输入,在控制器‐执行器方向,主要是解密控制器输出、恢复被量化数据和解密后明文处理;控制网络完成控制器和现场单元之间的数据传输,其不仅从加密单元传输数据到PLC控制器,而且从PLC控制器传输数据到解密单元;过程仿真单元用于搭建模拟工业控制场景的虚拟被控对象,其运行工业被控过程的数学模型,接收并执行控制信号,传感并发送测量信号;PC站点为整个控制过程提供数据收集、运行监控和人机界面。

该实验平台通过以下五个部分搭建完成:

(1)PLC控制器搭建

PLC控制器是在可编程序控制器上采用分层结构的软件设计来实现,即下层使用ST语言编写与所用密码方案的同态性质相对应的同态运算指令函数并封装成块,上层以同态运算指令为基础根据控制律算法逻辑编写计算加密的控制律的PLC应用程序。通过将下层的同态运算指令和上层的加密控制应用分离开来,支持各个层次的独立开发和层次之间的灵活组合;进一步,结合参数算法分离与执行分支控制,提供密文控制器参数的在线配置和同态运算指令与同态加密方案的在线同步切换。特别地,PLC控制器选择西门子S7‐300系列的317‐2PN/DP型PLC作为硬件设备,这不仅是为了尽可能逼真地复现工业控制系统的实际,也是因为该型PLC具有良好的计算存储能力和丰富的网络通信接口。而且,针对PLC整数运算指令和密文数据存储格式在数据结构使用上的矛盾,定义无符号类型作为存储的基本元素,定义有符号类型作为计算的基本元素,并建立平滑过渡的转换接口,从而屏蔽底层差异,方便用户开发。另外,在使用ST语言编写与RSA的同态性质相对应的同态运算指令函数中,针对其同态乘法涉及的复杂的大数运算,进行降低计算量、提高实时性的优化,包括基于Karatsuba‐Comba快速技术优化大数乘法运算和利用蒙哥马利算法的CIOS方式优化大数模乘运算。

(2)加密/解密单元搭建

加密/解密单元以PC为硬件平台来实现,所用软件方案以OPC技术为基础进行对外通信并基于MFC编程提供各种功能。在对外通信方面,其利用OPC自定义接口与OPC服务器相连接,而OPC服务器与PLC控制器通过控制网络通信,从而构建加密/解密单元所扮演的OPC客户程序和PLC应用程序之间的数据传输;同时,通过设计基于标志位的精简同步机制和设置PLC控制器的通信占比、扫描周期参数,通信双方实现实时性好的时序同步。在功能服务方面,其从OpenSSL密码学库出发,针对工业控制系统现场单元的计算资源受限约束和实时性要求,通过删减与工业控制场景无关的冗余处理,给出主流同态加密方案的实时版本;其建立基础的量化恢复机制作为完成原文与明文相互转换的标准实现,并提供两种初步优化的量化恢复机制和可供用户自主开发新机制的接口以支持研究量化误差对加密控制器的影响;其具有两个明文处理阶段分别置于加密之前和解密之后,用于测量/控制信号的格式转换、控制律计算的辅助处理和用户自定义开发实验研究工具。

(3)控制网络搭建

该实验平台采用控制网络完成控制器和现场单元之间的数据传输。具体的,控制网络使用工业以太网或现场总线建立PLC控制器和现场单元所在PC之间的网络通信连接,并基于控制系统厂商提供的OPC服务器组态PLC控制站和PC站之间的OPC通信服务,通过网络通信连接+OPC通信服务,PLC控制器内的寄存器数据和OPC服务器内的项数据能够交互,再接入现场单元对外通信的OPC接口,即实现控制器和现场单元之间的数据传输。而且,基于上述控制网络搭建机制,可以提供对不同控制网络的通用性并进而支持研究通信不确定性对加密控制器的影响。

(4)虚拟被控对象搭建

该实验平台使用Matlab/Simulink仿真软件搭建虚拟被控对象,这不仅是因为该软件在过程仿真方面的优势,也是为了给用户提供熟悉容易的Matlab工具而非陌生复杂的MFC语言。同时,利用Matlab与MFC混合编程技术,将虚拟被控对象紧密接入闭环控制回路,并与其它现场单元一起运行于MFC应用程序。具体的,首先利用Matlab/Simulink的优势搭建虚拟被控对象的数学模型,然后基于Matlab与MFC混合编程技术将仿真代码转化成MFC可用的DLL文件,最后在MFC应用程序中调用该DLL文件来运行虚拟被控对象以及与加密/解密模块交换测量/控制信号。如此,支持搭建不同虚拟被控对象以模拟各种工业控制场景。

(5)PC站点搭建

该实验平台综合两个方面一起来搭建PC站点。其一,使用SCADA及HMI软件负责控制器内的数据的收集、监控和人机界面;其二,通过基于MFC框架扩展现场单元所在程序的功能,提供对加密/解密单元与虚拟被控对象内的数据的收集、监控和人机界面。通过综合两个方面的功能,PC站点为整个控制过程提供数据收集、运行监控和人机界面。

本发明的有益效果是:在该实验平台,可以于不同的工业控制场景下应用不同的加密控制器方案来开展各种各样的实验研究,能够验证加密控制器的可行性,评估加密控制器的安全性,分析加密控制器和工业控制系统的相互影响,并推动加密控制器的理论改进和应用实践。而且,所述实验平台具有逼真度高、灵活性好、对用户友好三大特性。具体的,PLC、控制网络、SCADA/HMI等工业控制软硬件的使用,使得该实验平台能高逼真地复现真实的工业控制系统;对多种虚拟被控对象、多种同态加密方案、多种控制网络和多种控制规律的支持,使得该实验平台能灵活设置实验研究的场景和内容;提供用户友好的工具与界面,屏蔽复杂的底层的差异与细节,使得该实验平台能被容易的学习和使用。

附图说明

图1是本发明的体系结构图;

图2是加密/解密单元的结构框图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

如图1所示,本发明提供的用于加密控制器研究的工业控制系统安全实验平台由五个组件构成,包括PLC控制器、加密/解密单元、控制网络、过程仿真单元和PC站点。

PLC控制器负责执行各种加密的控制律计算,本实施例以在西门子S7 317‐2PN/DP型PLC上计算加密的PI控制律为例。根据采用的分层结构的软件设计,下层使用SCL语言编写与RSA同态加密方案的同态性质相对应的同态运算指令函数并封装成FC用户块,上层在OB用户块中根据以离散线性控制器方式描述的PI控制律算法逻辑并调用同态运算指令基础函数来编写加密的PI控制律的计算程序。同时,该PLC应用程序涉及的寄存器变量被具体定义在符号表文件。其中,与算法分离的PI参数被定义在通信可用的位存储区,从而提供密文控制器参数的在线配置。另外,针对PLC整数运算指令和密文数据存储格式在数据结构使用上的矛盾,定义无符号类型BYTE作为存储的基本元素,定义有符号类型DINT作为计算的基本元素,并建立平滑过渡的转换接口FC;针对RSA的同态乘法涉及有复杂的大数运算的问题,在其SCL语言代码实现中,基于Karatsuba‐Comba快速技术优化大数乘法运算,并利用蒙哥马利算法的CIOS方式优化大数模乘运算。

加密/解密单元以PC为硬件平台并基于OPC技术和MFC编程进行软件实现,本实施例中该单元是采用MFC框架和C/C++语言开发的实现OPC对外通信接口的MFC应用程序。具体的,在对外通信方面,按照OPC DA自定义接口规范编写访问OPC服务器的通信服务类,从而实现扮演OPC客户程序经由OPC服务器与PLC应用程序进行数据传输;同时,编程实现基于标志位的精简同步机制并设置PLC控制器的通信占比、扫描周期参数,使得通信双方实现实时性好的时序同步。在功能服务方面,以OpenSSL密码学库为基础,针对计算资源受限约束和实时性要求,通过删减与工业控制场景无关的冗余处理,给出RSA、ElGamal等主流同态加密方案的实时版本;编写固定增益的基础量化恢复机制作为完成原文与明文相互转换的标准实现,并编写变增益、变规则这两种优化的量化恢复机制和可供用户自主开发新机制的接口以支持研究量化误差对加密控制器的影响;编写明文处理类来实现加密前明文处理和解密后明文处理这两个阶段,包括测量/控制信号的格式转换、PI控制律计算的辅助处理和支撑用户自定义开发实验研究工具的框架。

该实验平台采用工业控制系统中实际应用的控制网络进行通信,本实施例以工业以太网S7协议+SIMATIC NET OPC服务为例。首先使用以太网线物理连接PLC控制器CPU的PN端口和加密/解密单元所在PC的以太网口,然后在Step 7软件中组态PLC控制站、PC站和两者之间的工业以太网S7连接,并结合使用SIMATIC NET软件组态PLC CPU和OPC服务器之间的OPC通信服务,即在PLC CPU内的寄存器数据和OPC服务器内的项数据之间建立关联并基于OPC通信服务维护两者之间的数据一致。而且,对不同厂商的不同网络或不同协议,上述控制网络搭建机制是可类似使用的。

过程仿真单元用于虚拟以数学模型描述的工业被控过程,本实施例以搭建四容水箱虚拟被控对象为例。首先在Matlab的M文件中写入通过机理建模得到的四容水箱非线性模型,并编程对其进行线性化、离散化来生成离散时间线性模型,然后利用Matlab与MFC混合编程技术将描述四容水箱离散时间线性模型的M文件转化为MFC可用的DLL文件,最后在加密/解密单元所在的MFC应用程序中调用该DLL文件以紧密接入虚拟被控对象到整个控制过程。

PC站点是综合两个方面一起搭建的。其一,对于控制器侧的数据,使用Wincc软件提供数据采集监控和人机界面功能。首先通过新建驱动、新建连接和新建变量三个步骤完成组态变量,本实施例中使用以太网方式连接并创建水箱液位、PI参数等变量,然后组态画面以及将画面与创建的变量进行连接,从而能监视变量的数据和曲线。同时,利用C脚本程序对从PLC控制器读取的数据进行明文密文转换等处理。其二,对于现场单元侧的数据,通过基于MFC框架扩展现场单元所在程序的功能,提供对加密/解密单元与虚拟被控对象内的数据的收集、监控和人机界面。首先采用基于对话框的MFC框架搭建数据监视和参数设置的人机界面,然后在加密/解密单元和虚拟被控对象的C/C++语言程序中,引入记录数据到文件、与人机界面交互数据等功能代码。另外,以从OPC客户程序到PLC应用程序的OPC通信服务为基础,也可以提供在MFC应用程序界面上管理PLC控制器内的数据的服务。

本发明提供的工业控制系统安全实验平台在用于加密控制器研究时的具体实验步骤如下:

(1)在Matlab的M文件中编程实现四容水箱的离散时间线性模型,并使用Matlab和MFC混合编程技术将该四容水箱虚拟被控对象运行在MFC应用程序中。

(2)编程实现加密/解密单元并在MFC应用程序中运行它。具体的,在传感器‐控制器方向,加密单元从四容水箱采集测量信号,通过加密前明文处理、原文到明文的量化转换和数据加密,再将结果经由OPC服务器送入控制网络;在控制器‐执行器方向,解密单元经由OPC服务器接收控制网络传来的控制器输出,通过数据解密,明文到原文的恢复转换和解密后明文处理,再把控制信号作用到四容水箱。

(3)搭建工业以太网S7协议+SIMATIC NET OPC服务的控制网络,使得控制器和现场单元之间能够交换数据,即在PLC CPU和OPC服务器之间传输控制器的输入/输出,并再接入现场单元所在程序的OPC对外通信接口来完成通信。

(4)按照设计好的加密的PI控制律,编写PLC应用程序并运行。如此,由控制网络传入的密文输入不做解密就和控制器内的密文参数一起按照加密的PI控制律计算得到加密的控制器输出,再从控制网络将该密文输出发送出去。

(5)运行综合两个方面功能的PC站点。其人机界面上显示变量的数据和曲线,参数设置功能可以修改PI控制参数、加密解密参数等,同时,被选中的重要变量的历史数据也被记录在文件中。

上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号