首页> 中国专利> 一种控制可信启动的方法和可信平台控制模块

一种控制可信启动的方法和可信平台控制模块

摘要

本申请适用于计算机安全技术领域,提供了一种控制可信启动的方法、可信平台控制模块及计算机可读存储介质,所述方法包括:通过基于第一预设策略进行可信度自检操作,得到自检结果;若自检结果为通过,则对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制;其中,第一星型信任链是以可信平台控制模块为信任链的中心,以硬件模块和软件模块为信任链的度量节点分布构建得到。上述控制可信启动的方法中构建的信任链都是以可信平台控制模块为起点,直接传递至硬件模块和软件模块,不会因为逐级传递造成信任损失的现象,确保计算机系统进行可信启动,提高了计算机系统的安全性。

著录项

  • 公开/公告号CN112231714A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 中国长城科技集团股份有限公司;

    申请/专利号CN202011191751.8

  • 申请日2020-10-30

  • 分类号G06F21/57(20130101);

  • 代理机构44414 深圳中一联合知识产权代理有限公司;

  • 代理人唐佳芝

  • 地址 518000 广东省深圳市南山区科技园长城计算机大厦

  • 入库时间 2023-06-19 09:35:27

说明书

技术领域

本申请属于计算机安全技术领域,尤其涉及一种控制可信启动的方法、可信平台控制模块及计算机可读存储介质。

背景技术

目前,信息技术已经成为了人们生活中不可分割的一部分,人们每天都通过计算机和互联网获取信息、进行各种活动。但计算机与网络空间并不总是安全的,为了使人们能够正常地通过计算机在互联网上进行各种活动,建立一套安全、可靠的防御体系来确保计算机能够按照预期稳定地提供服务是当务之急。可信计算正是为了解决计算机和网络空间的不安全,从而在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,从根本上提高安全性的技术方法。

现有方案中,以可信平台控制模块(Trusted Platform Control Module,TPCM)方式实现的可信计算平台,基于可信平台控制模块对基本输入输出系统(Basic InputOutput System,BIOS)和操作系统(Operating System,OS)等底层软件及基板管理控制器(Baseboard Management Controller,BMC)构建了信任链,实现了对计算机系统的可信启动,即检测了BIOS和操作系统等的完整性和正确性,确定计算机系统的硬件配置和操作系统没有被篡改过,从而在一定程度上提高了计算机系统的安全性。但是,由于该信任链为链式信任链,且该信任链的传递方式是将上一阶段度量通过之后的信任链传递给下一阶段,也就是说,将信任链进行逐级传递,因此,该方案在信任链逐级传递过程中容易造成信任损失的现象,使计算机系统不能进行可信启动,进而降低了计算机系统的安全性。

发明内容

本申请实施例提供了一种控制可信启动的方法、可信平台控制模块及计算机可读存储介质,可以解决现有方案中信任链在逐级传递过程中容易造成信任损失的现象,使计算机系统不能进行可信启动,进而降低了计算机系统的安全性的问题。

第一方面,本申请实施例提供了一种控制可信启动的方法,包括:

基于第一预设策略进行可信度自检操作,得到自检结果;

若所述自检结果为通过,则对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制;其中,所述第一星型信任链是以所述可信平台控制模块为信任链的中心,以所述硬件模块和所述软件模块为信任链的度量节点分布构建得到。

进一步的,所述对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制,包括:

对所述硬件模块进行第一可信度量,得到第一可信度量结果;

若所述第一可信度量结果为度量通过,则对所述软件模块进行第二可信度量,得到第二可信度量结果;

若所述第二可信度量结果为度量通过,则实现可信启动控制。

进一步的,所述硬件模块包括基板管理控制器,所述对所述硬件模块进行第一可信度量,得到第一可信度量结果,包括:

获取所述基板管理控制器的第一度量信息;所述第一度量信息包括预设程序的代码信息和配置信息;

基于预设校验算法计算所述第一度量信息的度量值;

根据所述第一度量信息的度量值和预先存储的第一基准值确定所述第一可信度量结果。

