CN110851188B - 一种基于双体架构的国产plc可信链实现装置及方法 - Google Patents

一种基于双体架构的国产plc可信链实现装置及方法 Download PDF

Info

Publication number
CN110851188B
CN110851188B CN201911310812.5A CN201911310812A CN110851188B CN 110851188 B CN110851188 B CN 110851188B CN 201911310812 A CN201911310812 A CN 201911310812A CN 110851188 B CN110851188 B CN 110851188B
Authority
CN
China
Prior art keywords
trusted
microkernel
autonomous
module
business
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
CN201911310812.5A
Other languages
English (en)
Other versions
CN110851188A (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.)
Ningbo Helishi Information Security Research Institute Co ltd
Original Assignee
Ningbo Helishi Information Security Research Institute Co ltd
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 Ningbo Helishi Information Security Research Institute Co ltd filed Critical Ningbo Helishi Information Security Research Institute Co ltd
Priority to CN201911310812.5A priority Critical patent/CN110851188B/zh
Publication of CN110851188A publication Critical patent/CN110851188A/zh
Application granted granted Critical
Publication of CN110851188B publication Critical patent/CN110851188B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明公开了一种基于双体架构的国产PLC可信链实现装置,包括:计算模块与防护模块相连接,可信密码模块,与计算模块和防护模块相连接,防护模块,用于运行可信链,在检测到双核处理器上电且BOOTROM加载时,依据可信链调用可信密钥中相关算法依次度量可信bootloader、自主微内核、可信应用、业务自主微内核,在业务自主微内核度量通过的情况下,自主微内核激活业务自主微内核,在业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区;上述装置,通过可信链对待运行业务应用程序进行度量,度量通过后再启动,实现了安全可信启动。

Description

