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

文档序号:18901337发布日期:2019-10-18 21:59阅读:340来源:国知局
基于双体系结构可信计算平台的静态度量方法与流程

本申请属于计算机安全技术领域,具体涉及一种基于双体系结构可信计算平台的静态度量方法、度量装置、存储介质及电子设备。



背景技术:

国际tcg(trustedcomputinggroup缩写,中文名为可信计算组织),提出以tpm(trustedplatformmodule缩写,中文名为可信平台模块)作为计算机的外部设备,采用被动挂接的方式,通过主机软件调用来发挥作用,其仅能对计算机的固件和可执行程序等资源进行静态度量。以tpm方式所实现的可信计算平台实质是单系统架构,tpm在资源访问、控制上都有局限性,其安全能力完全依赖于主机系统的安全性,难以防御黑客利用主机系统漏洞进行的攻击,并不能实质上提升计算机系统的主动防御能力,tpm本质上只是计算机上一个被动挂接的外部设备,只有被主机程序调用才会发挥作用,一旦主机被攻击者控制,tpm的作用就会无从发挥,导致tcg的可信计算架构在面对黑客利用计算机系统逻辑缺陷进行攻击时,基本难以抵御,例如:windows10完全实现了tcg的可信计算架构,但是却未能阻止wannacry勒索病毒的攻击。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种基于双体系结构可信计算平台的静态度量方法、度量装置、存储介质及电子设备,通过构建在计算机中央处理器中的可信计算资源和计算资源,形成双体系结构可信计算平台,在主机启动过程中进行主动静态度量,有助于提升安全防护能力。

为实现以上目的,本申请采用如下技术方案:

第一方面,

本申请提供一种基于双体系结构可信计算平台的静态度量方法,包括:

在可信计算平台上电后,可信计算资源先于计算资源启动,来确定是否控制所述计算资源启动;

如果确定出控制所述计算资源启动,所述可信计算资源对所述计算资源的启动流程中的各阶段按启动顺序进行度量,并根据度量结果进行相应处理;

其中,所述可信计算资源和所述计算资源均构建在计算机中央处理器中,所述计算资源用于完成计算任务;所述可信计算资源用于对所述计算资源进行主动度量,以及根据所述主动度量的结果进行相应主动控制,所述主动度量包括静态度量。

进一步地,所述在可信计算平台上电后,可信计算资源先于计算资源启动,来确定是否控制所述计算资源启动,包括:

在所述可信计算平台上电后,所述可信计算资源先于所述计算资源启动,然后所述可信计算资源通过内总线读取持久化存储区中的bios进行度量,如果bios度量结果可信,则所述可信计算资源控制所述计算资源启动。

进一步地,所述可信计算资源对所述计算资源的启动流程中的各阶段按启动顺序进行度量,并根据度量结果进行相应处理,包括:

在当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块,对与下一阶段启动代码相关的一处理步骤进行拦截,同时所述可信计算资源获取所述下一阶段的启动代码,并进行度量,如果对所述下一阶段的启动代码的度量结果为可信,则所述可信计算资源向所述当前阶段的启动代码的度量代理模块发送控制指令,以使所述当前阶段的启动代码的度量代理模块解除拦截,以允许所述与下一阶段启动代码相关的一处理步骤的执行。

进一步地,所述对与下一阶段启动代码相关的一处理步骤进行拦截,包括:

对所述当前阶段的启动代码加载所述下一阶段的启动代码进行拦截;或者,

在所述当前阶段的启动代码将所述下一阶段的启动代码加载到内存后,拦截所述下一阶段的启动代码的执行。

进一步地,所述可信计算资源获取所述下一阶段的启动代码,包括:

所述当前阶段的启动代码的度量代理模块直接读取硬盘或内存中的所述下一阶段的启动代码,并发送给所述可信计算资源,以使所述可信计算资源获取所述下一阶段的启动代码;或者,

所述当前阶段的启动代码的度量代理模块将所述下一阶段的启动代码的地址信息发送给所述可信计算资源,以使所述可信计算资源根据接收到的所述地址信息通过内总线获取所述下一阶段的启动代码,其中,所述地址信息为所述下一阶段的启动代码在硬盘中或者内存中的地址信息。

进一步地,所述方法还包括:

在所述计算资源的启动流程执行到一指定阶段时,通过所述指定阶段对应的启动代码的度量代理模块,拦截所述指定阶段对应的启动代码加载所述下一阶段的启动代码,同时所述可信计算资源获取内存数据,并进行度量;如果内存数据度量结果为可信,则允许所述可信计算资源获取所述下一阶段的启动代码;如果内存数据度量结果为不可信,则禁止所述可信计算资源获取所述下一阶段的启动代码,和/或,报警。

进一步地,所述可信计算资源获取内存数据,包括:

在所述当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块将内存数据发送给所述可信计算资源,以使所述可信计算资源获取内存数据;或者,

在所述当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块将内存数据的地址发送给所述可信计算资源,以使所述可信计算资源通过内总线去内存中获取内存数据。

第二方面,

本申请提供一种基于双体系结构可信计算平台的静态度量装置,包括:

控制启动模块,用于在可信计算平台上电后,可信计算资源先于计算资源启动,来确定是否控制所述计算资源启动;

第一度量处理模块,用于如果确定出控制所述计算资源启动,所述可信计算资源对所述计算资源的启动流程中的各阶段按启动顺序进行度量,并根据度量结果进行相应处理;

其中,所述可信计算资源和所述计算资源均构建在计算机中央处理器中,所述计算资源用于完成计算任务;所述可信计算资源用于对所述计算资源进行主动度量,以及根据所述主动度量的结果进行相应主动控制,所述主动度量包括静态度量。

第三方面,

本申请提供一种存储介质,其上存储有程序,所述程序被计算机中央处理器执行时实现上述任一项所述方法的步骤。

第四方面,

本申请提供一种电子设备,包括:

如上述的所述存储介质;以及

计算机中央处理器,用于执行所述存储介质中的所述程序。

本申请采用以上技术方案,至少具备以下有益效果:

本申请基于构建在计算机中央处理器中的可信计算资源和计算资源,得到双体系结构可信计算平台,因将可信计算资源的静态度量控制植入主机系统的计算机中央处理器中,能使可信计算资源拥有最高的控制权,在可信计算平台上电后,可信计算资源先于计算资源启动,获得比计算资源更高的控制权,对计算资源进行静态度量,使主机启动阶段安全防护方面难以绕过计算机中央处理器,从而有助于提升对主机启动过程控制的安全防护能力。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一个实施例提供的基于双体系结构可信计算平台的静态度量方法的流程示意图;

图2为本申请一个实施例提供的双体系结构的可信计算平台的结构示意图;

图3为本申请一个实施例提供的基于双体系结构可信计算平台的静态度量装置的结构示意图;

图4为本申请一个实施例提供的电子设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

图1为本申请一个实施例提供的基于双体系结构可信计算平台的静态度量方法的流程示意图,图2为本申请一个实施例提供的双体系结构的可信计算平台的结构示意图;如图1和图2所示,该基于双体系结构可信计算平台的静态度量方法包括如下步骤:

步骤101、在可信计算平台上电后,可信计算资源先于计算资源启动,来确定是否控制所述计算资源启动;

步骤102、如果确定出控制所述计算资源启动,所述可信计算资源对所述计算资源的启动流程中的各阶段按启动顺序进行度量,并根据度量结果进行相应处理;

其中,所述可信计算资源和所述计算资源均构建在计算机中央处理器中,所述计算资源用于完成计算任务;所述可信计算资源用于对所述计算资源进行主动度量,以及根据所述主动度量的结果进行相应主动控制,所述主动度量包括静态度量。

本申请通过构建在计算机中央处理器中的可信计算资源和计算资源,形成双体系结构可信计算平台,其中,所述主动度量可以包括静态度量和动态度量,在具体应用中,静态度量是对主机启动阶段相关数据进行的度量,动态度量是对主机运行过程中的相关数据进行的度量,比如,对主机运行过程中的内存数据进行度量。因而,可信计算资源对计算资源进行主动度量,以及根据主动度量的结果进行相应主动控制,可以包括:可信计算资源对计算资源的启动过程进行静态度量及相应主动控制,以及在计算资源完成启动后的运行过程中,可信计算资源对计算资源的运行过程进行动态度量及相应主动控制。

该双体系结构可信计算平台包括:构建有上述可信计算资源和计算资源的计算机中央处理器及其外部的其他资源,比如:内存、硬盘和i/o设备等等设备中的一种或者多种。

在可信计算平台上电后,可信计算资源先于计算资源启动,对计算资源进行主动静态度量,实现将可信计算资源的静态度量控制植入主机系统中,在安全防护方面难以绕过可信计算资源,从而有助于提升对主机启动过程控制的安全防护能力。