进一步的,所述对所述硬件模块进行第一可信度量,得到第一可信度量结果之后,还包括:

若所述第一可信度量结果为度量不通过,则基于第二预设策略对所述硬件模块进行控制;

相应的,所述对所述软件模块进行第二可信度量,得到第二可信度量结果之后,还包括:

若所述第二可信度量结果为度量不通过,则基于第三预设策略对所述软件模块进行控制。

进一步的,所述软件模块包括基本输入输出系统、操作系统及虚拟机监视器,所述第一星型信任链包括第二星型信任链,所述对第一星型信任链中的硬件模块和软件模块进行可信度量,包括:

对所述第二星型信任链中的所述基本输入输出系统、所述操作系统及所述虚拟机监视器进行可信度量;所述第二星型信任链是以所述可信平台控制模块为信任链的中心,以所述基本输入输出系统、所述操作系统及所述虚拟机监视器为信任链的度量节点分布构建得到。

进一步的,所述操作系统包括操作系统加载程序和操作系统内核;所述第二星型信任链包括第三星型信任链,所述对所述第二星型信任链中的所述基本输入输出系统、所述操作系统及所述虚拟机监视器进行可信度量,包括:

对所述第三星型信任链中的所述操作系统加载程序和所述操作系统内核进行可信度量;所述第三星型信任链是以所述可信平台控制模块为信任链的中心,以所述操作系统加载程序和所述操作系统内核为信任链的度量节点分布构建得到。

进一步的,所述对所述软件模块进行第二可信度量,得到第二可信度量结果后,还包括:

将所述第一可信度量结果、所述第二可信度量结果导入预设度量报告模板中。

第二方面,本申请实施例提供了一种可信平台控制模块,包括:

自检单元,用于基于第一预设策略进行可信度自检操作,得到自检结果;

第一度量单元,用于若所述自检结果为通过,则对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制;其中,所述第一星型信任链是以所述可信平台控制模块为信任链的中心,以所述硬件模块和所述软件模块为信任链的度量节点分布构建得到。

第三方面,本申请实施例提供了一种可信平台控制模块,包括:

存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,上述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的控制可信启动方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的控制可信启动的方法的步骤。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在可信平台控制模块上运行时,使得可信平台控制模块执行上述第一方面中任一项所述的控制可信启动的方法。

本申请实施例与现有技术相比存在的有益效果是:

本申请实施例提供的一种控制可信启动的方法,应用于可信平台控制模块,通过基于第一预设策略进行可信度自检操作,得到自检结果;若自检结果为通过,则对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制;其中,第一星型信任链是以可信平台控制模块为信任链的中心,以硬件模块和软件模块为信任链的度量节点分布构建得到。上述控制可信启动的方法在通过可信度自检确定可信平台控制模块可信之后,对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制,即该控制可信启动的方法中构建的信任链都是以可信平台控制模块为起点,直接传递至硬件模块和软件模块,因此不会因为逐级传递造成信任损失的现象,确保计算机系统进行可信启动,提高了计算机系统的安全性。

附图说明

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

图1是本申请实施例提供的一种控制可信启动的方法的实现流程图;

图2本申请实施例提供的一种控制可信启动的方法中第一星型信任链的示意图;

图3是本申请实施例提供的一种控制可信启动的方法中S102的具体实现流程图;

图4是本申请另一实施例提供的一种控制可信启动的方法的实现流程图;

图5本申请实施例提供的一种控制可信启动的方法中第二星型信任链的示意图;

图6本申请实施例提供的一种控制可信启动的方法中第三星型信任链的示意图;

图7是本申请实施例提供的可信平台控制模块的结构示意图;

图8是本申请另一实施例提供的可信平台控制模块的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

请参阅图1,图1是本申请实施例提供的一种控制可信启动的方法的实现流程图。本申请实施例中,控制可信启动的方法的执行主体为可信平台控制模块(TrustedPlatform Control Module,TPCM)。其中,可信平台控制模块是一种植于计算机内部为计算机提供可信根的芯片,即是一种提高完整性和真实性的安全芯片。

如图1所示,控制可信启动的方法可以包括S101~S102,详述如下:

在S101中,基于第一预设策略进行可信度自检操作,得到自检结果。

本申请实施例中,可信平台控制模块在上电后,可以基于第一预设策略对自身进行可信度自检操作,得到自检结果。其中,第一预设策略可以根据实际需要设置,此处不作限制。

具体地,可信平台控制模块可以获取自身的度量信息,并将该度量信息与标准信息进行对比,得到自检结果。其中,可信平台控制模块的度量信息可以包括可信平台控制模块的参数配置和关键代码。

在本申请实施例的一种实现方式中,可信平台控制模块预先获取自身的度量信息并进行存储。当可信平台控制模块需要进行自检操作时,直接从可信平台控制模块获取自身的度量信息。

在本申请实施例的另一种实现方式中,可信平台控制模块还可以从其他设备中获取可信平台控制模块自身的度量信息。

可信平台控制模块在得到自检结果后,可信平台控制模块若检测到自检结果为通过,说明可信平台控制模块的度量信息与标准信息相同,即可信平台控制模块可信,则执行步骤S102;可信平台控制模块若检测到自检结果为不通过,说明可信平台控制模块的度量信息与标准信息不同,即可信平台控制模块不可信,则终止可信启动。

在S102中,若所述自检结果为通过,则对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制;其中,所述第一星型信任链是以所述可信平台控制模块为信任链的中心,以所述硬件模块和所述软件模块为信任链的度量节点分布构建得到。

需要说明的是,可信度量可以是完整性度量,完整性度量就是用杂凑函数计算代码的杂凑值,与存储的杂凑值对比,去发现代码是否改变,根据比对结果,系统做出相应的判断。具体地,可信度量是采用相应的算法对度量对象进行计算,将计算结果与预先存储的校验基准值进行比较,如果结果一致,则说明度量对象的完整性没有被破坏,从而确定度量对象是可信的。

本申请实施例中,可信平台控制模块在自检通过后,对第一星型信任链中的硬件模块和软件模块进行可信度量,以实现可信启动控制。

示例性的,如图2所示,以可信平台控制模块10为中心,以硬件模块11和软件模块12为信任链的度量节点分布的信任链a1和信任链a2即为第一星型信任链。基于此,可信平台控制模块10可以基于信任链a1和信任链a2分别对硬件模块11和软件模块12进行可信度量,以实现可信启动控制。

在本申请的一个实施例中,可信平台控制模块可以采取先对硬件模块进行可信度量,再对软件模块进行可信度量的方式实现可信启动控制。基于此,可信平台控制模块具体可以通过如图3所示的步骤S301~S303对硬件模块和软件模块进行可信度量,详述如下:

在S301中,对所述硬件模块进行第一可信度量,得到第一可信度量结果。

本实施例中,由于硬件模块包括基板管理控制器(Baseboard ManagementController,BMC),并且可信平台控制模块预先存储有该基板管理控制器的第一基准值,因此,可信平台控制模块具体可以通过如图4所示的步骤S401~S403对硬件模块进行第一可信度量,详述如下:

在S401中,获取所述基板管理控制器的第一度量信息;所述第一度量信息包括预设程序的代码信息和配置信息。

本实施例中,可信平台控制模块可以获取基板管理控制器的第一度量信息。其中,第一度量信息包括预设程序的代码信息和配置信息。

需要说明的是,预设程序可以是基板管理控制器中的开放源码程序(UniversalBoot Loader,U-Boot)和操作系统加载程序。

配置信息可以是参数配置和用户信息等。

在S402中,基于预设校验算法计算所述第一度量信息的度量值。

本实施例中,预设校验算法可以根据实际需要设置,此处不作限制,示例性的,预设校验算法可以是哈希算法。

基于此,可信平台控制模块可以基于哈希算法对第一度量信息进行哈希计算,得到第一度量信息对应的哈希值,即第一度量信息的度量值。

在S403中,根据所述第一度量信息的度量值和预先存储的第一基准值确定所述第一可信度量结果。

本实施例中,可信平台控制模块得到第一度量信息的度量值后,将第一度量信息的度量值与预先存储的第一基准值进行对比,得到第一可信度量结果。

