CN106775716B - 一种基于度量机制的可信plc启动方法 - Google Patents

一种基于度量机制的可信plc启动方法 Download PDF

Info

Publication number
CN106775716B
CN106775716B CN201611162151.2A CN201611162151A CN106775716B CN 106775716 B CN106775716 B CN 106775716B CN 201611162151 A CN201611162151 A CN 201611162151A CN 106775716 B CN106775716 B CN 106775716B
Authority
CN
China
Prior art keywords
plc
file
trusted
verification
starting
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
Application number
CN201611162151.2A
Other languages
English (en)
Other versions
CN106775716A (zh
Inventor
曾鹏
尚文利
赵剑明
万明
乔全胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Institute of Automation of CAS
Original Assignee
Shenyang Institute of Automation of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenyang Institute of Automation of CAS filed Critical Shenyang Institute of Automation of CAS
Priority to CN201611162151.2A priority Critical patent/CN106775716B/zh
Priority to PCT/CN2017/076532 priority patent/WO2018107595A1/zh
Priority to US15/572,624 priority patent/US11093258B2/en
Publication of CN106775716A publication Critical patent/CN106775716A/zh
Application granted granted Critical
Publication of CN106775716B publication Critical patent/CN106775716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable 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启动方法
技术领域
本发明涉及计算机可编程逻辑控制器应用技术领域,特别涉及一种基于度量机制的可信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启动方法,其特征在于,包括以下步骤:在出厂初始化阶段通过设计自身固件验证方法进行自身验证;通过读取特定固件信息,进行可信存储区填充;之后在运行启动阶段,首先需要通过自身固件验证方法,再对特定固件存储区进行可信认证,实现PLC***启动可信;
所述通过读取特定固件信息,进行可信存储区填充包括:在出厂初始化阶段,将PLC的flash存储器加载到硬件载体上,之后读取flash存储器中的固件信息,通过完整性校验算法计算读取的验证PLC的固件信息,并将结果一一对应存储,直到所指定的固件信息完成整体校验。
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函数,通过计算摘要值查看与之前存储的标准值是否相同;
如果相同,则说明文件是完整的,给予文件授权可执行;
如果不相同,则说明文件被修改过,直接删除该文件,然后继续验证下一个文件的完整性。
CN201611162151.2A 2016-12-15 2016-12-15 一种基于度量机制的可信plc启动方法 Active CN106775716B (zh)

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 CN106775716A (zh) 2017-05-31
CN106775716B true 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)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3428756B1 (de) * 2017-07-10 2019-06-19 Siemens Aktiengesellschaft Integritätsüberwachung bei automatisierungssystemen
JP6942601B2 (ja) * 2017-10-18 2021-09-29 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
CN109840430B (zh) 2017-11-28 2023-05-02 中国科学院沈阳自动化研究所 Plc的安全处理单元及其总线仲裁方法
CN109993002B (zh) 2017-12-29 2023-12-22 西门子公司 一种数据完整性保护方法和装置
CN109104458B (zh) * 2018-06-30 2022-09-06 深圳可信计算技术有限公司 一种用于云平台可信性验证的数据采集方法及***
CN109388474A (zh) * 2018-09-25 2019-02-26 郑州云海信息技术有限公司 一种Qemu虚拟可信根数据完整性的检测方法及***
CN109684839A (zh) * 2018-12-19 2019-04-26 Oppo广东移动通信有限公司 自定义模型防篡改方法、装置、终端设备及存储介质
CN111814205B (zh) * 2019-04-12 2023-11-14 阿里巴巴集团控股有限公司 计算处理方法、***、设备、存储器、处理器及计算机设备
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可信链实现装置及方法
CN110826075A (zh) * 2019-12-20 2020-02-21 宁波和利时信息安全研究院有限公司 Plc动态度量方法、装置、***、存储介质及电子设备
CN111177708A (zh) * 2019-12-30 2020-05-19 山东超越数控电子股份有限公司 基于tcm芯片的plc可信度量方法、***及度量装置
CN111241548B (zh) * 2020-01-07 2022-09-09 飞腾信息技术有限公司 计算机启动方法
CN112035152B (zh) * 2020-08-24 2023-10-10 成都三零嘉微电子有限公司 一种SoC芯片固件升级的安全处理***及方法
US11797680B2 (en) * 2020-08-28 2023-10-24 Micron Technology, Inc. Device with chain of trust
CN112149800B (zh) * 2020-09-08 2024-05-28 北京工业大学 一种反馈神经网络可信执行方法及装置
CN112131537B (zh) * 2020-09-25 2023-10-20 北京计算机技术及应用研究所 一种对zynq芯片程序镜像文件的加解密的方法
CN112241141B (zh) * 2020-11-12 2022-08-09 上海电气风电集团股份有限公司 Plc控制***的硬件配置方法、***、设备及介质
CN112632562B (zh) * 2020-12-28 2024-01-26 四川虹微技术有限公司 设备启动方法、设备管理方法和嵌入式设备
CN112948086B (zh) * 2021-03-04 2023-11-03 浙江中控研究院有限公司 一种可信plc控制***
CN114329479B (zh) * 2021-12-08 2024-05-28 浙江大学 一种面向risc-v架构的启动验证方法
CN113987599B (zh) * 2021-12-28 2022-03-22 苏州浪潮智能科技有限公司 一种固件可信根的实现方法、装置、设备和可读存储介质
CN115062330B (zh) * 2022-08-18 2022-11-11 麒麟软件有限公司 基于tpm的智能密码钥匙密码应用接口的实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559591A (zh) * 2013-11-20 2014-02-05 北京可信华泰信息技术有限公司 基于可信计算的软件管理***和管理方法
CN104318142A (zh) * 2014-10-31 2015-01-28 山东超越数控电子有限公司 一种计算机可信启动方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
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 電子機器およびファームウェア保護方法
US9367328B2 (en) * 2012-06-28 2016-06-14 Intel Corporation Out-of-band host OS boot sequence verification
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559591A (zh) * 2013-11-20 2014-02-05 北京可信华泰信息技术有限公司 基于可信计算的软件管理***和管理方法
CN104318142A (zh) * 2014-10-31 2015-01-28 山东超越数控电子有限公司 一种计算机可信启动方式

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于Hash算法嵌入式***固件安全验证方法;刘桂雄; 余中泼; 洪晓斌; 谭文胜;《中国测试》;20140930(第5期);第4-13+1页 *
基于MD5算法的PLC固件完整性增强方法研究;李彬;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140531(第5期);第I140-373页 *
基于可信计算的工业控制安全体系架构研究;张向宏、耿贵宁;《保密科学技术》;20140810(第8期);第92-95页 *

