一种基于双体系结构的可信计算平台的动态度量方法与流程

文档序号:18835568发布日期:2019-10-09 05:13阅读:232来源:国知局
一种基于双体系结构的可信计算平台的动态度量方法与流程

本发明涉及网络安全领域,特别地,涉及一种基于双体系结构的可信计算平台的动态度量方法。



背景技术:

当前的网络空间极其脆弱,震网、wannacry勒索病毒、mirai等造成较大影响的网络攻击事件层出不穷,且日益猖獗。究其根源,在于并没有从网络安全风险的实质原因入手解决问题,一味采用以“防火墙”、“病毒查杀”、“入侵检测”等为代表的“封堵查杀”被动防御手段,防不胜防,特别在面对针对目标系统的漏洞发起的攻击时,根本无法有效防御。

为解决当前网络空间安全面临的问题,国际上tcg组织提出了可信计算的方法,提出了以tpm和bios起始代码为信任根,一级度量一级,进而构建起计算机的信任链,保护计算机重要资源不被非法篡改和破坏,起到了较好的效果。但是,tpm本质上只是计算机上一个被动挂接的外部设备,只有被主机程序调用才会发挥作用,且只能对计算机启动过程进行度量,无法对计算机运行过程进行度量,一旦主机被攻击者控制,tpm的作用就会无从发挥,导致tcg的可信计算架构在面对黑客利用可信计算平台逻辑缺陷进行攻击时,基本难以抵御。



技术实现要素:

为了克服现有技术的不足,本发明提供一种保护计算机重要资源不被非法篡改和破坏的基于双体系结构的可信计算平台的动态度量方法。

本发明解决其技术问题所采用的技术方案是:

一方面:

一种基于双体系结构的可信计算平台的动态度量方法,所述可信计算平台包括并行运行的防护子系统和计算子系统,所述计算子系统包括:主机cpu、内存以及主板上除主机cpu和内存之外的其他模块,用于完成计算任务,所述防护子系统包括:可信平台控制模块,用于对所述计算子系统进行主动度量和主动控制,所述主动度量包括动态度量,所述可信平台控制模块通过pcie接口和预置接口与所述主板相连接,所述pcie接口用于所述可信平台控制模块与主机cpu及内存之间的通信,所述预置接口用于所述可信平台控制模块与所述主板上除主机cpu和内存之外的其他模块之间的通信;

所述方法包括:

在满足动态度量触发条件时,所述可信平台控制模块获取所述计算子系统的度量对象的相关信息;

根据与所述度量对象的相关信息相匹配的可信策略,对所述度量对象进行度量,并根据度量结果对所述计算子系统进行相应控制处理。

进一步地,在所述防护子系统采用直接度量模式时,所述可信平台控制模块获取所述计算子系统的度量对象的相关信息,包括:

所述可信平台控制模块通过所述pcie接口直接访问内存,以获取内存数据,所述度量对象的相关信息包括所述内存数据;或者

所述可信平台控制模块通过所述预置接口直接访问所述主板上的固件存储区,以获取主机固件,所述度量对象的相关信息包括所述主机固件。

进一步地,所述根据度量结果对所述计算子系统进行相应控制处理,包括:

所述可信平台控制模块通过所述pcie接口直接对主机cpu及内存进行相应控制处理;或者

所述可信平台控制模块通过所述预置接口直接对主板上除主机cpu及内存之外的其他模块进行相应控制处理。

进一步地,在所述防护子系统采用代理度量模式时,所述可信平台控制模块获取所述计算子系统的度量对象的相关信息,包括:

度量代理程序获取所述度量对象的相关信息,所述度量代理程序为所述防护子系统植入到所述计算子系统中的钩子函数,所述度量代理程序用于获取所述计算子系统的相关信息,以及对所述计算子系统进行控制,所述度量对象的相关信息包括:内存数据、主板上的固件存储区中的主机固件;

所述度量代理程序通过pcie接口将获取到的所述度量对象的相关信息发送给所述可信平台控制模块,或者,所述度量代理程序通过pcie接口将所述度量对象的相关信息的地址发送给所述可信平台控制模块,以使所述可信平台控制模块通过所述pcie接口或所述预置接口访问所述地址以获取所述度量对象的相关信息。

进一步地,所述根据度量结果对所述计算子系统进行相应控制处理,包括:

所述可信平台控制模块通过所述pcie接口向所述度量代理程序发送控制指令,以指示所述度量代理程序对所述度量对象进行相应控制处理。

进一步地,所述动态度量触发条件包括以下至少之一:

达到预定时间点;

达到预定度量周期;

预设行为被触发;

预设事件被触发。

进一步地,如果所述动态度量触发条件为所述预设行为被触发,所述对所述度量对象进行度量,并根据度量结果对所述计算子系统进行相应控制处理,包括:

当所述预设行为被触发时时,拦截所述预设行为的执行,根据所述可信策略对所述预设行为进行度量,如果对所述预设行为的度量结果为可信,则取消拦截并允许所述预设行为执行;如果对所述预设行为的度量结果为不可信,则根据所述可信策略对所述预设行为进行处理;或者,

当所述预设行为被触发时,允许所述预设行为执行,并对所述预设行为进行度量,如果对所述预设行为的度量结果为不可信,则根据所述可信策略对所述预设行为相关的后续情况进行处理。

另一方面:

一种基于双体系结构的可信计算平台的动态度量装置,所述可信计算平台包括并行运行的防护子系统和计算子系统,所述计算子系统包括:主机cpu、内存以及主板上除主机cpu和内存之外的其他模块,用于完成计算任务,所述防护子系统包括:可信平台控制模块,用于对所述计算子系统进行主动度量和主动控制,所述主动度量包括动态度量,所述可信平台控制模块通过pcie接口和预置接口与所述主板相连接,所述pcie接口用于所述可信平台控制模块与主机cpu及内存之间的通信,所述预置接口用于所述可信平台控制模块与所述主板上除主机cpu和内存之外的其他模块之间的通信;所述装置包括:

信息获取模块,用于在满足动态度量触发条件时,所述可信平台控制模块获取所述计算子系统的度量对象的相关信息;

度量处理模块,用于根据与所述度量对象的相关信息相匹配的可信策略,对所述度量对象进行度量,并根据度量结果对所述计算子系统进行相应控制处理。

另一方面:

一种存储介质,所述存储介质用于存储程序,所述程序用于实现上述任一项所述方法的步骤。

另一方面:

一种处理器,所述处理器用于执行程序,所述程序用于实现上述任一项所述方法的步骤。

有益效果:

本申请技术方案提供了一种基于双体系机构的可信计算平台的动态度量方法,可信计算平台由防护子系统和计算子系统构成,可信平台控制模块通过pcie接口和预置接口与主板相连接,pcie接口用于可信平台控制模块与主机cpu及内存之间的通信,预置接口用于可信平台控制模块与主板上除主机cpu和内存之外的其他模块之间的通信;在满足动态度量触发条件时,可信平台控制模块获取计算子系统的度量对象的相关信息;根据与度量对象的相关信息相匹配的可信策略,对度量对象进行度量,并根据度量结果对计算子系统进行相应控制处理,能够保证计算子系统在运行过程中受到防护子系统的保护,保证计算机系统重要资源不受篡改和破坏。

附图说明

图1是本发明实施例提供的一种基于双系统结构的可信计算平台的结构示意图;

图2是本发明实施例提供的一种基于双系统结构的可信计算平台的动态度量方法的流程图;

图3是本发明实施例提供的一种基于双系统结构的可信计算平台的动态度量装置的结构示意图。

具体实施方式

术语解释:

tcm:可信密码模块,可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。

tpcm:可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。

tsb:可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。

下面结合附图和实施例对本发明进一步说明。

本发明实施例提供一种基于双体系结构的可信计算平台的动态度量方法。

图1是本发明实施例提供的一种基于双体系结构的可信计算平台的结构示意图,如图1所示,双体系结构的可信计算平台包括并行运行的防护子系统和计算子系统,计算子系统包括:主机cpu、内存、以及主板上除主机cpu和内存之外的其他模块(例如时序控制电路、固件存储区、硬盘、i/o外设等),用于完成计算任务;防护子系统包括:可信平台控制模块,用于对计算子系统进行主动度量和主动控制,主动度量包括静态度量和动态度量。可信平台控制模块通过pcie接口和预置接口与主板相连接,pcie接口用于可平台控制模块与主机cpu及内存之间的通信,预置接口用于可信平台控制模块与主板上除主机cpu和内存之外的其他模块之间的通信。

