CN109840430A - Plc的安全处理单元及其总线仲裁方法 - Google Patents
Plc的安全处理单元及其总线仲裁方法 Download PDFInfo
- Publication number
- CN109840430A CN109840430A CN201711212359.5A CN201711212359A CN109840430A CN 109840430 A CN109840430 A CN 109840430A CN 201711212359 A CN201711212359 A CN 201711212359A CN 109840430 A CN109840430 A CN 109840430A
- Authority
- CN
- China
- Prior art keywords
- chip
- plc
- credible
- bus arbitration
- bus
- 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.)
- Granted
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/575—Secure boot
-
- 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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- 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]
Abstract
本发明涉及PLC的安全处理单元及其总线仲裁方法,为PLC提供一种主动防御手段,构造PLC硬件和软件安全层。在硬件安全层,加入部分硬件处理机制支持可信度量、加密算法和签名算法,使用虚拟化隔离技术;在软件安全层,提供透明加解密、完整性验证、备份恢复和虚拟化隔离安全机制。在安全处理方面进行改进,以期达到安全可靠的目的。本发明能够正确建立PLC的可信环境,确保PLC经过严格验证的路径引导。设计了全新的星型信任结构,降低信息传递时的损耗,提高信息传递的效率。
Description
技术领域
本发明涉及用于确保PLC的信息处理系统的安全性的系统,包括安全处理器的硬件系统及软件系统,其内置于PLC主控制器中,能够解决PLC的自身安全问题,让PLC抵御诸如远程代码执行漏洞攻击和信息泄露漏洞攻击,属于工业控制系统信息安全领域。
背景技术
PLC是一种专门为在工业环境下应用而设计的数字运算操作电子系统,它采用一种可编程的存储器,在其内部存储和执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
PLC广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,作为开关量的逻辑控制、工业过程控制、运动控制、数据处理和通信联网的电子设备。但是长期以来,很多人认为PLC的硬件系统和软件系统都是固化的,不存在被篡改和攻击的可能性,因此,对于PLC的安全问题,业界更关注于PLC的网络安全,仅仅是在网络通信时在PLC前端安装工业防火墙进行访问控制,或者利用密码算法进行数据加解密,或者在数据传输等方面利用校验码、纠错码等简单的手段来保证PLC工作的安全性。然而,随着工业控制系统下设备与设备之间的互联互通性越强,对PLC所担任的任务角色也越来越重要,对PLC硬件的可靠性、操作系统和应用软件的健壮性也提出了更高和更全面的要求。传统的PLC系统的体系结构存在大量的安全隐患,主要表现在以下几个方面:
(1)远程代码执行漏洞攻击:恶意代码隐藏在正常数据包中发送给PLC,PLC本身可能存在内存溢出而执行恶意代码,入侵者通过恶意代码的执行可以任意控制PLC的行为。
(2)信息泄露漏洞攻击:操作员站和PLC之间建立正常的数据连接,交换非敏感数据,攻击者利用信息泄露漏洞,获取敏感工艺数据。
现有的安全技术手段无法全方位解决PLC自身的安全问题,安全防御属于被动式。本发明为PLC提供一种主动防御手段,构造一种新的嵌入式体系结构,在安全处理方面进行改进,以期达到安全可靠的目的。
发明内容
本发明的第一目的在于构建PLC硬件安全层。硬件安全是设备安全的基础,在该层可以采取的增强安全的措施有:加入部分硬件处理机制支持可信度量、加密算法和签名算法;使用虚拟化隔离技术,隔离不同的应用程序,让应用程序安全地存储信息和运行,这种隔离限制能够保证只有可靠的系统部件才可以对安全存储区域进行存取。
本发明的第二目的在于构建PLC软件安全层。软件安全包括操作系统和各类应用软件的安全,该层主要通过增强操作系统的安全性和采用虚拟化隔离技术来增强系统安全。提供如下安全机制:①透明加解密,满足自主保密性和离线保密性需求,即满足数据存储、处理、传输中的保密性,同时能保障用户实施自定义保密策略和数据的密文存储。②完整性验证,实现应用数据的完整性保护。③备份恢复,确保系统受到外界的破坏后,使得系统能够恢复到其正常的状态。④虚拟化隔离,用来隔离应用程序,让应用程序安全地运行和存储信息。
本发明采用如下技术方案:PLC的安全处理单元,包括:总线仲裁芯片,用于其对总线资源进行分配;可信芯片,用于提供可信度量根、可信存储根和可信报告根;系统存储芯片,用于保存启动引导文件、操作系统内核和上层应用代码;系统备份芯片,用于保存了备份的启动引导文件、操作系统内核和上层应用代码。
所述总线仲裁芯片对总线资源进行总线仲裁,当多个PLC硬件平台、可信芯片、系统存储芯片和系统备份芯片同时占用共享总线进行数据通信时,总线仲裁芯片决定总线资源的使用权。
所述可信芯片存储可信度量根、可信存储根和可信报告根;
所述可信度量根,用于对引导文件、操作系统内核、上层应用进行度量;
所述可信存储根,用于进行密钥产生、密钥管理、加密和解密的工作,保护所有委托给可信存储根的密钥和度量信息;
可信报告根,用于允许经过验证的挑战者获取受可信芯片保护的区域中的数据,用签名密钥证实这些数据的真实。
所述可信芯片,在保留原有系统的文件系统结构的页高速缓存层和通用块层之间添加了加密模块驱动;加密的过程对于上层用户透明,不修改文件系统的数据结构且用户访问加密文件的过程也不变。
所述系统存储芯片是加密并且分区域存储引导文件、系统内核和上层应用;加密存储是执行实际的存储器写入操作前将写入数据进行加密;分区域存储是将存放系统数据、用户数据的区域分开,互相之间不能改动。
所述系统备份芯片用于安全处理单元在PLC启动之前对其引导文件、系统内核和上层应用进行完整性校验,如果校验未通过则认为内容被篡改,需要进行系统恢复。
所述系统存储芯片用于虚拟化隔离,启动引导文件、操作系统内核、上层应用按照指定的地址,放到系统存储芯片的最低端地址,修改物理块设备层中的驱动文件,向物理块设备层写入时需要对参数pos进行判断;如果pos小于m地址则直接返回错误来保证这段地址内容的写保护;m的值按照实际实施过程需要进行设置。
PLC的安全处理单元的总线仲裁方法,步骤如下:
a)安全处理单元通电后,激活总线仲裁芯片;
b)总线仲裁芯片获取系统存储芯片的总线控制权;
c)读取系统存储芯片内的启动引导、操作系统内核、上层应用的数据到总线仲裁芯片内的Nand Flash缓冲模块;
d)总线仲裁芯片获取可信芯片的控制权,使用可信芯片的可信度量根分别对引导文件、操作系统内核和上层应用度量完整性;
e)如果度量可信,则PLC硬件平台获取总线控制权,读取Nand Flash缓冲模块数据,解密加载到内存中,启动系统;
f)如果度量失败,则执行系统数据恢复,重新引导。
所述使用可信芯片的可信度量根分别对引导文件、操作系统内核和上层应用度量完整性步骤如下:
a)读取数据块;
b)使用数据块签名证书中的认证密钥对签名进行验证;
c)如果验证可信,则返回可信结果;如果验证失败,则停止引导。
PLC的安全处理单元的总线仲裁方法,还包括备份恢复方法,在PLC硬件平台系统启动时,安全处理单元中的总线仲裁芯片处于主控地位;启动时如果发现系统存储芯片中的内容验证不通过,则由总线仲裁芯片发出命令,占用总线,备份恢复步骤如下:
a)从系统备份芯片中读取备份的内容;
b)将备份的内容写入总线仲裁芯片中的Nand Flash缓冲模块;
c)将缓冲模块中的数据拷贝至系统存储芯片中;
d)总线仲裁芯片将系统存储芯片的写保护置位,确保其中的信息不会被修改,并且大小和存储的基地址在总线仲裁芯片中设置,不被公开;
e)在系统恢复完成后,总线仲裁芯片赋予系统存储芯片总线控制权,重新引导系统。
本发明具有以下有益效果及优点:
1.本发明能够正确建立PLC的可信环境,确保PLC经过严格验证的路径引导。
2.本发明设计了全新的星型信任结构,降低信息传递时的损耗,提高信息传递的效率。
3.本发明包含了总线仲裁芯片,能够确保安全处理单元的主控地位,对所有启动部分实施完整性度量后才允许PLC的CPU启动,提高了安全性。
4.本发明设计了虚拟化隔离技术,隔离不同的应用程序及其数据,让应用程序安全地存储信息和运行,并且只能访问自己的存储空间。
附图说明
图1是PLC可信计算平台体系结构示意图;
图2是安全处理单元结构示意图;
图3是总线仲裁芯片结构示意图;
其中,1安全处理单元,2PLC硬件平台,3引导文件/BSP,4可信硬件驱动,5可信存储根,6可信度量根,7可信报告根,8备份恢复,9虚拟化隔离,10完整性验证,11透明加解密,12总线仲裁芯片,13可信芯片,14系统存储芯片,15系统备份芯片,16总线仲裁模块,17NandFlash缓冲模块;
图4是总线仲裁机制启动流程图;
图5是可信芯片对引导文件的完整性度量流程图;
图6是可信芯片对操作系统内核的完整性度量流程图;
图7是可信芯片对上层应用的完整性度量流程图;
图8是启动嵌入式系统流程图;
图9是系统备份恢复体系结构示意图;
图10是透明加解密技术体系结构示意图;
图11是数据加密流程图;
图12是虚拟化隔离技术示意图。
图13是安全处理单元结构原理图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明。
本发明的安全处理单元是包括总线仲裁芯片、可信芯片、系统存储芯片和系统备份芯片。所述总线仲裁芯片对总线资源进行分配,决定总线资源的使用权。所述可信芯片提供可信度量根、可信存储根和可信报告根。所述的可信度量根对嵌入式系统中底层配置、上层应用等进行完整性度量。所述的可信存储根进行密钥产生、密钥管理、加密和解密的工作,保护所有委托给可信存储根的密钥和度量信息。可信报告根允许经过验证的挑战者获取受可信芯片保护的区域中的数据,用签名密钥证实这些数据的真实性。所述系统存储芯片是虚拟地分区域保存计算机系统引导、操作系统内核和上层应用代码。所述系统备份芯片是一个受保护的系统备份存储器,加密保存计算机系统引导和操作系统的可执行代码。
一种为PLC硬件平台提供可信功能的安全处理单元,包括:
总线仲裁芯片,其对总线资源进行分配;
可信芯片,其提供可信度量根、可信存储根和可信报告根;
系统存储芯片,其保存了启动引导文件、操作系统内核和上层应用代码;
系统备份芯片,其保存了备份的启动引导文件、操作系统内核和上层应用代码。
总线仲裁芯片对总线资源进行分配,当多个主要模块同时占用共享总线进行数据通信时,总线仲裁芯片决定总线资源的使用权,所述主要模块例如PLC硬件平台、可信芯片、系统存储芯片和系统备份芯片。
可信芯片存储可信度量根、可信存储根和可信报告根。所述可信度量根对引导文件、操作系统内核、上层应用等进行完整性度量。所述可信存储根进行密钥产生、密钥管理、加密和解密的工作,保护所有委托给可信存储根的密钥和度量信息。可信报告根允许经过验证的挑战者获取受可信芯片保护的区域中的数据,用签名密钥证实这些数据的真实性。
系统存储芯片是加密并且分区域存储引导文件、系统内核和上层应用。所述加密存储是执行实际的存储器写入操作前将写入数据进行加密。所述分区域存储是将存放系统数据、用户数据的区域分开,互相之间不能自由改动。
系统备份芯片是受保护的系统备份存储器,保存PLC系统引导文件、系统内核和上层应用。安全处理单元在PLC启动之前对其引导文件、系统内核和上层应用进行完整性校验,如果校验未通过则认为内容被篡改,需要进行系统恢复。
总线仲裁芯片还包括总线总裁模块、1个Nand Flash缓冲模块。
总线仲裁模块采用集中式仲裁的方式,所有主要模块对总线资源的占用是通过一个独立的仲裁模块来完成的。总线仲裁模块在仲裁的过程中采用静态仲裁算法,仲裁过程不受主要模块状态的影响,按照预定好的启动过程来决定哪个主要模块占用总线资源。所述主要模块例如PLC硬件平台、可信芯片、系统存储芯片和系统备份芯片。
总线仲裁启动方法是一种建立在可信机制上的PLC系统启动引导方法。所述引导方法是将PLC硬件平台与安全处理单元结合在一起,并将PLC硬件平台中系统存储芯片独立出来,由安全处理单元控制对其进行读和写。在PLC硬件平台启动过程中,先由安全处理单元对系统存储芯片中可执行代码进行完整性验证,仅当验证通过后,安全处理单元才将系统存储芯片的读和写的权力赋予PLC硬件平台,允许其启动。
总线仲裁芯片在PLC硬件平台系统启动后处于主控地位。启动时如果发现系统存储芯片中的内容验证不通过,则由总线仲裁芯片发出命令,占用总线,从系统备份芯片中读取备份的内容到缓冲模块,然后将缓冲模块的内容写入系统存储芯片中。总线仲裁芯片将系统存储芯片的写保护置位,确保其中的信息不会被修改,并且大小和存储的基地址都是在总线仲裁芯片中设置好的,不被公开。在系统恢复完成后,在系统恢复完成后,系统存储芯片14获取总线控制权,重新启动引导。
总线仲裁模块控制PLC硬件平台、可信芯片、系统存储芯片和系统备份芯片之间通过Nand Flash缓冲模块17实现交换数据。
总线仲裁启动的步骤如下:
a)系统通电后,激活总线仲裁芯片;
b)总线仲裁芯片获取系统存储芯片的总线控制权;
c)读取启动引导、操作系统内核、上层应用的数据到数据缓冲模块;
d)总线仲裁芯片获取可信芯片的控制权,使用可信芯片的可信度量根分别对引导文件、操作系统内核和上层应用度量完整性;
e)如果度量可信,则PLC硬件平台获取总线控制权,读取缓冲模块数据,解密加载到内存中,启动系统。
f)如果度量失败,则执行系统数据恢复,重新引导。
可信芯片对引导文件、操作系统内核和上层应用的完整性度量步骤如下:
a)读取数据块;
b)使用数据块签名证书中的认证密钥对签名进行验证;
c)如果验证可信,则返回可信结果;如果验证失败,则停止引导。
解密数据的步骤如下:
a)可信芯片获取总线控制权;
b)调用可信芯片的可信存储根,对数据块中加密数据的加密密钥2解密,生成加密密钥1;
c)调用可信芯片的可信存储根,使用加密密钥1对加密数据段进行解密;
d)将解密出的数据加载到内存中,引导系统。
安全处理单元的备份恢复体系包括安全处理单元的总线仲裁芯片、系统存储芯片和系统备份芯片。所述系统存储芯片保存了启动引导文件、操作系统内核和上层应用代码。所述系统备份芯片保存了备份的启动引导文件、操作系统内核和上层应用代码。
备份恢复体系,在PLC硬件平台系统启动时,安全处理单元中的总线仲裁芯片处于主控地位。启动时如果发现系统存储芯片中的内容验证不通过,则由总线仲裁芯片发出命令,占用总线,备份恢复步骤如下:
a)从系统备份芯片中读取备份的内容;
b)将备份的内容写入总线仲裁芯片中的缓冲模块;
c)将缓冲模块中的数据拷贝至系统存储芯片中;
d)总线仲裁芯片将系统存储芯片的写保护置位,确保其中的信息不会被修改,并且大小和存储的基地址都是在总线仲裁芯片中设置好的,不被公开;
e)在系统恢复完成后,总线仲裁芯片赋予系统存储芯片总线控制权,重新引导系统。
可信芯片,在保留原有系统的文件系统结构的页高速缓存层和通用块层之间添加了加密模块驱动。加密的过程对于上层用户是透明的,使用户感觉不到文件的加密过程,不修改文件系统的数据结构且用户访问加密文件的过程也不变。
系统存储芯片包括虚拟化隔离技术,启动引导文件、操作系统内核、上层应用按照指定的地址,放到系统存储芯片的最低端地址,修改物理块设备层中的驱动文件,向物理块设备层写入时需要对参数pos进行判断。如果pos小于m地址则直接返回错误来保证这段地址内容的写保护。m的值按照实际实施过程需要进行设置。
图1是示出本发明中PLC的可信计算平台体系结构示意图。在该图中,本发明的硬件层是安全处理单元1。安全处理单元1是可信功能实现的最根本硬件设备,是最先进行自我验证的主设备。PLC硬件平台2是从设备,在安全处理单元1的验证下,确保体系结构的硬件基础是可信的。本发明的软件层提供的软件策略包括完整性验证10、透明加解密11、备份恢复8和虚拟化隔离9。在本发明的实现模式中,安全处理单元1在PLC硬件平台2启动前激活,负责PLC硬件平台2总线仲裁。
图2是示出本发明中安全处理单元1结构示意图。在本发明的安全处理单元1包括总线仲裁芯片12、可信芯片13、系统存储芯片14和系统备份芯片15。如图13所示。
在本发明所实现的模式中,总线仲裁芯片12对总线资源进行分配,当多个主要模块同时占用共享总线进行数据通信时,总线仲裁芯片12决定总线资源的使用权,所述主要模块例如PLC硬件平台2、可信芯片13、系统存储芯片14和系统备份芯片15。
在本发明所实现的模式中,可信芯片13存储可信度量根6、可信存储根5和可信报告根7。所述可信度量根6对PLC系统中底层配置、上层应用等进行完整性度量,例如PLC启动时对引导文件、系统内核和上层应用完整性度量时使用可信度量根。所述可信存储根5进行密钥产生、密钥管理、加密和解密的工作,保护所有委托给可信存储根的密钥和度量信息,例如可信度量根完成对上层应用完整性度量后将度量结果传送给可信存储根。所述可信报告根7允许经过验证的挑战者获取受安全处理单元1保护的区域中的数据,包括系统存储芯片14中的数据,用签名密钥证实这些数据的真实性。
在本发明所实现的模式中,系统存储芯片14是加密并且分区域存储引导文件、系统内核和上层应用。所述加密存储是执行实际的存储器写入操作前将写入数据进行加密。所述分区域存储是将存放系统数据、用户数据的区域分开,互相之间不能自由改动。
在本发明所实现的模式中,系统备份芯片15是受保护的系统备份存储器,保存PLC系统引导文件、系统内核和上层应用。安全处理单元在PLC启动之前对其引导文件、系统内核和上层应用进行完整性校验,如果校验未通过则认为内容被篡改,需要进行系统恢复。
图3是示出总线仲裁芯片12结构示意图。在本发明的总线仲裁芯片12包括总线仲裁模块16和Nand Flash缓冲模块17。
在本发明所实现的模式中,总线仲裁模块16采用集中式仲裁的方式,所有主要模块对总线资源的占用是通过一个独立的仲裁模块来完成的。总线仲裁模块16在仲裁的过程作为静态仲裁算法(包括总线仲裁启动方法、备份恢复),仲裁过程不受主要模块状态的影响,按照预定好的启动过程来决定哪个主要模块占用总线资源。所述主要模块例如PLC硬件平台2、可信芯片13、系统存储芯片14和系统备份芯片15。
在本发明所实现的模式中,总线仲裁启动方法是一种建立在可信机制上的PLC系统启动引导方法。所述引导方法是将PLC硬件平台2与安全处理单元1结合在一起,并将PLC硬件平台2中系统存储芯片14独立出来,由安全处理单元1中的总线冲裁模块控制对其进行读和写。在PLC硬件平台2启动过程中,先由安全处理单元1中的可信芯片对系统存储芯片14中可执行代码进行完整性验证,仅当验证通过后,安全处理单元1才将系统存储芯片14的读和写的权力赋予PLC硬件平台2,允许其启动。
在本发明所实现的模式中,系统上电启动后,安全处理单元1中的总线仲裁芯片12先运行,通过总线仲裁芯片12中总线仲裁模块16获取系统存储芯片14的总线控制权,然后读取系统存储芯片14中的启动引导文件、操作系统内核、上层应用等代码到Nand Flash缓冲模块17,通过使用可信芯片中的可信度量根对缓冲数据进行完整性校验;如果校验通过,总线仲裁模块16则将系统存储芯片14的总线控制权和可信芯片13的总线控制权仲裁给PLC硬件平台2,PLC硬件平台2则启动运行,否则提示错误。
在本发明所实现的模式中,PLC硬件平台2获取系统存储芯片14和可信芯片13的总线控制权后,调用可信芯片13中可信存储根5,将保存在系统存储芯片14中的密文解密成明文数据,将明文数据加载到内存中。
在本发明所实现的模式中,总线仲裁模块16控制PLC硬件平台2、可信芯片13、系统存储芯片14和系统备份芯片15之间通过Nand Flash缓冲模块17实现交换数据。
图4是在实施例中,总线仲裁机制启动的过程。在该图中,系统通电,执行步骤S1处的激活总线仲裁芯片16,然后执行步骤S2处的总线仲裁芯片16获取系统存储芯片14总线控制权,接着执行步骤S3处的读取启动引导、操作系统内核、上层应用的数据,紧接着执行步骤S4处的总线仲裁芯片16获取可信芯片13的控制权,分别使用可信芯片的可信度量根执行步骤S5处的验证启动引导文件的完整性、步骤S6处的验证操作系统内核的完整性、步骤S7处的验证上层应用的完整性,接着可信芯片13执行步骤S8处的调用可信报告根7比较度量结果和可信存储根的度量值是否一致,如果在步骤S9处的验证可信,则执行步骤S10处的PLC硬件平台2获取总线控制权,最后执行步骤S11处的启动嵌入式系统。如果在步骤S9处的验证不可信,则执行步骤S12处的提示错误,最后执行步骤S13处的系统数据恢复,重新执行步骤S4。
图5是在实施例中,可信芯片对引导文件的完整性度量的过程。在该图中,执行步骤S14处的读取数据块,然后执行步骤S15处的可信芯片13使用数据块签名证书中的认证密钥对签名进行验证。如果在S16处的验证可信,则返回S17的可信结果;如果验证失败,则停止引导。
图6是在实施例中,可信芯片对操作系统内核的完整性度量的过程。在该图中,执行步骤S18处的读取数据块,然后执行步骤S19处的可信芯片13使用数据块签名证书中的认证密钥对签名进行验证。如果在S20处的验证可信,则返回S21的可信结果;如果验证失败,则停止引导。
图7是在实施例中,可信芯片对上层应用的完整性度量的过程。在该图中,执行步骤S22处的读取数据块,然后执行步骤S23处的可信芯片13使用数据块签名证书中的认证密钥对签名进行验证。如果在S24处的验证可信,则返回S25的可信结果;如果验证失败,则停止引导。
图8是在实施例中,启动嵌入式系统的过程。在该图中,执行步骤S26处的可信芯片13向总线仲裁芯片12申请总线控制权,然后执行步骤S27处的调用可信芯片13的可信存储根5,对数据块中加密数据的加密密钥2解密,生成加密密钥1,接着执行步骤S28处的调用可信芯片13的可信存储根5,使用加密密钥1对加密数据段进行解密,最后执行步骤S29处的将解密出的数据加载在内存中,引导系统,加载应用程序。
图9是示出系统备份恢复体系结构。在本发明的备份恢复系统包括总线仲裁芯片12、系统存储芯片14和系统备份芯片15。所述系统存储芯片14保存了启动引导文件、操作系统内核和上层应用代码。所述系统备份芯片15保存了备份的启动引导文件、操作系统内核和上层应用代码。
在本发明所实现的模式中,在系统存储芯片14中的内容被恶意破坏或修改后,可以用系统备份芯片15来恢复,从而使PLC硬件平台2系统正常启动。
在本发明所实现的模式中,在PLC硬件平台2系统启动前,安全处理单元1中的总线仲裁芯片12处于主控地位。可信度量时如果发现系统存储芯片14中的内容验证不通过,则由总线仲裁芯片12发出命令,使系统备份芯片15占用总线资源,从系统备份芯片15中读取备份的内容,然后将备份的内容写入总线仲裁芯片12中的Nand Flash缓冲模块17,然后再将缓冲模块中的内容拷贝至系统存储芯片14中。总线仲裁芯片12将系统存储芯片14的写保护置位,确保其中的信息不会被修改,并且大小和存储的基地址都是在总线仲裁芯片12中设置好的,不被公开。在系统恢复完成后,系统存储芯片14获取总线控制权,重新启动引导。
图10示出透明加解密原理图,在本发明中,保留原有系统的文件系统结构,在页高速缓存层21和通用块层26之间添加了数据加解密功能。该系统对于上层用户是透明的,使用户感觉不到文件的加密过程,不修改文件系统的数据结构且用户访问加密文件的过程也不变。
图11是在实施例中,数据加密的过程。在该图中,执行步骤S30处的调用加密模块驱动生成随机密钥key1,加密密钥对d1和p1,签名密钥对d2和p2。然后执行步骤S31处的使用加密公钥p1对key1进行加密,形成key2。接着执行步骤S32处的使用key1对数据字段进行加密,生成密文。紧接着使用签名私钥d2对密文进行签名,生成签名s。最后,将签名s、签名证书、key2和密文保存在系统存储芯片中。
图12示出虚拟化隔离技术,在本发明中,启动引导文件、操作系统内核、上层应用按照指定的地址,放到系统存储芯片14的最低端地址,修改物理块设备层28中的驱动文件,向物理块设备层28写入时需要对参数pos进行判断。如果pos小于m地址则直接返回错误来保证这段地址内容的写保护。m的值按照实际实施过程需要进行设置。
Claims (10)
1.PLC的安全处理单元,其特征在于,包括:
总线仲裁芯片,用于其对总线资源进行分配;
可信芯片,用于提供可信度量根、可信存储根和可信报告根;
系统存储芯片,用于保存启动引导文件、操作系统内核和上层应用代码;
系统备份芯片,用于保存了备份的启动引导文件、操作系统内核和上层应用代码。
2.如权利要求1所述的PLC的安全处理单元,其特征在于,所述总线仲裁芯片对总线资源进行总线仲裁,当多个PLC硬件平台、可信芯片、系统存储芯片和系统备份芯片同时占用共享总线进行数据通信时,总线仲裁芯片决定总线资源的使用权。
3.如权利要求1所述的PLC的安全处理单元,其特征在于,所述可信芯片存储可信度量根、可信存储根和可信报告根;
所述可信度量根,用于对引导文件、操作系统内核、上层应用进行度量;
所述可信存储根,用于进行密钥产生、密钥管理、加密和解密的工作,保护所有委托给可信存储根的密钥和度量信息;
可信报告根,用于允许经过验证的挑战者获取受可信芯片保护的区域中的数据,用签名密钥证实这些数据的真实。
4.如权利要求1或3所述的PLC的安全处理单元,其特征在于,所述可信芯片,在保留原有系统的文件系统结构的页高速缓存层和通用块层之间添加了加密模块驱动;加密的过程对于上层用户透明,不修改文件系统的数据结构且用户访问加密文件的过程也不变。
5.如权利要求1所述的PLC的安全处理单元,其特征在于,所述系统存储芯片是加密并且分区域存储引导文件、系统内核和上层应用;加密存储是执行实际的存储器写入操作前将写入数据进行加密;分区域存储是将存放系统数据、用户数据的区域分开,互相之间不能改动。
6.如权利要求1所述的PLC的安全处理单元,其特征在于,所述系统备份芯片用于安全处理单元在PLC启动之前对其引导文件、系统内核和上层应用进行完整性校验,如果校验未通过则认为内容被篡改,需要进行系统恢复。
7.如权利要求1所述的PLC的安全处理单元,其特征在于,所述系统存储芯片用于虚拟化隔离,启动引导文件、操作系统内核、上层应用按照指定的地址,放到系统存储芯片的最低端地址,修改物理块设备层中的驱动文件,向物理块设备层写入时需要对参数pos进行判断;如果pos小于m地址则直接返回错误来保证这段地址内容的写保护;m的值按照实际实施过程需要进行设置。
8.如权利要求1所述的PLC的安全处理单元的总线仲裁方法,其特征在于,步骤如下:
a)安全处理单元通电后,激活总线仲裁芯片;
b)总线仲裁芯片获取系统存储芯片的总线控制权;
c)读取系统存储芯片内的启动引导、操作系统内核、上层应用的数据到总线仲裁芯片内的Nand Flash缓冲模块;
d)总线仲裁芯片获取可信芯片的控制权,使用可信芯片的可信度量根分别对引导文件、操作系统内核和上层应用度量完整性;
e)如果度量可信,则PLC硬件平台获取总线控制权,读取Nand Flash缓冲模块数据,解密加载到内存中,启动系统;
f)如果度量失败,则执行系统数据恢复,重新引导。
9.如权利要求8所述的PLC的安全处理单元的总线仲裁方法,其特征在于,所述使用可信芯片的可信度量根分别对引导文件、操作系统内核和上层应用度量完整性步骤如下:
a)读取数据块;
b)使用数据块签名证书中的认证密钥对签名进行验证;
c)如果验证可信,则返回可信结果;如果验证失败,则停止引导。
10.如权利要求8所述的PLC的安全处理单元的总线仲裁方法,其特征在于,还包括备份恢复方法,在PLC硬件平台系统启动时,安全处理单元中的总线仲裁芯片处于主控地位;启动时如果发现系统存储芯片中的内容验证不通过,则由总线仲裁芯片发出命令,占用总线,备份恢复步骤如下:
a)从系统备份芯片中读取备份的内容;
b)将备份的内容写入总线仲裁芯片中的Nand F l ash缓冲模块;
c)将缓冲模块中的数据拷贝至系统存储芯片中;
d)总线仲裁芯片将系统存储芯片的写保护置位,确保其中的信息不会被修改,并且大小和存储的基地址在总线仲裁芯片中设置,不被公开;
e)在系统恢复完成后,总线仲裁芯片赋予系统存储芯片总线控制权,重新引导系统。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711212359.5A CN109840430B (zh) | 2017-11-28 | 2017-11-28 | Plc的安全处理单元及其总线仲裁方法 |
PCT/CN2018/090198 WO2019104988A1 (zh) | 2017-11-28 | 2018-06-07 | Plc的安全处理单元及其总线仲裁方法 |
US16/316,205 US11132468B2 (en) | 2017-11-28 | 2018-06-07 | Security processing unit of PLC and bus arbitration method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711212359.5A CN109840430B (zh) | 2017-11-28 | 2017-11-28 | Plc的安全处理单元及其总线仲裁方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840430A true CN109840430A (zh) | 2019-06-04 |
CN109840430B CN109840430B (zh) | 2023-05-02 |
Family
ID=66665379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711212359.5A Active CN109840430B (zh) | 2017-11-28 | 2017-11-28 | Plc的安全处理单元及其总线仲裁方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11132468B2 (zh) |
CN (1) | CN109840430B (zh) |
WO (1) | WO2019104988A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881467A (zh) * | 2020-06-12 | 2020-11-03 | 海光信息技术有限公司 | 利用安全处理器保护文件的方法、装置、cpu和计算机设备 |
CN113219895A (zh) * | 2021-05-10 | 2021-08-06 | 上海交通大学宁波人工智能研究院 | 一种使能边缘控制器安全可信的装置和方法 |
CN113536317A (zh) * | 2021-06-17 | 2021-10-22 | 杭州加速科技有限公司 | 一种加强ate测试机台安全性的方法和系统 |
CN113569302A (zh) * | 2021-07-28 | 2021-10-29 | 全球能源互联网研究院有限公司 | 一种终端可信控制模块及控制方法、装置、电子设备 |
CN113722771A (zh) * | 2021-08-23 | 2021-11-30 | 平头哥(上海)半导体技术有限公司 | 处理单元、片上系统、电子设备和物联网设备 |
CN116340956A (zh) * | 2023-05-25 | 2023-06-27 | 国网上海能源互联网研究院有限公司 | 一种电力嵌入式终端设备的可信防护优化方法和装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110334515B (zh) * | 2019-07-05 | 2021-05-14 | 北京可信华泰信息技术有限公司 | 一种基于可信计算平台生成度量报告的方法及装置 |
CN111274040B (zh) * | 2020-02-18 | 2023-04-07 | 北京和利时控制技术有限公司 | 一种内存管理方法和装置 |
CN111581654B (zh) * | 2020-05-08 | 2023-10-24 | 苏州深信达网络科技有限公司 | 一种加密芯片性能放大的方法 |
CN112182551B (zh) * | 2020-12-01 | 2021-03-16 | 中国航空油料集团有限公司 | Plc设备身份认证系统和plc设备身份认证方法 |
CN113468615B (zh) * | 2021-06-24 | 2023-08-01 | 邦彦技术股份有限公司 | 可信度量方法、可信芯片、逻辑控制器及可信度量系统 |
CN113486353B (zh) * | 2021-06-24 | 2023-08-01 | 邦彦技术股份有限公司 | 可信度量方法、系统、设备及存储介质 |
CN117610089B (zh) * | 2024-01-23 | 2024-03-26 | 上海励驰半导体有限公司 | 多核异构芯片的加密方法、系统、设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155883A1 (en) * | 2005-01-13 | 2006-07-13 | Infortrend Technology, Inc. | Redundant storage virtualization computer system |
CN101221509A (zh) * | 2008-01-24 | 2008-07-16 | 武汉大学 | 可信嵌入式平台总线仲裁启动方法 |
CN101276297A (zh) * | 2008-05-14 | 2008-10-01 | 北京星网锐捷网络技术有限公司 | 一种处理器系统、设备及故障处理方法 |
CN101303716A (zh) * | 2008-07-08 | 2008-11-12 | 武汉大学 | 基于tpm的嵌入式系统恢复机制 |
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
CN103747036A (zh) * | 2013-12-23 | 2014-04-23 | 中国航天科工集团第二研究院七〇六所 | 一种桌面虚拟化环境下的可信安全增强方法 |
CN104021063A (zh) * | 2014-05-14 | 2014-09-03 | 南京大学 | 一种基于硬件虚拟化的模块化计算机取证系统及其方法 |
CN104778141A (zh) * | 2015-02-10 | 2015-07-15 | 浙江大学 | 一种基于控制系统可信架构的tpcm模块及可信检测技术 |
WO2016131553A1 (de) * | 2015-02-16 | 2016-08-25 | IAD Gesellschaft für Informatik, Automatisierung und Datenverarbeitung mbH | Autonom bootendes system mit einem sicherheitsmodul |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7134118B1 (en) * | 2000-10-26 | 2006-11-07 | Siemens Energy & Automation, Inc. | Re-programmable flash memory micro controller as programmable logic controller |
US20090113220A1 (en) * | 2007-10-26 | 2009-04-30 | Sang Han Lee | Encrypted backup data storage device and storage system using the same |
KR101771289B1 (ko) * | 2014-05-19 | 2017-08-24 | 엘에스산전 주식회사 | Plc 프로그램 관리 장치 |
CN106775716B (zh) * | 2016-12-15 | 2020-04-17 | 中国科学院沈阳自动化研究所 | 一种基于度量机制的可信plc启动方法 |
-
2017
- 2017-11-28 CN CN201711212359.5A patent/CN109840430B/zh active Active
-
2018
- 2018-06-07 WO PCT/CN2018/090198 patent/WO2019104988A1/zh active Application Filing
- 2018-06-07 US US16/316,205 patent/US11132468B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155883A1 (en) * | 2005-01-13 | 2006-07-13 | Infortrend Technology, Inc. | Redundant storage virtualization computer system |
CN101221509A (zh) * | 2008-01-24 | 2008-07-16 | 武汉大学 | 可信嵌入式平台总线仲裁启动方法 |
CN101276297A (zh) * | 2008-05-14 | 2008-10-01 | 北京星网锐捷网络技术有限公司 | 一种处理器系统、设备及故障处理方法 |
CN101303716A (zh) * | 2008-07-08 | 2008-11-12 | 武汉大学 | 基于tpm的嵌入式系统恢复机制 |
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
CN103747036A (zh) * | 2013-12-23 | 2014-04-23 | 中国航天科工集团第二研究院七〇六所 | 一种桌面虚拟化环境下的可信安全增强方法 |
CN104021063A (zh) * | 2014-05-14 | 2014-09-03 | 南京大学 | 一种基于硬件虚拟化的模块化计算机取证系统及其方法 |
CN104778141A (zh) * | 2015-02-10 | 2015-07-15 | 浙江大学 | 一种基于控制系统可信架构的tpcm模块及可信检测技术 |
WO2016131553A1 (de) * | 2015-02-16 | 2016-08-25 | IAD Gesellschaft für Informatik, Automatisierung und Datenverarbeitung mbH | Autonom bootendes system mit einem sicherheitsmodul |
Non-Patent Citations (3)
Title |
---|
OLUMUYIWA BAMIDELE ALABA 等: "Educational platform for process controlling via InternetEducational platform for process controlling via Internet" * |
林杰;刘川意;方滨兴;: "IVirt:基于虚拟机自省的运行环境完整性度量机制" * |
蔡万伟;台运方;刘奇;张戈;: "基于MIPS架构的内存虚拟化研究" * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881467A (zh) * | 2020-06-12 | 2020-11-03 | 海光信息技术有限公司 | 利用安全处理器保护文件的方法、装置、cpu和计算机设备 |
CN111881467B (zh) * | 2020-06-12 | 2022-10-28 | 海光信息技术股份有限公司 | 利用安全处理器保护文件的方法、装置、cpu和计算机设备 |
CN113219895A (zh) * | 2021-05-10 | 2021-08-06 | 上海交通大学宁波人工智能研究院 | 一种使能边缘控制器安全可信的装置和方法 |
CN113219895B (zh) * | 2021-05-10 | 2022-06-10 | 上海交通大学宁波人工智能研究院 | 一种使能边缘控制器安全可信的装置和方法 |
CN113536317A (zh) * | 2021-06-17 | 2021-10-22 | 杭州加速科技有限公司 | 一种加强ate测试机台安全性的方法和系统 |
CN113569302A (zh) * | 2021-07-28 | 2021-10-29 | 全球能源互联网研究院有限公司 | 一种终端可信控制模块及控制方法、装置、电子设备 |
CN113722771A (zh) * | 2021-08-23 | 2021-11-30 | 平头哥(上海)半导体技术有限公司 | 处理单元、片上系统、电子设备和物联网设备 |
CN113722771B (zh) * | 2021-08-23 | 2024-04-16 | 杭州中天微系统有限公司 | 处理单元、片上系统、电子设备和物联网设备 |
CN116340956A (zh) * | 2023-05-25 | 2023-06-27 | 国网上海能源互联网研究院有限公司 | 一种电力嵌入式终端设备的可信防护优化方法和装置 |
CN116340956B (zh) * | 2023-05-25 | 2023-08-08 | 国网上海能源互联网研究院有限公司 | 一种电力嵌入式终端设备的可信防护优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019104988A1 (zh) | 2019-06-06 |
US20200042747A1 (en) | 2020-02-06 |
US11132468B2 (en) | 2021-09-28 |
CN109840430B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840430A (zh) | Plc的安全处理单元及其总线仲裁方法 | |
CN103748594B (zh) | 针对arm*trustzonetm实现的基于固件的可信平台模块 | |
CN103038745B (zh) | 扩展完整性测量 | |
CN108055133B (zh) | 一种基于区块链技术的密钥安全签名方法 | |
CN106687980B (zh) | 管理程序和虚拟机保护 | |
CN109313690A (zh) | 自包含的加密引导策略验证 | |
CN109564606A (zh) | 用于将安全协处理器用于固件保护的方法和装置 | |
EP2795829B1 (en) | Cryptographic system and methodology for securing software cryptography | |
CN105046163B (zh) | 保护嵌入式管理程序系统中的重要数据结构 | |
CN108604275A (zh) | 硬件装置及其认证方法 | |
CN103649964B (zh) | 安全寄存执行体系架构 | |
CN103403732B (zh) | 输入输出操作的处理方法和装置 | |
EP2759955A1 (en) | Secure backup and restore of protected storage | |
CN107003866A (zh) | 来自加密模板的加密虚拟机的安全创建 | |
CN106462708A (zh) | 认证变量的管理 | |
CN102208000A (zh) | 为虚拟机镜像提供安全机制的方法和系统 | |
CN102163266A (zh) | 在主机服务器之间安全地移动虚拟机 | |
CN105892348B (zh) | 用于运行控制设备的方法 | |
CN102650944A (zh) | 一种操作系统安全引导装置及引导方法 | |
CN103457974A (zh) | 虚拟机镜像的安全控制方法和装置 | |
US10482278B2 (en) | Remote provisioning and authenticated writes to secure storage devices | |
CN111435396A (zh) | 智能安全主控 | |
CN105308610A (zh) | 用于设备上的平台和用户应用安全性的方法和系统 | |
CN104268477A (zh) | 一种安全控制方法及网络设备 | |
US8909929B2 (en) | Stored public key validity registers for cryptographic devices and systems |
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 |