Also Published As

Publication number Publication date
US11093258B2 (en) 2021-08-17
US20180285127A1 (en) 2018-10-04
CN106775716A (zh) 2017-05-31
WO2018107595A1 (zh) 2018-06-21

Similar Documents

Publication Publication Date Title
CN106775716B (zh) 一种基于度量机制的可信plc启动方法
US10713350B2 (en) Unlock and recovery for encrypted devices
Waidner et al. Security in industrie 4.0-challenges and solutions for the fourth industrial revolution
US9690498B2 (en) Protected mode for securing computing devices
CN104160403B (zh) 使用单个可信平台模块测量平台部件
CN107679393B (zh) 基于可信执行环境的Android完整性验证方法和装置
US11334502B2 (en) Memory protection based on system state
EP3270318B1 (en) Dynamic security module terminal device and method for operating same
CN113468535B (zh) 可信度量方法及相关装置
CN110651261A (zh) 具有用于鉴认的唯一识别符的安全存储器装置
CN111264046A (zh) 用于密码保护地监控设备或设施的至少一个组件的***和方法
CN112800429A (zh) 一种基于基础性的uefi bios固件***中驱动程序保护的方法
CN112231702B (zh) 应用保护方法、装置、设备及介质
US10181956B2 (en) Key revocation
Basnight Firmware counterfeiting and modification attacks on programmable logic controllers
CN112511618A (zh) 边缘物联代理防护方法及电力物联网动态安全可信***
CN101303716B (zh) 基于可信平台模块的嵌入式***恢复方法
CN115097807A (zh) 面向可编程逻辑控制器的内存攻击检测方法及***
CN117032831A (zh) 一种可信dcs上位机***、其启动方法及软件启动方法
Qin et al. RIPTE: runtime integrity protection based on trusted execution for IoT device
Msgna et al. Secure application execution in mobile devices
Rauter et al. Integration of integrity enforcing technologies into embedded control devices: experiences and evaluation
Qin et al. TICS: Trusted industry control system based on hardware security module
Ma et al. Towards comprehensively understanding the run-time security of programmable logic controllers: A 3-year empirical study
CN110543769A (zh) 一种基于加密tf卡的可信启动方法

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