在本申请的一个实施例中,可信平台控制模块若检测到第一度量信息的度量值与预先存储的第一基准值相同,说明基板管理控制器可信,即基板管理控制器的代码信息和/或配置信息未遭到篡改,则确定第一可信度量结果为度量通过,并执行步骤S302~S303。

在本申请的另一个实施例中,可信平台控制模块若检测到第一度量信息的度量值与预先存储的第一基准值不同,说明基板管理控制器不可信,即基板管理控制器的代码信息和/或配置信息遭到了篡改,则确定第一可信度量结果为度量不通过,并基于第二预设策略对基板管理控制器进行控制。其中,第二预设策略可以根据实际需要设置,此处不作限制,示例性的,第二预设策略可以是对基板管理控制器的代码信息和/或配置信息进行修复,也可以是对基板管理控制器执行暂停启动操作。

在S302中,若所述第一可信度量结果为度量通过,则对所述软件模块进行第二可信度量,得到第二可信度量结果。

需要说明的是,可信平台控制模块在确定第一可信度量结果为度量通过后,说明硬件模块可信,即硬件模块的代码信息和配置信息未遭到篡改,因此,可信平台控制模块根据以可信平台控制模块为中心,以硬件模块和软件模块为度量节点的第一星型信任链,将信任关系从可信平台控制模块传递到硬件模块。

在本申请的一个实施例中,可信平台控制模块预先存储有软件模块的第二基准值,基于此,可信平台控制模块在确定第一可信度量结果为度量通过后,可以获取软件模块的第二度量信息,基于预设校验算法计算第二度量信息的度量值,并将第二度量信息的度量值与第二基准值进行对比,得到第二可信度量结果。其中,第二度量信息包括软件模块中预设程序的代码信息和配置信息。

具体地,可信平台控制模块若检测到第二度量信息的度量值与预先存储的第二基准值相同,说明软件模块可信,即软件模块的代码信息和/或配置信息未遭到篡改,则确定第二可信度量结果为度量通过,并执行步骤S303。

可信平台控制模块若检测到第二度量信息的度量值与预先存储的第二基准值不同,说明软件模块不可信,即软件模块的代码信息和/或配置信息遭到了篡改,则确定第二可信度量结果为度量不通过,并基于第三预设策略对软件进行控制。其中,第三预设策略可以根据实际需要设置,此处不作限制,示例性的,第二预设策略可以是对软件模块的代码信息和/或配置信息进行修复,也可以是对软件模块执行暂停启动操作。

在S303中,若所述第二可信度量结果为度量通过,则实现可信启动控制。

需要说明的是,本实施例中,可信平台控制模块在确定第二可信度量结果为度量通过后,说明软件模块可信,即软件模块的代码信息和配置信息未遭到篡改,因此,可信平台控制模块根据以可信平台控制模块为中心,以硬件模块和软件模块为度量节点的第一星型信任链,将信任关系从可信平台控制模块传递到软件模块,从而实现了可信启动控制。

在本申请的一个实施例中,可信平台控制模块还设置有预设度量报告模板。预设度量报告模板中预先配置了多个预设度量项。其中,预设度量项包括但不限于:硬件模块度量项和软件模块度量项。

基于此,可信平台控制模块得到第二可信度量结果后,将第一可信度量结果和第二可信度量结果导入预设度量报告模板中,具体的,可信平台控制模块将第一可信度量结果与预设度量报告模板中的硬件模块项进行关联,将第二可信度量结果与预设度量报告模板中的软件模块度量项进行关联,从而得到度量报告。可信平台控制模块将度量报告进行输出。

以上可以看出,本实施例提供的一种控制可信启动的方法,通过基于第一预设策略进行可信度自检操作,得到自检结果;若自检结果为通过,则对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制;其中,第一星型信任链是以可信平台控制模块为信任链的中心,以硬件模块和软件模块为信任链的度量节点分布构建得到。上述控制可信启动的方法在通过可信度自检确定可信平台控制模块可信之后,对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制,即该控制可信启动的方法中构建的信任链都是以可信平台控制模块为起点,直接传递至硬件模块和软件模块,因此不会因为逐级传递造成信任损失的现象,确保计算机系统进行可信启动,提高了计算机系统的安全性。