本申请实施例方案,基于构建在计算机中央处理器中的可信计算资源和计算资源,得到双体系结构可信计算平台,因将可信计算资源的静态度量控制植入主机系统的计算机中央处理器中,能使可信计算资源拥有最高的控制权限,使得对计算资源和计算机中央处理器的外部资源的控制能力大幅得到提高,在可信计算平台上电之后,利用可信计算平台的双体系结构,在计算机中央处理器中,将可信计算资源先于计算资源的启动,获得比计算资源更高的控制权,对计算资源进行主动度量及相应主动控制,比如,可信计算资源对计算资源的启动过程进行静态度量及相应主动控制,以及在计算资源完成启动后的运行过程中,可信计算资源对计算资源的运行过程进行动态度量及相应主动控制。从而有助于提升对主机启动过程控制的安全防护能力。

通过该实施例方案,能够克服相关技术的如下不足:以tpm方式所实现的可信计算平台实质是单系统架构,在单系统架构下,其实现的静态度量的安全能力完全依赖于主机系统的安全性。

在实际应用中,所述可信计算平台包括的所述计算机中央处理器的外部的其他资源,可以是:内存、硬盘和i/o设备等等设备中的一种或者多种。将计算资源和可信计算资源构建在计算机中央处理器中,在建立信任链过程中,不需要对主板外围电路进行改造,使得推广和设备级的构建更加便利,适用更加普遍。

对于计算资源和可信计算资源在计算机中央处理器中的具体构建,本申请还给出下述相关实施例方案。

在具体应用中,计算资源和可信计算资源可以被配置为两者相互隔离,且仅允许所述可信计算资源访问所述计算资源。

通过该实施例方案,仅允许可信计算资源访问计算资源,实现可信计算资源的权限高于计算资源的权限,可使得可信计算资源的防护功能不依赖于计算资源的安全性能,进一步保证可信计算资源具有比计算资源更高的访问权限和控制权限,从而确保可信计算资源自身的安全性能。

在具体应用中,可以将所述计算资源和所述可信计算资源挂接到内总线上,并将所述可信计算资源配置为通过内总线与所述计算资源以及所述计算机中央处理器外部的其他资源进行通信。通过该实施例方案,通过内总线,可以实现计算资源与可信计算资源之间可以进行通信,包括数据传输和命令交互,本申请中对计算资源与可信计算资源之间的通信方式不做具体限定,例如,可以是mailbox、中断等。

通过该实施例方案,计算资源和可信计算资源都挂接到内总线上,通过内总线,可信计算资源可以访问计算机中央处理器内部和/或外部的持久化存储区、内存、硬盘、i/o设备等资源。

另外,在实际应用中,计算资源和可信计算资源可以是同构的,或者,是异构的。为了实现两者的隔离,以及进一步提升安全防护能力,如果构建的计算资源和可信计算资源是异构的,则可以将计算资源和可信计算资源两者一一对应配置到两个不同架构的处理器中;其中,计算机中央处理器内包括所述两个不同架构的处理器。比如,在实际应用中,计算机中央处理器可以由x86处理器和arm处理器组成。在具体应用中,作为一种可行的配置方式,可将计算资源配置到x86处理器中,将可信计算资源配置到arm处理器中;作为另一种可行的配置方式,可将计算资源配置到arm处理器中,将可信计算资源配置到x86处理器中。

如果构建的计算资源和可信计算资源是同构的,则可以将计算资源和可信计算资源两者一一对应配置到两个相同架构的处理器中;其中,所述计算机中央处理器内包括两个相同架构的处理器,比如,计算机中央处理器可以由两个x86处理器组成,或者,由两个arm处理器组成。

如果构建的所述计算资源和所述可信计算资源是同构的,则将所述计算资源和所述可信计算资源两者中的一者配置到所述计算机中央处理器中的第一组内核中,以及将所述计算资源和所述可信计算资源两者中的另一者配置到所述计算机中央处理器中的第二组内核中;

其中,所述计算机中央处理器为多核处理器,所述多核处理器包括:所述第一组内核和所述第二组内核两组内核,每组内核具有至少一个内核,且两组内核不存在相同的内核。

