CN112948086B - 一种可信plc控制系统 - Google Patents
一种可信plc控制系统 Download PDFInfo
- Publication number
- CN112948086B CN112948086B CN202110239565.5A CN202110239565A CN112948086B CN 112948086 B CN112948086 B CN 112948086B CN 202110239565 A CN202110239565 A CN 202110239565A CN 112948086 B CN112948086 B CN 112948086B
- Authority
- CN
- China
- Prior art keywords
- trusted
- hardware
- control system
- plc control
- embedded
- 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
- 238000002955 isolation Methods 0.000 claims abstract description 83
- 230000006854 communication Effects 0.000 claims abstract description 63
- 238000004891 communication Methods 0.000 claims abstract description 60
- 238000005516 engineering process Methods 0.000 claims abstract description 52
- 238000012544 monitoring process Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 25
- 230000007246 mechanism Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000004088 simulation Methods 0.000 claims description 4
- 230000026676 system process Effects 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 claims description 2
- 230000010363 phase shift Effects 0.000 claims 1
- 230000006399 behavior Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 239000000306 component Substances 0.000 description 6
- 241000700605 Viruses Species 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000005784 autoimmunity Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种可信PLC控制系统通过加入可信硬件技术与可信软件技术,在安全隔离模块基础上建立了软硬件隔离区,从硬件内存隔离、轻量级可信启动、嵌入式可信运行、实时动态监测防护以及安全通信等方面建立了一整套PLC可信硬件软件方案。其中,嵌入式可信硬件包括安全区硬件、隔离区硬件及非安全区硬件,安全区硬件构成所述PLC控制系统的嵌入式最小可运行系统,非安全区硬件实现PLC控制系统的外部通讯和存储,隔离区硬件以安全隔离模块为可信根,通过管路保护及隔离技术将安全区硬件与非安全区硬件进行连接,构成可信的通信接口和通信链路。通过本发明提供的可信PLC控制系统可实现PLC控制系统的“内生安全”,并且不影响系统的运行效率。
Description
技术领域
本发明属于工业控制自动化的技术领域,尤其涉及一种可信PLC控制系统。
背景技术
目前,PLC控制系统的主要安全防护手段仍为传统的节点安全防护与边界安全防护方式,主要针对上位机网络连接与现场协议层,即采用杀毒软件与系统漏洞扫描工具进行节点防护,采用控制协议监控与过滤方式进行边界防护,然而这些方式并不能从根本上解决PLC系统“内生安全”问题,无法应对新出现的病毒、漏洞和攻击,且会导致病毒库越来越庞大、安全系统越来越复杂等问题。
发明内容
本发明的目的是提供一种可信PLC控制系统,基于内存数据隔离机制和安全隔离模块建立了PLC嵌入式可信执行环境,通过软、硬件协同的安全机制在嵌入式系统中实现隔离的、安全的、独立的程序运行环境,为不可信环境中的隐私数据和敏感计算提供一个安全空间,从而实现PLC控制系统的“内生安全”。
为解决上述问题,本发明的技术方案为:
一种可信PLC控制系统,包括嵌入式可信硬件、嵌入式可信操作系统;
所述嵌入式可信硬件包括安全区硬件、隔离区硬件及非安全区硬件,所述安全区硬件构成所述PLC控制系统的嵌入式最小可运行系统,所述非安全区硬件实现PLC控制系统的外部通讯和存储,所述隔离区硬件以安全隔离模块为可信根,通过管路保护及隔离技术将安全区硬件与非安全区硬件进行连接,构成可信的通信接口和通信链路;
所述嵌入式可信操作系统包括嵌入式可信微内核,所述嵌入式可信微内核以所述安全隔离模块为可信根,对PLC控制系统的启动、可信应用程序的执行及可信外部通信的建立,进行逐级认证,构建PLC可信执行环境。
根据本发明一实施例,所述安全区硬件包括CPU、存储BootROM专用的Flash及RAM,所述非安全区硬件包括存储器、ExRAM、以太网及串口。
根据本发明一实施例,所述嵌入式可信硬件基于内存隔离技术将内存地址划分为普通区地址及安全区地址;
当CPU的请求涉及普通区地址时,所述安全隔离模块采用高速透传的方式进行数据传输;
当CPU的请求涉及安全区地址时,所述安全隔离模块对需要传输的数据进行安全性及正确性验证后,再传输。
根据本发明一实施例,所述嵌入式可信硬件包括逻辑控制器,所述逻辑控制器用于控制所述安全区硬件及非安全区硬件对RAM或ExRAM的访问权限。
根据本发明一实施例,所述嵌入式可信微内核在PLC控制系统的启动时,通过嵌入式系统启动技术及可信Flash数据读写技术,实现PLC控制系统在十秒内快速启动。
根据本发明一实施例,所述嵌入式系统启动技术及可信Flash数据读写技术通过TPM模块实现;
在BootROM程序加载过程中,TPM模块连接所述安全隔离模块;
BootROM程序启动后,执行硬件自检;同时,TPM模块对存储器中的固件程序进行度量,若未发现异常,则开启CPU与存储器之间的透传通道。
根据本发明一实施例,在BootROM加载可信的存储器固件到RAM,并在RAM中启动BSP驱动的过程中,所述嵌入式可信微内核进行系统进程的初始化,并开启监控器、区间通讯及PLC运行时序;
所述TPM模块通过非对称加解密算法验证存储器中的用户存储数据的合法性,若验证通过,则将用户存储数据的接口通过安全隔离模块透传给 CPU。
根据本发明一实施例,在对存储器中的数据进行可信读写的过程中,安全隔离模块的I/O接口连接CPU,所述安全隔离模块通过时序模拟将CPU的读写操作指令转发到存储器,并对存储器的数据进行校验,实现可信读写。
根据本发明一实施例,所述嵌入式可信微内核通过安全任务调度机制、任务监控器、安全数据访问、堆栈备份与恢复、区间通讯、安全内存访问六项安全机制与技术,并配合安全隔离模块实现高效的安全数据传输。
根据本发明一实施例,所述嵌入式可信操作系统还包括实时动态监测防护模块,所述实时动态监测防护模块基于可信计算的动态完整性检查实现 PLC控制系统的动态监测防护。
本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
1)本发明一实施例中的可信PLC控制系统,针对现有的PLC控制系统无法应对新出现的病毒、漏洞和攻击,且会导致病毒库越来越庞大、安全系统越来越复杂等问题,通过安全隔离模块将硬件划分为安全区硬件和非安全区硬件,基于内存数据隔离机制,通过嵌入式可信硬件与嵌入式可信操作系统协同的安全机制实现隔离的、安全的、独立的PLC运行环境,为不可信环境中的隐私数据和敏感计算提供一个安全空间,从而实现PLC控制系统的“内生安全”。
2)本发明一实施例中的可信PLC控制系统,针对PLC控制系统的硬件结构和工作周期,提出三区域两阶段可信体系架构,将PLC工作过程分为启动和运行两个阶段,通过增加防护隔离区实现硬件结构的安全区和非安全区隔离,通过嵌入式可信微内核、TPM模块对数据的安全性及正确性进行验证,实现基于安全隔离模块的PLC控制系统全运行周期可信安全。
3)本发明一实施例中的可信PLC控制系统,基于内存隔离的嵌入式可信硬件技术,对内存地址进行可信分离,划分成普通区和安全区,当CPU的请求不涉及安全时,则安全隔离模块采用高速透传的方式;当CPU的请求涉及到安全时,安全隔离模块采用轻量级算法等方法对数据进行加解密并检查数据的正确性,在几乎不影响控制系统运行速度的基础上保证系统的安全性。此外,系统从逻辑上保证安全区程序可以访问RAM与ExRAM,非安全区程序只能访问ExRAM,进一步保障了安全区的数据安全。
附图说明
图1为本发明一实施例中的可信PLC控制系统示意图;
图2为本发明一实施例中的可信PLC控制系统的三区域两阶段架构图;
图3为本发明一实施例中的嵌入式可信硬件示意图;
图4为本发明一实施例中的嵌入式可信微内核示意图;
图5为本发明一实施例中的可信启动示意图;
图6为本发明一实施例中的安全隔离模块示意图;
图7为本发明一实施例中的嵌入式可信技术示意图;
图8为本发明一实施例中的动态完整性检查架构图;
图9为本发明一实施例中的可信通信接口及链路示意图;
图10为本发明一实施例中的密码向量更新机制示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种可信PLC控制系统作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
PLC控制系统安全可信的关键在于其核心单元嵌入式系统的安全可信,本发明基于PLC控制系统的实际需求,在安全隔离模块基础上建立了软硬件隔离区,设计了全新的可信PLC控制系统,基于内存数据隔离机制和安全隔离模块建立了PLC嵌入式可信执行环境,通过软、硬件协同的安全机制在嵌入式系统中实现隔离的、安全的、独立的程序运行环境,为不可信环境中的隐私数据和敏感计算提供一个安全空间,并通过完整性度量机制使PLC控制系统的运行时软件具备分辨可信程序代码与不可信程序代码的能力,对不可信的程序代码建立有效的防治方法和措施,从而实现控制系统的“内生安全”。
具体的,请参看图1,可信PLC控制系统基于PLC嵌入式可信执行环境,由嵌入式可信硬件、嵌入式可信操作系统、嵌入式可信应用层构成。
嵌入式可信硬件在嵌入式控制器的基础上增加具有数据加解密、完整性检查、校验和内存隔离等功能的安全隔离模块,将数据在安全硬件和非安全硬件之间实现隔离。
嵌入式可信操作系统在传统嵌入式实时操作系统的基础上,通过可信嵌入式系统启动、可信Flash数据读写实现轻量级可信启动,通过安全任务调度、安全数据访问、区间通讯、任务监控器、堆栈备份与恢复、安全内存访问等安全机制实现嵌入式可信,在对系统性能几乎没有影响的基础上组成嵌入式可信微内核。
嵌入式可信应用层在PLC运行时软件基础上,将用户算法、用户通讯、用户存储等不可信的应用程序通过构建包含网络通讯程序、故障检测程序、总线通讯程序的可信应用程序和包含身份认证组件、对称/非对称加密组件、 Hash算法组件、入侵检测组件的可信应用组件,实现PLC关键应用程序的安全可信。
针对PLC控制系统的硬件结构和工作周期,本发明提出三区域两阶段可信体系架构,请参看图2。将PLC工作过程分为启动和运行两个阶段,并分别设计了各流程步骤,通过增加防护隔离区实现硬件结构的安全区和非安全区隔离,在一系列机制措施基础上确保了关键信息的安全可信,实现基于安全隔离模块的PLC控制系统全运行周期可信安全。
其中,嵌入式可信硬件设计将硬件划分为安全区硬件和非安全区硬件,请参看图3。安全区硬件包括CPU芯片、存储BootROM专用的Flash芯片、 RAM芯片等,这些硬件组成嵌入式最小可运行系统;非安全区硬件包括存储器、ExRAM、以太网、串口等,实现外部通讯和存储功能,容易受到外部数据的入侵和破坏。以安全隔离模块作为可信根,基于专用芯片构建防护隔离区实现两个区间的隔离,通过管路保护与隔离技术、专用芯片双口RAM 技术、时序仿真技术等将安全区和非安全区进行连接,保障可信的通信接口和链路,并通过身份认证、hash验证、对称加密/非对称加密等技术实现外界数据安全交换。
基于内存隔离的嵌入式可信硬件可保证数据的高速访问,实现不影响嵌入式系统运行实时性基础上的PLC嵌入式硬件可信安全。对内存地址进行可信分离,划分成普通区和安全区,当CPU的请求不涉及安全时,则安全隔离模块采用高速透传的方式;当CPU的请求涉及到安全时,安全隔离模块采用轻量级算法等方法对数据进行加解密并检查数据的正确性,在几乎不影响控制系统运行速度的基础上保证系统的安全性。此外,嵌入式可信硬件还包括逻辑控制模块,从逻辑上保证安全区程序可以访问RAM与ExRAM,非安全区程序只能访问ExRAM,进一步保障了安全区的数据安全。这里的透传为透明传输(pass-through),指的是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。
嵌入式可信微内核在传统嵌入式实时OS内核基础上优化操作系统空间,并采用轻量级可信启动技术与嵌入式可信技术保障嵌入式操作系统层面的安全可信。其中,轻量级是相对于重量级的一种说法,如在软件方法中,通常有用来编写计算机程序的一套规则和惯例。重量级方法具有很多规则、惯例、和文档,正确地遵循它们需要训练及时间;而轻量级方法仅具有很少的一些规则和惯例,或者说,这些规则和惯例遵守起来很容易。嵌入式可信微内核框图请参看图4。
其中,轻量级可信启动技术以安全隔离模块为信任根起点,从系统加电开始,到固件加载、可信微内核开启和可信运行环境的建立,再到可信应用程序的执行和可信外部通信的建立,构建完整的信任链,逐级认证,未获认证的程序不能执行,从而使PLC控制系统实现自身免疫,构建可信执行环境。轻量级可信启动技术利用嵌入式系统Flash在出厂时可从物理上设定为只读的特性,对保存于不可篡改Flash中的BootROM免去TPM验证,物理上确保内核安全可信的同时缩短了启动时间,并且由于操作系统采用微内核结构,缩减了系统空间,进一步减少了验证时间。
根据系统运行的阶段,轻量级可信启动技术可进一步分为可信嵌入式系统启动技术与可信Flash数据读写技术。
嵌入式系统的可信启动过程分为两个阶段,请参看图5。在确保系统可信安全的前提下,实现整机十秒内快速启动。
第一阶段为BootROM程序加载过程。在可信嵌入式系统中,BootROM 存放在专用的Flash芯片中,Flash芯片开启写保护,无法被外界篡改。系统上电后,CPU从专用Flash芯片加载BootROM程序,TPM模块连接隔离芯片,也随BootROM同时开始工作。BootROM启动后首先执行硬件自检,包括RAM、时钟、PCI、以太网等。同时,隔离芯片上电后通过TPM对存储器中的固件程序进行度量,如果验证通过则开启CPU与存储器间的透传通道,进入第二阶段;否则引起异常并进行错误处理。其中,TPM模块为(Trusted PlatformModule,可信赖平台模块),它能有效地保护PC、防止非法用户访问。符合TPM的芯片首先必须具有产生加解密密匙的功能,此外还必须能够进行高速的资料加密和解密,以及充当保护BIOS和操作系统不被修改的辅助处理器。
第二阶段为操作系统和应用加载过程,BootROM加载可信的存储器固件到RAM,在RAM中启动BSP(BoardSupportPackage)驱动层和可信操作系统微内核。BSP驱动进行可信硬件的初始化,微内核进行系统进程的初始化,并开启监控器、区间通讯等核心组件。微内核启动完毕后,开启PLC运行时、总线通讯等可信应用层用户程序。TPM模块通过非对称加解密算法验证存储器中用户存储数据的合法性,如果合法,则将用户存储数据区的接口通过隔离芯片透传给CPU。同时,隔离区负责对包括以太网、串口、CAN 等对外通讯接口进行验证和加解密后透传给CPU。此时运行的应用程序的安全由可信微内核和TPM共同确保。
可信Flash数据读写技术中,存储器内通常保存了用户的逻辑程序和一些重要的用户配置参数,也可能包含了非法和被篡改的用户数据。对于存储器芯片内数据的可信读写,通过基于国产TPM的内存隔离专用芯片来实现,请参看图6。在嵌入式可信硬件层,CPU无法直接和存储器芯片通讯,而是连接了隔离芯片的I/O脚。隔离芯片通过时序模拟,将CPU的读写操作指令转发到存储器,并通过安全隔离模块对存储器的数据进行校验,实现对存储器上用户数据的保护。用户进行Flash关键数据读写操作,如需要进行下载和加载时,必须经由安全隔离模块进行可信验证才能进行。而安全隔离模块本身也会记录每次关键操作的操作记录数据,并可通过可信通信平台传输给远程安全服务器,做到关键数据的实时监控和完整记录。
嵌入式可信技术在传统嵌入式实时操作系统的基础上增加了安全任务调度机制、任务监控器、安全数据访问、堆栈备份与恢复、区间通讯及安全内存访问,这六项安全机制与技术,并配合外围内存隔离芯片的功能实现高效的安全数据访问接口,降低CPU占用率。嵌入式可信技术是操作系统层面可信保障的重要组成部分,是信任链在操作系统层传递的关键。嵌入式可信技术框图请参看图7。
1)安全任务调度功能包括:安全任务堆栈数据的合法性检查、任务状态管理、任务死锁安全防护、任务资源占用率检查等基本功能。通过安全任务调度功能,可以及时做到系统中任务的安全检查与防范的目的,使得整个系统在健康稳定的状态下得以运行。
2)任务监控器是基于OS层的具有管理和恢复安全任务的一项调度监控机制,其主要功能是管理和监控所有安全任务与普通区交互数据的过程,并且将任务运行状态及时发送给CPU,确保安全任务运行在可信环境下。
3)安全数据访问是保证数据完整和不被篡改的一项重要进程。其主要工作流程是,基于安全隔离模块对存储器的中存储的参数与文件等数据进行可信度量,之后CPU读取安全隔离模块处理后的数据再进行确认和使用,以达到数据可信、运算可信的目的。
4)堆栈备份与恢复是保证安全任务正常运行的一项重要工作。其工作过程是,CPU会适时的对安全任务的堆栈区的数据进行备份工作,当安全任务的堆栈区数据异常时,会将备份的数据恢复进来,以保证安全任务的正常运行。
5)区间通信是一套安全、隐蔽、可靠、低代价的通信机制,是可信调度技术的一项重要的功能。当任务与外界普通区的数据交互时,需要经过安全隔离模块的检查、加密、解密等处理工作,之后才将数据加载到安全区的RAM 中进行运算。该机制可有效地抵制外界普通区的数据被恶意篡改对系统产生的风险。
6)安全内存访问是保证CPU读取普通区数据的唯一通道。安全隔离模块获取到普通区的数据时,首先进行安全运算,之后才会通过双口RAM接口供CPU使用,最终保证了来自普通区数据的安全可信。
本实施例中的嵌入式可信操作系统还包括实时动态监测防护模块,该实时动态监测防护模块当PLC控制系统进入稳定运行阶段后,采用实时动态监测防护技术保障系统的安全可信运行,主要通过基于可信计算的动态完整性检查实现PLC系统的动态监测防护。
目前PLC控制系统中的完整性检查大多使用静态校验或者周期性校验,但是在一些情况下这样的完整性检查方式还存在缺陷和漏洞,无法使PLC控制系统运行完全可信。例如TOC-TOU(time-of-check-to-time-of-use)问题,即PLC控制任务或者进程在被校验前未受攻击,而是在校验后遭到破坏,静态完整性检查就会给出错误的结果,周期性完整性检查如果其校验周期长于进程完整性被损坏的时间,也可能发现不了这样的破坏。因此,本发明通过基于可信计算的动态完整性检查技术实现实时动态监测防护。
基于可信计算的动态完整性检查主要从校验对象、校验点和校验架构三个方面进行考虑。其中校验对象是当前系统中的任务或进程。程序运行时,被划分几个部分加载到内存中,本技术将针对内核的划分对代码、参数堆栈等分别进行校验。校验点将不再是单一的校验点,采用动态检查的方式,即在任意需要的时刻,都能对校验对象进行校验,在校验的过程中通过安全隔离模块保护完整性检查架构并对校验结果进行签名以提高整个系统的安全性。该动态完整性检查架构请参看图8。
校验代理处于用户空间,用户的校验请求通过其接口提交给内核。内核校验模块处于内核空间,完成整个动态校验的主体工作。基于本技术,系统将为活动的每个任务和进程维护一个映像,该映像完全反应了任务进程的功能和信息。对任务、进程的动态完整性检查,就是在任意接收到校验请求的时刻,对校验目标(某个进程或者任务)在内存中的映像进行校验,这些映像都在内存中的某个可寻址的位置。
实时动态监测防护技术实现了实时的动态完整性检查,解决了PLC控制系统运行校验中关键的TOC-TOU问题,把校验对象扩展到任务和进程,以及它们的周边信息,并通过安全隔离模块实现了硬件级别的保护。
安全通信是PLC控制系统内部以及对外信息传输可信可靠的关键。PLC 控制系统的安全通信技术主要以安全隔离模块为安全可信核心,作为整个安全通信技术的可信基点,保障可信的通信接口和链路,如以太网、串口、 NandFlash和CAN接口等,确保数据可信、可靠传输。可信通信接口及链路请参看图9。
安全通信技术包括身份认证技术、可信通信链路技术、实时数据保护技术和行为及日志管理技术,分别从身份可信、通信链路可信、数据密文传输和可信网络环境四个方面保障可信通信环境。
1)身份认证技术:PLC控制系统身份认证技术通过上层可信控制站和主控单元,对通信单元身份进行认证,确保通信单元身份可信。
通信单元出厂初始化时通过安全隔离模块获得唯一的身份可信认证密钥对,并将公钥保存到主控单元和上层可信控制站中。
在PLC模块上电初始化过程中,PLC模块内通信单元与主控单元完成身份认证,确保通信单元与主控单元之间身份可信。
PLC模块间利用空闲通信时间,与上层可信控制站和其他相连模块周期性完成身份认证,保证可信模块接入网络。
2)可信通信链路技术:PLC控制系统可信通信链路技术基于整个通信周期和周期性身份认证技术,在通信过程中,通信链路两端的系统周期性相互发送自身用于身份认证的数据,两系统各自计算上述两组数据的杂凑值,并周期性将根据对方认证数据计算得到的杂凑值发送给对方进行通信链路验证,以此确定可信通信链路。
3)实时数据保护技术:PLC控制系统实时数据保护技术基于轻量级密码算法,在确保高实时性的同时采用密文形式传输报文。实时数据保护技术密码向量更新机制请参看图10。
PLC控制系统在模块间数据通信过程中,借助安全隔离模块,完成模块间的通信密钥协商,并利用过往密码向量和上一次通信密钥生成新的密码向量,对实时数据进行加解密,实现高可信模块间的密文传输。
4)行为及日志管理技术:PLC控制系统的行为及日志管理技术是管理外部设备对系统本身的网络行为进行检测、隔离及报警,并记录相关日志,用于行为及事件追溯。
行为及日志管理技术主要是针对两类报文和行为进行管理,一类是对经过本系统的正常数据报文及通信行为进行管理,并记录相关通信行为、地址等信息,建立通信白名单;另一类是对攻击者发起的非法探测、拒绝服务、中间人、伪装攻击等网络安全攻击,和与白名单不匹配的通信行为及报文进行检测、隔离及报警,并对攻击者的攻击行为、时间、攻击顺序等相关信息进行日志记录,有利于确保可信网络内的数据报文的可信性。
综上,本发明提供的可信PLC控制系统通过加入可信硬件技术与可信软件技术,在安全隔离模块基础上建立了软硬件隔离区,从硬件内存隔离、轻量级可信启动、嵌入式可信运行、实时动态监测防护以及安全通信建立了一整套PLC可信硬件软件方案,可实现可信启动、可信运行与可信通信,可以抵御多类攻击入侵,并且对系统的运行效率几乎无影响。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。
Claims (8)
1.一种可信PLC控制系统,其特征在于,包括嵌入式可信硬件、嵌入式可信操作系统;
所述嵌入式可信硬件包括安全区硬件、隔离区硬件及非安全区硬件,所述安全区硬件构成所述PLC控制系统的嵌入式最小可运行系统,所述非安全区硬件实现PLC控制系统的外部通讯和存储,所述隔离区硬件以安全隔离模块为可信根,通过管路保护及隔离技术将安全区硬件与非安全区硬件进行连接,构成可信的通信接口和通信链路;
所述嵌入式可信操作系统包括嵌入式可信微内核,所述嵌入式可信微内核以所述安全隔离模块为可信根,对PLC控制系统的启动、可信应用程序的执行及可信外部通信的建立,进行逐级认证,构建PLC可信执行环境;
其中,所述嵌入式可信微内核在PLC控制系统的启动时,在BootROM程序加载过程中,TPM模块连接所述安全隔离模块;
Boot ROM程序启动后,执行硬件自检;同时,TPM模块对存储器中的固件程序进行度量,若未发现异常,则开启CPU与存储器之间的透传通道;
在BootROM加载可信的存储器固件到RAM,并在RAM中启动BSP驱动的过程中,所述嵌入式可信微内核进行系统进程的初始化,并开启监控器、区间通讯及PLC运行时序;
所述TPM模块通过非对称加解密算法验证存储器中的用户存储数据的合法性,若验证通过,则将用户存储数据的接口通过安全隔离模块透传给CPU。
2.如权利要求1所述的可信PLC控制系统,其特征在于,所述安全区硬件包括CPU、存储BootROM专用的Flash及RAM,所述非安全区硬件包括存储器、ExRAM、以太网及串口。
3.如权利要求2所述的可信PLC控制系统,其特征在于,所述嵌入式可信硬件基于内存隔离技术将内存地址划分为普通区地址及安全区地址;
当CPU的请求涉及普通区地址时,所述安全隔离模块采用高速透传的方式进行数据传输;
当CPU的请求涉及安全区地址时,所述安全隔离模块对需要传输的数据进行安全性及正确性验证后,再传输。
4.如权利要求2所述的可信PLC控制系统,其特征在于,所述嵌入式可信硬件包括逻辑控制器,所述逻辑控制器用于控制所述安全区硬件及非安全区硬件对RAM或ExRAM的访问权限。
5.如权利要求1所述的可信PLC控制系统,其特征在于,所述嵌入式可信微内核在PLC控制系统的启动时,通过嵌入式系统启动技术及可信Flash数据读写技术,实现PLC控制系统在十秒内快速启动。
6.如权利要求1所述的可信PLC控制系统,其特征在于,在对存储器中的数据进行可信读写的过程中,安全隔离模块的I/O接口连接CPU,所述安全隔离模块通过时序模拟将CPU的读写操作指令转发到存储器,并对存储器的数据进行校验,实现可信读写。
7.如权利要求1所述的可信PLC控制系统,其特征在于,所述嵌入式可信微内核通过安全任务调度机制、任务监控器、安全数据访问、堆栈备份与恢复、区间通讯、安全内存访问六项安全机制与技术,并配合安全隔离模块实现高效的安全数据传输。
8.如权利要求1所述的可信PLC控制系统,其特征在于,所述嵌入式可信操作系统还包括实时动态监测防护模块,所述实时动态监测防护模块基于可信计算的动态完整性检查实现PLC控制系统的动态监测防护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110239565.5A CN112948086B (zh) | 2021-03-04 | 2021-03-04 | 一种可信plc控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110239565.5A CN112948086B (zh) | 2021-03-04 | 2021-03-04 | 一种可信plc控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948086A CN112948086A (zh) | 2021-06-11 |
CN112948086B true CN112948086B (zh) | 2023-11-03 |
Family
ID=76247638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110239565.5A Active CN112948086B (zh) | 2021-03-04 | 2021-03-04 | 一种可信plc控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948086B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821395A (zh) * | 2021-09-07 | 2021-12-21 | 安徽继远软件有限公司 | 一种物联终端硬件接口安全自检系统 |
CN116257859B (zh) * | 2023-05-04 | 2023-09-19 | 北京全路通信信号研究设计院集团有限公司 | 一种系统中不同安全级的软件模块的安全隔离方法和系统 |
CN117784743B (zh) * | 2024-02-28 | 2024-05-17 | 西安热工研究院有限公司 | 一种可信dcs控制系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
CN104794393A (zh) * | 2015-04-24 | 2015-07-22 | 杭州字节信息技术有限公司 | 一种嵌入式分区映像安全认证及内核可信引导方法及其设备 |
CN106775716A (zh) * | 2016-12-15 | 2017-05-31 | 中国科学院沈阳自动化研究所 | 一种基于度量机制的可信plc启动方法 |
US10108800B1 (en) * | 2017-01-10 | 2018-10-23 | Gbs Laboratories, Llc | ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods |
CN111783165A (zh) * | 2020-06-29 | 2020-10-16 | 中国人民解放军战略支援部队信息工程大学 | 一种基于硬件隔离调用模式的安全可信系统芯片架构 |
CN112069535A (zh) * | 2020-08-13 | 2020-12-11 | 中国电子科技集团公司第三十研究所 | 一种基于访问分区物理隔离的双系统安全智能终端架构 |
-
2021
- 2021-03-04 CN CN202110239565.5A patent/CN112948086B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
CN104794393A (zh) * | 2015-04-24 | 2015-07-22 | 杭州字节信息技术有限公司 | 一种嵌入式分区映像安全认证及内核可信引导方法及其设备 |
CN106775716A (zh) * | 2016-12-15 | 2017-05-31 | 中国科学院沈阳自动化研究所 | 一种基于度量机制的可信plc启动方法 |
US10108800B1 (en) * | 2017-01-10 | 2018-10-23 | Gbs Laboratories, Llc | ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods |
CN111783165A (zh) * | 2020-06-29 | 2020-10-16 | 中国人民解放军战略支援部队信息工程大学 | 一种基于硬件隔离调用模式的安全可信系统芯片架构 |
CN112069535A (zh) * | 2020-08-13 | 2020-12-11 | 中国电子科技集团公司第三十研究所 | 一种基于访问分区物理隔离的双系统安全智能终端架构 |
Non-Patent Citations (3)
Title |
---|
Design Semi-Automatic Control System using PLC for Stalling Materials in the Forming Machine;Syahril Ardi,Ikhtiar Dwi Arifudin;《IEEE》;全文 * |
基于可信计算的工业控制安全体系架构研究;张向宏,耿贵;《保密科学技术》;全文 * |
机载嵌入式计算机多级安全防护体系架构研究;王中华,李亚晖,何旺宇,高沙沙;《航空计算技术》;第第50卷卷(第第3期期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112948086A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112948086B (zh) | 一种可信plc控制系统 | |
CN110325995B (zh) | 安全的工业控制平台 | |
CN106815494B (zh) | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 | |
Parno et al. | Bootstrapping trust in modern computers | |
JP4774049B2 (ja) | セキュアなプラットフォーム間およびプラットフォーム内通信のための方法およびプログラム | |
Nguyen et al. | Cloud-based secure logger for medical devices | |
CN112988508B (zh) | 一种基于内存隔离的可信plc嵌入式系统 | |
Ling et al. | Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT Nodes | |
EP3683712B1 (en) | Protecting integrity of log data | |
JP4791250B2 (ja) | マイクロコンピュータおよびそのソフトウェア改竄防止方法 | |
US11531769B2 (en) | Information processing apparatus, information processing method, and computer program product | |
Wang et al. | A survey of secure boot schemes for embedded devices | |
Coppola et al. | Automation for industry 4.0 by using secure lorawan edge gateways | |
JP2019061538A (ja) | コンピュータプログラム、デバイス及び抑制方法 | |
CN113961939B (zh) | 嵌入式操作系统安全的防护方法和系统 | |
Wang et al. | TVIDS: Trusted virtual IDS with SGX | |
Zaharis et al. | Live forensics framework for wireless sensor nodes using sandboxing | |
Rivera et al. | Ros-immunity: Integrated approach for the security of ros-enabled robotic systems | |
Murti et al. | Security in embedded systems | |
KR20200006452A (ko) | 경량 IoT 기기의 원격 공격 방어 방법 및 장치 | |
CN116436681B (zh) | 一种基于TrustZone的安全隔离系统、方法、终端及存储介质 | |
Liu et al. | TZEAMM: An Efficient and Secure Active Measurement Method Based on TrustZone | |
García Aguilar et al. | A Threat Model Analysis of a Mobile Agent-based system on Raspberry Pi | |
Abela et al. | Runtime Verification for Trustworthy Computing | |
Flå et al. | Information Security Aspects of Industrial Control Systems: An Introduction for ICS Integrators and Asset Owners, V1. 0 |
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 |