在本申请的另一个实施例中,软件模块包括基本输入输出系统(Basic InputOutput System,BIOS)、操作系统(Operating System,OS)及虚拟机监视器(VirtualMachine Monitor,VMM),第一星型信任链包括第二星型信任链,基于此,可信平台控制模块对第一星型信任链中的软件模块进行可信度量具体可以通过以下步骤实现,详述如下:

对所述第二星型信任链中的所述基本输入输出系统、所述操作系统及所述虚拟机监视器进行可信度量;所述第二星型信任链是以所述可信平台控制模块为信任链的中心,以所述基本输入输出系统、所述操作系统及所述虚拟机监视器为信任链的度量节点分布构建得到。

示例性的,如图5所示,以可信平台控制模块10为中心,以基本输入输出系统121、操作系统122及虚拟机监视器123为信任链的度量节点分布的信任链a21、信任链a22及信任链a23即为第二星型信任链。基于此,可信平台控制模块10可以基于信任链信任链a21、信任链a22及信任链a23分别对基本输入输出系统121、操作系统122及虚拟机监视器123进行可信度量。

在本申请的一个实施例中,可信平台控制模块可以采取先对基本输入输出系统进行可信度量,再对操作系统进行可信度量,最后对虚拟机监视器进行可信度量的方式实现对软件模块的可信度量。

需要说明的是,本实施例中,可信平台控制模块预先存储有基本输入输出系统的第三基准值、操作系统的第四基准值及虚拟机监视器的第五基准值,因此可信平台控制模块具体可以通过以下步骤对基本输入输出系统、操作系统及虚拟机监视器进行可信度量,详述如下:

对基本输入输出系统进行第三可信度量,得到第三可信度量结果。

具体地,可信平台控制模块可以获取基本输入输出系统的第三度量信息,基于预设校验算法计算第三度量信息的度量值,将第三度量信息的度量值与预先存储的第三基准值进行对比,得到第三可信度量结果。其中,第三度量信息包括引导模块Boot Block和主引导模块Main Block的代码信息。

在本申请的一个实施例中,可信平台控制模块若检测到第三度量信息的度量值与第三基准值不同,说明基本输入输出系统不可信,即基本输入输出系统的代码信息遭到了篡改,则确定第三可信度量结果为度量不通过,并基于第四预设策略对基本输入输出系统进行控制。其中,第四预设策略可以根据实际需要设置,此处不作限制,示例性的,第四预设策略可以是对基本输入输出系统的代码信息进行修复,也可以是对基本输入输出系统执行暂停启动操作。

在本申请的另一个实施例中,可信平台控制模块若检测到第三度量信息的度量值与第三基准值相同,说明基本输入输出系统可信,即基本输入输出系统的代码信息未遭到篡改,则确定第三可信度量结果为度量通过,并执行以下步骤:

若第三可信度量结果为度量通过,则对操作系统进行第四可信度量,得到第四可信度量结果。

需要说明的是,可信平台控制模块在确定第三可信度量结果为度量通过后,说明基本输入输出系统可信,即基本输入输出系统的代码信息未遭到篡改,因此,可信平台控制模块根据以可信平台控制模块为中心,以基本输入输出系统、操作系统及虚拟机监视器为度量节点的第二星型信任链,将信任关系从可信平台控制模块传递到基本输入输出系统。

本实施例中,操作系统包括操作系统加载程序(Operating SystemLoader,OSLoader)和操作系统内核(Operating SystemKernel,OSKernel),第二星型信任链包括第三星型信任链,基于此,可信平台控制模块通过以下步骤对第三星型信任链中的操作系统进行可信度量,详述如下:

对所述第三星型信任链中的所述操作系统加载程序和所述操作系统内核进行可信度量;所述第三星型信任链是以所述可信平台控制模块为信任链的中心,以所述操作系统加载程序和所述操作系统内核为信任链的度量节点分布构建得到。