在实际产品中,处理器是多核处理器,比如,八核乃至更多核计算机中央处理器,可将计算资源与可信计算资源配置到一个多核处理器不同组的内核中,来实现两者的隔离,进而有助于进一步提升安全防护能力。下述以八核处理器对上述实施例方案进行具体说明,比如,将该八核处理器中的六个核作为第一组内核,将计算资源配置到第一组内核中,将其余的两个内核作为第二组内核,将可信计算资源配置到第二组内核中。

在具体应用中,可以动态或者静态选择多核处理器中的内核,形成上述第一组内核和第二组内核,以将计算资源和可信计算资源两者中的一者配置到多核处理器的所述第一组内核中,以及将计算资源和可信计算资源两者中的另一者配置到多核处理器的第二组内核中。多核中央处理器具体产品中,比如,8核、16核或者32核,等等,内核数量越多,越有助于满足安全防护的计算处理能力,但是静态分配下,受静态分配的限制,第一组内核的组成和第二组内核的组成保持不变,安全计算能力比较容易触碰到瓶颈。而动态选择可以是第一组内核和第二组内核中内核数量的动态分配,和/或,具体内核的动态分配。可以根据计算资源和可信计算资源的计算处理情况分配内核,比如,当可信计算资源的计算处理占用资源需求高时,可以多分配内核给可信计算资源,或者,可以将使用率小的内核优先分配给可信计算资源。通过动态调整可信计算资源分布,使得可信计算资源的计算能力大幅度提升,能够应对高安全计算性要求,使得安全计算能力不再是瓶颈。

在一个实施例中,所述在可信计算平台上电后,可信计算资源先于计算资源启动,来确定是否控制所述计算资源启动,包括:

在所述可信计算平台上电后,所述可信计算资源先于所述计算资源启动,然后所述可信计算资源通过内总线读取持久化存储区中的bios进行度量,如果bios度量结果可信,则所述可信计算资源控制所述计算资源启动。

进一步地,所述方法还包括:

如果bios度量结果不可信,则依据相应的控制策略进行处理,包括:所述可信计算资源通过内总线控制所述可信计算平台强制重启或者断电。

上述相关实施例方案在具体应用中,可信计算平台上电后,可信计算资源先于计算资源启动,可信计算资源加载并执行tpcm操作系统和tsb。其中,tpcm为trustedplatformcontrolmodule的缩写,中文为可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。tsb为trustedsoftwarebase的缩写,中文为可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。然后可信计算资源通过内总线读取持久化存储区中的bios,并进行度量,若bios度量结果为可信,则可信计算资源控制计算资源启动,计算资源加载并执行bios代码。若bios度量结果为不可信,则依据相应的控制策略进行控制处理,例如可信计算资源通过内总线控制可信计算平台强制重启、断电等。

在一个实施例中,所述计算资源的启动流程中的各阶段具有相应的启动代码,按顺序依次为:bios代码、osloader代码、os内核代码、os系统服务代码以及应用程序代码。

本申请中,对于计算资源的启动流程中的各阶段的启动控制,本申请还给出如下一种实施例方案,具体为:

在一个实施例中,所述可信计算资源对所述计算资源的启动流程中的各阶段按启动顺序进行度量,并根据度量结果进行相应处理,包括:

在当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块,对与下一阶段启动代码相关的一处理步骤进行拦截,同时所述可信计算资源获取所述下一阶段的启动代码,并进行度量,如果对所述下一阶段的启动代码的度量结果为可信,则所述可信计算资源向所述当前阶段的启动代码的度量代理模块发送控制指令,以使所述当前阶段的启动代码的度量代理模块解除拦截,以允许所述与下一阶段启动代码相关的一处理步骤的执行;

比如,所述当前阶段包括:bios代码执行阶段、osloader代码执行阶段、os内核代码执行阶段和os系统服务代码执行阶段中的任一者。

进一步地,如果对所述下一阶段的启动代码的度量结果为不可信,则依据相应的控制策略进行处理,包括:禁止所述与下一阶段启动代码相关的一处理步骤的执行。

在具体应用中,该当前阶段的启动代码可以是bios代码、osloader代码、os内核代码和os系统服务代码中的任一者。

在具体应用中,度量代理模块可以是可信计算资源在计算资源中植入的度量代理程序,即钩子函数,该度量代理模块主要用于获取计算资源相关信息以及对计算资源进行相应控制。

