CN110321235B - 基于双体系架构的可信计算平台的系统交互方法和装置 - Google Patents
基于双体系架构的可信计算平台的系统交互方法和装置 Download PDFInfo
- Publication number
- CN110321235B CN110321235B CN201910614218.9A CN201910614218A CN110321235B CN 110321235 B CN110321235 B CN 110321235B CN 201910614218 A CN201910614218 A CN 201910614218A CN 110321235 B CN110321235 B CN 110321235B
- Authority
- CN
- China
- Prior art keywords
- trusted
- computing
- interaction
- data
- tpcm
- 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
Images
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于双体系架构的可信计算平台的系统交互方法和装置。其中,该方法包括:在计算机上电时,将计算机的硬件资源划分为防护硬件资源和计算硬件资源,其中,计算硬件资源允许被防护硬件资源访问且不能访问防护硬件资源,防护硬件资源用于运行防护子系统,计算硬件资源用于运行计算子系统,防护子系统用于与可信平台控制模块配合完成对计算子系统的度量;在可信平台控制模块与计算子系统之间按照与交互类型匹配的交互方式进行交互。本发明解决了相关技术中的计算机安全性较低的技术问题。
Description
技术领域
本发明涉及互联网安全领域,具体而言,涉及一种基于双体系架构的可信计算平台的系统交互方法和装置。
背景技术
当前的网络空间极其脆弱,震网、勒索病毒(如Wannacry)、Mirai病毒等造成较大影响的网络攻击事件层出不穷,且日益猖獗,究其根源,在于并没有从网络安全风险的实质原因入手解决问题,一味采用以“防火墙”、“病毒查杀”、“入侵检测”等为代表的“封堵查杀”被动防御手段,防不胜防,特别在面对针对目标系统的漏洞发起的攻击时,根本无法有效防御。
国际TCG组织(英文全称Trusted Computing Group,中文名为可信计算组织)提出的可信计算芯片TPM是作为计算机的外部设备,以被动挂接的方式,通过主机软件调用来发挥作用,仅能对计算机的固件和可执行程序等资源进行静态度量。以TPM方式所实现的可信计算平台实质是单系统架构,TPM在资源访问、控制上都有局限性,其安全能力完全依赖于主机系统的安全性,难以防御黑客利用主机系统漏洞进行的攻击,并不能实质上提升计算机系统的主动防御能力。
为解决当前网络空间安全面临的问题,国际TCG组织提出了可信计算的方法,提出了以TPM和BIOS起始代码为信任根,一级度量一级,进而构建起计算机的信任链,保护计算机重要资源不被非法篡改和破坏,起到了较好的效果。但是,TPM本质上只是计算机上一个被动挂接的外部设备,只有被主机程序调用才会发挥作用,一旦主机被攻击者控制,TPM的作用就会无从发挥,导致TCG的可信计算架构在面对黑客利用计算机系统逻辑缺陷进行攻击时,基本难以抵御,例如Windows 10完全实现了TCG的可信计算架构,但是却未能阻止Wannacry勒索病毒的攻击。
此外,以TPM方式所实现的可信计算平台实质是单系统架构,TPM在对计算机的资源访问、控制上都有局限性。且,TPM仅能对计算机的固件和可执行程序等资源进行静态度量,无法对应用执行及其所依赖的执行环境进行动态度量。
针对以TPM方式所实现的可信计算平台实质是单系统架构,TPM的固件和可执行程序等资源进行静态度量,无法对应用执行及其所依赖的执行环境进行动态度量,且TPM在资源访问、控制上都有局限性,TPM的安全能力完全依赖于主机系统的安全性。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于双体系架构的可信计算平台的系统交互方法和装置,以至少解决相关技术中的计算机安全性较低的技术问题。
根据本发明实施例的一个方面,提供了一种基于双体系架构的可信计算平台的系统交互方法,包括:在计算机上电时,将计算机的硬件资源划分为防护硬件资源和计算硬件资源,其中,计算硬件资源允许被防护硬件资源访问且不能访问防护硬件资源,防护硬件资源用于运行防护子系统,计算硬件资源用于运行计算子系统,防护子系统用于利用可信平台控制模块完成对计算子系统的度量;在可信平台控制模块与计算子系统之间按照与交互类型匹配的交互方式进行交互。
根据本发明实施例的另一方面,还提供了一种基于双体系架构的可信计算平台的系统交互装置,包括:划分单元,用于在计算机上电时,将计算机的硬件资源划分为防护硬件资源和计算硬件资源,其中,计算硬件资源允许被防护硬件资源访问且不能访问防护硬件资源,防护硬件资源用于运行防护子系统,计算硬件资源用于运行计算子系统,防护子系统用于利用可信平台控制模块完成对计算子系统的度量;交互单元,用于在可信平台控制模块与计算子系统之间按照与交互类型匹配的交互方式进行交互。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本发明实施例中,在处理器CPU内部构建安全隔离的计算部件(即计算子系统)与防护部件(即防护子系统)并存的双体系架构,计算部件无法访问防护部件的资源,防护部件可访问计算部件的所有资源,双方可通过安全的专用通道进行交互,防护部件可以可信平台控制模块TPCM为核心和信任源点,能够先于计算部件处理器启动,对计算部件资源和总线进行初始化配置,并通过直接内总线共享机制访问主机所有资源,可以解决了相关技术中的计算机安全性较低的技术问题,进而达到提高计算机安全性的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于双体系架构的可信计算平台的系统交互方法的流程图;
图2是根据本发明实施例的一种可选的双体系架构的示意图;
图3是根据本发明实施例的一种可选的CPU内部资源的示意图;
图4是根据本发明实施例的一种可选的计算机启动过程的流程图;
图5是根据本发明实施例的一种可选的动态度量框架的示意图;
图6是根据本发明实施例的一种可选的动态度量方案的示意图;
图7是根据本发明实施例的一种可选的动态度量功能模块的示意图;
图8是根据本发明实施例的一种可选的内核关键数据结构度量的流程图;
图9是根据本发明实施例的一种可选的系统进程度量的流程图;
图10是根据本发明实施例的一种可选的内核驱动度量的流程图;
图11是根据本发明实施例的一种可选的系统关键内存块度量的流程图;
图12是根据本发明实施例的一种可选的命令交互的流程图;
图13是根据本发明实施例的一种可选的发送通知的流程图;
图14是根据本发明实施例的一种可选的基于双体系架构的可信计算平台的系统交互装置的示意图;以及
图15是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
TCM:可信密码模块,可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。
TPCM:可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。
TSB:可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。
BIOS:是英文"Basic Input Output System"的缩略词,中文名称就是"基本输入输出系统",在PC兼容系统上,是一种业界标准的固件接口。
根据本发明实施例的一方面,提供了一种基于双体系架构的可信计算平台的系统交互方法的方法实施例。
本申请提供了一种基于CPU同构方式构建的可信计算双体系架构,基于多核CPU架构,本申请将CPU核、内存和I/O划分为相互隔离的可信部件和防护部件两部分,防护部件用于对计算部件进行主动度量和主动控制,且防护部件可以访问计算部件,但计算部件不可以访问防护部件。
基于可信计算双体系架构,利用多核CPU的基础固件,可以控制启动流程让TPCM先于计算部件启动,以便TPCM可以先对计算部件进行度量防护。TPCM可以对计算部件的启动流程进行逐级度量,建立静态信任链。
基于可信计算双体系架构,在计算部件的运行过程中,TSB还可以根据可信策略对计算部件进行动态度量,并根据度量结果对计算部件进行相应的控制处理。
基于可信计算双体系架构,防护部件与计算部件可以通过专用安全交互通道进行通信交互,两者之间进行交互方式可以分为三个主要类:命令、通知和资源访问。
图1是根据本发明实施例的一种可选的基于双体系架构的可信计算平台的系统交互方法的流程图,如图1所示,该方法可以包括以下步骤:
步骤S102,在计算机上电时,将计算机的硬件资源划分为防护硬件资源和计算硬件资源,计算硬件资源允许被防护硬件资源访问且不能访问防护硬件资源,防护硬件资源用于运行防护子系统,计算硬件资源用于运行计算子系统,防护子系统用于利用可信平台控制模块完成对计算子系统的度量。
步骤S104,在可信平台控制模块与计算子系统之间按照与交互类型匹配的交互方式进行交互。
可选地,在可信平台控制模块与计算子系统之间按照与交互类型匹配的交互方式进行交互包括以下至少之一:在可信平台控制模块与计算子系统之间按照与命令交互类型匹配的交互方式进行交互;在可信平台控制模块与计算子系统之间按照与通知交互类型匹配的交互方式进行交互;在可信平台控制模块与计算子系统之间按照与资源访问交互类型匹配的交互方式进行交互。
可选地,在可信平台控制模块与计算子系统之间按照与命令交互类型匹配的交互方式进行交互包括:计算子系统的可信软件基代理向计算机的第二处理器核请求发送交互命令,其中,计算硬件资源包括第二处理器核;第二处理器核将交互命令写入共享内存,并向可信平台控制模块的第一处理器核发送软中断,其中,防护硬件资源包括第一处理器核;第一处理器核执行交互命令指示的操作,并将执行操作得到的返回值和返回值标记写入共享内存;第二处理器核从共享内存读取返回值,并清除对应的返回值标记;第二处理器核将根据返回值确定的处理结果返回给可信软件基代理。
可选地,在可信平台控制模块与计算子系统之间按照与通知交互类型匹配的交互方式进行交互包括:可信平台控制模块的第一处理器核将交互通知和交互通知标识写入共享内存;第一处理器核向计算子系统的第二处理器核发送软中断;第二处理器核在接收到软中断时从共享内存中读取交互通知,并清除交互通知标识;第二处理器核将交互通知发送给计算子系统的可信软件基代理。
可选地,在可信平台控制模块与计算子系统之间按照与资源访问交互类型匹配的交互方式进行交互包括:可信平台控制模块通过计算机的处理器的内总线直接访问计算子系统所使用的资源。
上述防护子系统可包括硬件部分(防护硬件资源)和软件部分(可信操作系统和TSB),计算子系统包括也包括硬件部分(计算硬件资源)和软件部分(计算机操作系统和各种应用程序,例如office);利用可信平台控制模块TPCM对计算机进行度量,可以是指TPCM就是防护子系统,TPCM包括硬件部分(防护硬件资源)和软件部分(可信操作系统和TSB)。
交互双方主体可分别为计算子系统和防护子系统,包括如下三种情况:命令、通知以及资源访问,其中,资源访问有两种情况:TPCM直接访问计算机资源;利用TSB代理采集计算机信息发送给TPCM。
通过上述步骤,在处理器CPU内部构建安全隔离的计算部件(包括计算硬件资源)与防护部件(包括防护硬件资源)并存的双体系架构,计算部件无法访问防护部件的资源,防护部件可访问计算部件的所有资源,双方可通过安全的专用通道进行交互,防护部件可以可信平台控制模块TPCM为核心和信任源点,能够先于计算部件处理器启动,对计算部件资源和总线进行初始化配置,并通过直接内总线共享机制访问主机所有资源,可以解决了相关技术中的计算机安全性较低的技术问题,进而达到提高计算机安全性的技术效果。
作为一种可选的实施例,下面结合具体的实施方式进一步详述本申请的技术方案,防护部件具体可包括可信密码模块TCM、可信平台控制模块TPCM、可信嵌入式操作系统(即可信操作系统)等基础部件,可信密码模块作为密码基因,TPCM是主动免疫机制的具体执行机构,可信嵌入式操作系统管理TPCM本地物理资源以及访问和调度主机资源和TCM资源。综上,可信计算双体系架构是主动免疫防御的基础,也是可信计算3.0区别于其他安全防护机制的核心特征,其TPCM和TCM构成了可信根,可信根拥有独立于主机的软硬件资源,并能够主动访问主机所有资源支撑可信验证机制的实施,是整个主动免疫防御体系的源点。
本发明将基于CPU多核架构提供的资源隔离和交互机制构建可信计算双体系架构。双体系架构是一个防护部件与计算部件并行运行,实现主动免疫的计算体系结构;其计算部件负责完成业务计算任务,其防护部件负责对计算部件进行监控和保护,确保业务计算任务的执行符合预期。防护部件根据可信安全策略,以密码为基因,通过身份识别、状态度量、状态分析、动态感知、响应控制、保密存储和安全控制等一系列手段为计算部件的可靠运行保驾护航。
多核CPU架构可以将CPU核、内存空间和I/O外设等计算机硬件资源划分为两组资源集合并进行隔离控制,并提供安全防护和相互通信的能力。本发明利用CPU的特性,将CPU核(一个CPU有多个核,常见的4核、8核、16核和64核)、内存空间(片内、片外的内存空间)和I/O外设划分为计算部件和防护部件两组硬件资源。并通过相应配置,可以灵活改变防护部件和计算部件的资源分配,同时使防护部件与外部复杂的计算环境隔离出来,成为一个相对封闭的环境,即防护部件资源不可从外部访问,计算部件也不可访问防护部件的资源,从而使防护部件的资源得到有效保护,安全级别更高。通过相应配置,还可以使防护部件可以访问计算部件的资源,以便对其进行监控和保护;计算部件和防护部件通过专用的交互机制和特定接口进行通信,在提供交互能力的同时,最大程度的保护防护部件不受计算部件的干涉和破坏。
如图2所示为可信计算双体系架构示意图,可信计算双体系架构中,原有的计算机系统成为计算部件,可信平台控制模(TPCM)是防护部件。防护部件与计算部件并行运行,防护部件独立于计算部件,其资源受硬件机制保护(例如扩展总线、控制器、管理单元等),不受计算部件和外部的干涉和破坏。反过来,TPCM根据自身的策略,主动发起对计算部件的度量和安全防护(在CPU的设计中将防护部件的安全等级和优先级设置为最高)。此外,可信安全管理平台负责管理可信策略和基准值等。
在上述可信计算双体系架构中:
1)CPU提供资源隔离、资源访问、资源控制、防护部件和计算部件之间的通信机制、安全防护等的硬件支撑。
2)CPU基础固件,对资源隔离保护进行设置,控制启动流程让TPCM先于计算部件启动,以便TPCM对计算部件进行度量防护。CPU基础固件还负责建立计算部件和防护部件之间的通信机制。
3)防护部件硬件资源包括可信专用CPU核(1个或多个CPU核,可配置数量)、片内密码引擎、片内持久存储、专用内存区域、真随机数发生器、时钟、计数器等、板载持久存储、I/O设备、板载专用网卡和可扩展的可信密码模块(TCM)等。
4)TPCM OS是可信部件的操作系统,是持续运行在可信专用的CPU核上的操作系统,与计算核上的操作系统(即计算机操作系统)同时工作,为可信业务功能提供必要的环境。包括操作系统通用的任务调度、驱动和基本服务。也包括可信计算特有的可信密码模块(TCM)内部实现(若CPU内部有硬件的密码引擎,则TCM由TPCM操作系统的软件和硬件密码引擎构成,若CPU中没有密码引擎则TCM可由TPCM操作系统的软件完成)、资源访问驱动、可信通信驱动、可信控制等。TPCM的可信计算业务逻辑需要访问主机侧资源,需要管理和使用TPCM内部的存储资源和密码计算资源。操作系统和其内部驱动模块为TPCM的这些业务计算提供必要的支持。
5)TSB实现可信计算的主要业务逻辑,包括在启动阶段和运行时对计算部件进行度量和控制,以及记录度量结果、评估可信状态、生成可信日志、凭据和报告。TSB采用策略语言定义其功能执行,提供最大程度的灵活性和适应性。策略语言定义了何时度量、度量什么、如何判断、如何进行控制和防护,TSB策略执行引擎解析执行策略语言。由于策略语言的灵活性,我们可以将计算部件的很多业务与可信度量结合起来,比如登录、打开某个文件、执行某个程序、连接某个网络、使用某个设备等等,都可以灵活地与可信度量结合起来。TSB采用基准库作为度量时判断的依据。策略和基准库由可信安全管理平台下发到TPCM。度量日志和报告由TSB产生并上传到可信安全管理平台,凭据传递需要凭据的请求者。TSB的度量包括静态启动度量和动态度量。静态启动是从计算部件启动开始,度量启动各阶段的模块,如BIOS、BootLoader,建立一个完整的信任链。动态度量实时监控系统,确保计算部件运行阶段可信。
6)TSB代理位于计算部件之中,但逻辑上属于TPCM,TSB代理代表TSB执行一些与计算部件环境紧密关联的任务。这些任务由于深入计算部件软件内部,TPCM无法或者不方便从外部直接执行。比如获取OS行为相关信息、拦截行为、杀死进程等任务,难以从计算机外部执行,这些任务将由TSB代理代表TSB执行。由于TSB代理本身是由TPCM度量和保护的,由TSB代理执行这些任务也是可以信任的。TSB代理的主要任务是获取和控制系统行为、获取系统行为和环境相关数据、协助执行控制、可信连接协商和控制。其中可信连接在节点可信的基础上建立可信网络环境。
7)可信安全管理平台负责管理可信策略和基准值等。TPCM是可信免疫双体系架构的核心部件,负责对计算部件进行可信度量和防护,并生成可信日志和报告数据。TPCM包括可信硬件资源、可信操作系统、内置TCM和可信软件基。
可信操作系统为可信功能提供必要的底层服务和运行环境,TPCM操作系统由基本层和功能层构成。基本层包括任务调度、本地资源和系统服务访问等普通操作系统应有的基本功能。功能层包括主机资源访问控制驱动、主机通信驱动、密码资源访问驱动、状态记录、可信凭据和报告、策略和基准管理等可信计算专用服务。
TSB是实现可信业务功能的核心软件层,负责度量、安全防护和相关日志、报告的生成。TSB有基本信任基、主动监控机制(包括控制机制、度量机制、判断机制)、可信基准库、支撑机制和协作机制和协同机制组成。基本信任基在TSB启动过程中实现对其它机制的验证和加载。主动监控机制拦截应用的系统调用,在TPCM支撑下实现对系统调用相关的主体、客体、操作和环境的主动度量和控制。TSB通过支撑机制实现对TPCM资源的访问;TSB通过协作机制实现与可信安全管理平台的策略和审计信息交互,以及与其它计算平台TSB之间的可信协作。控制机制是主动监控机制发挥作用的入口,依据控制策略主动截获应用的系统行为,并根据判定结果实施控制。控制策略包含系统控制点的范围、系统控制点获取信息和控制机制响应判定结果的处理方式等。控制过程包括拦截系统调用行为,获取行为相关的主体、客体、操作、环境等信息,依据控制策略将信息发送给度量机制进行度量,并接受判定机制的判定结果,进行相关的控制。度量机制依据度量策略对度量对象进行度量。度量策略由度量对象、度量方法等组成。度量对象包括程序、数据和行为等。度量方法包括度量对象中度量点的设置、度量的时机、度量的算法等。度量过程包括依据度量策略对控制机制传递的相关的主体、客体、操作、环境等信息进行度量,并将度量结果发送至判定机制。判定机制依据判定策略对度量结果进行判定。判定策略包括度量结果与基准值的比较方式、不同度量结果的权重值、综合计算方法等。判定过程包括依据判定策略利用可信基准库和度量结果进行综合判定,并将判定结果发送控制机制。TSB交互接口包括内部交互接口和外部交互接口。内部交互接口支撑TSB各个机制之间的交互;外部交互接口支持TSB与TPCM、宿主基础软件和可信安全管理平台之间的交互。
TCM提供可信计算的密码支撑。TPCM硬件资源包括一套专用的CPU、存储、密码单元、IO设备以及可能通过外接扩展的TCM模块。通过CPU提供隔离、保护和交互机制,可以对TPCM的硬件资源进行隔离和保护,并实现计算部件和可信节点相互通信的能力。
图3所示为是根据本发明实施例的CPU内部资源示意图,CPU支持基于隔离保护的可信架构,本发明实施例在CPU内部将所有的软硬件资源划分为可信资源或计算资源。CPU内部资源如图3所示,在系统启动时CPU通过一个核进行加载运行CPU基础固件这个核是可信核(即第一处理器核),CPU基础固件可以通过存储在寄存器中的值将部分核设置为可信核,可信核处在较高的特权级,能访问所有地址空间,计算核(即第二处理器核)处在较低的特权级,只能访问计算环境的地址空间。可信核只运行可信代码,构建可信环境,计算核运行可信代码之外的代码(业务应用的程序代码,非安全相关的)。CPU可以通过总线扩展方式增加可信位标识,可信位标识指示了对应的访问请求是属于可信核还是计算核。结合各资源内部的资源控制器实现资源隔离及访问控制。
内存资源中设置有内存资源控制器,该内存资源控制器可以根据CPU基础固件将内存划分为可信内存和计算内存。当内存资源控制器在接收到访问请求时,如果可信位标识指示是可信核的访问请求,则内存资源控制器允许该访问请求执行,如果可信位标识指示是计算核的访问请求,则内存资源控制器会检查访问地址空间是否在计算内存空间内,如果在则允许该访问请求执行,如果不在则禁止该访问请求执行。可信内存还可以划分为多个可信域,每个可信域都有独立的读写访问权限。在系统启动时,CPU基础固件可以将部分内存划分为可信内存,这部分内存对计算部件的OS是不可见的,计算部件的OS不会再分配使用这些内存空间,同时可信内存资源控制器将过滤计算部件访问可信内存的请求。
同理,I/O资源控制器也可以根据CPU基础固件将I/O划分为可信I/O和计算I/O,当I/O资源控制器在接收到访问请求时,如果可信位标识指示是可信核的访问请求,则I/O资源控制器允许该访问请求执行,如果可信位标识指示是计算核的访问请求,则I/O资源控制器会检查访问地址空间是否在计算I/O空间内,如果在则允许该访问请求执行,如果不在则禁止该访问请求执行。需要说明的是,如果CPU内部没有内存资源控制器和I/O资源控制器,可以通过配置相应的桥设备实现内存和I/O的划分以及访问请求的过滤。
I/O的可信是通过一些转换桥或外设的控制器内的可信控制寄存器保证的。片上总线控制器(控制器、过滤器或桥设备,可根据总线上的扩展位判断资源请求是否有权限,从而实现可信感知)是可信感知的,可识别可信请求与计算请求。PCIE、网络等外设的可信属性是可配置的,可以动态通过可信核配置其进入可信态。I/O接口(IO控制器过滤器或转发桥,NOC)将根据对应的可信属性检查访问请求,过滤越权访问请求,保护可信I/O外设的安全。
本发明通过增加可信标识位的比对,能够确保计算核不能获取可信资源,保证可信资源的安全性。同时DMA设备在进行DMA请求的时候,也必须指定可信访问特性,如果为计算环境里的DMA,则不能访问可信的地址空间。
本申请中的防护部件自身安全性能较好,主要体现在以下四方面:
1、自身环境隔离,处理器完整支持基于域隔离的可信架构,可将所有的软硬件资源划分为可信资源或计算资源,分别归防护部件和计算部件使用。系统启动时,防护部件(TPCM)首先启动运行,完成对物理资源的划分,并对计算部件相关固件或软件验证之后,计算部件主CPU才会开始运行,实现了启动过程的隔离。系统运行时,防护部件和计算部件能够并行运行,基于CPU核和总线的支持双方运行环境实现了运行时完全隔离,隔离的资源包括CPU核、内存、I/O设备等,防护部件所使用的资源不能被计算部件所访问,而防护部件可以主动发起对计算部件所有资源的访问。计算部件只能通过专用交互通道和防护部件进行通信。总之,系统启动时和运行时,防护部件都在完全隔离的环境里运行,并主动对计算部件进行可信验证,极大的减小了系统攻击面,即使主机侧的操作系统被攻陷,黑客也难以渗透防护部件,确保TPCM对主机全程的可测可控,为整体防护体系的构建打下根基。
2、交互通道安全,计算部件和TPCM之间通过专用的核间交互通道进行通信,采用中断通知和共享内存参数传递方式,TPCM不提供对外的服务接口,消除了攻击者对服务接口的直接攻击。同时,TPCM对输入的参数进行严格的格式检查和过滤,因TPCM的逻辑处理比较固定,这样可最大化防止黑客利用参数传递进行的渗透攻击。
3、自身数据安全,防护部件(TPCM)的自身数据主要包括三个方面,第一是存储在本地的数据,例如策略数据、密码数据等,第二是与可信管理平台交互的网络数据,第三是在TPCM运行空间中加载的数据。本地数据存储于片外FLASH,所有数据基于片内OTP密钥进行加密,保证FLASH中的数据始终为密文,而在数据加载进内存时进行自动解密。网络数据是由防护部件和可信管理平台交互产生,包括策略下发、审计日志上传、可信报告上传等,数据传输全程采用SSL/TLS加密,确保数据网络传输层的安全。运行时TPCM应能够将重要数据与度量值绑定,实现数据封装保护。受保护的数据只能在绑定TPCM的平台以及特定完整性状态下才能被解封。TPCM应具有安全数据迁移、备份与恢复的功能,迁移、备份与恢复操作在保证数据的机密性和完整性前提下进行。
4、运维操作安全,防护部件的运维操作包括本地软件或固件升级、故障检查等,在运维时要进行双因子身份认证,即只有运维管理员用Ukey进行身份认证后,才可以登录进入系统进行升级或故障检查,运维管理员的进入严格受控且操作全程审计。同时,对于要升级的软件或固件首先要进行签名验证,确定来源或版本无问题才会执行升级操作,最大化杜绝运维操作所引入的安全风险。
基于上述可信计算双体系架构,防护部件对计算部件进行静态度量的过程可以描述为:
计算机启动时,通过配置预先将系统资源进行划分,分为可信资源和计算资源。可信资源包括一部分CPU核(可信核)、可信内存和可信I/O设备,构成可信环境用于实现TPCM;计算资源包括另一部分CPU核(计算核)、计算内存和计算I/O设备,构成计算环境用于完成计算任务。运行于计算环境的计算核不可访问可信环境的资源,运行于可信环境的可信核,可访问可信环境和计算环境的所有资源。启动过程还包括整个启动链条的逐级度量,构成一个完整的信任链,保障启动以后进入一个可信的计算环境。
如图4所示为计算机启动过程流程图,启动流程包括以下步骤:
步骤S401,系统加电后,ROM Code可信核度量CPU基础固件,系统加电ChipRom首先利用ROM Code对CPU基础固件进行度量验证,然后跳转到CPU基础固件入口代码。考虑到CPU基础固件可能升级,基于片内公钥对CPU基础固件的起始部分镜像进行签名验证。验证过程由可信核(TPCM核)完成,计算核等待被唤醒。
步骤S402,可信核设置可信资源(内存和IO设备)。
步骤S403,CPU基础固件度量可信OS镜像,可信核执行CPU基础固件代码度量TPCMOS镜像,然后加载执行TPCM OS。
步骤S404,启动可信OS和TSB,TPCM OS完成TPCM自身初始化,然后TPCM度量计算环境OS启动镜像。
步骤S405,TSB度量计算环境Bootloader。
步骤S406,TSB唤醒计算核,计算核加载执行计算环境Bootloader,度量完成后唤醒计算核,计算核加载执行计算环境OS启动镜像。
步骤S407,TSB逐级度量启动镜像并根据度量结果执行下一级,直至计算OS和TSB代理完成启动,计算环境启动镜像一般为多级启动镜像(如BIOS->GRUB->OS或UBOOT->OS),前一个启动镜像执行完成后,在加载下一级启动镜像的时候,通知度量TPCM度量下一级启动镜像。度量完成后计算环境执行下一级启动镜像,直到操作系统和TSB代理完成启动。
TPCM在上一步收到计算环境启动流程发送的度量通知后,对启动各环节进行度量。TPCM记录度量结果,作为计算环境启动可信的依据。也可作为安全启动控制的依据。
步骤S408,TSB代理发送计算环境基本信息给TPCM(代码、数据分布情况),计算环境OS中的TSB代理发送计算环境度量对象相关信息和状态数据给TPCM。
步骤S409,TSB度量记录计算环境基本信息。
步骤S410,根据策略和计算环境信息动态度量,TPCM收到计算环境的数据信息后结合可信策略,开始主动动态度量,对计算环境进行实时监控和保护。之后计算环境开始执行业务处理。
基于上述可信计算双体系架构,可信软件基TSB对计算部件的动态度量过程可以描述为:动态度量是可信软件基的重要组成部分,也是可信保障的重要内容。
可信软件基能够通过静态度量功能保证系统运行对象初态可信。在此基础上,动态度量功能将针对不同的度量对象,选择合适的度量时机,采用合理的度量方法,对系统中度量对象的运行状况进行度量,并依据策略及不同度量对象的特性,对发生变化的度量对象进行报告,并将度量结果发送给控制机制,同时采取更新度量预期值或可信恢复措施,从而确保系统运行状态的可信,为访问控制机制和可信证明机制提供支撑。
动态度量模块实时监视系统内所有关键进程、模块、执行代码、数据结构、重要跳转表等,对进程的资源访问行为进行实时度量和控制,是保障系统安全运行、安全机制不被旁路和篡改的核心部件。动态度量模块针对不同的度量对象,采用合理的度量方法,选择合适的度量时机,对系统的运行进行全面度量,确保系统安全可信。动态度量是系统的核心保障,是监控系统运行状态、度量进程行为、分析系统可信性的关键。
动态度量的运行机制实现了对系统的重要节点进行监控,有效阻断恶意代码对系统入侵。
如图5所示为本发明实施例的动态度量框架示意图,如图6所示为本发明实施例的动态度量的度量总体方案。
首先,编辑策略语言,配置控制点信息(截获具体操作行为:包括文件的打开、读/写、程序的执行、动态库的加载、驱动加载等)。生成动态度量调用策略(包括动态度引擎选择,具体度量对象的选择等);
其次,TSB代理(TSB代理主要为原TSB中的控制机制)截获系统调用行为,获取主/客体信息、操作行为,根据策略配置调用相应的动态度量引擎以及具体度量操作(如:系统进程度量、内核模块度量、syscall_table系统调用表度量、idt中断描述符表度量、网络度量、文件系统度量、内核代码段度量),动态度量引擎调用TPCM进行hash运行计算具体度量对象的摘要值并与基准库对比;
最后,将度量结果返回给TSB控制机制,控制机制综合度量结果生成最终的控制结果。
如图7所示为根据本发明实施例的动态度量功能模块示意图,动态度量模块主要包括动态度量控制子模块、动态度量引擎子模块、动态度量报告子模块和动态度量基准库子模块等。
度量控制子模块包括引擎控制,周期度量,触发度量。引擎控制负责度量引擎的注册,根据产品侧重点不同,以及客户的需求注册相应的度量引擎;周期性度量是按照安全策略中设定的时间间隔基数,然后周期性地检测动态度量的度量条件是否满足,一旦检测满足度量要求,则对其进行特征值检查。如果检测出异常,则生成度量报告,发送给可信报告机制;触发度量由TSB控制机制通过策略触发相应的度量引擎进行度量。
度量引擎子模块是对动态度量模块的核心模块。它将完成对动态度量对象列表进行触发式或者周期性的度量。度量引擎子模块中分为两部分:一部分是动态的,它将启动一个内核进程,它将周期性地检测各个模块的度量周期,一旦度量周期到了,则将对该模块进行度量;另一部分是静态的,它将被动地等待TSB控制机制的触发。一旦TSB控制机制发来指令,则触发度量引擎将依据策略调用不同度量引擎进行度量。这些度量数据可以是一个对象,或者是一组对象,也可以是全部度量对象。
动态度量针对度量对象、度量方式的不同分为四类,包括内核关键数据结构度量,系统进程度量,内核驱动度量,系统关键内存块度量。如图8所示为内核关键数据结构度量流程图。
其中,度量对象如idt中断描述符表,syscall_table系统调用表;文件系统关键操作函数fs->mount、fs->kill_sb,超级块关键操作函数sb->s_op;网络地址族pf->family、pf->create,协议族proto;度量时机:控制机制触发度量,策略控制周期度量。
如图8所示,度量流程可包括:
步骤S801,动态度量系统关键数据结构度量机制启动;
步骤S802,记录系统关键数据结构内容,关键操作函数地址;
步骤S803,调用TPCM计算其基准值;
步骤S804,存储基准值到基准值库;
步骤S805,启动并加载系统关键结构度量引擎;
步骤S806,TSB控制机制截获应用程序系统调用行为;
步骤S807,TSB控制机制根据截获的主/客体信息调用相应的度量引擎;
步骤S808,度量引擎调用具体度量操作;
步骤S809,调用TPCM计算基准值;
步骤S810,与基准库中的基准值进行比较;
步骤S811,返回度量结果给TSB控制机制。
如图9所示为根据本发明实施例的系统进程度量流程图。度量对象:系统进程代码段、只读数据段,进程相关的共享库。度量时机:控制机制触发度量,策略控制周期度量。
如图9所示,度量流程包括:
步骤S901,动态度量进程度量机制启动;
步骤S902,扫描系统已启动的进程链表;
步骤S903,调用TPCM计算其基准值;
步骤S904,存储基准值到基准值库;
步骤S905,启动并加载进程度量引擎;
步骤S906,TSB控制机制截获应用程序系统调用行为;
步骤S907,启动监控动态库加载/卸载服务;
步骤S908,调用TPCM计算基准值;
步骤S909,更新基准值到基准值库;
步骤S910,TSB控制机制根据截获的主/客体信息调用相应的度量引擎;
步骤S911,度量引擎调用具体度量操作;
步骤S912,调用TPCM计算基准值;
步骤S913,与基准库中的基准值进行比较;
步骤S914,返回度量结果给TSB控制机制。
如图10所示为根据本发明实施例的内核驱动度量流程图。度量对象:内核模块的代码段。度量时机:控制机制触发度量,策略控制周期度量;
如图10所示,度量流程包括:
步骤S1001,动态度量模块度量机制启动;
步骤S1002,扫描系统已加载的模块链表;
步骤S1003,调用TPCM计算其基准值;
步骤S1004,存储基准值到基准值库;
步骤S1005,启动监控内核模块加载/卸载服务,调用TPCM计算基准值;
步骤S1006,更新基准值到基准值库;
步骤S1007,启动内核度量引擎;
步骤S1008,TSB控制机制截获应用程序系统调用行为;
步骤S1009,TSB控制机制根据截获的主/客体信息调用相应的度量引擎;
步骤S1010,度量引擎调用具体度量操作;
步骤S1011,调用TPCM计算基准值;
步骤S1012,与基准库中的基准值进行比较;
步骤S1013,返回度量结果给TSB控制机制;
如图11所示为根据本发明实施例的系统关键内存块度量流程图。
度量对象:内核代码段kernel_section。度量时机:控制机制触发度量,策略控制周期度量。
如图11所示,度量流程包括:
步骤S1101,动态度量系统关键内存块度量机制启动;
步骤S1102,记录系统关键内存卡首末地址;
步骤S1103,调用TPCM计算其基准值;
步骤S1104,存储基准值到基准值库;
步骤S1105,启动系统关键内存块度量引擎;
步骤S1106,TSB控制机制截获应用程序系统调用行为;
步骤S1107,TSB控制机制根据截获的主/客体信息调用相应的度量引擎;
步骤S1108,度量引擎调用具体度量操作;
步骤S1109,调用TPCM计算基准值;
步骤S1110,与基准库中的基准值进行比较;
步骤S1111,返回度量结果给TSB控制机制。
动态度量报告子模块,度量报告子模块包括度量报告以及度量结果两个部分。其中度量报告功能是将度量引擎产生的周期度量数据,生成度量报告,并发送给TSB可信报告功能进行分析;度量结果是将度量引擎产生的触发性度量结果整理后发送给控制机制,控制机制根据度量结果进行控制。
动态度量基准库子模块,度量基准库子模块根据度量对象的不同分别存储为静态基准值和动态基准值。静态基准值:包括系统调用基准值,中断描述符基准值,网络协议基准值,文件系统基准值,内核代码段基准值等。动态基准值:后续启动进程度量对象的基准值和后续加载的内核驱动对象的基准值。
基于上述可信计算双体系架构,防护部件与计算部件之间的交互过程可以描述为:本发明将计算环境和TPCM的交互方式分为三类:命令、通知和资源直接访问。
命令是由计算环境发起的交互方式(实际是由嵌入计算环境的TSB代理发起的)。包括由TSB代理向TPCM发送主机基本信息、发送度量通知、下发策略和基准值、获取可信数据(状态、凭据、报告、日志等)。通知是由TPCM发起的交互方式,由TPCM向计算环境发送的通知(实际上是发送给TSB代理)。包括命令处理完成的通知、辅助控制的通知。资源直接访问,由TPCM直接访问计算环境的资源,直接资源访问不涉及与计算环境软件层交互。(这个主要是通过CPU内部设计实现的,也是多核CPU本身具备的功能机制,是静态度量和动态度量的核心支撑)
如图12所示,为根据本发明实施例的计算环境向TPCM发送命令交互流程示意图。
发送命令的方式分为同步发送和异步发送。同步发送命令,发送方CPU发送命令以后进入等待状态,直到命令处理完成。同步发送命令一般用于发送一些简单命令,这类命令处理时间很短的命令,可以在中断上下文中完成。由于命令处理时间较短,可能小于CPU调动需要的时间周期,这种情况不调度发送方CPU,而让发送方CPU做短暂的等待更合适。异步发送命令,发送方CPU发送命令后并不等待命令处理完成(只等待命令成功发送),在命令处理期间,发送方CPU可以执行其他任务。这种方式一般用于发送处理时间较长的命令,这样可以充分利用CPU的计算能力。
如图12所示,CPU0表示计算核,CPU1表示可信核,流程如下:
步骤S1201,TSB代理请求发送命令
步骤S1202,主机侧驱动将命令写入共享内存。
步骤S1203,主机侧驱动并给可信CPU发送软中断。
步骤S1204,主机侧驱动轮询返回值标记,直到返回值非空。
步骤S1205,同时TPCM通信驱动,保存原有执行上下文,进入中断处理函数。
步骤S1206,TPCM驱动从共享内存读取命令,调用命令处理函数,命令处理函数会在中断上下文中处理简短的命令,对于处理事件较长的异步命令,驱动只是将命令排入队列就立即返回。
步骤S1207,TPCM驱动将命令处理后或排入队列后的返回值写入共享内存,并设置返回值标记。
步骤S1208,TPCM驱动恢复TPCMCPU原有任务,即恢复上下文,继续执行。由于可能队列中插入了新的任务,TPCM可能将开始执行新的任务。
步骤S1209,步骤S1207将导致主机侧CPU轮询结束,主机侧CPU从共享内存读取返回值,并清空返回值标记。
步骤S1210,主机侧通信驱动将处理结果(如返回值本身,或者依据返回值确定的度量结果,例如是否异常)返回给TSB代理。
步骤S1211,TSB代理继续执行。
如图13所示为根据本发明实施例的TPCM向计算环境发送通知的流程示意图。通知包括命令处理完成的通知和辅助控制的通知。流程如下:
步骤S1301,TSB需要TSB代理协助进行控制时,或者TSB处理完异步命令时,通过TPCM通信驱动给计算环境发送通知。
步骤S1302,TPCM通信驱动轮询通知标记,直到通知标记为空,表示前一通知已经由主机侧接收。TPCM设置通知标记。
步骤S1303,TPCM通信驱动将通知内容写入共享内存区域。
步骤S1304,TPCM通信驱动给计算环境CPU发送中断。
步骤S1305,TPCMCPU继续执行TSB后继任务。
步骤S1306,同时,计算侧CPU被中断,保存上下文,进入计算侧驱动执行通知处理函数,即调用中断处理函数。
步骤S1307,计算侧通信驱动的通知处理函数从共享内存读取通知,并清除通知标记,此后TPCM侧驱动可发送后继通知。
步骤S1308,计算侧通信驱动通知TSB代理处理通知。如果是异步命令完成通知,TSB代理唤醒等待的进程。否则TSB代理调用通知处理函数。
步骤S1309,主机侧CPU恢复上下继续执行原有任务。在某种条件下原有任务可能被抢占。
计算部件和TPCM之间通过专用的核间交互通道进行通信,采用中断通知和共享内存参数传递方式,TPCM不提供对外的服务接口,消除了攻击者对服务接口的直接攻击。同时,TPCM对输入的参数进行严格的格式检查和过滤,因TPCM的逻辑处理比较固定,这样可最大化防止黑客利用参数传递进行的渗透攻击。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述基于双体系架构的可信计算平台的系统交互方法的基于双体系架构的可信计算平台的系统交互装置。图14是根据本发明实施例的一种可选的基于双体系架构的可信计算平台的系统交互装置的示意图,如图14所示,该装置可以包括:
划分单元1401,用于在计算机上电时,将所述计算机的硬件资源划分为防护硬件资源和计算硬件资源,其中,所述计算硬件资源允许被所述防护硬件资源访问且不能访问所述防护硬件资源,所述防护硬件资源用于运行防护子系统,所述计算硬件资源用于运行计算子系统,所述防护子系统用于利用可信平台控制模块完成对所述计算子系统的度量;
交互单元1403,用于在所述可信平台控制模块与所述计算子系统之间按照与交互类型匹配的交互方式进行交互。
需要说明的是,该实施例中的划分单元1401可以用于执行本申请实施例中的步骤S102,该实施例中的交互单元1403可以用于执行本申请实施例中的步骤S104。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以通过软件实现,也可以通过硬件实现。
通过上述模块,在处理器CPU内部构建安全隔离的计算部件(包括计算硬件资源)与防护部件(包括防护硬件资源)并存的双体系架构,计算部件无法访问防护部件的资源,防护部件可访问计算部件的所有资源,双方可通过安全的专用通道进行交互,防护部件可以可信平台控制模块TPCM为核心和信任源点,能够先于计算部件处理器启动,对计算部件资源和总线进行初始化配置,并通过直接内总线共享机制访问主机所有资源,可以解决了相关技术中的计算机安全性较低的技术问题,进而达到提高计算机安全性的技术效果。
可选地,交互单元还可用于执行以下至少之一:在所述可信平台控制模块与所述计算子系统之间按照与命令交互类型匹配的交互方式进行交互;在所述可信平台控制模块与所述计算子系统之间按照与通知交互类型匹配的交互方式进行交互;在所述可信平台控制模块与所述计算子系统之间按照与资源访问交互类型匹配的交互方式进行交互。
可选地,交互单元还可用于指示所述计算子系统的可信软件基代理向所述计算机的第二处理器核请求发送交互命令,其中,所述计算硬件资源包括所述第二处理器核;所述第二处理器核将所述交互命令写入共享内存,并向所述可信平台控制模块的第一处理器核发送软中断,其中,所述防护硬件资源包括所述第一处理器核;所述第一处理器核执行所述交互命令指示的操作,并将执行操作得到的返回值和返回值标记写入所述共享内存;所述第二处理器核从所述共享内存读取所述返回值,并清除对应的返回值标记;所述第二处理器核将根据所述返回值确定的处理结果返回给所述可信软件基代理。
可选地,交互单元还可用于指示所述可信平台控制模块的第一处理器核将交互通知和交互通知标识写入共享内存;所述第一处理器核向所述计算子系统的第二处理器核发送软中断;所述第二处理器核在接收到所述软中断时从所述共享内存中读取所述交互通知,并清除所述交互通知标识;所述第二处理器核将所述交互通知发送给所述计算子系统的可信软件基代理。
可选地,交互单元还可用于指示所述可信平台控制模块通过所述计算机的处理器的内总线直接访问所述计算子系统所使用的资源。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的另一个方面,还提供了一种用于实施上述基于双体系架构的可信计算平台的系统交互方法的服务器或终端。
图15是根据本发明实施例的一种终端的结构框图,如图15所示,该终端可以包括:一个或多个(图中仅示出一个)处理器1501、存储器1503、以及传输装置1505,如图15所示,该终端还可以包括输入输出设备1507。
其中,存储器1503可用于存储软件程序以及模块,如本发明实施例中的基于双体系架构的可信计算平台的系统交互方法和装置对应的程序指令/模块,处理器1501通过运行存储在存储器1503内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于双体系架构的可信计算平台的系统交互方法。存储器1503可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1503可进一步包括相对于处理器1501远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1505用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1505包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1505为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1503用于存储应用程序。
处理器1501可以通过传输装置1505调用存储器1503存储的应用程序,以执行下述步骤:
在计算机上电时,将所述计算机的硬件资源划分为防护硬件资源和计算硬件资源,其中,所述计算硬件资源允许被所述防护硬件资源访问且不能访问所述防护硬件资源,所述防护硬件资源用于运行防护子系统,所述计算硬件资源用于运行计算子系统,所述防护子系统用于利用可信平台控制模块完成对所述计算子系统的度量;
在所述可信平台控制模块与所述计算子系统之间按照与交互类型匹配的交互方式进行交互。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图15所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图15其并不对上述电子装置的结构造成限定。例如,终端还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行基于双体系架构的可信计算平台的系统交互方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
在计算机上电时,将所述计算机的硬件资源划分为防护硬件资源和计算硬件资源,其中,所述计算硬件资源允许被所述防护硬件资源访问且不能访问所述防护硬件资源,所述防护硬件资源用于运行防护子系统,所述计算硬件资源用于运行计算子系统,所述防护子系统用于利用可信平台控制模块完成对所述计算子系统的度量;
在所述可信平台控制模块与所述计算子系统之间按照与交互类型匹配的交互方式进行交互。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于双体系架构的可信计算平台的系统交互方法,其特征在于,包括:
在计算机上电时,将所述计算机的硬件资源划分为防护硬件资源和计算硬件资源,其中,所述计算硬件资源允许被所述防护硬件资源访问且不能访问所述防护硬件资源,所述防护硬件资源用于运行防护子系统,所述计算硬件资源用于运行计算子系统,所述防护子系统用于利用可信平台控制模块完成对所述计算子系统的度量,所述防护硬件资源和所述计算硬件资源为所述计算机的同一个处理器内的资源;
在所述可信平台控制模块与所述计算子系统之间按照与交互类型匹配的交互方式进行交互,
其中,在所述可信平台控制模块与所述计算子系统之间按照与交互类型匹配的交互方式进行交互至少包括:在所述可信平台控制模块与所述计算子系统之间按照与命令交互类型匹配的交互方式进行交互,
其中,所述计算硬件资源包括第二处理器核,其中,所述防护硬件资源包括第一处理器核,
所述处理器通过总线扩展方式增加可信位标识,所述可信位标识指示对应的访问请求是属于所述第一处理器核还是所述第二处理器核,
所述处理器还包括计算部件和防护部件,所述防护部件包括TPCM和TCM,TPCM和TCM构成了可信根,所述可信根拥有独立于所述计算机主机的软硬件资源,并用于主动访问所述计算机主机的所有资源以支撑可信验证机制的实施,
所述计算部件和TPCM之间通过专用的核间交互通道进行通信,采用中断通知和共享内存参数的传递方式,TPCM不提供对外的服务接口,以消除攻击者对所述服务接口的直接攻击,
所述防护部件的自身数据包括存储在本地的本地数据、与可信管理平台交互的网络数据以及在TPCM运行空间中加载的数据,所述本地数据包括策略数据和密码数据,所述本地数据存储于片外FLASH,所有的所述本地数据基于片内OTP密钥进行加密,保证所述片外FLASH中的数据始终为密文,在所述片外FLASH中的数据加载进共享内存时进行自动解密;所述网络数据是由所述防护部件和所述可信管理平台交互产生的,包括策略下发、审计日志上传和可信报告上传,所述网络数据全程采用SSL/TLS加密传输,以确保数据网络传输层的安全;运行时TPCM将重要数据与度量值绑定,实现数据封装保护;受保护的数据只能在绑定TPCM的平台以及特定完整性状态下才能被解封;TPCM具有安全数据的迁移、备份与恢复的功能,所述迁移、所述备份与所述恢复在保证数据的机密性和完整性前提下进行。
2.根据权利要求1所述的方法,其特征在于,在所述可信平台控制模块与所述计算子系统之间按照与交互类型匹配的交互方式进行交互包括以下至少之一:
在所述可信平台控制模块与所述计算子系统之间按照与通知交互类型匹配的交互方式进行交互;
在所述可信平台控制模块与所述计算子系统之间按照与资源访问交互类型匹配的交互方式进行交互。
3.根据权利要求1所述的方法,其特征在于,在所述可信平台控制模块与所述计算子系统之间按照与命令交互类型匹配的交互方式进行交互包括:
所述计算子系统的可信软件基代理向所述计算机的第二处理器核请求发送交互命令;
所述第二处理器核将所述交互命令写入共享内存,并向所述可信平台控制模块的第一处理器核发送软中断;
所述第一处理器核执行所述交互命令指示的操作,并将执行操作得到的返回值和返回值标记写入所述共享内存;
所述第二处理器核从所述共享内存读取所述返回值,并清除对应的返回值标记;
所述第二处理器核将根据所述返回值确定的处理结果返回给所述可信软件基代理。
4.根据权利要求2所述的方法,其特征在于,在所述可信平台控制模块与所述计算子系统之间按照与通知交互类型匹配的交互方式进行交互包括:
所述可信平台控制模块的第一处理器核将交互通知和交互通知标识写入共享内存;
所述第一处理器核向所述计算子系统的第二处理器核发送软中断;
所述第二处理器核在接收到所述软中断时从所述共享内存中读取所述交互通知,并清除所述交互通知标识;
所述第二处理器核将所述交互通知发送给所述计算子系统的可信软件基代理。
5.根据权利要求2所述的方法,其特征在于,在所述可信平台控制模块与所述计算子系统之间按照与资源访问交互类型匹配的交互方式进行交互包括:
所述可信平台控制模块通过所述计算机的处理器的内总线直接访问所述计算子系统所使用的资源。
6.一种基于双体系架构的可信计算平台的系统交互装置,其特征在于,包括:
划分单元,用于在计算机上电时,将所述计算机的硬件资源划分为防护硬件资源和计算硬件资源,其中,所述计算硬件资源允许被所述防护硬件资源访问且不能访问所述防护硬件资源,所述防护硬件资源用于运行防护子系统,所述计算硬件资源用于运行计算子系统,所述防护子系统用于利用可信平台控制模块完成对所述计算子系统的度量,所述防护硬件资源和所述计算硬件资源为所述计算机的同一个处理器内的资源;
交互单元,用于在所述可信平台控制模块与所述计算子系统之间按照与交互类型匹配的交互方式进行交互,
交互单元还用于在所述可信平台控制模块与所述计算子系统之间按照与命令交互类型匹配的交互方式进行交互,
其中,所述计算硬件资源包括第二处理器核,其中,所述防护硬件资源包括第一处理器核,
所述处理器通过总线扩展方式增加可信位标识,所述可信位标识指示对应的访问请求是属于所述第一处理器核还是所述第二处理器核,
所述处理器还包括计算部件和防护部件,所述防护部件包括TPCM和TCM,TPCM和TCM构成了可信根,所述可信根拥有独立于所述计算机主机的软硬件资源,并用于主动访问所述计算机主机的所有资源以支撑可信验证机制的实施,
所述计算部件和TPCM之间通过专用的核间交互通道进行通信,采用中断通知和共享内存参数的传递方式,TPCM不提供对外的服务接口,以消除攻击者对所述服务接口的直接攻击,
所述防护部件的自身数据包括存储在本地的本地数据、与可信管理平台交互的网络数据以及在TPCM运行空间中加载的数据,所述本地数据包括策略数据和密码数据,所述本地数据存储于片外FLASH,所有的所述本地数据基于片内OTP密钥进行加密,保证所述片外FLASH中的数据始终为密文,在所述片外FLASH中的数据加载进共享内存时进行自动解密;所述网络数据是由所述防护部件和所述可信管理平台交互产生的,包括策略下发、审计日志上传和可信报告上传,所述网络数据全程采用SSL/TLS加密传输,以确保数据网络传输层的安全;运行时TPCM将重要数据与度量值绑定,实现数据封装保护;受保护的数据只能在绑定TPCM的平台以及特定完整性状态下才能被解封;TPCM具有安全数据的迁移、备份与恢复的功能,所述迁移、所述备份与所述恢复在保证数据的机密性和完整性前提下进行。
7.根据权利要求6所述的装置,其特征在于,所述交互单元还用于执行以下至少之一:
在所述可信平台控制模块与所述计算子系统之间按照与通知交互类型匹配的交互方式进行交互;
在所述可信平台控制模块与所述计算子系统之间按照与资源访问交互类型匹配的交互方式进行交互。
8.根据权利要求6所述的装置,其特征在于,所述交互单元还用于指示:
所述计算子系统的可信软件基代理向所述计算机的第二处理器核请求发送交互命令;
所述第二处理器核将所述交互命令写入共享内存,并向所述可信平台控制模块的第一处理器核发送软中断;
所述第一处理器核执行所述交互命令指示的操作,并将执行操作得到的返回值和返回值标记写入所述共享内存;
所述第二处理器核从所述共享内存读取所述返回值,并清除对应的返回值标记;
所述第二处理器核将根据所述返回值确定的处理结果返回给所述可信软件基代理。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至5任一项中所述的方法。
10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910614218.9A CN110321235B (zh) | 2019-07-08 | 2019-07-08 | 基于双体系架构的可信计算平台的系统交互方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910614218.9A CN110321235B (zh) | 2019-07-08 | 2019-07-08 | 基于双体系架构的可信计算平台的系统交互方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321235A CN110321235A (zh) | 2019-10-11 |
CN110321235B true CN110321235B (zh) | 2021-03-16 |
Family
ID=68121614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910614218.9A Active CN110321235B (zh) | 2019-07-08 | 2019-07-08 | 基于双体系架构的可信计算平台的系统交互方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321235B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795385B (zh) * | 2019-10-29 | 2023-11-03 | 飞腾信息技术有限公司 | 片上系统的可信核与计算核核资源分配方法及装置 |
CN111248653A (zh) * | 2020-01-10 | 2020-06-09 | 蚌埠和能信息科技有限公司 | 一种基于tpcm可信平台的多重安全保密文件柜 |
CN111639307B (zh) * | 2020-05-28 | 2023-09-19 | 全球能源互联网研究院有限公司 | 可信资源授权系统、软件可信认证系统及其方法 |
CN111859318A (zh) * | 2020-06-23 | 2020-10-30 | 天地融科技股份有限公司 | 一种安全显示控制的方法及装置 |
CN112149132B (zh) * | 2020-09-08 | 2021-06-25 | 北京工业大学 | 一种主动免疫的大数据可信计算平台 |
CN112149801B (zh) * | 2020-09-08 | 2024-05-28 | 北京工业大学 | 一种gan神经网络可信执行方法及装置 |
CN112149800B (zh) * | 2020-09-08 | 2024-05-28 | 北京工业大学 | 一种反馈神经网络可信执行方法及装置 |
CN113190854A (zh) * | 2021-04-19 | 2021-07-30 | 亚信科技(成都)有限公司 | 一种资源隔离方法及电子设备 |
CN115421875B (zh) * | 2022-10-27 | 2023-01-03 | 飞腾信息技术有限公司 | 二进制翻译方法及装置 |
CN117880802A (zh) * | 2023-12-07 | 2024-04-12 | 南京国电南自电网自动化有限公司 | 虚拟电厂无线安全加密通信设计方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167788B2 (en) * | 2004-01-30 | 2007-01-23 | United Technologies Corporation | Dual-architecture microserver card |
US8510859B2 (en) * | 2006-09-26 | 2013-08-13 | Intel Corporation | Methods and arrangements to launch trusted, co-existing environments |
CN104200165B (zh) * | 2014-07-30 | 2017-06-30 | 中国电子科技集团公司第三十研究所 | 一种基于国产cpu的主动可信度量方法 |
CN108460282A (zh) * | 2017-02-22 | 2018-08-28 | 北京大学 | 一种基于异构多核芯片的计算机安全启动方法 |
CN207051905U (zh) * | 2017-08-02 | 2018-02-27 | 龙芯中科技术有限公司 | 计算机主板和计算机 |
CN109871695B (zh) * | 2019-03-14 | 2020-03-20 | 沈昌祥 | 一种计算与防护并行双体系结构的可信计算平台 |
CN109948344A (zh) * | 2019-03-14 | 2019-06-28 | 沈昌祥 | 一种基于双体系结构可信计算平台的系统交互方法 |
CN109918916B (zh) * | 2019-03-14 | 2020-02-18 | 沈昌祥 | 一种双体系可信计算系统及方法 |
-
2019
- 2019-07-08 CN CN201910614218.9A patent/CN110321235B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110321235A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321235B (zh) | 基于双体系架构的可信计算平台的系统交互方法和装置 | |
CN110321713B (zh) | 基于双体系架构的可信计算平台的动态度量方法和装置 | |
CN110334512B (zh) | 基于双体系架构的可信计算平台的静态度量方法和装置 | |
US10516533B2 (en) | Password triggered trusted encryption key deletion | |
US9455955B2 (en) | Customizable storage controller with integrated F+ storage firewall protection | |
US8201239B2 (en) | Extensible pre-boot authentication | |
US9690498B2 (en) | Protected mode for securing computing devices | |
US9424430B2 (en) | Method and system for defending security application in a user's computer | |
US7836299B2 (en) | Virtualization of software configuration registers of the TPM cryptographic processor | |
US8909940B2 (en) | Extensible pre-boot authentication | |
US9575790B2 (en) | Secure communication using a trusted virtual machine | |
CN110334521B (zh) | 可信计算系统构建方法、装置、可信计算系统及处理器 | |
JP5346608B2 (ja) | 情報処理装置およびファイル検証システム | |
US20070180509A1 (en) | Practical platform for high risk applications | |
US20090319782A1 (en) | Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments | |
JP6293133B2 (ja) | 被保護データー集合のネットワーク・ベース管理 | |
CN110334509B (zh) | 双体系架构的可信计算平台的构建方法和装置 | |
US20230342472A1 (en) | Computer System, Trusted Function Component, and Running Method | |
EP4006758B1 (en) | Data storage apparatus with variable computer file system | |
CA3151428A1 (en) | System and method for application tamper discovery | |
US20170099315A1 (en) | System and method for obtaining keys to access protected information | |
Zhao | Authentication and Data Protection under Strong Adversarial Model | |
Feng et al. | Using mobile phones to enhance computing platform trust | |
CN118211239A (zh) | 一种安全架构系统、实现安全可信启动的方法和计算设备 | |
Wan | Hardware-Assisted Security Mechanisms on Arm-Based Multi-Core Processors |
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 |