示例性的,如图6所示,以可信平台控制模块10为中心,以操作系统加载程序1221和操作系统内核1222为信任链的度量节点分布的信任链a221和信任链a222即为第三星型信任链。基于此,可信平台控制模块10可以基于信任链信任链信任链a221和信任链a222分别对操作系统加载程序1221和操作系统内核1222进行可信度量。

在本申请的一个实施例中,可信平台控制模块可以采取先对操作系统加载程序进行可信度量,再对操作系统内核进行可信度量的方式实现对操作系统的可信度量。基于此,可信平台控制模块具体可以通过以下步骤对操作系统进行第四可信度量,详述如下:

本实施例中,可信平台控制模块预先存储有操作系统加载程序的第六基准值和操作系统内核的第七基准值,因此,可信平台控制模块具体可以通过以下步骤对操作系统加载程序和操作系统内核进行可信度量,详述如下:

对操作系统加载程序进行第六可信度量,得到第六可信度量结果。

具体地,可信平台控制模块可以获取操作系统加载程序的第六度量信息,基于预设校验算法计算第六度量信息的度量值,将第六度量信息的度量值与预先存储的第六基准值进行对比,得到第六可信度量结果。其中,第六度量信息包括操作系统加载程序的代码信息和配置信息。

在本申请的一个实施例中,可信平台控制模块若检测到第六度量信息的度量值与第六基准值不同,说明操作系统加载程序不可信,即操作系统加载程序的代码信息和/或配置信息遭到了篡改,则确定第六信度量结果为度量不通过,并基于第五预设策略对操作系统加载程序进行控制。其中,第五预设策略可以根据实际需要设置,此处不作限制,示例性的,第五预设策略可以是对操作系统加载程序的代码信息/或配置信息进行修复,也可以是对操作系统加载程序执行暂停启动操作。

在本申请的另一个实施例中,可信平台控制模块若检测到第六度量信息的度量值与第六基准值相同,说明操作系统加载程序可信,即操作系统加载程序的代码信息/或配置信息未遭到篡改,则确定第六可信度量结果为度量通过,并执行以下步骤:

若第六可信度量结果为度量通过,则对操作系统内核进行第七可信度量,得到第七可信度量结果。

需要说明的是,可信平台控制模块在确定第六可信度量结果为度量通过后,说明操作系统加载程序可信,即操作系统加载程序的代码信息/或配置信息未遭到篡改,因此,可信平台控制模块根据以可信平台控制模块为中心,以操作系统加载程序和操作系统内核的第三星型信任链,将信任关系从可信平台控制模块传递到操作系统加载程序。

本实施例中,可信平台控制模块在确定第六可信度量结果为度量通过后,可信平台控制模块可以获取基本输入输出系统的第七度量信息,基于预设校验算法计算第七度量信息的度量值,将第七度量信息的度量值与预先存储的第七基准值进行对比,得到第七可信度量结果。其中,第七度量信息包括操作系统内核的代码信息和配置信息。

在本申请的一个实施例中,可信平台控制模块若检测到第七度量信息的度量值与第七基准值不同,说明操作系统内核不可信,即操作系统内核的代码信息和/或配置信息遭到了篡改,则确定第七可信度量结果为度量不通过,并基于第六预设策略对操作系统内核进行控制。其中,第六预设策略可以根据实际需要设置,此处不作限制,示例性的,第六预设策略可以是对操作系统内核的代码信息和/或配置信息进行修复,也可以是对操作系统内核执行暂停启动操作。

在本申请的另一个实施例中,可信平台控制模块若检测到第七度量信息的度量值与第七基准值相同,说明操作系统内核可信,即操作系统内核的代码信息和/或配置信息未遭到篡改,则确定第七可信度量结果为度量通过。

基于此,可信平台控制模块根据以可信平台控制模块为中心,以操作系统加载程序和操作系统内核的第三星型信任链,将信任关系从可信平台控制模块传递到操作系统内核。

本实施例中,可信平台控制模块在确定第七可信度量结果为度量通过之后,可以确定操作系统的第四可信度量结果为度量通过。