一种基于双体架构的国产PLC可信链实现装置及方法
技术领域
本发明涉及自动化控制技术领域,尤其涉及一种基于双体架构的国产PLC可信链实现装置及方法。
背景技术
工业与信息化融合日益推进,电力、石油石化、核能等工业生产领域,以及航空、铁路、公路、地铁等公共服务领域,超过80%的涉及国计民生的关键基础设施依靠工控系统来实现自动化作业。随之而来的工控信息安全形势也越来越严峻。
现有技术中,大都集中对启动过程中系统、外围设备完整性、可靠性校验及优化,但如何满足工业嵌入式领域,在自主可信的设计要求指导下,考虑构建国产化多核处理器架构下的可信链传递,满足工控系统安全可信启动需求亟需解决。
发明内容
有鉴于此,本发明提供了一种基于双体架构的国产PLC可信链实现装置及方法,用于解决现有技术中如何满足工业嵌入式领域,在自主可信的设计要求指导下,考虑构建国产化多核处理器架构下的可信链传递,满足工控系统安全可信启动需求的问题,具体方案如下:
一种基于双体架构的国产PLC可信链实现装置,应用于双核处理器,包括:计算模块,防护模块和可信密码模块,其中,
所述计算模块,与所述防护模块相连接,用于加载运行待运行业务应用程序;
所述防护模块,用于运行可信链,在检测到双核处理器上电且BOOTROM加载时,依据所述可信链调用可信密钥中相关算法依次度量可信bootloader、自主微内核、可信应用、业务自主微内核,在所述业务自主微内核度量通过的情况下,所述自主微内核激活所述业务自主微内核,在所述业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区;
所述可信密码模块,与所述计算模块和所述防护模块相连接,用于通过对应接口为所述可信链提供密码算法、密钥管理和证书管理。
上述的装置,可选的,所述计算模块和所述防护模块分别运行在不同的核中并且逻辑上隔离。
上述的装置,可选的,所述防护模块包括:BOOTTOM、可信bootloader、自主微内核和可信应用,其中,
所述BOOTTOM,用于启动所述双核处理器;
所述可信bootloader,用于启动所述双核处理器;
所述自主微内核,用于激活所述计算模块中的业务自主微内核;
所述可信应用,用于度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区。
上述的装置,可选的,所述计算模块包括:业务单元和业务微内核,其中,
所述业务单元,与所述可信应用单元相连接,用于加载所述待运行程序;
所述业务微内核,用于与所述自主微内核相连接,用于加载所述待运行程序到指定内存区域。
上述的装置,可选的,所述可信密码模块包括:处理器和存储单元,其中,
所述处理器,用于为度量过程分配对应的密码算法;
所述存储单元,用于存储密码算法,密钥和证书。
一种基于双体架构的国产PLC可信链实现方法,其特征在于,应用于双核处理器,包括:
在检测到所述双核处理器上电且BOOTROM加载时,依次度量可信bootloader、自主微内核、可信应用和业务自主微内核;
在所述业务自主微内核度量通过的情况下,所述自主微内核激活所述业务自主微内核;
在所述业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区,度量通过后,所述待运行业务应用程序加载运行。
上述的方法,可选的,所述双核处理器包括计算模块和模块部件,包括:
所述计算模块和所述防护模块分别运行在不同的核中并且逻辑上隔离。
上述的方法,可选的,在检测到BOOTROM加载时,可信密码模块依次度量可信bootloader、自主微内核、可信应用和业务自主微内核,包括:
在检测到BOOTROM加载时,所述可信密码模块度量所述可信bootloader,度量通过后所述可信bootloader负责将所述自主微内核加载到内存中;
所述可信bootloader与所述可信密码模块通信,所述可信密码模块度量所述自主微内核,度量通过后,所述自主微内核负责将所述可信应用加载到内存中;
所述自主微内核与所述可信密码模块通信,所述可信密码模块度量所述可信应用,所述可信应用将业务自主微内核加载到内存中;
所述自主微内核与所述可信密码模块通信,所述可信密码模块度量所述业务自主微内核。
上述的方法,可选的,所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区,包括:
依据所述可信密码度量模块计算当前数据的基准值;
在可信管控策略中获取与所述当前数据对应的目标基准值;
判断所述目标基准值与所述基准值是否相同。
上述的方法,可选的,在所述双核处理器上电时,还包括:
判断是否存在安全可信策略;
若不存在,依据标识选取目标安全可信策略,依据所述目标安全可信策略执行可信度量。
与现有技术相比,本发明包括以下优点:
本发明公开了一种基于双体架构的国产PLC可信链实现装置,包括:计算模块与防护模块相连接,可信密码模块,与计算模块和防护模块相连接,防护模块,用于运行可信链,在检测到双核处理器上电且BOOTROM加载时,依据可信链调用可信密钥中相关算法依次度量可信bootloader、自主微内核、可信应用、业务自主微内核,在业务自主微内核度量通过的情况下,自主微内核激活业务自主微内核,在业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区;上述装置,通过可信链对待运行业务应用程序进行度量,度量通过后再启动,实现了安全可信启动。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种基于双体架构的国产PLC可信链实现装置结构框图;
图2为本申请实施例公开的一种内存区域的隔离示意图;
图3为本申请实施例公开的一种于双体架构的国产PLC可信链实现方法流程图;
图4为本申请实施例公开的一种于双体架构的国产PLC可信链实现方法又一方法流程图;
图5为本申请实施例公开的一种双体系架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明实施例中一种基于双体架构的国产PLC可信链实现装置,应用于针对国产PLC可信链实现的过程中,其中,所述国产PLC采用龙芯双核处理器,基于目前工控发展的形势与背景,研究与发展“自主可控,安全可信”工控安全产品技术,服务国家、国防信息化建设显得迫切且必要。本发明实施例中,提供了一种实现装置,在工业嵌入式系统启动过程中,利用可信计算技术对系统加载的各个环节,进行可信校验,依靠强健的密码算法与密钥相结合来确保信息的机密性、完整性,以及实体身份的唯一性和操作与过程的不可否认性,可以有效低于恶意攻击。所述实现装置的结构框图如图1所示,应用于双核龙芯处理器,包括:
计算模块101,防护模块102和可信密码模块103。
其中,
所述计算模块101,与所述防护模块相连接,用于加载运行待运行业务应用程序;
本发明实施例中,所述计算模块,提供PLC业务应用程序运行的基本硬件环境,国产龙芯处理器为双核处理器,所述双核处理器其中一个核可以作为计算模块使用。
所述防护模块102,用于运行可信链,在检测到双核处理器上电且BOOTROM加载时,依据所述可信链调用可信密钥中相关算法依次度量可信bootloader、自主微内核、可信应用、业务自主微内核,在所述业务自主微内核度量通过的情况下,所述自主微内核激活所述业务自主微内核,在所述业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区;
本发明实施例中,所述防护模块是一个逻辑上可以独立的可信子系统,通过防护模块,以主动的方式向宿主系统提供可信支撑功能防护模块基本功能,为可信应用运行提供硬件环境及资源,负责系统启动可信链构建,为系统提供可信计算环境、为系统执行关键点提供可信校验等。
进一步的,所述防护模块包括:BOOTROM、可信bootloader、自主微内核和可信应用,其中,
所述BOOTTOM,用于启动所述双核处理器;
所述可信bootloader,用于启动所述双核处理器;
所述自主微内核,用于激活所述计算模块中的业务自主微内核;
所述可信应用,用于度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区。
所述可信密码模块103,与所述计算模块和所述防护模块相连接,用于通过对应接口为所述可信链提供密码算法、密钥管理和证书管理。
本发明实施例中,可信密码模块其通常采用SPI、USB、PCI-E等硬件接口与宿主系统连接,密码模块内部拥有独立的处理器、存储单元,不仅可以存储密钥和特征数据,而且能够独立地进行加解密数据的操作,可以为系统提供密码算法、密钥管理、证书管理等功能。
进一步的,所述处理器,用于为度量过程分配对应的密码算法,所述存储单元,用于存储密码算法,密钥和证书。
本发明公开了一种基于双体架构的国产PLC可信链实现装置,包括:计算模块与防护模块相连接,可信密码模块,与计算模块和防护模块相连接,防护模块,用于运行可信链,在检测到双核处理器上电且BOOTROM加载时,依据可信链调用可信密钥中相关算法依次度量可信bootloader、自主微内核、可信应用、业务自主微内核,在业务自主微内核度量通过的情况下,自主微内核激活业务自主微内核,在业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区;上述装置,通过可信链对待运行业务应用程序进行度量,度量通过后再启动,实现了安全可信启动。
本发明实施例中,本发明中所述实现装置中将PLC运行于计算模块和防护弄快两个部分,分别运行在两个核中,其中计算部件运行原有的PLC业务程序。防护模块是一个逻辑上可以独立的可信子系统,通过这个可信子系统,以主动的方式向宿主系统提供可信支撑功能。且基于可信密码模块TCM为系统提供密码服务。实现可信业务与PLC业务并行运行,尽可能在无扰的情况下,将工业嵌入式可信计算融入到PLC系统业务流程中。
进一步的,将所述实现装置的DDR内存(Double Data Rate SDRAM)进行隔离设计,隔离的示意图如图2所示,其中,考虑到将计算模块和防护模块逻辑上隔离,从而保证可信子系统的安全性,因此通过转译后备缓冲器TLB(Translation Lookaside Buffer)的访问控制,将内存区域划分成独立的三个存储空间,每块内存空间配置有一定的访问权限控制;
第一区域用于存储可信子系统,位于低端内存区域;
第二区域用于存储业务子系统,位于高端内存区域;
第三区域用于通信数据存储。
基于以上的访问控制模型,增加了PLC的静态可信链传递过程中安全性。
进一步的,所述实现装置中还包括:可信策略管控模块,用于提供可信策略。所述对应的管控策略执行所述实现装置。
进一步的,所述实现装置中还包括计算模块,其中,所述计算模块是CPU处理器核内部总线机制初始化,无法修改其中内容实现可信传递,由于无法篡改,因此,不参与可信链传递。
基于上述的实现装置,本发明实施例中,还提供了一种于双体架构的国产PLC可信链实现方法,应用于双核处理器,所述实现方法的执行流程如图3所示,包括步骤:
S201、在检测到所述双核处理器上电且BOOTROM加载时,依次度量可信bootloader、自主微内核、可信应用和业务自主微内核;
本发明实施例中,国产龙芯处理器上电,BOOTROM加载,所述可信密码模块得到指令后依次度量可信bootloader、自主微内核、可信应用和业务自主微内核,度量过程需要依据上述顺序执行,当前一个度量通过后,后一个才可以完成度量,当任意一个度量失败后,放弃本次处理过程,并进行提示,所述可信密码模块得到指令后依次度量可信bootloader、自主微内核、可信应用和业务自主微内核的执行过程如下:
在检测到BOOTROM加载时,所述可信密码模块度量所述可信bootloader,度量通过后所述可信bootloader负责将所述自主微内核加载到内存中;
所述可信bootloader与所述可信密码模块通信,所述可信密码模块度量所述自主微内核,度量通过后,所述自主微内核负责将所述可信应用加载到内存中;
所述自主微内核与所述可信密码模块通信,所述可信密码模块度量所述可信应用,所述可信应用将业务自主微内核加载到内存中,所述自主微内核为可信应用提供操作系统运行环境,自主微内核实现了较高安全级别的访问控制模型,利用抢占式任务调度算法和高效IPC通讯技术的实时操作系统,满足标准要求的隔离和防护要求,其中,所述抢占式的任务调度算法指seL4,
seL4满足ARINC653标准要求的隔离和防护要求,表现在:
(1)seL4的内核必须运行在CPU特权态,用户程序必须运行在CPU的非特权态,在CPU权限上具有备隔离性。
(2)内核和应用运行在完全不同的虚拟地址空间,从而实现内核与应用的隔离。
(3)不同应用可以根据需要配置不同的虚拟地址空间,从而实现各应用之间的隔离。
(4)通过配置CPU的内存管理控制器,将双核CPU的内存按照固定空间划分,防止CPU越界访问,做到双核的隔离性。
所述自主微内核与所述可信密码模块通信,所述可信密码模块度量所述业务自主微内核。
S202、在所述业务自主微内核度量通过的情况下,所述自主微内核激活所述业务自主微内核;
本发明实施例中,在接收到所述业务自主微内核度量通过的情况下,说明所述可信bootloader、所述自主微内核、所述可信应用均度量通过,所述自主微内核激活所述业务自主微内核
S203、在所述业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区,度量通过后,所述待运行业务应用程序加载运行。
本发明实施例中,在系统启动阶段,增加了对关键存储设备数据和内存关键数据区的度量。其中,针对关键存储设备数据度量,PLC业务运行的重要配置数据,通常存储在非易失存储器中,即可以定义为关键存储设备,如果被恶意窜改也将严重影响PLC的运行,因此在业务应用运行之前,需要对此部分数据进行度量。针对内存关键数据区的度量,为避免恶意进程对堆栈区域的窜改,针对工业嵌入式PLC自身的设计特点,增加了内存关键堆栈区域的度量。针对内存关键数据区的度量,为避免恶意进程的窜改,针对工业嵌入式PLC自身的设计特点,增加了内存关键数据及变量区域的度量。
本发明公开了一种基于双体架构的国产PLC可信链实现装置,包括:计算模块与防护模块相连接,可信密码模块,与计算模块和防护模块相连接,防护模块,用于运行可信链,在检测到双核处理器上电且BOOTROM加载时,依据可信链调用可信密钥中相关算法依次度量可信bootloader、自主微内核、可信应用、业务自主微内核,在业务自主微内核度量通过的情况下,自主微内核激活业务自主微内核,在业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区;上述装置,通过可信链对待运行业务应用程序进行度量,度量通过后再启动,实现了安全可信启动。
本发明实施例中,上述的度量过程均相同,以所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据为例进行说明,具体的执行流程如图4所示,包括步骤:
S301、依据所述可信密码度量模块计算当前数据的基准值;
本发明实施例中,针对所述待运行业务应用程序、所述关键存储设备数据和所述内存关键数据中的每一个,分别计算与其对应的当前数据的基准值,其中,所述基准值可以为所述当前数据的哈希值。
S302、在可信管控策略中获取与所述当前数据对应的目标基准值;
本发明实施例中,获取所述当前数据中包含的标识,依据所述标识在可先策略管控中获取与所述标识相同的目标基准值,其中,所述标识可以为数字、字母或者其它优选标识,本发明实施例中,对所述标识的具体存在形式不进行限定。
进一步的,所述当前数据在初始时刻极端其对应初始哈希值,将所述初始哈希值作为其对应的目标基准值。
S303、判断所述目标基准值与所述基准值是否相同。
本发明实施例中,判断所述目标基准值与所述基准值是否相同,若两者相同时,度量通过,反之度量不通过。
本发明实施例中,所述实现方法中还包括:安全可信策略管控,在系统运行过程中,提供所需的安全机制、策略、可信基准值。在系统启动阶段,系统尚无安全可信策略时,获取下发的策略流程如下:在所述双核处理器上电时,查询当时是否有可用的安全可信策略,若有则继续运行,执行静态可信度量过程,如S201-S204所述流程,如无安全可信策略,则通过安全通信协议端口,从策略管控中心,索取目标策略,接收所述目标策略并验证后,在继续运行静态可信度量过程。
本发明实施例中,基于上述的实现装置和方法,双系统架构下可信链的传递示意图如图5所示,其中,所述防护模块包括:可信应用、自主微内核、可信bootloader和BOOTROM和可信密码模块,所述计算模块包括业务单元和业务微内核。所述安全可信策略管控用于提供安全可信策略。基于上述的双体系架构,采用可信计算为核心技术。提出了国产化双体系架构的可信链传递模型,实现了在工业嵌入式PLC系统上的可信链传递过程。该模型结合PLC自身的业务特点,将PLC特有的关键静态数据度量融入到系统可信链的建立过程中,提高了可信链技术在工控嵌入式PLC产品中的行业应用针对性,完善了通用技术在行业具体产品中的不足。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种基于双体架构的国产PLC可信链实现装置及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于双体架构的国产PLC可信链实现装置,其特征在于,应用于双核处理器,包括:计算模块,防护模块和可信密码模块,其中,
所述计算模块,与所述防护模块相连接,用于加载运行待运行业务应用程序;
所述防护模块,用于运行可信链,在检测到双核处理器上电且BOOTROM加载时,依据所述可信链调用可信密钥中相关算法依次度量可信bootloader、自主微内核、可信应用、业务自主微内核,在所述业务自主微内核度量通过的情况下,所述自主微内核激活所述业务自主微内核,在所述业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区;
所述可信密码模块,与所述计算模块和所述防护模块相连接,用于通过对应接口为所述可信链提供密码算法、密钥管理和证书管理;
其中,所述实现装置中将PLC运行于计算模块和防护模块两个部分,分别运行在两个核中,其中计算部件运行原有的PLC业务程序,防护模块是一个逻辑上可以独立的可信子系统,通过可信子系统,以主动的方式向宿主系统提供可信支撑功能,且基于可信密码模块为系统提供密码服务,以实现可信业务与PLC业务并行运行,在无扰的情况下,将工业嵌入式可信计算融入到PLC系统业务流程中;将所述实现装置的DDR内存进行隔离设计,将计算模块和防护模块逻辑上隔离,以保证可信子系统的安全性,通过转译后备缓冲器的访问控制,将内存区域划分成独立的三个存储空间,每块内存空间配置有一定的访问权限控制,第一区域用于存储可信子系统,位于低端内存区域;第二区域用于存储业务子系统,位于高端内存区域;第三区域用于通信数据存储。
2.根据权利要求1所述的装置,其特征在于,所述计算模块和所述防护模块分别运行在不同的核中并且逻辑上隔离。
3.根据权利要求1所述的装置,其特征在于,所述防护模块包括:BOOTTOM、可信bootloader 、自主微内核和可信应用,其中,
所述BOOTTOM,用于启动所述双核处理器;
所述可信bootloader,用于启动所述双核处理器;
所述自主微内核,用于激活所述计算模块中的业务自主微内核;
所述可信应用,用于度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区。
4.根据权利要求1所述的装置,其特征在于,所述计算模块包括:业务单元和业务微内核,其中,
所述业务单元,与所述可信应用单元相连接,用于加载所述待运行程序;
所述业务微内核,用于与所述自主微内核相连接,用于加载所述待运行程序到指定内存区域。
5.根据权利要求1所述的装置,其特征在于,所述可信密码模块包括:处理器和存储单元,其中,
所述处理器,用于为度量过程分配对应的密码算法;
所述存储单元,用于存储密码算法,密钥和证书。
6.一种基于双体架构的国产PLC可信链实现方法,其特征在于,应用于双核处理器,并应用于如权利要求1所述的一种基于双体架构的国产PLC可信链实现装置中,包括:
在检测到所述双核处理器上电且BOOTROM加载时,依次度量可信bootloader、自主微内核、可信应用和业务自主微内核;
在所述业务自主微内核度量通过的情况下,所述自主微内核激活所述业务自主微内核;
在所述业务自主微内核运行时,加载待运行业务应用程序到预设的内存区域,所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区,度量通过后,所述待运行业务应用程序加载运行。
7.根据权利要求6所述的方法,其特征在于,所述双核处理器包括计算模块和模块部件,包括:
所述计算模块和所述防护模块分别运行在不同的核中并且逻辑上隔离。
8.根据权利要求6所述的方法,其特征在于,在检测到BOOTROM加载时,可信密码模块依次度量可信bootloader、自主微内核、可信应用和业务自主微内核,包括:
在检测到BOOTROM加载时,所述可信密码模块度量所述可信bootloader,度量通过后所述可信bootloader负责将所述自主微内核加载到内存中;
所述可信bootloader与所述可信密码模块通信,所述可信密码模块度量所述自主微内核,度量通过后,所述自主微内核负责将所述可信应用加载到内存中;
所述自主微内核与所述可信密码模块通信,所述可信密码模块度量所述可信应用,所述可信应用将业务自主微内核加载到内存中;
所述自主微内核与所述可信密码模块通信,所述可信密码模块度量所述业务自主微内核。
9.根据权利要求6所述的方法,其特征在于,所述可信应用度量所述待运行业务应用程序、关键存储设备数据和内存关键数据区,包括:
依据所述可信密码度量模块计算当前数据的基准值;
在可信管控策略中获取与所述当前数据对应的目标基准值;
判断所述目标基准值与所述基准值是否相同。
10.根据权利要求6所述的方法,其特征在于,在所述双核处理器上电时,还包括:
判断是否存在安全可信策略;
若不存在,依据标识选取目标安全可信策略,依据所述目标安全可信策略执行可信度量。
CN201911310812.5A 2019-12-18 2019-12-18 一种基于双体架构的国产plc可信链实现装置及方法 Active CN110851188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911310812.5A CN110851188B (zh) 2019-12-18 2019-12-18 一种基于双体架构的国产plc可信链实现装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911310812.5A CN110851188B (zh) 2019-12-18 2019-12-18 一种基于双体架构的国产plc可信链实现装置及方法