作为一种可选的实施例,本发明的双体系结构的可信计算平台可以通过以下步骤构建得到:

步骤s1,将可信计算处理器、可信计算内存、可信计算持久化存储区、可信密码模块进行封装,构建可信平台控制模块;

步骤s2,在可信平台控制模块上设置pcie接口和预置接口;

步骤s3,利用pcie接口和预置接口将可信平台控制模块与主板相连接,得到双体系结构的可信计算平台。

作为对上述实施例的进一步说明;上述实施例中的可信平台控制模块主要用于执行可信计算任务,可以包括:tpcm硬件平台、tpcm操作系统及其上运行的可信软件基tsb。可信计算处理器、可信计算内存、可信计算持久化存储区、可信密码模块tcm共同构成了tpcm硬件平台。可信计算持久化存储区中可以存储有:tpcm操作系统:用于管理可信平台控制模块的资源信息,例如进程、内存、文件系统、网络协议、i/o外设和接口等;tsb:用于对计算子系统进行静态度量、动态度量和控制处理;密钥,用于与可信密码模块tcm配合使用为可信计算平台提供加密或解密功能。

需要说明的是,本实施例中的可信平台控制模块中还可以包括其他结构,此处不再一一赘述。本实施例对构建可信平台控制模块时所采用的封装技术也不作具体限定。

上述实施例中的pcie接口可以用于可信平台控制模块与主机cpu及内存之间的通信。可信平台控制模块与主机cpu之间可以进行数据传输和命令交互,可信平台控制模块可以直接访问内存数据进行度量,可信平台控制模块也可以对内存中的进程进行相应控制。

上述实施例中的预置接口可以用于所述可信平台控制模块与主板上除主机cpu和内存之外的其他模块之间的通信。主板上可以包括但并不限于主机cpu、内存、时序控制电路、固件存储区、硬盘、i/o外设等。预置接口可以用于可信平台控制模块与主板上的时序控制电路、固件存储区、硬盘、i/o外设等之间的通信。需要说明的是,本实施例对预置接口的形式不做具体限定,例如预置接口可以基于主板插针、接插件、插槽、金手指等方式实现。

上述实施例中利用pcie接口和预置接口可以将可信平台控制模块与主板相连接,具体可以包括:

利用预置接口可以将可信平台控制模块与主板上的时序控制电路相连接,可信平台控制模块用于控制时序逻辑控制电路的上电顺序,以使可信计算平台上电后可信平台控制模块先于主机cpu启动。这样可以保证以可信平台控制模块为信任根,对主机的启动过程进行全面安全防护。

利用预置接口可以将可信平台控制模块与主板上的固件存储区相连接,可信平台控制模块用于通过预置接口从固件存储区中读取bios固件,以实现对bios固件进行度量,进而保证主机启动过程安全可信。

利用预置接口可以将可信平台控制模块与主板上的硬盘相连接,可信平台控制模块用于通过预置接口从硬盘中读取启动镜像数据,启动镜像数据可以为主机启动过程中各启动阶段主机cpu待加载执行的数据,启动镜像数据至少包括:osloader代码、os内核代码、os系统服务代码以及应用程序代码。可信平台控制通过预置接口读取硬盘中的启动镜像数据进行度量,可以实现对主机启动过程的主动度量,进而保证主机启动过程安全可信。

上述实施例中利用pcie接口和预置接口可以将可信平台控制模块与主板相连接,还可以包括:

利用pcie接口将可信平台控制模块与内存相连接,用于读取内存数据;

利用pcie接口将可信平台控制模块与主机cpu相连接,用于读取主机cpu的运行状态数据;

利用预置接口将可信平台控制模块与主板上的i/o外设相连接,用于读取i/o外设的运行状态数据。

基于可信平台控制模块可以通过pcie接口和预置接口与主机cpu、内存以及i/o外设进行通信,可信平台控制模块能够对计算子系统进行动态度量。

通过pcie接口,tpcm与主板上的cpu之间可以进行数据传输和命令交互,tpcm与cpu之间通过pcie接口的pcie总线从cpu内进行数据的传输;cpu通过南桥芯片从固件存储区里获取的固件,tpcm也可以直接访问主板上的内存。例如通过pcie的dma机制获取主板内存信息,以读取主板内存数据进行度量,以及对主板内存中的进程进行相应控制。