在本申请的再一个实施例中,结合S102,预设度量项还可以包括:操作系统加载程序度量项和操作系统内核度量项。

基于此,可信平台控制模块得到第六可信度量结果后,将第六可信度量结果和第七可信度量结果导入预设度量报告模板中,具体的,可信平台控制模块将第六可信度量结果与预设度量报告模板中的操作系统加载程序度量项进行关联,将第七可信度量结果与预设度量报告模板中的操作系统内核度量项进行关联,从而得到度量报告。可信平台控制模块将度量报告进行输出。

若第四可信度量结果为度量通过,则对虚拟机监视器进行第五可信度量,得到第五可信度量结果。

需要说明的是,可信平台控制模块在确定第四可信度量结果为度量通过后,说明操作系统可信,即操作系统的代码信息和配置信息未遭到篡改,因此,可信平台控制模块根据以可信平台控制模块为中心,以基本输入输出系统、操作系统及虚拟机监视器的第二星型信任链,将信任关系从可信平台控制模块传递到操作系统。

本实施例中,可信平台控制模块在确定第四可信度量结果为度量通过后,可以获取虚拟机监视器的第五度量信息,基于预设校验算法计算第五度量信息的度量值,并将第五度量信息的度量值与第五基准值进行对比,得到第五度量结果。其中,第五度量信息包括虚拟机监视器的代码信息和配置信息。

在本申请的一个实施例中,可信平台控制模块若检测到第五度量信息的度量值与第五基准值不同,说明虚拟机监视器不可信,即虚拟机监视器的代码信息和/或配置信息遭到了篡改,则确定第五可信度量结果为度量不通过,并基于第七预设策略对虚拟机监视器进行控制。其中,第七预设策略可以根据实际需要设置,此处不作限制,示例性的,第七预设策略可以是对虚拟机监视器的代码信息和/或配置信息进行修复,也可以是对虚拟机监视器执行暂停启动操作。

在本申请的另一个实施例中,可信平台控制模块若检测到第五度量信息的度量值与第五基准值相同,说明虚拟机监视器可信,即虚拟机监视器的代码信息和/或配置信息未遭到篡改,则确定第五可信度量结果为度量通过。

基于此,可信平台控制模块根据以可信平台控制模块为中心,以基本输入输出系统、操作系统及虚拟机监视器的第二星型信任链,将信任关系从可信平台控制模块传递到虚拟机监视器。

在本申请的再一个实施例中,结合S102,预设度量项还可以包括:基本输入输出系统度量项、操作系统度量项及虚拟机监视器度量项。

基于此,可信平台控制模块得到第五可信度量结果后,将第三可信度量结果、第四可信度量结果及第五可信度量结果导入预设度量报告模板中,具体的,可信平台控制模块将第三可信度量结果与预设度量报告模板中的基本输入输出系统度量项进行关联,将第四可信度量结果与预设度量报告模板中的操作系统度量项进行关联,将第五可信度量结果与预设度量报告模板中的虚拟机监视器度量项进行关联,从而得到度量报告。可信平台控制模块将度量报告进行输出。

以上可以看出,本实施例提供的一种控制可信启动的方法,通过对第二星型信任链中的基本输入输出系统、操作系统及虚拟机监视器进行可信度量,实现了对软件模块的可信度量,确定了软件模块中各个软件程序都是可信的,进一步提高了计算机系统的安全性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的一种控制可信启动的方法,图7示出了本申请实施例提供的一种可信平台控制模块的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。参照图7,该可信平台控制模块700包括:自检单元71和第一度量单元72。其中:

自检单元71用于基于第一预设策略进行可信度自检操作,得到自检结果。

第一度量单元72用于若所述自检结果为通过,则对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制;其中,所述第一星型信任链是以所述可信平台控制模块为信任链的中心,以所述硬件模块和所述软件模块为信任链的度量节点分布构建得到。

在本申请的一个实施例中,第一度量单元72具体包括:第一可信度量单元、第二可信度量单元及控制单元。其中:

第一可信度量单元用于对所述硬件模块进行第一可信度量,得到第一可信度量结果。

第二可信度量单元用于若所述第一可信度量结果为度量通过,则对所述软件模块进行第二可信度量,得到第二可信度量结果。

控制单元用于若所述第二可信度量结果为度量通过,则实现可信启动控制。

在本申请的一个实施例中,所述硬件模块包括基板管理控制器,相应的,第一可信度量单元具体包括:获取单元、计算单元及确定单元。其中:

获取单元用于获取所述基板管理控制器的第一度量信息;所述第一度量信息包括预设程序的代码信息和配置信息。

计算单元用于基于预设校验算法计算所述第一度量信息的度量值。

确定单元用于根据所述第一度量信息的度量值和预先存储的第一基准值确定所述第一可信度量结果。

在本申请的一个实施例中,第一度量单元72还包括:第一控制单元和第二控制单元。其中:

第一控制单元用于若所述第一可信度量结果为度量不通过,则基于第二预设策略对所述硬件模块进行控制。

第二控制单元用于若所述第二可信度量结果为度量不通过,则基于第三预设策略对所述软件模块进行控制。

在本申请的一个实施例中,所述软件模块包括基本输入输出系统、操作系统及虚拟机监视器,所述第一星型信任链包括第二星型信任链,度量单元72还包括:第二度量单元。

第二度量单元用于对所述第二星型信任链中的所述基本输入输出系统、所述操作系统及所述虚拟机监视器进行可信度量;所述第二星型信任链是以所述可信平台控制模块为信任链的中心,以所述基本输入输出系统、所述操作系统及所述虚拟机监视器为信任链的度量节点分布构建得到。

在本申请的一个实施例中,所述操作系统包括操作系统加载程序和操作系统内核;所述第二星型信任链包括第三星型信任链,第二度量单元具体包括:第三度量单元。

第三度量单元用于对所述第三星型信任链中的所述操作系统加载程序和所述操作系统内核进行可信度量;所述第三星型信任链是以所述可信平台控制模块为信任链的中心,以所述操作系统加载程序和所述操作系统内核为信任链的度量节点分布构建得到。

在本申请的一个实施例中,度量单元72还包括:导入单元。

导入单元用于将所述第一可信度量结果、所述第二可信度量结果导入预设度量报告模板中。

以上可以看出,本申请实施例提供的一种可信平台控制模块,通过基于第一预设策略进行可信度自检操作,得到自检结果;若自检结果为通过,则对第一星型信任链中的硬件模块和软件模块进行可信度量,实现可信启动控制;其中,第一星型信任链是以可信平台控制模块为信任链的中心,以硬件模块和软件模块为信任链的度量节点分布构建得到。即该控制可信启动的方法中构建的信任链都是以可信平台控制模块为起点,直接传递至硬件模块和软件模块,因此不会因为逐级传递造成信任损失的现象,确保计算机系统进行可信启动,提高了计算机系统的安全性。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图8为本申请一实施例提供的可信平台控制模块的结构示意图。如图8所示,该实施例的可信平台控制模块8包括:至少一个处理器80(图8中仅示出一个)处理器、存储器81以及存储在所述存储器81中并可在所述至少一个处理器80上运行的计算机程序82,所述处理器80执行所述计算机程序82时实现上述任意各个控制可信启动的方法实施例中的步骤。

所述可信平台控制模块8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该可信平台控制模块可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是可信平台控制模块8的举例,并不构成对可信平台控制模块8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器80可以是中央处理单元(Central Processing Unit,CPU),该处理器80还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器81在一些实施例中可以是所述可信平台控制模块8的内部存储单元,例如可信平台控制模块8的硬盘或内存。所述存储器81在另一些实施例中也可以是所述可信平台控制模块8的外部存储设备,例如所述可信平台控制模块8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,所述存储器81还可以既包括所述可信平台控制模块8的内部存储单元也包括外部存储设备。所述存储器81用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。

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

本申请实施例提供了一种计算机程序产品,当计算机程序产品在可信平台控制模块上运行时,使得可信平台控制模块执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的可信平台控制模块和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号