CN106775716A - 一种基于度量机制的可信plc启动方法 - Google Patents
一种基于度量机制的可信plc启动方法 Download PDFInfo
- Publication number
- CN106775716A CN106775716A CN201611162151.2A CN201611162151A CN106775716A CN 106775716 A CN106775716 A CN 106775716A CN 201611162151 A CN201611162151 A CN 201611162151A CN 106775716 A CN106775716 A CN 106775716A
- Authority
- CN
- China
- Prior art keywords
- plc
- credible
- firmware
- file
- tolerance mechanism
- 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
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- 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/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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying code
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于度量机制的可信PLC启动方法,包括以下步骤:自身固件验证初始化步骤;读取计算PLC的固件信息步骤;逐一校验并存储步骤;运行启动阶段验证步骤。本发明方法采用工业级具有可信功能的芯片作为硬件计算的核心,PLC扩展其Flash总线为可被本发明方法硬件加载,本发明方法硬件识别必要的启动信息,通过完整性校验方法对PLC系统必要的启动文件进行完整性验证,确保PLC系统在启动之后是可信的状态。本发明在保证终端设备安全的正确性及可行性的基础上,能够构建安全可信的工控系统运行环境。
Description
技术领域
本发明涉及计算机可编程逻辑控制器应用技术领域,特别涉及一种基于度量机制的可信PLC启动方法。
背景技术
工业控制系统(Industrial Control Systems,ICS),是由各种自动化控制组件和实时数据采集、监测的过程控制组件共同构成。其组件包括数据采集与监控系统(SCADA)、分布式控制系统(DCS)、可编程逻辑控制器(PLC)、远程终端(RTU)、智能电子设备(IED),以及确保各组件通信的接口技术。
截至2015年9月10日,中国国家信息安全漏洞库(CNNVD)、CommonVulnerabilities&Exposures(CVE)、The Industrial Control Systems Cyber EmergencyResponse Team(ICS-CERT美国工业控制系统应急响应小组)三大组织公开发布的与工业控制系统相关漏洞数量为568个,涉及国内外相关厂商120个。
目前工业控制系统使用的现场控制设备、过程控制自动化软件、工程师站、操作员站、OPC接口机等设备中大量使用了标准的信息网络技术或产品。这些技术和产品并没有针对工控系统的应用环境进行优化和专门设计,导致为工控系统引入了大量的“冗余功能和配置”。工控系统的设计、实施、工程人员并没有意识到这些“冗余功能和配置”所引发的安全问题,仍然按照老思路实现控制功能。也有一部分工控厂家、控制系统开发人员注意到了信息安全,但由于相关知识和技能的缺乏,控制系统自身设计、实现的安全功能不仅没能充分利用信息系统所提供的基础安全技术和功能,而且还存在一些设计上的错误和缺陷(如:不正确的密钥管理、口令保护措施等)。
网络边界防护措施薄弱。大部分企业中,因为工业控制系统类型的多样化以及安全管理意识和职责不明确等原因,一方面网络间的数据传输和授权管理未实施明确的安全策略,另一方面企业管理层连接互联网,从而导致互联网用户可以利用企业管理网络系统的漏洞,通过“隧道”方式直接获取生产控制网关键设备的运行控制数据,对工业控制系统运行带来造成重大安全隐患。
工业控制系统计算机最大特点是相对固定,各工程师站、操作员站和OPC接口计算机等大都采用WINDOWS系统,这些系统常年无法升级补丁,也没有相应的病毒防护措施。一旦移动介质管理出现疏忽,则会导致病毒等感染事件频发。部分企业在工业控制系统检修或排除故障过程中,使用远程维护或诊断,或者使用外部移动终端,同时未采取严格的安全措施,可能导致系统的非授权访问。同时移动终端自身的安全问题(如病毒、木马等恶意程序),也可能感染整个系统。对于使用国外品牌而开放远程诊断维护的工业控制系统,这一问题显得尤为突出。
智能制造与工业4.0战略的背景下,工业生产的数字化和信息化成为未来发展的必然趋势,高度融合IT技术的工业自动化也得到广泛应用。通过Woo-yun平台、ICS-CERT以及国家信息安全漏洞共享平台,可以看到越来多的工业控制系统(PLC、DCS、SCADA)乃至应用软件的安全漏洞被公布出来,包括诸如ABB、Schneider Electric、Siemens、RockwellAutomation等知名工业控制系统厂商的产品的各种安全漏洞。
工业控制系统终端安全主要由于现有平台架构是开放式的,恶意程序很容易植入软件系统中,而且所有试图通过软件检测恶意代码的方法都无法证明检测软件自身的安全性。其表现形式为隐藏在终端设备固件芯片中的恶意代码被攻击者远程控制,对工业控制系统进行诸如信息窃取、删除数据、破坏系统等攻击行为。
目前针对工业控制系统终端安全研究方面,主要集中在一下三个方面:
(1)基于传统PIN码的身份认证、基于生物特征的身份认证,解决移动平台缺少域隔离机制可能导致用户敏感信息泄露、接口未受保护等问题;
(2)基于口令和指纹的双因素认证解决平台是否安全可信、用户不能认证终端以及缺乏用户隐私保护机制等问题;
(3)基于移动可信模块(MTM)的可信移动平台体系结构,研究了不同身份标志域中用户与服务提供者之间的信任关系建立问题。
总体来说,工业控制系统终端可信安全研究已经取得了一些阶段性成果,但对于嵌入式设备可信启动研究仍处于起步阶段。
发明内容
本发明所要解决的技术问题在于,提供了一种基于度量机制的可信PLC启动方法。本发明方法采用工业级具有可信功能的芯片作为硬件计算的核心,PLC扩展其Flash总线为可被本发明方法硬件加载,本发明方法硬件识别必要的启动信息,通过完整性校验方法对PLC系统必要的启动文件进行完整性验证,确保PLC系统在启动之后是可信的状态。本发明在保证终端设备安全的正确性及可行性的基础上,能够构建安全可信的工控系统运行环境。
为解决上述技术问题,本发明提供了一种基于度量机制的可信PLC启动方法,包括以下步骤:在出厂初始化阶段通过设计自身固件验证方法进行自身验证;通过读取特定固件信息,进行可信存储区填充;之后在运行启动阶段,首先需要通过自身固件验证方法,再对特定固件存储区进行可信认证,实现LC系统启动可信。
为解决上述技术问题,本发明还提供了一种基于度量机制的可信PLC启动方法,包括以下步骤:
自身固件验证初始化步骤:通过芯片硬件提供的可信根为基础,整体校验自身存储区域的固件信息,一一对应存储校验结果;
读取计算PLC的固件信息步骤:在出厂初始化阶段,将PLC的flash存储器加载到硬件载体上,之后读取flash存储器中的固件信息;
逐一校验并存储步骤:在出厂初始化阶段,通过完整性校验算法计算读取的验证PLC的固件信息,并将结果一一对应存储,直到所指定的固件信息完成整体校验;
运行启动阶段验证步骤:在运行阶段,设备加电启动,首先调用自身固件验证方法,自检验证。
所述读取验证PLC的固件信息,优选在运行阶段,调用读取计算PLC的固件信息方法,将结果于可信存储区中内容进行一一对应验证,对发现不正确的提示运行失败,对全部验证成功的,提示运行成功。
所述逐一校验并存储可以包括:完成完整性校验算法;存储区的固件信息包括:启动信息和运行的原始程序MD5值。
所述完整性校验方法优选包括:软硬件协同设计,软件提供分组,并行调用硬件进行计算。
所述逐一校验并存储可以进一步包括:系统的启动过程中,按照系统的启动文件加载过程进行流程设计。
所述逐一校验并存储优选进一步包括:存储位置为一个安全、可信的位置。
所述运行启动阶段验证时,启动读取的顺序优选包括:启动引导文件BOOT.BIN、设备树devicetree.dtb、内核文件uImage、文件系统uramdisk.image;所述运行启动阶段的验证方法包括校验值匹配方式。
所述完整性校验可以进一步包括:
系统调用相应文件中的hash函数,通过计算摘要值查看与之前存储的标准值是否相同;
如果相同,则说明文件是完整的,给予文件授权可执行;
如果不相同,则说明文件被修改过,直接删除该文件,然后继续验证下一个文件的完整性。
为解决上述技术问题,本发明还提供了一种如前述任一项所述基于度量机制的可信PLC启动方法中使用的完整性校验方法,所述完整性校验方法包括:
系统调用相应文件中的hash函数,通过计算摘要值查看与之前存储的标准值是否相同;
如果相同,则说明文件是完整的,给予文件授权可执行;
如果不相同,则说明文件被修改过,直接删除该文件,然后继续验证下一个文件的完整性。
本发明产生的有益效果包括:本发明基于度量机制的可信PLC启动方法,采用工业级芯片搭建硬件环境,协同处理的方式实现快速的硬件加解密验证,并用完整性算法对PLC系统启动文件进行完整性验证,确保PLC系统的可信启动。
附图说明
图1为本发明实施例所述基于度量机制的可信PLC启动方法Zynq-7030功能结构示意图;
图2为本发明实施例所述基于度量机制的可信PLC启动方法系统启动文件校验流程图;
图3为本发明实施例所述启动环境配置图;
图4为本发明实施例所述基于hash算法进行文件完整性验证示意图;
图5为本发明实施例所述基于度量机制的可信PLC启动方法流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明,但本发明并不局限于这些实施例。
PLC(Programmable Logic Controller)可编程逻辑控制器,是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。
可编程逻辑控制器按结构分为整体型和模块型两类,按应用环境分为现场安装和控制室安装两类;按CPU字长分为1位、4位、8位、16位、32位、64位等。从应用角度出发,通常可按控制功能或输入输出点数选型。
整体型可编程逻辑控制器的I/O点数固定,因此用户选择的余地较小,用于小型控制系统;模块型可编程逻辑控制器提供多种I/O卡件或插卡,因此用户可较合理地选择和配置控制系统的I/O点数,功能扩展方便灵活,一般用于大中型控制系统。
本发明基于度量机制的可信PLC启动方法,采用工业级芯片搭建硬件环境,协同处理的方式实现快速的硬件加解密验证,并用完整性算法对PLC系统启动文件进行完整性验证,确保PLC系统的可信启动。
在本发明的一实施例中,提供了一种基于度量机制的可信PLC启动方法,该方法在出厂初始化阶段通过设计自身固件验证方法进行自身验证,通过读取特定固件信息,进行可信存储区填充;之后在运行阶段,首先需要通过自身固件验证方法,再对特定固件存储区进行可信认证,最终实现LC系统启动可信。该方法主要包括以下几个部分:
自身固件验证初始化:通过芯片硬件提供的可信根为基础,整体校验自身存储区域的固件信息,一一对应存储校验结果。
读取计算PLC的固件信息:在出厂初始化阶段,将PLC的flash存储器加载到本方法的硬件载体上,之后主要读取flash存储器中的固件信息。
逐一校验并存储:在出厂初始化阶段,通过完整性校验算法计算读取的验证PLC的固件信息,并将结果一一对应存储,直到所指定的固件信息完成整体校验。
运行启动阶段:在运行阶段,设备加电启动,首先调用自身固件验证方法,自检验证。
读取验证PLC的固件信息,在运行阶段,调用读取计算PLC的固件信息方法,将结果于可信存储区中内容进行一一对应验证,对发现不正确的提示运行失败,对全部验证成功的,提示运行成功。
所述的校验方法主要是完成完整性校验算法,存储区的固件信息主要包括启动信息和运行的原始程序MD5值。
固件信息主要包括:启动引导文件BOOT.BIN、设备树devicetree.dtb、内核文件uImage和文件系统uramdisk.image。
完整性校验方法的实现采用软硬件协同设计,软件提供分组,并行调用硬件进行计算。
逐一验证体现为系统的启动过程,按照系统的启动文件加载过程进行流程设计。
存储位置为一个安全、可信的位置。
启动读取的顺序包括:启动引导文件BOOT.BIN、设备树devicetree.dtb、内核文件uImage和文件系统uramdisk.image。
验证方法可采用校验值匹配方式。
BOOT.BIN文件由fsbl、uboot、比特流文件组成。
在本发明的另一实施例中,提供了如下一种基于度量机制的可信PLC启动方法,包括:
初始化阶段,首先进行自身固件验证初始化,通过芯片硬件提供的可信根功能模型为可信基,计算自身存储区域的固件启动信息,并将计算结果进行安全的存储。
优先地,校验方法主要是完成完整性校验算法,存储区的固件信息主要包括启动信息和运行的原始程序MD5值。
之后对PLC固件验证初始化,在出厂初始化阶段,将PLC的flash存储器加载到本方法的硬件载体上,之后主要读取flash存储器中的固件信息,主要包括:启动引导文件BOOT.BIN、设备树devicetree.dtb、内核文件uImage和文件系统uramdisk.image。
对读取信息进行可信链传递逐一校验并存储,分阶段计算读取的验证PLC的固件信息的完整性校验值,并将结果一一对应存储,直到所指定的固件信息完成整体校验。
优先地,完整性校验方法的实现采用软硬件协同设计,软件提供分组,并行调用硬件进行计算。
优先地,逐一验证体现为系统的启动过程,按照系统的启动文件加载过程进行流程设计。
优先地,存储位置为一个安全、可信的位置。
运行阶段,设备加电启动,首先调用自身固件验证方法,自检验证。
读取验证PLC的固件信息,启动读取的顺序与初始化阶段读取PLC固件信息的顺序一致,计算PLC的固件信息,将结果于可信存储区中内容进行一一对应验证,对发现不正确的提示运行失败,对全部验证成功的,提示运行成功。
可信链传递:通过先度量再移交控制权的方式,信任关系将一级一级的传递下去,保证了PLC系统的安全启动。
完整性校验:系统调用相应文件中的hash函数,通过计算摘要值查看与之前存储的标准值是否相同,如果相同,则说明文件是完整的,给予文件授权可执行;如果不相同,则说明文件被修改过,可能存在潜在的攻击,这时相应的处理机制是直接删除该文件,然后继续验证下一个文件的完整性。
在本发明的再一实施例中,如图1所示,为本发明实施例所述基于度量机制的可信PLC启动方法Zynq-7030功能结构示意图,本单位的PLC采用Zynq-7030芯片作为高端主控器核心芯片,所以采用picozed 7030开发板做此专利的功能性验证工作的硬件平台;如图2所示,为本发明实施例所述基于度量机制的可信PLC启动方法系统启动文件校验流程图。本发明的方法在具体实施时,工作主要流程如下,参考图5整体流程图进行介绍本picozed 7030开发板的可信启动方法:
步骤一:在片上系统SoC的基础上提供嵌入式操作系统启动时的安全校验和算法芯片等硬件模块,以及驱动、接口等,本专利实施例中采用SDC32A12安全芯片,通用嵌入式linux-2.6.34版本进行,安全芯片驱动采用国密标准SKF封装。
步骤二,在出厂初始化时,首先进行自身固件验证初始化,通过安全芯片硬件提供的可信根功能模型为可信基,计算自身存储区域的固件启动信息,参考图2提供的固件名,并将计算结果存储于本实施例的安全芯片中。
步骤三:在PLC启动时,启动环境配置,如图3所示为picozed7030启动环境配置,当在系统上电之后,首先系统启动硬件环境会被初始化,系统启动环境中配置了各文件的加载地址,PLC嵌入式操作系统启动需要的文件有启动引导文件BOOT.BIN、设备树devicetree.dtb、内核uImage和文件系统uramdisk.image。
对读取信息进行可信链传递逐一校验并存储,分阶段计算读取的验证PLC的固件信息的完整性校验值,并将结果一一对应存储,存储内容包括启动信息和运行原始程序的MD5值,直到所指定的固件信息完成整体校验。
步骤四:运行阶段,设备加电启动,首先调用自身固件验证方法,自检验证。读取验证PLC的固件信息,启动读取的顺序与初始化阶段读取PLC固件信息的顺序一致,按照预定的执行顺序调用各文件中的hash代码段进行完整性校验,计算PLC的固件信息,将结果于可信存储区中内容进行一一对应验证,如图4所示系统调用相应文件中的hash函数,通过计算摘要值查看与之前存储的标准值是否相同,如果相同,则说明文件是完整的,给予文件授权可执行;如果不相同,则说明文件被修改过,可能存在潜在的攻击,这时相应的处理机制是直接删除该文件,然后继续验证下一个文件的完整性。
通过先度量再移交控制权的方式,信任关系将一级一级的传递下去,对发现不正确的提示运行失败,对全部验证成功的,提示运行成功。
待所有文件完整性验证完成之后,如果有文件被修改,系统会因为缺少启动所必需文件而无法启动,需要等待管理员重新加载文件,进行新一轮校验,直至校验成功,方可启动。
以上所述,仅是本发明的几个实施例,并非对本发明做任何形式的限制,虽然本发明以较佳实施例揭示如上,然而并非用以限制本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。
Claims (10)
1.一种基于度量机制的可信PLC启动方法,其特征在于,包括以下步骤:在出厂初始化阶段通过设计自身固件验证方法进行自身验证;通过读取特定固件信息,进行可信存储区填充;之后在运行启动阶段,首先需要通过自身固件验证方法,再对特定固件存储区进行可信认证,实现LC系统启动可信。
2.一种基于度量机制的可信PLC启动方法,其特征在于,包括以下步骤:
自身固件验证初始化步骤:通过芯片硬件提供的可信根为基础,整体校验自身存储区域的固件信息,一一对应存储校验结果;
读取计算PLC的固件信息步骤:在出厂初始化阶段,将PLC的flash存储器加载到硬件载体上,之后读取flash存储器中的固件信息;
逐一校验并存储步骤:在出厂初始化阶段,通过完整性校验算法计算读取的验证PLC的固件信息,并将结果一一对应存储,直到所指定的固件信息完成整体校验;
运行启动阶段验证步骤:在运行阶段,设备加电启动,首先调用自身固件验证方法,自检验证。
3.根据权利要求2所述的基于度量机制的可信PLC启动方法,其特征在于,所述读取验证PLC的固件信息,在运行阶段,调用读取计算PLC的固件信息方法,将结果于可信存储区中内容进行一一对应验证,对发现不正确的提示运行失败,对全部验证成功的,提示运行成功。
4.根据权利要求2所述的基于度量机制的可信PLC启动方法,其特征在于,所述逐一校验并存储包括:完成完整性校验算法;存储区的固件信息包括:启动信息和运行的原始程序MD5值。
5.根据权利要求2所述的基于度量机制的可信PLC启动方法,其特征在于,所述完整性校验方法包括:软硬件协同设计,软件提供分组,并行调用硬件进行计算。
6.根据权利要求2所述的基于度量机制的可信PLC启动方法,其特征在于,所述逐一校验并存储进一步包括:系统的启动过程中,按照系统的启动文件加载过程进行流程设计。
7.根据权利要求2所述的基于度量机制的可信PLC启动方法,其特征在于,所述逐一校验并存储进一步包括:存储位置为一个安全、可信的位置。
8.根据权利要求1或2所述的基于度量机制的可信PLC启动方法,其特征在于,所述运行启动阶段验证时,启动读取的顺序包括:启动引导文件BOOT.BIN、设备树devicetree.dtb、内核文件uImage、文件系统uramdisk.image;所述运行启动阶段的验证方法包括校验值匹配方式。
9.根据权利要求1或2所述的基于度量机制的可信PLC启动方法,其特征在于,所述完整性校验进一步包括:
系统调用相应文件中的hash函数,通过计算摘要值查看与之前存储的标准值是否相同;
如果相同,则说明文件是完整的,给予文件授权可执行;
如果不相同,则说明文件被修改过,直接删除该文件,然后继续验证下一个文件的完整性。
10.一种如权利要求1~8中任一项所述基于度量机制的可信PLC启动方法中使用的完整性校验方法,其特征在于,所述完整性校验方法包括:
系统调用相应文件中的hash函数,通过计算摘要值查看与之前存储的标准值是否相同;
如果相同,则说明文件是完整的,给予文件授权可执行;
如果不相同,则说明文件被修改过,直接删除该文件,然后继续验证下一个文件的完整性。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611162151.2A CN106775716B (zh) | 2016-12-15 | 2016-12-15 | 一种基于度量机制的可信plc启动方法 |
PCT/CN2017/076532 WO2018107595A1 (zh) | 2016-12-15 | 2017-03-14 | 一种基于度量机制的可信plc启动方法 |
US15/572,624 US11093258B2 (en) | 2016-12-15 | 2017-03-14 | Method for trusted booting of PLC based on measurement mechanism |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611162151.2A CN106775716B (zh) | 2016-12-15 | 2016-12-15 | 一种基于度量机制的可信plc启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775716A true CN106775716A (zh) | 2017-05-31 |
CN106775716B CN106775716B (zh) | 2020-04-17 |
Family
ID=58892604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611162151.2A Active CN106775716B (zh) | 2016-12-15 | 2016-12-15 | 一种基于度量机制的可信plc启动方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11093258B2 (zh) |
CN (1) | CN106775716B (zh) |
WO (1) | WO2018107595A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388474A (zh) * | 2018-09-25 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种Qemu虚拟可信根数据完整性的检测方法及系统 |
CN109684849A (zh) * | 2017-10-18 | 2019-04-26 | 佳能株式会社 | 信息处理装置、其控制方法和存储介质 |
WO2019104988A1 (zh) * | 2017-11-28 | 2019-06-06 | 中国科学院沈阳自动化研究所 | Plc的安全处理单元及其总线仲裁方法 |
EP3506145A1 (en) * | 2017-12-29 | 2019-07-03 | Siemens Aktiengesellschaft | Data integrity protection method and device |
CN110826075A (zh) * | 2019-12-20 | 2020-02-21 | 宁波和利时信息安全研究院有限公司 | Plc动态度量方法、装置、系统、存储介质及电子设备 |
CN111177708A (zh) * | 2019-12-30 | 2020-05-19 | 山东超越数控电子股份有限公司 | 基于tcm芯片的plc可信度量方法、系统及度量装置 |
CN111241548A (zh) * | 2020-01-07 | 2020-06-05 | 天津飞腾信息技术有限公司 | 计算机启动方法 |
WO2020207343A1 (zh) * | 2019-04-12 | 2020-10-15 | 阿里巴巴集团控股有限公司 | 计算处理方法、系统、设备、存储器、处理器及计算机设备 |
CN112035152A (zh) * | 2020-08-24 | 2020-12-04 | 成都三零嘉微电子有限公司 | 一种SoC芯片固件升级的安全处理系统及方法 |
CN112131537A (zh) * | 2020-09-25 | 2020-12-25 | 北京计算机技术及应用研究所 | 一种对zynq芯片程序镜像文件的加解密的方法 |
CN112241141A (zh) * | 2020-11-12 | 2021-01-19 | 上海电气风电集团股份有限公司 | Plc控制系统的硬件配置方法、系统、设备及介质 |
CN112632562A (zh) * | 2020-12-28 | 2021-04-09 | 四川虹微技术有限公司 | 设备启动方法、设备管理方法和嵌入式设备 |
CN112948086A (zh) * | 2021-03-04 | 2021-06-11 | 浙江中控研究院有限公司 | 一种可信plc控制系统 |
CN113987599A (zh) * | 2021-12-28 | 2022-01-28 | 苏州浪潮智能科技有限公司 | 一种固件可信根的实现方法、装置、设备和可读存储介质 |
CN114124398A (zh) * | 2020-08-28 | 2022-03-01 | 美光科技公司 | 具有信任链的装置 |
CN115062330A (zh) * | 2022-08-18 | 2022-09-16 | 麒麟软件有限公司 | 基于tpm的智能密码钥匙密码应用接口的实现方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3428756B1 (de) * | 2017-07-10 | 2019-06-19 | Siemens Aktiengesellschaft | Integritätsüberwachung bei automatisierungssystemen |
CN109104458B (zh) * | 2018-06-30 | 2022-09-06 | 深圳可信计算技术有限公司 | 一种用于云平台可信性验证的数据采集方法及系统 |
CN109684839A (zh) * | 2018-12-19 | 2019-04-26 | Oppo广东移动通信有限公司 | 自定义模型防篡改方法、装置、终端设备及存储介质 |
CN112578763B (zh) * | 2019-09-30 | 2023-01-17 | 北京国双科技有限公司 | 安全授权方法、故障诊断方法、系统及相关产品 |
CN110837390B (zh) * | 2019-11-05 | 2023-04-07 | 易思维(杭州)科技有限公司 | 一种Zynq平台远程升级方法 |
CN110851188B (zh) * | 2019-12-18 | 2023-08-29 | 宁波和利时信息安全研究院有限公司 | 一种基于双体架构的国产plc可信链实现装置及方法 |
CN112149800B (zh) * | 2020-09-08 | 2024-05-28 | 北京工业大学 | 一种反馈神经网络可信执行方法及装置 |
CN114329479B (zh) * | 2021-12-08 | 2024-05-28 | 浙江大学 | 一种面向risc-v架构的启动验证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559591A (zh) * | 2013-11-20 | 2014-02-05 | 北京可信华泰信息技术有限公司 | 基于可信计算的软件管理系统和管理方法 |
CN104318142A (zh) * | 2014-10-31 | 2015-01-28 | 山东超越数控电子有限公司 | 一种计算机可信启动方式 |
US20160283721A1 (en) * | 2012-06-28 | 2016-09-29 | Intel Corporation | Out-of-band host os boot sequence verification |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5606660A (en) * | 1994-10-21 | 1997-02-25 | Lexar Microsystems, Inc. | Method and apparatus for combining controller firmware storage and controller logic in a mass storage system |
US8667580B2 (en) * | 2004-11-15 | 2014-03-04 | Intel Corporation | Secure boot scheme from external memory using internal memory |
US8181020B2 (en) * | 2005-02-02 | 2012-05-15 | Insyde Software Corp. | System and method for securely storing firmware |
US9424430B2 (en) * | 2006-05-24 | 2016-08-23 | Safend Ltd. | Method and system for defending security application in a user's computer |
JP2008102618A (ja) * | 2006-10-17 | 2008-05-01 | Toshiba Corp | 電子機器およびファームウェア保護方法 |
US9940069B1 (en) * | 2013-02-27 | 2018-04-10 | EMC IP Holding Company LLC | Paging cache for storage system |
CN103645672B (zh) | 2013-12-16 | 2015-12-30 | 华南理工大学 | 一种plc固件完整性验证装置及验证方法 |
US9652570B1 (en) * | 2015-09-03 | 2017-05-16 | Xilinx, Inc. | Automatic implementation of a customized system-on-chip |
-
2016
- 2016-12-15 CN CN201611162151.2A patent/CN106775716B/zh active Active
-
2017
- 2017-03-14 US US15/572,624 patent/US11093258B2/en active Active
- 2017-03-14 WO PCT/CN2017/076532 patent/WO2018107595A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283721A1 (en) * | 2012-06-28 | 2016-09-29 | Intel Corporation | Out-of-band host os boot sequence verification |
CN103559591A (zh) * | 2013-11-20 | 2014-02-05 | 北京可信华泰信息技术有限公司 | 基于可信计算的软件管理系统和管理方法 |
CN104318142A (zh) * | 2014-10-31 | 2015-01-28 | 山东超越数控电子有限公司 | 一种计算机可信启动方式 |
Non-Patent Citations (3)
Title |
---|
刘桂雄; 余中泼; 洪晓斌; 谭文胜: "基于Hash算法嵌入式系统固件安全验证方法", 《中国测试》 * |
张向宏、耿贵宁: "基于可信计算的工业控制安全体系架构研究", 《保密科学技术》 * |
李彬: "基于MD5算法的PLC固件完整性增强方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684849A (zh) * | 2017-10-18 | 2019-04-26 | 佳能株式会社 | 信息处理装置、其控制方法和存储介质 |
CN109684849B (zh) * | 2017-10-18 | 2023-06-27 | 佳能株式会社 | 信息处理装置、其控制方法和存储介质 |
WO2019104988A1 (zh) * | 2017-11-28 | 2019-06-06 | 中国科学院沈阳自动化研究所 | Plc的安全处理单元及其总线仲裁方法 |
US11132468B2 (en) | 2017-11-28 | 2021-09-28 | Shenyang Institute Of Automation, Chinese Academy Of Sciences | Security processing unit of PLC and bus arbitration method thereof |
EP3506145A1 (en) * | 2017-12-29 | 2019-07-03 | Siemens Aktiengesellschaft | Data integrity protection method and device |
CN109388474A (zh) * | 2018-09-25 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种Qemu虚拟可信根数据完整性的检测方法及系统 |
WO2020207343A1 (zh) * | 2019-04-12 | 2020-10-15 | 阿里巴巴集团控股有限公司 | 计算处理方法、系统、设备、存储器、处理器及计算机设备 |
CN110826075A (zh) * | 2019-12-20 | 2020-02-21 | 宁波和利时信息安全研究院有限公司 | Plc动态度量方法、装置、系统、存储介质及电子设备 |
CN111177708A (zh) * | 2019-12-30 | 2020-05-19 | 山东超越数控电子股份有限公司 | 基于tcm芯片的plc可信度量方法、系统及度量装置 |
CN111241548A (zh) * | 2020-01-07 | 2020-06-05 | 天津飞腾信息技术有限公司 | 计算机启动方法 |
CN112035152A (zh) * | 2020-08-24 | 2020-12-04 | 成都三零嘉微电子有限公司 | 一种SoC芯片固件升级的安全处理系统及方法 |
CN112035152B (zh) * | 2020-08-24 | 2023-10-10 | 成都三零嘉微电子有限公司 | 一种SoC芯片固件升级的安全处理系统及方法 |
CN114124398A (zh) * | 2020-08-28 | 2022-03-01 | 美光科技公司 | 具有信任链的装置 |
CN112131537A (zh) * | 2020-09-25 | 2020-12-25 | 北京计算机技术及应用研究所 | 一种对zynq芯片程序镜像文件的加解密的方法 |
CN112131537B (zh) * | 2020-09-25 | 2023-10-20 | 北京计算机技术及应用研究所 | 一种对zynq芯片程序镜像文件的加解密的方法 |
CN112241141A (zh) * | 2020-11-12 | 2021-01-19 | 上海电气风电集团股份有限公司 | Plc控制系统的硬件配置方法、系统、设备及介质 |
CN112241141B (zh) * | 2020-11-12 | 2022-08-09 | 上海电气风电集团股份有限公司 | Plc控制系统的硬件配置方法、系统、设备及介质 |
CN112632562A (zh) * | 2020-12-28 | 2021-04-09 | 四川虹微技术有限公司 | 设备启动方法、设备管理方法和嵌入式设备 |
CN112632562B (zh) * | 2020-12-28 | 2024-01-26 | 四川虹微技术有限公司 | 设备启动方法、设备管理方法和嵌入式设备 |
CN112948086A (zh) * | 2021-03-04 | 2021-06-11 | 浙江中控研究院有限公司 | 一种可信plc控制系统 |
CN112948086B (zh) * | 2021-03-04 | 2023-11-03 | 浙江中控研究院有限公司 | 一种可信plc控制系统 |
WO2023123850A1 (zh) * | 2021-12-28 | 2023-07-06 | 苏州浪潮智能科技有限公司 | 一种固件可信根的实现方法、装置、设备和可读存储介质 |
CN113987599B (zh) * | 2021-12-28 | 2022-03-22 | 苏州浪潮智能科技有限公司 | 一种固件可信根的实现方法、装置、设备和可读存储介质 |
CN113987599A (zh) * | 2021-12-28 | 2022-01-28 | 苏州浪潮智能科技有限公司 | 一种固件可信根的实现方法、装置、设备和可读存储介质 |
CN115062330A (zh) * | 2022-08-18 | 2022-09-16 | 麒麟软件有限公司 | 基于tpm的智能密码钥匙密码应用接口的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
US11093258B2 (en) | 2021-08-17 |
US20180285127A1 (en) | 2018-10-04 |
CN106775716B (zh) | 2020-04-17 |
WO2018107595A1 (zh) | 2018-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775716A (zh) | 一种基于度量机制的可信plc启动方法 | |
Waidner et al. | Security in industrie 4.0-challenges and solutions for the fourth industrial revolution | |
CN108351937A (zh) | 计算设备 | |
Asokan et al. | Mobile trusted computing | |
KR101622447B1 (ko) | 장치 유효성 확인, 재난 표시, 및 복원 | |
EP2302549B1 (en) | Platform security apparatus and method thereof | |
CN103038745B (zh) | 扩展完整性测量 | |
CN108140093A (zh) | 使用用于设备的硬件信任根来迁移秘密 | |
CN108399329A (zh) | 一种提高可信应用程序安全的方法 | |
CN104363236A (zh) | 一种自动化漏洞验证的方法 | |
CN101458743A (zh) | 一种保护计算机系统安全的方法 | |
CN105099705B (zh) | 一种基于usb协议的安全通信方法及其系统 | |
Jung et al. | A secure platform for iot devices based on arm platform security architecture | |
Yao et al. | Building secure firmware | |
CN101147154A (zh) | 用于可信数据的方法、设备和数据结构 | |
US9965625B2 (en) | Control system and authentication device | |
Qin et al. | RIPTE: runtime integrity protection based on trusted execution for IoT device | |
KR101308152B1 (ko) | 스마트 기기를 통한 모바일 오티피 장치의 등록 방법 | |
Simpson | SAFECode whitepaper: Fundamental practices for secure software development 2nd edition | |
Mugarza et al. | Safety and security concept for software updates on mixed-criticality systems | |
CN113162936B (zh) | 一种防止异常动态分析的方法和系统 | |
Msgna et al. | Secure application execution in mobile devices | |
Marconot et al. | IoT components lifecycle based security analysis | |
Yao et al. | Proactive Firmware Security Development | |
CN110059466A (zh) | 一种安全可信卡的实现方法,安全可信卡及系统 |
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 |