tpcm和主板上设置有预置接口,主板预置接口实现主板时序电路的控制,并为tpcm需要度量的固件提供通路。tpcm预置接口实现控制和获取度量对象的信息,tpcm与主板的预置接口是统一的,是互联互通的。

通过该预置接口,tpcm可以通过gpio总线控制主板上的时序控制电路cpld,预置接口内部中实现控制获取的方式,预置接口来传递使用这种控制,通过cpld控制tpcm先于主板上的cpu启动,以实现tpcm对计算子系统进行静态度量,建立静态信任链。通过该预置接口,tpcm还可以通过spi总线访问固件存储区读取bios固件,以实现在计算子系统启动过程中对bios进行度量。通过该预置接口,tpcm还可以根据度量结果通过smbus总线,利用bmc对主板上的外设进行控制。

通过pcie接口和预置接口,可信平台控制模块可以实现对主机的启动和运行过程进行全面的安全防护,且并不依赖于主机系统的安全性能。

基于双体系结构的可信计算平台,本发明实施例的基于双体系结构的可信计算平台的动态度量方法如图2所示,具体包括以下步骤:

s201:在满足动态度量触发条件时,可信平台控制模块获取计算子系统的度量对象的相关信息;

s202:根据与度量对象的相关信息相匹配的可信策略,对度量对象进行度量,并根据度量结果对计算子系统进行相应控制处理。

本发明实施例提供的一种基于双体系机构的可信计算平台的动态度量方法,可信计算平台由防护子系统和计算子系统构成,可信平台控制模块通过pcie接口和预置接口与主板相连接,pcie接口用于可信平台控制模块与主机cpu及内存之间的通信,预置接口用于可信平台控制模块与主板上除主机cpu和内存之外的其他模块之间的通信;在满足动态度量触发条件时,可信平台控制模块获取计算子系统的度量对象的相关信息;根据与度量对象的相关信息相匹配的可信策略,对度量对象进行度量,并根据度量结果对计算子系统进行相应控制处理,能够保证计算子系统在运行过程中受到防护子系统的保护,保证计算机系统重要资源不受篡改和破坏。

可选地,动态度量触发条件包括以下至少之一:

达到预定时间点;

达到预定度量周期;

预设行为被触发;

预设事件被触发。

在实际应用中,预定时间点和预定度量周期可以根据实际情况进行具体设定;同样地,可以根据实际情况,确定预设行为和事件,比如,可以将调用行为设定为预设行为,可以将中断设定为预设事件。

在选用达到预定时间点,和/或,达到预定度量周期时,形成的是定时度量方式;而在选用预设行为被触发,和/或,预设事件被触发时,形成的是实时度量方式。在实际应用中,可以应用上述一种或者多种触发条件,来触发进行主动动态度量。

可选地,根据与度量对象的相关信息相匹配的可信策略,对度量对象进行度量,并根据度量结果对计算子系统进行相应控制处理,可以包括:从预设的可信策略库中确定出与所述相关信息匹配的所述可信策略;根据所述可信策略对所述相关信息进行度量,得到度量结果;根据所述度量结果以及所述可信策略中的判定方法,确定相应的控制处理方法,根据所述控制处理方法进行相应处理。

在具体应用中,可信策略库包括有动态度量过程用到的多种可信策略,比如,行为相关的可信策略,可以根据行为的具体相关内容,比如,与行为相关的四元组信息:主体、客体、操作以及执行环境,来确定相应的可信策略。

上述实施例中,度量结果可能是可信的,也可能是不可信的,根据实际的度量结果和可信策略中的判定方法,确定出相应的控制处理方法,该控制处理方法可以包括但并不限于:比如,可信情况下,允许计算资源当前系统调用行为执行;又比如:不可信情况下,禁止计算资源当前系统调用行为执行,或者,直接恢复计算子系统计算资源被破坏数据,或者,报告度量错误或者,杀死计算资源的主机进程,或者,协同其它安全机制进行控制等。

可选地,上述实施例中的控制处理方法包括但不限于:是否允许计算子系统当前系统行为执行、直接恢复计算子系统被破坏数据、报告度量错误、杀死计算子系统的主机进程、协同其它安全机制进行控制、关机和设备控制。