通过上述相关实施例方案,在当前阶段的启动代码执行过程中,通过在当前阶段对下一阶段的启动代码进行度量,来确定是否启动下一阶段的执行,进而实现对启动流程中的各阶段的启动进行控制,来具体实现提升对主机启动过程控制的安全防护能力。

在一个实施例中,所述对与下一阶段启动代码相关的一处理步骤进行拦截,包括:

对所述当前阶段的启动代码加载所述下一阶段的启动代码进行拦截;或者,

在所述当前阶段的启动代码将所述下一阶段的启动代码加载到内存后,拦截所述下一阶段的启动代码的执行。

在具体应用中,上述两种拦截方案,启动流程中的各阶段可以任选其中的一种方案进行应用,比如,各个阶段都选择对当前阶段的启动代码加载下一阶段的启动代码进行拦截;又比如,各个阶段都选择在当前阶段的启动代码将下一阶段的启动代码加载到内存后,拦截下一阶段的启动代码的执行;又比如,一部分阶段选择对当前阶段的启动代码加载下一阶段的启动代码进行拦截,而另一部分阶段选择在当前阶段的启动代码将下一阶段的启动代码加载到内存后,拦截下一阶段的启动代码的执行。

在一个实施例中,所述可信计算资源获取所述下一阶段的启动代码,包括:

所述当前阶段的启动代码的度量代理模块直接读取硬盘或内存中的所述下一阶段的启动代码,并发送给所述可信计算资源,以使所述可信计算资源获取所述下一阶段的启动代码;或者,

所述当前阶段的启动代码的度量代理模块将所述下一阶段的启动代码的地址信息发送给所述可信计算资源,以使所述可信计算资源根据接收到的所述地址信息获取所述下一阶段的启动代码,其中,所述地址信息为所述下一阶段的启动代码在硬盘中或者内存中的地址信息。

同样地,在具体应用中,上述两种可信计算资源获取下一阶段的启动代码方案,启动流程中的各阶段可以任选其中的一种方案进行应用。比如,在一个启动阶段中,选择对当前阶段的启动代码加载下一阶段的启动代码进行拦截之后,可以是,该当前阶段的启动代码的度量代理模块可以直接读取硬盘中的下一阶段的启动代码,并发送给可信计算资源,以使可信计算资源获取到下一阶段的启动代码;或者,也可以是,该当前阶段的启动代码的度量代理模块将硬盘中的下一阶段的启动代码的地址信息发送给可信计算资源,使可信计算资源根据接收到的地址信息去硬盘中读取下一阶段的启动代码。

又比如,在另一个启动阶段中,选择在当前阶段的启动代码将下一阶段的启动代码加载到内存后,拦截下一阶段的启动代码的执行,之后,可以是,该当前阶段的启动代码的度量代理模块可以直接读取内存中的下一阶段的启动代码,并发送给可信计算资源,以使可信计算资源获取到下一阶段的启动代码;或者,也可以是,该当前阶段的启动代码的度量代理模块将内存中的下一阶段的启动代码的地址信息发送给可信计算资源,以使可信计算资源根据接收到的地址信息去内存中读取下一阶段的启动代码。

在一个实施例中,所述方法还包括:

在所述计算资源的启动流程执行到一指定阶段时,通过所述指定阶段对应的启动代码的度量代理模块,拦截所述指定阶段对应的启动代码加载所述下一阶段的启动代码,同时所述可信计算资源获取内存数据,并进行度量;如果内存数据度量结果为可信,则允许所述可信计算资源获取所述下一阶段的启动代码;如果内存数据度量结果为不可信,则禁止所述可信计算资源获取所述下一阶段的启动代码。

通过该实施例方案,计算资源的启动流程的某一阶段,在静态度量过程中,通过对主机内存进行度量,可以保证内存中的数据不被非法篡改,保障了加载下一阶段程序的内存环境可信,提高了安全性。

进一步地,所述可信计算资源获取内存数据,包括:

在所述当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块将内存数据发送给所述可信计算资源,以使所述可信计算资源获取内存数据;或者,

在所述当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块将内存数据的地址发送给所述可信计算资源,以使所述可信计算资源通过内总线去内存中获取内存数据。

同样地,在具体应用中,上述两种可信计算资源获取内存数据的方案,计算资源的启动流程中的各阶段可以任选其中的一种方案进行应用。

下述通过具体应用实施例对上述相关实施例方案进行综合说明:

步骤1,可信计算平台上电后,可信计算资源先于计算资源启动,加载并执行tpcm操作系统和tsb,其中,tpcm:trustedplatformcontrolmodule,可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能;tsb:trustedsoftwarebase,可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。

之后可信计算资源通过内总线读取持久化存储区中的bios进行度量,若bios度量结果为可信,则可信计算资源控制计算资源启动,计算资源加载并执行bios。若bios度量结果为不可信,则依据相应策略进行控制处理,例如可信计算资源通过内总线控制可信计算平台强制重启、断电等。

步骤2,bios执行过程中,bios代码中的度量代理模块首先拦截bios加载osloader代码,然后bios代码中的度量代理模块直接读取硬盘中的osloader代码文件发送给可信计算资源,可信计算资源对osloader代码进行可信度量(可信度量的方式包括不限于完整性、签名验签、关键信息检查等)。或者,bios代码中的度量代理模块通过内总线向可信计算资源发送通知消息,然后可信计算资源按照通知消息中的地址信息通过内总线直接读取硬盘中的osloader代码进行可信度量。

若osloader代码度量结果不可信,则依据相应的控制策略进行控制处理比如,禁止bios加载osloader代码;若osloader代码度量结果为可信,则可信计算资源向bios代码中的度量代理模块发送控制指令,bios代码中的度量代理模块解除拦截,bios对osloader代码进行加载并执行。

或者,bios执行过程中,bios先将osloader加载到内存中,然后bios代码中的度量代理模块拦截osloader代码的执行。然后度量代理模块通过内总线向可信计算资源发送通知消息,通知osloader的内存地址信息,之后可信计算资源通过内总线、按照内地址信息从内存中读取内存中已经加载的osloader代码,并进行度量。若osloader代码度量结果为不可信,则依据上述相应的控制策略进行控制处理;若osloader代码度量结果为可信,则可信计算资源向bios代码中的度量代理模块发送控制指令,bios代码中的度量代理模块解除拦截,osloader代码执行。

步骤3,osloader代码执行过程中,osloader代码中的度量代理模块首先拦截osloader代码加载os内核代码,然后通过可信计算资源度量内存数据(可以由度量代理模块将内存数据传给可信计算资源进行度量;或者,也可以由度量代理将内存数据的地址传给可信计算资源,由可信计算资源通过内总线去内存中获取内存数据进行度量)。

若内存数据度量结果不可信,则依据策略进行控制处理,例如:禁止可信计算资源获取os内核代码、报警等。

若内存数据度量结果可信,则osloader代码中的度量代理模块可以读取硬盘中的os内核代码发送给可信计算资源,可信计算资源对os内核代码进行可信度量(可信度量的方式包括不限于完整性、签名验签、关键信息检查等)。或者,osloader代码中的度量代理模块通过内总线向可信计算资源发送通知消息,然后可信计算资源按照通知消息中的地址信息通过内总线直接读取硬盘中的os内核代码进行可信度量。

若度量结果不可信,则依据策略进行控制处理,例如:禁止osloader代码对os内核代码进行加载、报警等;

若度量结果可信,则osloader代码中的度量代理模块解除拦截,osloader代码对os内核代码进行加载并执行。

步骤4,os内核代码执行过程中,os内核代码中的度量代理模块首先拦截os内核代码加载os系统服务代码,然后读取硬盘中的os系统服务代码发送给可信计算资源,可信计算资源对os系统服务代码进行可信度量(可信度量的方式包括不限于完整性、签名验签、关键信息检查等)。或者,os内核代码中的度量代理模块通过内总线向可信计算资源发送通知消息,然后可信计算资源按照通知消息中的地址信息通过内总线直接读取硬盘中的os系统服务代码进行可信度量。

若度量结果不可信,则依据策略进行控制处理,例如:禁止os内核代码对os系统服务代码进行加载、报警等;

若度量结果可信,则os内核代码中的度量代理模块解除拦截,os内核代码对os系统服务代码进行加载并执行。

步骤5,os系统服务代码执行过程中,os系统服务代码中的度量代理模块首先拦截os系统服务代码加载应用程序代码,然后读取硬盘中的应用程序代码,可信计算资源对应用程序代码进行可信度量(可信度量的方式包括不限于完整性、签名验签、关键信息检查等)。或者,os系统服务中的度量代理模块通过内总线向可信计算资源发送通知消息,然后可信计算资源按照通知消息中的地址信息通过内总线直接读取硬盘中的应用程序代码进行可信度量。若度量结果不可信,则依据策略进行控制处理,例如:阻止应用程序代码加载,报警等;若度量结果可信,则os系统服务代码中的度量代理模块解除拦截,os系统服务代码对应用程序代码进行加载并执行。