Publications (2)

Publication Number Publication Date
CN110851188A CN110851188A (zh) 2020-02-28
CN110851188B true CN110851188B (zh) 2023-08-29

Family

ID=69609792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911310812.5A Active CN110851188B (zh) 2019-12-18 2019-12-18 一种基于双体架构的国产plc可信链实现装置及方法

Country Status (1)

Country Link
CN (1) CN110851188B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111736521B (zh) * 2020-08-25 2020-12-04 北京安帝科技有限公司 一种工业控制设备安全防护方法
CN112099909B (zh) * 2020-08-27 2021-06-11 海光信息技术股份有限公司 一种虚拟机内存度量方法、装置、处理器芯片及系统
CN114168203B (zh) * 2020-09-10 2024-02-13 成都鼎桥通信技术有限公司 双系统运行状态控制方法、装置和电子设备
CN114301705B (zh) * 2021-12-31 2024-09-03 公安部第三研究所 一种基于可信计算的工控防御方法与系统
CN118301110A (zh) * 2024-06-06 2024-07-05 宁波和利时信息安全研究院有限公司 基于可信双体系工业交换机的数据安全防护方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9559842B2 (en) * 2008-09-30 2017-01-31 Hewlett Packard Enterprise Development Lp Trusted key management for virtualized platforms
CN104951316B (zh) * 2014-03-25 2018-09-21 华为技术有限公司 一种内核可信启动方法和装置
CN106775716B (zh) * 2016-12-15 2020-04-17 中国科学院沈阳自动化研究所 一种基于度量机制的可信plc启动方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于国产密码体系的可信计算体系框架;沈昌祥;公备;;密码学报(第05期);全文 *