在一些实施例中,如果动态度量触发条件为预设行为被触发,对度量对象进行度量,并根据度量结果对计算子系统进行相应控制处理,可以包括:

当预设行为被触发时时,拦截预设行为的执行,根据可信策略对预设行为进行度量,如果对预设行为的度量结果为可信,则取消拦截并允许预设行为执行;如果对预设行为的度量结果为不可信,则根据可信策略对预设行为进行处理;或者,

当预设行为被触发时,允许预设行为执行,并对预设行为进行度量,如果对预设行为的度量结果为不可信,则根据可信策略对预设行为相关的后续情况进行处理。

可选地,防护子系统具有两种度量模式,分别为直接度量模式和代理度量模式。

一些实施例中,在防护子系统采用直接度量模式时,可信平台控制模块获取计算子系统的度量对象的相关信息,可以包括:

可信平台控制模块通过pcie接口直接访问内存,以获取内存数据,度量对象的相关信息包括内存数据;或者,

可信平台控制模块通过预置接口直接访问主板上的固件存储区,以获取主机固件,度量对象的相关信息包括主机固件。主机固件可以包括但并不限于:bios固件、硬盘固件、i/o外设固件等。

相应地,在防护子系统采用直接度量模式时,根据度量结果对计算子系统进行相应控制处理,可以包括:

可信平台控制模块通过pcie接口直接对主机cpu及内存进行相应控制处理;或者

可信平台控制模块通过预置接口直接对主板上除主机cpu及内存之外的其他模块进行相应控制处理。

另一些实施例中,在防护子系统采用代理度量模式时,可信平台控制模块获取计算子系统的度量对象的相关信息,可以包括:

度量代理程序获取度量对象的相关信息,度量代理程序为防护子系统植入到计算子系统中的钩子函数,度量代理程序用于获取计算子系统的相关信息,以及对计算子系统进行控制,度量对象的相关信息包括:内存数据、主板上的固件存储区中的主机固件;

度量代理程序通过pcie接口将获取到的度量对象的相关信息发送给可信平台控制模块,或者,度量代理程序通过pcie接口将度量对象的相关信息的地址发送给可信平台控制模块,以使可信平台控制模块通过pcie接口或预置接口访问地址以获取度量对象的相关信息。当度量代理发送的地址为内存地址时,可信平台控制模块可以通过pcie接口访问内存以读取内存数据;当度量代理发送的地址为固件存储区地址时,可信平台控制模块可以通过预置接口访问固件存储区以读取主机固件。

相应地,在防护子系统采用代理度量模式时,根据度量结果对计算子系统进行相应控制处理,可以包括:

可信平台控制模块通过pcie接口向度量代理程序发送控制指令,以指示度量代理程序对度量对象进行相应控制处理;或者

可信平台控制模块通过预置接口直接对主板上除主机cpu及内存之外的其他模块进行相应控制处理。

可选地,本发明实施例中的度量对象可以包括但并不限于:内存、硬盘和i/o外设中的一者或者多者。

假设度量对象为内存,则度量对象的相关信息可以为内存数据,例如:执行环境信息,执行环境信息包括进程环境和系统环境,如操作系统内核代码、内核数据、进程代码、进程数据等。相关信息也可以是内存中的行为信息,比如,系统调用行为,或者,也可以是内存中的事件信息,比如,中断。

假设度量对象为硬盘、i/o外设,则度量对象的相关信息可以为硬盘、i/o外设的运行状态数据,该运行状态数据能够体现执行环境。

在满足动态度量的触发条件时,tpcm可以根据可信策略对内存、cpu、i/o外设中一个或者多个进行度量,然后综合判断得到控制处理方法,度量结果和度量日志可以存储于tpcm中。

示例性的,下面将分别介绍tpcm对内存、cpu以及i/o外设进行动态度量的过程:

一、tpcm对内存的动态度量。

按照动态度量触发条件,tpcm可以获取内存数据进行动态度量,tpcm获取内存数据的方式可以包括但并不限于:度量代理程序,tsb植入到os内核中的代理程序,通过操作系统方式获取内存,可以通过pcie接口将数据直接发送给tpcm,例如采用pcie的dma机制,将数据搬到tpcm中;度量代理程序可以将需要获取的内存地址发给tpcm,tpcm通过pcie接口直接访问内存,从内存中获取数据。

