CN115580491B - 一种基于国密算法的工控编程平台及构建方法与运行方法 - Google Patents
一种基于国密算法的工控编程平台及构建方法与运行方法 Download PDFInfo
- Publication number
- CN115580491B CN115580491B CN202211561228.9A CN202211561228A CN115580491B CN 115580491 B CN115580491 B CN 115580491B CN 202211561228 A CN202211561228 A CN 202211561228A CN 115580491 B CN115580491 B CN 115580491B
- Authority
- CN
- China
- Prior art keywords
- security
- safety
- ide
- rte
- industrial controller
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于国密算法的工控编程平台及构建方法与运行方法,以国密算法为核心,实现具备内生安全防护能力的安全集成开发系统IDE与安全运行时系统RTE,其中,通过在工程师站部署具备重要文件加密及认证保护、强身份认证、工程对象级的细粒度访问控制、安全通信、安全编译等安全功能的IDE,实现安全组态编程、运行时配置和仿真调试;并且在工业控制器部署具备运行态访问许可认证、程序来源验证、防逆向保护、安全通信、威胁识别等安全功能的RTE,实现控制器运行时内生安全防护,如此基于安全集成开发系统IDE,实现工控系统开发、部署、运行和更新等全生命周期的安全防护。
Description
技术领域
本发明涉及一种基于国密算法的工控编程平台及构建方法与运行方法,属于安全工控平台技术领域。
背景技术
作为国家关键基础设施运行的“神经中枢”,工业控制系统已经广泛应用到装备制造等关键工业领域。工业控制系统一般由上位机的编程/监控系统和下位机的可编程逻辑控制器/分散控制系统(PLC/DCS)等组成。工控编程平台便是上下位机系统的“软件内核”,即是“中枢的中枢”,包括编程/监控环境IDE、运行时环境RTE等。工控编程平台是工控系统的开发环境,包括上位机编程/监控环境IDE和下位机运行时环境RTE,IDE部署于工程师站,RTE部署于PLC、DCS等工业控制器。
目前,国内主流行业的工业控制系统,尤其是高端行业应用,大部分仍采用德国西门子Siemens、美国罗克韦尔Rockwell、法国施耐德Schneider等国外产品;工控编程平台主要包括西门子的TIA Portal、STEP7、WinCC,罗克韦尔的RSLogix5000、施耐德的Unity ProXL等,还有很多公司包括中国工控企业还采用了德国CodeSYS的编程平台。
上述产品在设计、开发中几乎完全没有考虑网络安全,存在协议栈脆弱易遭受拒绝服务攻击、指令篡改防范能力弱、易遭受伪源攻击、缺乏身份认证能力、漏洞修补难且慢、易遭受新型漏洞攻击、存在预置后门的可能。这些都对我国的工控行业造成了巨大的安全威胁。
目前针对工控系统安全防护主要采用部署安全网关、工业防火墙、IDS等“外挂补丁式”方案,收效甚微。并且存在一系列典型共性安全问题:j仅在系统运行时进行安全防护,在开发阶段缺少安全机制,程序、数据等面临被泄漏、篡改和破坏的风险。尤其是工控编程平台作为工业控制系统的基础,控制软件和运行时软件均由其产生,其对现场设备与软件具有高管理权限,非法用户极有可能利用工控编程平台作为开发阶段的突破口,导致在工控程序生成、部署等过程中受到非授权访问、嵌入恶意代码等攻击。k在运行阶段,“外挂补丁式”安全防护架构难以与工控系统深度融合,存在对未知“后门”漏洞隐患无法防护、对危险行为的检测策略有限、实时防护响应速度慢、对威胁防护的有效性受限等诸多不足,无法有效应对日益复杂多变的安全威胁。
针对工业控制系统安全防护的研究,国际上,日本欧姆龙公司提出了安全工业控制网络,侧重于现场设备间的安全状态管理,并且通过安全网络系统传输;德国西门子公司构建了用于设备监控、数据采集和用户管理的网络安全管理系统;美国罗克韦尔公司提出了一种多层安全架构的工业控制系统促进网络安全和安全数据访问;德国CodeSYS提出符合IEC 61131-3标准的工控编程平台,提供项目级别的用户权限管理、可执行文件签名等安全保护功能。
在国内,清华大学提出基于量子通信的可信工业控制网络实现方法,并且成功自主研制基于ROS的工控编程平台和基于连续流程图(CFC)的工控低代码编程原型软件;北京邮电大学实现通信模式下的工业控制系统入侵检测方法及安全访问控制;华中科技大学研究实现一种网络攻击下弹性安全工控系统架构;中国科学院沈阳自动化研究所提出了基于标识的轻量级端到端安全通信认证方法。
工业控制系统特别是关键基础设施行业的工业控制系统的高安全、高可靠、高实时性、自主可控要求,迫切需要将安全防护能力内化入工业控制系统和工控编程平台,从根本上解决工业控制系统的全生命周期安全监测与防护难题。但目前使用的编程平台长期缺乏安全需求的推动,对工业以太网环境下存在的安全威胁缺乏充分认识。工控编程平台以及基于此的工控系统在开发阶段缺少安全机制,程序、数据等面临被泄漏、篡改和破坏的风险;在运行阶段存在对未知“后门”漏洞隐患无法防护、对危险行为的检测策略有限、实时防护响应速度慢、对威胁防护的有效性受限等诸多不足。
发明内容
本发明所要解决的技术问题是提供一种基于国密算法的工控编程平台及构建方法与运行方法,使用静态可信认证和动态可信度量的身份认证、基于轻量级国产密码的加密通信、编程平台细粒度访问控制,编程/监控环境安全防护、运行时环境安全防护等关键技术,基于“内生安全”理念和国产密码算法的工控编程平台安全防护框架。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于国密算法的工控编程平台,用于实现对工业控制器的逻辑控制,包括部署于工程师站的安全集成开发系统IDE、以及部署于工业控制器中的安全运行时系统RTE;
安全集成开发系统IDE包括安全策略库、安全管理模块、以及逻辑编程环境子系统,其中,逻辑编程环境子系统用于生成符合用户设计的逻辑控制文件,进而基于安全策略库,由安全管理模块针对逻辑控制文件、以及其所对应用户执行认证加密安全操作;
安全集成开发系统IDE与安全运行时系统RTE之间通过基于国密算法的安全通信协议进行通信;安全运行时系统RTE包括运行时程序子系统、以及由安全集成开发系统IDE下装的安全策略子库,基于安全策略子库,由运行时程序子系统针对来自安全集成开发系统IDE、并执行认证加密安全操作后的逻辑控制文件及其所对应用户,进一步执行验证安全操作;最后将验证通过的逻辑控制文件交由工业控制器进行执行,实现对工业控制器的逻辑控制。
作为本发明的一种优选技术方案:所述安全集成开发系统IDE中的安全策略库包括通用功能块库、工控业务功能块库、安全防护算法库、密码算法库、安全防护策略库、以及知识库,安全集成开发系统IDE中的安全管理模块包括文件加密模块、文件签名/验签模块、完整性保护模块、用户认证模块、安全编译模块、权限管理模块、安全通信模块;
其中,基于安全策略库,由文件加密模块与文件签名/验签模块针对逻辑控制文件执行加密、签名、签名验证操作;
基于安全策略库,由用户认证模块针对逻辑控制文件所对应用户执行用户身份认证;
基于安全策略库,由权限管理模块针对逻辑控制文件所对应用户执行细粒度用户权限管理;
基于安全策略库,由安全通信模块采用基于国密算法的安全通信协议,实现安全集成开发系统IDE与安全运行时系统RTE之间的双向用户身份认证、传输数据的加密,并结合完整性保护模块实现传输数据完整性保护;
基于安全策略库,由安全编译模块针对逻辑控制文件执行安全检查。
作为本发明的一种优选技术方案:所述基于安全策略库,由安全编译模块针对逻辑控制文件执行静态安全检查和动态安全检查;其中,静态安全检查基于预定义安全规则,对逻辑控制文件中语义树进行数据流及控制流分析、并进行安全增强;动态安全检查将逻辑控制文件可执行代码在虚拟机中动态仿真运行,分析脆弱点并进行安全增强。
作为本发明的一种优选技术方案:所述安全运行时系统RTE中由安全集成开发系统IDE下装的安全策略子库包括用户程序、硬件/通信配置文件、安全策略文件、轻量级安全防护算法库、轻量级密码算法库,所述安全运行时系统RTE中运行时程序子系统包括运行态访问许可认证模块、用户程序保护模块、运行模式保护模块、威胁识别模块、安全通信子模块;
其中,基于安全策略子库,由运行态访问许可认证模块对访问运行时系统的用户进行身份认证、以及权限控制;
由用户程序保护模块对安全策略子库中的用户程序进行签名验证和加密保护;
基于安全策略子库,由运行模式保护模块用于区分工业控制器的调试模式和运行模式,并分别进行保护;
基于安全策略子库,由威胁识别模块实现异常报文检测、异常流量检测、异常指令检测和异常行为检测;
基于安全策略子库,由安全通信子模块实现与基于国密算法的工业控制器之间的通信。
作为本发明的一种优选技术方案:所述用户程序包括访问保护与指定功能保护。
作为本发明的一种优选技术方案:若存在至少两个工业控制器,则不同工业控制器之间基于各工业控制器中安全运行时系统RTE实时安全通信,实现数据的汇集或共享。
与上述基于国密算法的工控编程平台相对应,本发明进一步设计实现此工控编程平台的构建方法,包括如下步骤:
步骤A. 在工程师站中的安全集成开发系统IDE中,初始创建工程;
步骤B. 实现安全集成开发系统IDE与所选工业控制器之间的通信连接;
步骤C. 在安全集成开发系统IDE中的逻辑编程环境子系统里,生成符合用户设计的各逻辑控制文件;
步骤D. 在安全集成开发系统IDE中,基于安全策略库,由安全管理模块针对各逻辑控制文件、以及其所对应用户执行认证加密安全操作,并保存该工程;
步骤E. 基于安全策略库,由安全管理模块针对该工程进行编译,若编译失败,则返回步骤C;若编译成功,则生成安全运行时系统RTE、以及各逻辑控制文件,并进入步骤F;
步骤F. 针对安全运行时系统RTE、以及各逻辑控制文件进行在线调试,若调试通过,则进入步骤G;若调试不通过,则返回步骤C;
步骤G. 将安全运行时系统RTE、以及各逻辑控制文件下载部署到所连工业控制器中,完成所设计工控编程平台的构建。
作为本发明的一种优选技术方案:所述步骤B按如下步骤B1至步骤B4,实现安全集成开发系统IDE与所选工业控制器之间的通信连接;
步骤B1. 搭建安全集成开发系统IDE与所选工业控制器之间的连接;
步骤B2. 按预设基础信息设计,针对所连工业控制器进行各基础信息设置;
步骤B3. 按预设通信协议设计,确定安全集成开发系统IDE与所连工业控制器之间的通信协议;
步骤B4. 按预设开发语言设计,确定用于所连工业控制器的开发语言。
与上述基于国密算法的工控编程平台相对应,本发明进一步设计基于此工控编程平台的运行方法,基于内部部署安全运行时系统RTE的目标工业控制器接入工程师站,以及目标工业控制器与工程师站之间的成功双向认证,按如下步骤i至步骤,完成工程师站向目标工业控制器的数据请求;
步骤i. 由工程师站中安全集成开发系统IDE对数据请求进行加密处理,并将数据请求发送至目标工业控制器中的安全运行时系统RTE;
步骤ii. 安全运行时系统RTE对所接收数据请求进行解密,并由目标工业控制器根据数据请求,采集或生成出工程师站需求数据,再由安全运行时系统RTE对工程师站需求数据进行加密、以及签名,然后返回给工程师站;
步骤iii. 工程师站中安全集成开发系统IDE对来自安全运行时系统RTE的工程师站需求数据进行解密、以及验证签名,若解密失败、或者签名验证失败,则丢弃该工程师站需求数据;若解密成功、且签名验证正确,即工程师站成功由目标工业控制器获得其数据请求对应的数据,完成工程师站向目标工业控制器的数据请求。
作为本发明的一种优选技术方案:按如下步骤1至步骤5,完成目标工业控制器与工程师站之间的双向认证;
步骤1. 基于内部部署安全运行时系统RTE的目标工业控制器接入工程师站,由目标工业控制器中安全运行时系统RTE向工程师站的安全集成开发系统IDE发出接入认证请求;
步骤3. 由安全集成开发系统IDE对来自所连目标工业控制器中安全运行时系统RTE的接入认证请求进行认证,并向安全运行时系统RTE返回认证结果、以及发出工程师站认证请求;
步骤4. 由安全运行时系统RTE判断,若对目标工业控制器的认证结果失败,则禁止该目标工业控制器接入工程师站,结束该目标工业控制器的接入运行;若对目标工业控制器的认证结果成功,则进一步由安全运行时系统RTE对工程师站认证请求进行认证,并向安全集成开发系统IDE返回认证结果;
步骤5. 由安全集成开发系统IDE判断,若对工程师站认证请求的认证结果失败,则禁止该目标工业控制器接入工程师站,结束该目标工业控制器的接入运行;若对工程师站认证请求的认证结果成功,则允许该目标工业控制器接入工程师站。
本发明所述一种基于国密算法的工控编程平台及构建方法与运行方法,采用以上技术方案与现有技术相比,具有以下技术效果:
1)本发明所设计一种基于国密算法的工控编程平台及构建方法与运行方法,以国密算法为核心,实现具备内生安全防护能力的安全集成开发系统IDE与安全运行时系统RTE,其中,通过在工程师站部署具备重要文件加密及认证保护、强身份认证、工程对象级的细粒度访问控制、安全通信、安全编译等安全功能的IDE,实现安全组态编程、运行时配置和仿真调试;并且在工业控制器部署具备运行态访问许可认证、程序来源验证、防逆向保护、安全通信、威胁识别等安全功能的RTE,实现控制器运行时内生安全防护。基于安全集成开发系统IDE,实现工控系统开发、部署、运行和更新等全生命周期的安全防护;
2)本发明所设计一种基于国密算法的工控编程平台及构建方法与运行方法,将目前主流的“外挂补丁式”安全防护机制向“内生安全”机制转变,解决传统防护机制对未知“后门”漏洞隐患无法防护、危险行为检测策略有限、实时防护响应速度慢、威胁防护有效性受限等诸多不足,有效提升工业控制系统内生安全防护能力,并且作为基础设施运行的“神经中枢”,通过内置安全防护功能,能够解决工控系统面临的巨大安全威胁,增强关键基础设施的安全综合防护能力,并能够广泛应用于轨道交通、智能制造等关键工业领域。
附图说明
图1是本发明设计基于国密算法的工控编程平台的架构示意图;
图2是本发明设计实现基于国密算法的工控编程平台的构建方法流程示意图;
图3是本发明设计基于国密算法的工控编程平台的运行方法示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明设计了一种基于国密算法的工控编程平台,用于实现对工业控制器的逻辑控制,如图1所示,包括部署于工程师站的安全集成开发系统IDE、以及部署于工业控制器中的安全运行时系统RTE。
安全集成开发系统IDE包括安全策略库、安全管理模块、以及逻辑编程环境子系统,其中,逻辑编程环境子系统用于生成符合用户设计的逻辑控制文件,进而基于安全策略库,由安全管理模块针对逻辑控制文件、以及其所对应用户执行认证加密安全操作;
安全集成开发系统IDE与安全运行时系统RTE之间通过基于国密算法的安全通信协议进行通信;安全运行时系统RTE包括运行时程序子系统、以及由安全集成开发系统IDE下装的安全策略子库,基于安全策略子库,由运行时程序子系统针对来自安全集成开发系统IDE、并执行认证加密安全操作后的逻辑控制文件及其所对应用户,进一步执行验证安全操作;最后将验证通过的逻辑控制文件交由工业控制器进行执行,实现对工业控制器的逻辑控制。
应用中,如图1所示,安全集成开发系统IDE中的逻辑编程环境子系统包括工程管理、组态工具、安全编译工具、硬件/网络/安全配置工具、调试工具;安全集成开发系统IDE中的安全策略库包括通用功能块库、工控业务功能块库、安全防护算法库、密码算法库、安全防护策略库、以及知识库,安全集成开发系统IDE中的安全管理模块包括文件加密模块、文件签名/验签模块、完整性保护模块、用户认证模块、安全编译模块、权限管理模块、安全通信模块。
其中,基于安全策略库,由文件加密模块与文件签名/验签模块针对逻辑控制文件执行加密、签名、签名验证操作,如应用源代码文件、工程文件、库文件、设备描述文件、.dll、.exe、GAC等,第三方IEC库文件签名验证。
基于安全策略库,由用户认证模块基于基于SM2数字证书,针对逻辑控制文件所对应用户执行用户身份认证。
基于安全策略库,由权限管理模块针对逻辑控制文件所对应用户执行细粒度用户权限管理,实现工程级别用户权限管理,用户访问工程时需输入口令或插入USBKey,对工程中特定对象(如任务、程序组织单元、方法、全局变量等创建)或已存在对象(如工程设置、已分配的POU、任务等)的访问进行访问控制保护。
基于安全策略库,由安全通信模块采用基于国密算法的安全通信协议,实现安全集成开发系统IDE与安全运行时系统RTE之间的双向用户身份认证、传输数据的加密,并结合完整性保护模块实现传输数据完整性保护。
基于安全策略库,由安全编译模块针对逻辑控制文件执行静态安全检查和动态安全检查;其中,静态安全检查基于预定义安全规则,对逻辑控制文件中语义树进行数据流及控制流分析、并进行安全增强;动态安全检查将逻辑控制文件可执行代码在虚拟机中动态仿真运行,分析脆弱点并进行安全增强。
如图1所示,安全运行时系统RTE中由安全集成开发系统IDE下装的安全策略子库包括用户程序、硬件/通信配置文件、安全策略文件、轻量级安全防护算法库、轻量级密码算法库,用户程序包括访问保护与指定功能保护;所述安全运行时系统RTE中运行时程序子系统包括运行态访问许可认证模块、用户程序保护模块、运行模式保护模块、威胁识别模块、安全通信子模块。
其中,基于安全策略子库,由运行态访问许可认证模块对访问运行时系统的用户进行身份认证、以及权限控制。
由用户程序保护模块对安全策略子库中的用户程序进行签名验证和加密保护,确定用户的来源合法、以及防止逆向工程。
基于安全策略子库,由运行模式保护模块用于区分工业控制器的调试模式和运行模式,并分别进行保护,其中,一旦进行运行模式便不再接受上位机干预。
基于安全策略子库,由威胁识别模块实现异常报文检测、异常流量检测、异常指令检测和异常行为检测。
基于安全策略子库,由安全通信子模块实现与基于国密算法的工业控制器之间的通信,具体基于国密算法的控制器与集成开发环境和HMI间的非实时安全通信,基于轻量级算法的控制器与控制器间的实时安全通信。
安全集成开发系统IDE与安全运行时系统RTE采用基于国密算法的安全通信协议通信,能够对工程师站和工业控制器进行双向身份认证,确保通信双方身份合法;对下装到工业控制器的用户程序及各类文件进行完整性保护和签名验证,确保用户程序来源合法和未被恶意篡改;对各类通信数据进行加密和完整性保护,确保数据的完整、可信。安全集成开发系统IDE与安全运行时系统RTE间的安全通信机制可实现工控系统部署和更新的安全。
实际应用中,安全集成开发系统IDE与安全运行时系统RTE之间的安全交互功能设计如下:
1)安全IDE和安全RTE通过基于国密算法实现的安全通信协议进行非实时安全通信,实现用户程序和各类配置文件、库文件的安全下装和更新,以及数据的安全传输。
2)不同工业控制器间基于安全RTE提供的安全通信功能进行实时安全通信,实现数据的汇集或共享。
基于国密算法的工控编程平台安全防护方法通过构建安全IDE、安全RTE以及IDE与RTE间的安全通信机制,实现工控系统开发、部署、运行、更新全生命周期的安全防护。
上述设计基于国密算法的工控编程平台在实际应用当中,诸如设计存在至少两个工业控制器,则不同工业控制器之间基于各工业控制器中安全运行时系统RTE实时安全通信,实现数据的汇集或共享。
与上述基于国密算法的工控编程平台相对应,如图2所示,本发明进一步设计实现此工控编程平台的构建方法,工控安全编程平台通过安全集成开发系统IDE将接入认证、通信加密等安全组件编译到工业控制器的运行时,为工业控制器生成安全运行时系统RTE,包括如下步骤。
步骤A. 在工程师站中的安全集成开发系统IDE中,初始创建工程。
步骤B. 实现安全集成开发系统IDE与所选工业控制器之间的通信连接。
实际应用中,上述步骤B按如下步骤B1至步骤B4,实现安全集成开发系统IDE与所选工业控制器之间的通信连接。
步骤B1. 搭建安全集成开发系统IDE与所选工业控制器之间的连接;
步骤B2. 按预设基础信息设计,针对所连工业控制器进行各基础信息设置;
步骤B3. 按预设通信协议设计,确定安全集成开发系统IDE与所连工业控制器之间的通信协议;
步骤B4. 按预设开发语言设计,确定用于所连工业控制器的开发语言。
步骤C. 在安全集成开发系统IDE中的逻辑编程环境子系统里,生成符合用户设计的各逻辑控制文件。
步骤D. 在安全集成开发系统IDE中,基于安全策略库,由安全管理模块针对各逻辑控制文件、以及其所对应用户执行认证加密安全操作,并保存该工程。
步骤E. 基于安全策略库,由安全管理模块针对该工程进行编译,若编译失败,则返回步骤C;若编译成功,则生成安全运行时系统RTE、以及各逻辑控制文件,并进入步骤F。
步骤F. 针对安全运行时系统RTE、以及各逻辑控制文件进行在线调试,若调试通过,则进入步骤G;若调试不通过,则返回步骤C。
步骤G. 将安全运行时系统RTE、以及各逻辑控制文件下载部署到所连工业控制器中,完成所设计工控编程平台的构建。
将上述基于国密算法的工控编程平台运行于实际当中,基于内部部署安全运行时系统RTE的目标工业控制器接入工程师站,以及目标工业控制器与工程师站之间的成功双向认证,按图3所示,执行如下步骤i至步骤iii,完成工程师站向目标工业控制器的数据请求。
步骤i. 由工程师站中安全集成开发系统IDE对数据请求进行加密处理,并将数据请求发送至目标工业控制器中的安全运行时系统RTE。
步骤ii. 安全运行时系统RTE对所接收数据请求进行解密,并由目标工业控制器根据数据请求,采集或生成出工程师站需求数据,再由安全运行时系统RTE对工程师站需求数据进行加密、以及签名,然后返回给工程师站。
步骤iii. 工程师站中安全集成开发系统IDE对来自安全运行时系统RTE的工程师站需求数据进行解密、以及验证签名,若解密失败、或者签名验证失败,则丢弃该工程师站需求数据;若解密成功、且签名验证正确,即工程师站成功由目标工业控制器获得其数据请求对应的数据,完成工程师站向目标工业控制器的数据请求。
实际应用中,按如下步骤1至步骤5,完成目标工业控制器与工程师站之间的双向认证。
步骤1. 基于内部部署安全运行时系统RTE的目标工业控制器接入工程师站,由目标工业控制器中安全运行时系统RTE向工程师站的安全集成开发系统IDE发出接入认证请求。
步骤3. 由安全集成开发系统IDE对来自所连目标工业控制器中安全运行时系统RTE的接入认证请求进行认证,并向安全运行时系统RTE返回认证结果、以及发出工程师站认证请求。
步骤4. 由安全运行时系统RTE判断,若对目标工业控制器的认证结果失败,则禁止该目标工业控制器接入工程师站,结束该目标工业控制器的接入运行;若对目标工业控制器的认证结果成功,则进一步由安全运行时系统RTE对工程师站认证请求进行认证,并向安全集成开发系统IDE返回认证结果。
步骤5. 由安全集成开发系统IDE判断,若对工程师站认证请求的认证结果失败,则禁止该目标工业控制器接入工程师站,结束该目标工业控制器的接入运行;若对工程师站认证请求的认证结果成功,则允许该目标工业控制器接入工程师站。
上述技术方案所设计一种基于国密算法的工控编程平台及构建方法与运行方法,以国密算法为核心,实现具备内生安全防护能力的安全集成开发系统IDE与安全运行时系统RTE,其中,通过在工程师站部署具备重要文件加密及认证保护、强身份认证、工程对象级的细粒度访问控制、安全通信、安全编译等安全功能的IDE,实现安全组态编程、运行时配置和仿真调试;并且在工业控制器部署具备运行态访问许可认证、程序来源验证、防逆向保护、安全通信、威胁识别等安全功能的RTE,实现控制器运行时内生安全防护。基于安全集成开发系统IDE,实现工控系统开发、部署、运行和更新等全生命周期的安全防护。
本发明所设计一种基于国密算法的工控编程平台及构建方法与运行方法,将目前主流的“外挂补丁式”安全防护机制向“内生安全”机制转变,解决传统防护机制对未知“后门”漏洞隐患无法防护、危险行为检测策略有限、实时防护响应速度慢、威胁防护有效性受限等诸多不足,有效提升工业控制系统内生安全防护能力,并且作为基础设施运行的“神经中枢”,通过内置安全防护功能,能够解决工控系统面临的巨大安全威胁,增强关键基础设施的安全综合防护能力,并能够广泛应用于轨道交通、智能制造等关键工业领域。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (9)
1.一种基于国密算法的工控编程平台,用于实现对工业控制器的逻辑控制,其特征在于:包括部署于工程师站的安全集成开发系统IDE、以及部署于工业控制器中的安全运行时系统RTE;
安全集成开发系统IDE包括安全策略库、安全管理模块、以及逻辑编程环境子系统,其中,逻辑编程环境子系统用于生成符合用户设计的逻辑控制文件,进而基于安全策略库,由安全管理模块针对逻辑控制文件、以及其所对应用户执行认证加密安全操作;
安全集成开发系统IDE与安全运行时系统RTE之间通过基于国密算法的安全通信协议进行通信;安全运行时系统RTE包括运行时程序子系统、以及由安全集成开发系统IDE下装的安全策略子库,基于安全策略子库,由运行时程序子系统针对来自安全集成开发系统IDE、并执行认证加密安全操作后的逻辑控制文件及其所对应用户,进一步执行验证安全操作;其中,安全管理模块包括文件加密模块、文件签名/验签模块、安全编译模块,基于安全策略库,由文件加密模块与文件签名/验签模块针对逻辑控制文件执行加密、签名、签名验证操作;基于安全策略库,由安全编译模块针对逻辑控制文件执行静态安全检查和动态安全检查;其中,静态安全检查基于预定义安全规则,对逻辑控制文件中语义树进行数据流及控制流分析、并进行安全增强;动态安全检查将逻辑控制文件可执行代码在虚拟机中动态仿真运行,分析脆弱点并进行安全增强;
最后将验证通过的逻辑控制文件交由工业控制器进行执行,实现对工业控制器的逻辑控制。
2.根据权利要求1所述一种基于国密算法的工控编程平台,其特征在于:所述安全集成开发系统IDE中的安全策略库包括通用功能块库、工控业务功能块库、安全防护算法库、密码算法库、安全防护策略库、以及知识库,安全集成开发系统IDE中的安全管理模块还包括完整性保护模块、用户认证模块、权限管理模块、安全通信模块;
其中,基于安全策略库,由用户认证模块针对逻辑控制文件所对应用户执行用户身份认证;基于安全策略库,由权限管理模块针对逻辑控制文件所对应用户执行细粒度用户权限管理;
基于安全策略库,由安全通信模块采用基于国密算法的安全通信协议,实现安全集成开发系统IDE与安全运行时系统RTE之间的双向用户身份认证、传输数据的加密,并结合完整性保护模块实现传输数据完整性保护;
基于安全策略库,由安全编译模块针对逻辑控制文件执行安全检查。
3.根据权利要求1所述一种基于国密算法的工控编程平台,其特征在于:所述安全运行时系统RTE中由安全集成开发系统IDE下装的安全策略子库包括用户程序、硬件/通信配置文件、安全策略文件、轻量级安全防护算法库、轻量级密码算法库,所述安全运行时系统RTE中运行时程序子系统包括运行态访问许可认证模块、用户程序保护模块、运行模式保护模块、威胁识别模块、安全通信子模块;
其中,基于安全策略子库,由运行态访问许可认证模块对访问运行时系统的用户进行身份认证、以及权限控制;
由用户程序保护模块对安全策略子库中的用户程序进行签名验证和加密保护;
基于安全策略子库,由运行模式保护模块用于区分工业控制器的调试模式和运行模式,并分别进行保护;
基于安全策略子库,由威胁识别模块实现异常报文检测、异常流量检测、异常指令检测和异常行为检测;
基于安全策略子库,由安全通信子模块实现与基于国密算法的工业控制器之间的通信。
4.根据权利要求3所述一种基于国密算法的工控编程平台,其特征在于:所述用户程序包括访问保护与指定功能保护。
5.根据权利要求1所述一种基于国密算法的工控编程平台,其特征在于:若存在至少两个工业控制器,则不同工业控制器之间基于各工业控制器中安全运行时系统RTE实时安全通信,实现数据的汇集或共享。
6.实现权利要求1至5中任意一项所述一种基于国密算法的工控编程平台的构建方法,其特征在于,包括如下步骤:
步骤A.在工程师站中的安全集成开发系统IDE中,初始创建工程;
步骤B.实现安全集成开发系统IDE与所选工业控制器之间的通信连接;
步骤C.在安全集成开发系统IDE中的逻辑编程环境子系统里,生成符合用户设计的各逻辑控制文件;
步骤D.在安全集成开发系统IDE中,基于安全策略库,由安全管理模块针对各逻辑控制文件、以及其所对应用户执行认证加密安全操作,并保存该工程;
步骤E.基于安全策略库,由安全管理模块针对该工程进行编译,若编译失败,则返回步骤C;若编译成功,则生成安全运行时系统RTE、以及各逻辑控制文件,并进入步骤F;
步骤F.针对安全运行时系统RTE、以及各逻辑控制文件进行在线调试,若调试通过,则进入步骤G;若调试不通过,则返回步骤C;
步骤G.将安全运行时系统RTE、以及各逻辑控制文件下载部署到所连工业控制器中,完成所设计工控编程平台的构建。
7.根据权利要求6所述一种基于国密算法的工控编程平台的构建方法,其特征在于:所述步骤B按如下步骤B1至步骤B4,实现安全集成开发系统IDE与所选工业控制器之间的通信连接;
步骤B1.搭建安全集成开发系统IDE与所选工业控制器之间的连接;
步骤B2.按预设基础信息设计,针对所连工业控制器进行各基础信息设置;
步骤B3.按预设通信协议设计,确定安全集成开发系统IDE与所连工业控制器之间的通信协议;
步骤B4.按预设开发语言设计,确定用于所连工业控制器的开发语言。
8.基于权利要求1至5中任意一项所述一种基于国密算法的工控编程平台的运行方法,其特征在于:基于内部部署安全运行时系统RTE的目标工业控制器接入工程师站,以及目标工业控制器与工程师站之间的成功双向认证,按如下步骤i至步骤,完成工程师站向目标工业控制器的数据请求;
步骤i.由工程师站中安全集成开发系统IDE对数据请求进行加密处理,并将数据请求发送至目标工业控制器中的安全运行时系统RTE;
步骤ii.安全运行时系统RTE对所接收数据请求进行解密,并由目标工业控制器根据数据请求,采集或生成出工程师站需求数据,再由安全运行时系统RTE对工程师站需求数据进行加密、以及签名,然后返回给工程师站;
步骤iii.工程师站中安全集成开发系统IDE对来自安全运行时系统RTE的工程师站需求数据进行解密、以及验证签名,若解密失败、或者签名验证失败,则丢弃该工程师站需求数据;若解密成功、且签名验证正确,即工程师站成功由目标工业控制器获得其数据请求对应的数据,完成工程师站向目标工业控制器的数据请求。
9.根据权利要求8所述一种基于国密算法的工控编程平台的运行方法,其特征在于:按如下步骤1至步骤5,完成目标工业控制器与工程师站之间的双向认证;
步骤1.基于内部部署安全运行时系统RTE的目标工业控制器接入工程师站,由目标工业控制器中安全运行时系统RTE向工程师站的安全集成开发系统IDE发出接入认证请求;
步骤3.由安全集成开发系统IDE对来自所连目标工业控制器中安全运行时系统RTE的接入认证请求进行认证,并向安全运行时系统RTE返回认证结果、以及发出工程师站认证请求;
步骤4.由安全运行时系统RTE判断,若对目标工业控制器的认证结果失败,则禁止该目标工业控制器接入工程师站,结束该目标工业控制器的接入运行;若对目标工业控制器的认证结果成功,则进一步由安全运行时系统RTE对工程师站认证请求进行认证,并向安全集成开发系统IDE返回认证结果;
步骤5.由安全集成开发系统IDE判断,若对工程师站认证请求的认证结果失败,则禁止该目标工业控制器接入工程师站,结束该目标工业控制器的接入运行;若对工程师站认证请求的认证结果成功,则允许该目标工业控制器接入工程师站。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211561228.9A CN115580491B (zh) | 2022-12-07 | 2022-12-07 | 一种基于国密算法的工控编程平台及构建方法与运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211561228.9A CN115580491B (zh) | 2022-12-07 | 2022-12-07 | 一种基于国密算法的工控编程平台及构建方法与运行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115580491A CN115580491A (zh) | 2023-01-06 |
CN115580491B true CN115580491B (zh) | 2023-04-07 |
Family
ID=84590149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211561228.9A Active CN115580491B (zh) | 2022-12-07 | 2022-12-07 | 一种基于国密算法的工控编程平台及构建方法与运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115580491B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115871754B (zh) * | 2023-03-08 | 2023-07-21 | 北京全路通信信号研究设计院集团有限公司 | 轨道交通控制信号系统、检测方法、装置、设备及介质 |
CN116663075B (zh) * | 2023-07-24 | 2023-12-15 | 信联科技(南京)有限公司 | 一种基于国密算法的工控编程平台安全通信方法及系统 |
CN118034229A (zh) * | 2024-04-15 | 2024-05-14 | 信联科技(南京)有限公司 | 一种面向开放场景的安全工业控制系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317236A (zh) * | 2014-09-29 | 2015-01-28 | 上海电机学院 | 基于软plc技术的无线传感器网络控制终端 |
CN112631210A (zh) * | 2019-09-24 | 2021-04-09 | 罗克韦尔自动化技术公司 | 用于开发工业控制程序的系统、编程方法及计算机介质 |
CN112988508A (zh) * | 2021-03-04 | 2021-06-18 | 浙江中控研究院有限公司 | 一种基于内存隔离的可信plc嵌入式系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210333B2 (en) * | 2016-06-30 | 2019-02-19 | General Electric Company | Secure industrial control platform |
CN110891063B (zh) * | 2019-11-30 | 2022-04-29 | 信联科技(南京)有限公司 | 一种基于安全智能控制器的安全工业控制系统 |
CN115344000A (zh) * | 2021-05-14 | 2022-11-15 | 中国电子信息产业集团有限公司第六研究所 | 一种基于信息编码技术的plc控制逻辑安全防护方法 |
CN114859810A (zh) * | 2022-05-19 | 2022-08-05 | 北京和利时智能技术有限公司 | 一种组态工程安全下装的系统及其方法 |
-
2022
- 2022-12-07 CN CN202211561228.9A patent/CN115580491B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317236A (zh) * | 2014-09-29 | 2015-01-28 | 上海电机学院 | 基于软plc技术的无线传感器网络控制终端 |
CN112631210A (zh) * | 2019-09-24 | 2021-04-09 | 罗克韦尔自动化技术公司 | 用于开发工业控制程序的系统、编程方法及计算机介质 |
CN112988508A (zh) * | 2021-03-04 | 2021-06-18 | 浙江中控研究院有限公司 | 一种基于内存隔离的可信plc嵌入式系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115580491A (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115580491B (zh) | 一种基于国密算法的工控编程平台及构建方法与运行方法 | |
Waidner et al. | Security in industrie 4.0-challenges and solutions for the fourth industrial revolution | |
McLaughlin et al. | The cybersecurity landscape in industrial control systems | |
CN109726588B (zh) | 基于信息隐藏的隐私保护方法和系统 | |
McMinn et al. | A firmware verification tool for programmable logic controllers | |
Pan et al. | Review of PLC security issues in industrial control system | |
CN109284585A (zh) | 一种脚本加密方法、脚本解密运行方法和相关装置 | |
Liu et al. | ShadowPLCs: A novel scheme for remote detection of industrial process control attacks | |
Zubair et al. | Control logic obfuscation attack in industrial control systems | |
Homay et al. | A security and authentication layer for SCADA/DCS applications | |
CN115097807A (zh) | 面向可编程逻辑控制器的内存攻击检测方法及系统 | |
CN115344000A (zh) | 一种基于信息编码技术的plc控制逻辑安全防护方法 | |
CN110611659B (zh) | 一种电力监控系统业务本质保护方法、装置及系统 | |
CN117390603A (zh) | 基于前端代码加密的访问方法、装置、电子设备及介质 | |
Wu et al. | Research on programmable logic controller security | |
Alsabbagh et al. | Investigating the Security of OpenPLC: Vulnerabilities, Attacks, and Mitigation Solutions | |
Crowther et al. | Securing Over-the-Air Firmware Updates (FOTA) for Industrial Internet of Things (IIOT) Devices | |
Sha et al. | Catching escapers: A detection method for advanced persistent escapers in industry Internet of Things based on Identity-based Broadcast Encryption (IBBE) | |
Ye et al. | Position paper: On using trusted execution environment to secure COTS devices for accessing industrial control systems | |
Vargas et al. | A tiered security analysis of industrial control system devices | |
Wetzels et al. | Insecure by design in the backbone of critical infrastructure | |
CN112668025A (zh) | 一种漏洞挖掘管理方法、系统、设备及可读存储介质 | |
Xu et al. | Toward a secure android software protection system | |
Qin et al. | TICS: Trusted industry control system based on hardware security module | |
DONG et al. | Sesoa: Security enhancement system with online authentication for android apk |
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 |