图3为本申请一个实施例提供的基于双体系结构可信计算平台的静态度量装置的结构示意图,如图3所示,该基于双体系结构可信计算平台的静态度量装置3包括:

控制启动模块301,用于在可信计算平台上电后,可信计算资源先于计算资源启动,来确定是否控制所述计算资源启动;

第一度量处理模块302,用于如果确定出控制所述计算资源启动,所述可信计算资源对所述计算资源的启动流程中的各阶段按启动顺序进行度量,并根据度量结果进行相应处理;

其中,所述可信计算资源和所述计算资源均构建在计算机中央处理器中,所述计算资源用于完成计算任务;所述可信计算资源用于对所述计算资源进行主动度量,以及根据所述主动度量的结果进行相应主动控制,所述主动度量包括静态度量。

进一步地,所述控制启动模块301,具体用于:

在所述可信计算平台上电后,所述可信计算资源先于所述计算资源启动,然后所述可信计算资源通过内总线读取持久化存储区中的bios进行度量,如果bios度量结果可信,则所述可信计算资源控制所述计算资源启动。

进一步地,所述第一度量处理模块302,具体用于:

在当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块,对与下一阶段启动代码相关的一处理步骤进行拦截,同时所述可信计算资源获取所述下一阶段的启动代码,并进行度量,如果对所述下一阶段的启动代码的度量结果为可信,则所述可信计算资源向所述当前阶段的启动代码的度量代理模块发送控制指令,以使所述当前阶段的启动代码的度量代理模块解除拦截,以允许所述与下一阶段启动代码相关的一处理步骤的执行。

进一步地,所述对与下一阶段启动代码相关的一处理步骤进行拦截,包括:

对所述当前阶段的启动代码加载所述下一阶段的启动代码进行拦截;或者,

在所述当前阶段的启动代码将所述下一阶段的启动代码加载到内存后,拦截所述下一阶段的启动代码的执行。

进一步地,所述可信计算资源获取所述下一阶段的启动代码,包括:

所述当前阶段的启动代码的度量代理模块直接读取硬盘或内存中的所述下一阶段的启动代码,并发送给所述可信计算资源,以使所述可信计算资源获取所述下一阶段的启动代码;或者,

所述当前阶段的启动代码的度量代理模块将所述下一阶段的启动代码的地址信息发送给所述可信计算资源,以使所述可信计算资源根据接收到的所述地址信息通过内总线获取所述下一阶段的启动代码,其中,所述地址信息为所述下一阶段的启动代码在硬盘中或者内存中的地址信息。

进一步地,所述基于双体系结构可信计算平台的静态度量装置3,还包括:

第二度量处理模块303,用于在所述计算资源的启动流程执行到一指定阶段时,通过所述指定阶段对应的启动代码的度量代理模块,拦截所述指定阶段对应的启动代码加载所述下一阶段的启动代码,同时所述可信计算资源获取内存数据,并进行度量;如果内存数据度量结果为可信,则允许所述可信计算资源获取所述下一阶段的启动代码;如果内存数据度量结果为不可信,则禁止所述可信计算资源获取所述下一阶段的启动代码,和/或,报警。

进一步地,所述可信计算资源获取内存数据,包括:

在所述当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块将内存数据发送给所述可信计算资源,以使所述可信计算资源获取内存数据;或者,

在所述当前阶段的启动代码执行过程中,通过所述当前阶段的启动代码的度量代理模块将内存数据的地址发送给所述可信计算资源,以使所述可信计算资源通过内总线去内存中获取内存数据。

关于上述相关实施例中的基于双体系结构可信计算平台的静态度量装置3,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

在一个实施例中,本本申请提供一种存储介质,其上存储有程序,所述程序被计算机中央处理器执行时实现上述任一项所述方法的步骤。

关于上述实施例中的存储介质,其存储的执行程序执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图4为本申请一个实施例提供的电子设备的结构示意图,如图4所示,该电子设备4包括:

如上述的所述存储介质401;以及

计算机中央处理器402,用于执行所述存储介质401中的所述程序。

关于上述实施例中的电子设备4,其计算机中央处理器402执行存储介质401中的程序的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

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

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

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

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

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

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

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

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

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

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