1、定时度量

具体的度量过程可以包括:

步骤1,在达到预定时间点和/或预定度量周期时,tpcm从内存中获取当前主机内存数据,例如执行环境信息,执行环境信息包括进程环境和系统环境,例如操作系统内核代码、内核数据、进程代码、进程数据等。

步骤2,按照匹配到的可信策略对该执行环境信息进行度量,并将度量结果和度量日志存储于tpcm中。

步骤3,根据度量结果以及可信策略中的判定方法进行判定,确定控制处理方法,例如是否进行报告或修复,并生成报告。

步骤4,根据控制处理方法,对主机进行相应控制。控制方式tpcm可通过硬件方式进行控制,通过预置接口实现特定的控制,也可以通知tsb进行协助控制。

2、实时度量

在代理度量模式下,度量代理程序可以植入到主机操作系统内核中,该代理程序可以获取到内存中的相关信息,例如行为信息,同时,该代理程序还可以接收tpcm的控制指令,协助对主机进行控制。例如杀死主机进程、关机、进行数据处理、设备控制等。

在代理度量模式下,tpcm对内存的动态度量过程可以包括,以系统调用行为触发为例进行说明:

步骤1,度量代理程序检测到系统调用行为时,从上下文信息中获取与系统调用行为相关的四元组信息,即主体、客体、操作以及执行环境,执行环境包括进程环境和系统环境。度量代理程序可以直接将获取到的四元组信息通过pcie接口发送给tpcm进行度量,或者,度量代理程序也可以将四元组信息的地址通过pcie接口发送给tpcm,由tpcm通过pcie接口从内存中获取四元组信息进行度量。

步骤2,根据匹配到的可信策略对系统调用行为进行度量,并将度量结果和度量日志存储于tpcm中。

步骤3,根据度量结果以及可信策略中的判定方法进行判定,确定控制处理方法,例如是否进行报告或修复,并生成报告。

步骤4,根据控制处理方法,对主机进行相应控制。

控制处理方式可以包括但并不限于:是否允许计算子系统当前系统调用行为执行、直接恢复计算子系统被破坏数据、报告度量错误、杀死计算子系统的主机进程、协同其它安全机制进行控制等。

需要说明的是,当度量代理程序检测到系统调用行为时,可以先进行拦截,在tpcm对系统调用行为进行度量之后,根据度量结果确定是否允许该系统调用行为执行。根据度量结果,tpcm可以通过pcie接口向度量代理程序发送控制指令,度量代理程序可以根据控制指令对系统调用行为进行控制。或者,当度量代理程序检测到系统调用行为时,可以先允许其执行,同时tpcm对系统调用行为进行度量,并根据度量结果确定对该系统调用行为的后续行为的控制处理方式,例如当确定该系统调用行为不可信时,当该系统调用行为再次发生时阻止其执行。

若内存的度量结果不可信时,tpcm可以通过pcie接口向度量代理程序发送控制指令,度量代理程序根据控制指令协助进行控制。

二、tpcm对cpu的动态度量。

在满足动态度量的触发条件时,tpcm可以通过pcie接口(不一定是pcie接口,可能是由预置接口实现,由预置接口采集)直接读取cpu运行状态数据,实现对cpu的主动度量。

若cpu的度量结果不可信时,tpcm可以直接向主板发送控制指令,例如控制主板上的时序控制电路控制cpu强制重启或者断电等。也可以由预置接口进行实现,通过spi进行控制实现重启或者断电等。

三、tpcm对i/o外设的动态度量。

在满足动态度量的触发条件时,tpcm可以通过预置接口获取i/o外设的运行状态数据,并按照可信策略对i/o外设进行主动度量。

若i/o外设的度量结果不可信时,tpcm可以通过smbus向bmc发送控制指令,以实现对i/o外设进行控制。

本发明的基于双体系结构的可信计算平台的动态度量方法具有以下优点:

在不改变主机cpu的前提下,实现了主机cpu在计算的同时主动对主机cpu进行安全防护的目的。计算与防护并行的双体系结构,使得防护功能不依赖于主机cpu的安全性能。

防护子系统具有对计算子系统的主动防护能力,其安全防护不是通过计算子系统的主机程序调用执行的,而是以tpcm为信任根,主动对计算子系统发起的主动度量和主动控制。