Also Published As

Publication number Publication date
CN110851188A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
CN110851188B (zh) 一种基于双体架构的国产plc可信链实现装置及方法
US10338957B2 (en) Provisioning keys for virtual machine secure enclaves
US9940456B2 (en) Using trusted execution environments for security of code and data
US20180183578A1 (en) Provisioning keys for virtual machine scaling
CN110334521B (zh) 可信计算系统构建方法、装置、可信计算系统及处理器
EP3275159B1 (en) Technologies for secure server access using a trusted license agent
Ling et al. Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT Nodes
WO2015047285A1 (en) Protection scheme for remotely-stored data
JP6293133B2 (ja) 被保護データー集合のネットワーク・ベース管理
US20200074121A1 (en) Cryptographic Operation Processing Methods, Apparatuses, and Systems
US9667628B2 (en) System for establishing ownership of a secure workspace
CN108334404B (zh) 应用程序的运行方法和装置
CN105049445A (zh) 一种访问控制方法及独立式访问控制器
EP3338214B1 (en) Secure computation environment
US10146952B2 (en) Systems and methods for dynamic root of trust measurement in management controller domain
US12003960B2 (en) Booting and operating computing devices at designated locations
US12026561B2 (en) Dynamic authentication and authorization of a containerized process
Ding et al. Systemic threats to hypervisor non‐control data
KR20200041639A (ko) 차량용 소프트웨어 업데이트 장치 및 그 제어 방법
US12058126B2 (en) Network management using trusted execution environments
Gu et al. Secure mobile cloud computing and security issues
US9560028B1 (en) Systems and methods for filtering interprocess communications
ES2960375T3 (es) Sistema y método para detectar y para alertar de aprovechamientos en sistemas informatizados
Hei et al. From hardware to operating system: a static measurement method of android system based on TrustZone
Xu et al. SATVPC: Secure-agent-based trustworthy virtual private cloud model in open computing environments

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