防护子系统可以对计算子系统进行静态度量和动态度量,可以实现为计算子系统的启动、运行等整个生命周期提供安全防护。

防护子系统可以不受限制的访问计算子系统中的内存以及i/o外设等,但计算子系统不可以访问防护子系统中的内存以及i/o外设等,以确保防护子系统自身的安全性能。

防护子系统不对外提供服务,减少了攻击面,使得防护子系统更加难以被外界攻击,提高自身安全性能。

防护子系统具有独立的计算、存储等资源,在对计算子系统进行安全防护时可以减少对计算子系统的资源占用,计算子系统的业务应用可以在不影响其性能的同时获得安全防护。

动态度量的度量对象更加全面,除了对行为及其执行环境进行度量之外,还对cpu运行状态以及外设运行状态进行度量,可以实现对整个计算子系统的安全防护。

本发明还提供了一种基于双体系结构的可信计算平台的动态度量装置,该基于双体系结构的可信计算平台的动态度量装置可以用于执行本发明上述实施例中的基于双体系结构的可信计算平台的动态度量方法。

图3是本发明实施例提供的一种基于双系统结构的可信计算平台的动态度量装置的结构示意图,如图3所示,该装置可以包括:

信息获取模块31,用于在满足动态度量触发条件时,可信平台控制模块获取计算子系统的度量对象的相关信息;

度量处理模块32,用于根据与度量对象的相关信息相匹配的可信策略,对度量对象进行度量,并根据度量结果对计算子系统进行相应控制处理。

可选地,在防护子系统采用直接度量模式时,信息获取模块31用于:可信平台控制模块通过pcie接口直接访问内存,以获取内存数据,度量对象的相关信息包括内存数据;或者可信平台控制模块通过预置接口直接访问主板上的固件存储区,以获取主机固件,度量对象的相关信息包括主机固件。

可选地,在防护子系统采用直接度量模式时,度量处理模块32用于:可信平台控制模块通过pcie接口直接对主机cpu及内存进行相应控制处理;或者可信平台控制模块通过预置接口直接对主板上除主机cpu及内存之外的其他模块进行相应控制处理。

可选地,在防护子系统采用代理度量模式时,信息获取模块31用于:度量代理程序获取度量对象的相关信息,度量代理程序为防护子系统植入到计算子系统中的钩子函数,度量代理程序用于获取计算子系统的相关信息,以及对计算子系统进行控制,度量对象的相关信息包括:内存数据、主板上的固件存储区中的主机固件;度量代理程序通过pcie接口将获取到的度量对象的相关信息发送给可信平台控制模块,或者,度量代理程序通过pcie接口将度量对象的相关信息的地址发送给可信平台控制模块,以使可信平台控制模块通过pcie接口或预置接口访问地址以获取度量对象的相关信息。

可选地,在防护子系统采用代理度量模式时,度量处理模块32用于:可信平台控制模块通过pcie接口向度量代理程序发送控制指令,以指示度量代理程序对度量对象进行相应控制处理。

可选地,动态度量触发条件包括以下至少之一:达到预定时间点;达到预定度量周期;预设行为被触发;预设事件被触发。

可选地,如果动态度量触发条件为预设行为被触发,度量处理模块32用于:当预设行为被触发时时,拦截预设行为的执行,根据可信策略对预设行为进行度量,如果对预设行为的度量结果为可信,则取消拦截并允许预设行为执行;如果对预设行为的度量结果为不可信,则根据可信策略对预设行为进行处理;或者,当预设行为被触发时,允许预设行为执行,并对预设行为进行度量,如果对预设行为的度量结果为不可信,则根据可信策略对预设行为相关的后续情况进行处理。

通过上述动态度量装置,防护子系统可以对计算子系统进行动态主动度量以及主动控制,在计算子系统运行过程中保护计算子系统的安全性,大大提高计算机的安全性以及主动防御性能。

在一个实施例中,本发明提供了一种存储介质,存储介质用于存储程序,程序用于实现上述任一项基于双体系结构的可信计算平台的动态度量方法的步骤。

在一个实施例中,本发明提供了一种处理器,处理器用于执行程序,程序用于实现上述任一项基于双体系结构的可信计算平台的动态度量方法的步骤。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1