基于BMC平台的可信度量装置的制作方法

文档序号:12511984阅读:480来源:国知局
基于BMC平台的可信度量装置的制作方法

本实用新型涉及计算机安全技术领域,特别是涉及一种基于BMC平台的可信度量装置。



背景技术:

一般的,基于BMC(Baseboard management controller,基板管理控制器)芯片的计算机装置通常需要在硬件上加上TPM(Trusted Platform Module,可信平台模块)、TCM(Trusted Cryptography Module,可信密码模块)或TPCM(Trusted Platform Control Module,可信平台控制模块)等,以实现对BMC固件的可信度量。但TPM、TCM或TPCM需要比BMC芯片同时启动或优先供电,并且TPM、TCM或TPCM需要连接至BMC芯片所连接的flash(Flash Memory,闪存),这将导致计算机装置的电路设计的复杂,成本较高。



技术实现要素:

鉴于上述利用TPM、TCM或TPCM实现可信度量的可信度量系统结构复杂、成本高的问题,本实用新型的目的在于提供一种结构简单且成本低的基于BMC平台的可信度量装置,该装置能够以BMC固件本身作为可信度量根实现对BIOS等系统固件的可信度量。

为实现上述目的,本实用新型采用如下技术方案:

一种基于BMC平台的可信度量装置,包括用于存储可信度量根的核心的第一存储器、用于存储BMC固件的第二存储器以及用于以所述BMC固件作为可信度量根对系统固件进行可信度量的基板管理控制器;

所述第一存储器与所述第二存储器均连接至所述基板管理控制器,所述第一存储器为只读存储器。

在其中一个实施例中,所述第一存储器包含用于存储可信度量根的核心的CRTM模块;

所述CRTM模块包括用于存储固件度量信息的固件度量单元,所述固件度量单元能够对所述第二存储器中的BMC固件进行可信度量。

在其中一个实施例中,所述CRTM模块还包括用于存储第一启动控制信息的第一启动单元,所述第一启动单元能够控制所述第二存储器的启动并设定所述基板管理控制器的预设启动存储器。

在其中一个实施例中,所述第二存储器包括用于存储BMC固件的BMC固件模块;

所述BMC固件模块包括用于存储可信链度量信息的可信链度量单元,所述可信链度量单元用于以所述BMC固件作为可信度量根对所述系统固件进行可信度量。

在其中一个实施例中,所述BMC固件模块还包括用于存储第二启动控制信息的第二启动单元,所述第二启动单元用于将所述基板管理控制器的预设启动存储器设定为第一存储器。

在其中一个实施例中,所述第一存储器为一次性写入的快闪存储器,所述第二存储器为可读写的快闪存储器。

在其中一个实施例中,所述基板管理控制器支持双存储器启动。

本实用新型的有益效果是:

本实用新型的基于BMC平台的可信度量装置,通过将可信度量根的核心存储于第一存储器中,并将第一存储器设置为只读存储器,从而可以保证可信度量根的核心为不可改变的,保证可信度量的可靠性,同时将可更新的BMC固件存储于第二存储器中,从而解决了CRTM的不可改变与BMC固件的更新存在冲突的问题;并且,基板管理控制器本身能够主动对BMC固件进行可信度量,进而使该BMC固件可以作为可信度量根以实现BIOS等系统固件的可信度量,利用可信链的传递,实现对整个BMC平台进行可信度量,不需额外连接TPM、TPCM等模块,不仅简化电路结构,且成本较低。

附图说明

图1为本实用新型的基于BMC平台的可信度量装置一实施例的框图;

图2为本实用新型的基于BMC平台的可信度量装置另一实施例的框图;

图3为本实用新型的基于BMC平台的可信度量装置又一实施例的框图。

具体实施方式

为了使本实用新型的技术方案更加清楚,以下结合附图,对本实用新型的基于BMC平台的可信度量装置作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本实用新型并不用于限定本实用新型。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

如图1所示,本实用新型提供了一种基于BMC平台的可信度量装置100包括基板管理控制器110(即BMC芯片)、第一存储器120与第二存储器130,第一存储器120与第二存储器130均连接至基板管理控制器110。本实施例中,第一存储器120和第二存储器130可以为非易失性的快闪存储器(Flash Memory)。

其中,第一存储器120为一次性写入的只读存储器,第一存储器120内存储有可信度量根的核心(CRTM,Core Root of Trust for Measurement),可信度量根的核心为可信引导的基础。其中,为保证CRTM是不可改变的,本实施例中的第一存储器120为一次性写入的只读存储器,即将CRTM写入第一存储器120中后即不能再对第一存储器120进行写入操作,从而可以保证可信引导过程的可靠性。第二存储器130用于存储可更新的BMC固件,其中,BMC固件为基板管理控制器110得以运行的程序代码或操作装置。本实施例中的第二存储器130可以为读写存储器,以便于实现BMC固件的更新。通过CRTM与BMC固件的单独存储于不同的存储器中,可以同时保证CRTM的不变性以及BMC固件的可更新性,从而避免了CRTM与BMC固件的更新冲突。

本实施例中,基板管理控制器110支持双Flash启动或备援flash启动,因此,基板管理控制器110上电后,第一存储器120作为第一顺位启动的存储器,第二存储器130作为第二顺位启动的存储器。即在基板管理控制器110的启动过程中,基板管理控制器110首先与第一存储器120建立连接,获取并执行第一存储器120中的CRTM对第二存储器130中的BMC固件进行可信度量。当基板管理控制器110判定第二存器130中的BMC固件为可信固件时,基板管理控制器110执行该可信的BMC固件,以BMC固件作为可信度量根对基板管理控制器的系统固件进行可信度量。其中,系统固件可以包括BIOS(Basic Input Output System,基本输入/输出装置),UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口),Hostboot(主机启动,hostboot为硬件开机和测试代码块)等等。之后,可以逐级实现对基板管理控制器的内核、操作装置及应用程序等组件的可信度量,实现了可信链的传递。

由于第一存储器120中的CRTM为基板管理控制器110启动后执行的第一段程序代码,执行最初的可信度量,并引导有RTM(Roots of Measurement,可信度量根)功能的BMC固件开始工作。因此,通过将第一存储器120作为第一顺位启动的存储器,即将第一存储器120作为基板管理控制器110的预设启动存储器,并通过执行第一存储器120中的CRTM,可以实现对第二存储器130中的BMC固件进行可信度量。

具体地,在基板管理控制器110对第二存储器130中BMC固件进行可信度量的过程中,基板管理控制器110能够获取BMC固件的被度量数据(BMC固件的数据或程序代码)以及度量摘要值(上述数据的哈希值)。之后,基板管理控制器110能够根据BMC固件的被度量数据及度量摘要值获得BMC固件的实际度量结果,并将上述实际度量结果与预设度量结果进行比较,当判定实际度量结果与预设度量结果匹配时,则基板管理控制器110判定BMC固件为可信固件。其中,预设度量结果可以为国家标准中规定的度量参数。

当基板管理控制器110判定BMC固件为可信固件时,则基板管理控制器110执行上述可信的BMC固件,并以BMC固件作为可信度量根对基本输入/输出装置(BIOS,Basic Input Output system)等系统固件进行可信度量,从而可以实现BMC固件本身作为可信度量根。这样,该可信度量装置100无需在基板管理控制器110上连接TPM安全芯片、TCM安全芯片或TPCM安全芯片等等,因此,简化了计算机装置的电路结构,并可以降低装置成本。当基板管理控制器110判定BIOS等系统固件为可信组件时,基板管理控制器110根据系统固件逐级实现对BMC平台的装置内核及应用的可信度量,从而实现整个BMC平台的可信链的传递。

应当清楚的是,本实用新型通过设置两个独立的存储器,并将CRTM存储于一次性写入的第一存储器中,将可更新的BMC固件存储于具有读写功能的第二存储器上,并将上述第一存储器和第二存储器连接至基板管理控制器(BMC芯片),从而使得基板管理控制器能够以BMC固件本身作为可信度量根实现对整个BMC平台的可信度量。基于上述硬件结构的改进使得本实用新型的电路简单,成本较低。

在一个实施例中,如图2或图3所示,第一存储器120包含用于存储可信度量根的核心的CRTM模块121,其中,CRTM模块121可以包括用于存储固件度量信息的固件度量单元122和用于存储第一启动控制信息的第一启动单元123,CRTM模块121及其内的固件度量单元122和第一启动单元123可以是Flash或ROM(Read Only Memory)等只读存储装置,也可以是只读存储装置的部分存储单元。其中,固件度量信息可以为能够实现对BMC固件的可信度量的程序块,因而,固件度量单元122能够实现对第二存储器130中的BMC固件进行可信度量,即固件度量单元122能够获取BMC固件模块131中的被度量数据及度量摘要值,并根据其获取的被度量数据及度量摘要值对BMC固件模块131进行可信度量,生成可信度量结果,并可以根据可信度量结果判断BMC固件模块131是否为可信组件。

第一启动控制信息可以为用于控制第二存储器130启动并设定基板管理控制器110的预设启动存储器的程序块,因而,第一启动单元123能够控制第二存储器130的启动并设定基板管理控制器110的预设启动存储器(即第一顺位启动的存储器)。具体的,当固件度量单元122判定第二存储器130中的BMC固件模块131为可信组件时,基板管理控制器110可以执行第一启动单元123中第一启动控制信息,通过第一启动控制信息控制第二存储器130启动,从而使得基板管理控制器110能够读取并开始执行第二存储器130中的BMC固件。当固件度量单元122判定第二存储器130中的BMC固件模块131为不可信组件时,基板管理控制器110可以根据第一启动控制信息不启动第二存储器。

其中,第一启动控制信息中可以包括基板管理控制器110的设定信息,从而基板管理控制器110还可以根据第一启动控制信息设定其自身的预设启动存储器。例如,基板管理控制器110的设定信息可以为将第一存储器重设为基板管理控制器的预设启动存储器。或者,基板管理控制器110的设定信息还可以为将第二存储器130重设为基板管理控制器110的预设启动存储器,此时当基板管理控制器执行该设定信息时,基板管理控制器110将其预设启动存储器从第一存储器120修改为第二存储器130,并重新启动。

在一个实施例中,如图2所示,第二存储器130包括用于存储BMC固件的BMC固件模块131,其中,BMC固件为可更新的程序块或操作系统。进一步地,BMC固件模块131包括用于存储可信链度量信息的可信链度量单元133,其中,可信链度量信息可以为能够以BMC固件为可信度量根实现对整个BMC平台的可信度量的的程序块。因而,可信链度量单元133用于以BMC固件为可信度量根对BIOS等系统固件及整个BMC平台进行可信度量。

本实施例中,第一启动控制信息中的基板管理控制器110的设定信息为第一存储器为基板管理控制器110的预设启动存储器(第一顺位启动存储器)。当基板管理控制器110通过执行固件度量信息判定BMC固件为可信固件时,基板管理控制器110根据第一存储器120中的第一启动控制信息控制第二存储器130启动,即基板管理控制器110与第二存储器130建立连接。同时,基板管理控制器110可以根据第一启动控制信息直接载入并执行第二存储器130中获取并执行BMC固件。此时,由于基板管理控制器110默认的预设启动存储器即为第一存储器120,因此,基板管理控制器110执行该设定信息后,不会进行修改预设启动存储器的操作。基板管理控制器110可以直接执行BMC固件中的可信链度量信息,根据可信链度量信息对BIOS等系统固件进行可信度量,并利用可信链的传递实现对整个BMC平台的可信度量。其中,基板管理控制器110以BMC固件作为可信度量根对BIOS等系统固件进行可信度量的过程,其过程与根据CRTM对BMC固件进行可信度量的过程一致。

在另一个实施例中,如图3所示,BMC固件模块131进一步包括用于存储第二启动控制信息的第二启动单元132,此时BMC固件模块131包括可信链度量单元133和第二启动单元132。其中,第二启动控制信息可以为程序块,用于将BMC芯片的预设启动存储器(第一顺位启动存储器)设定为第一存储器120。本实施例中,BMC固件模块131及其内的第二启动单元132和可信链度量单元133可以是Flash、RAM(Random Access Memory,随机存取存储器)、DRAM(Dynamic Random Access Memory,动态随机存取存储器)等存储装置,也可以是存储装置的部分存储单元。

本实施例中,第一启动控制信息中的基板管理控制器110的设定信息可以为将第二存储器重设为基板管理控制器110的预设启动存储器(第一顺位启动存储器)。当基板管理控制器110通过执行固件度量信息判定BMC固件为可信固件时,基板管理控制器110根据第一存储器120中的第一启动控制信息控制第二存储器130启动,即基板管理控制器110与第二存储器130建立连接。同时,由于基板管理控制器110默认的预设启动存储器为第一存储器120,基板管理控制器110根据第一启动控制信息中的设定信息将基板管理控制器110的预设启动存储器从第一存储器120修改为第二存储器130,之后,基板管理控制器110重新启动。这样,重新启动后的基板管理控制器110的预设启动存储器即为第二存储器130。

由于基板管理控制器110已经判定第二存储器130中的BMC固件为可信固件,因此,重启后的基板管理控制器110可以直接读取并执行第二存储器130中的BMC固件。一方面,重启后的基板管理控制器110可以通过执行BMC固件中的可信链度量信息,根据可信链度量信息对BIOS等系统固件及整个BMC平台进行可信度量。另一方面,重启后的基板管理控制器110可以执行BMC固件中的第二启动控制信息,根据第二启动控制信息将基板管理控制器的预设启动存储器设定为第一存储器120,从而使得BMC芯片启动后始终优先执行第一存储器120中的CRTM,便于实现对整个BMC平台的可信度量,且结构简单,应用方便。其中,基板管理控制器110执行第二启动控制信息及可信链度量信息的顺序不做具体限定,也可以并行处理。

应当清楚的是,基板管理控制器110的预设启动存储器为基板管理控制器110启动后优先调用的存储器,也就是说,预设启动存储器为基板管理控制器110的第一顺位启动存储器。

在一个实施例中,当第一启动控制信息中的设定信息为将第二存储器130设置重设为预设启动存储器时,BMC固件中必须包含第二启动控制信息,即BMC固件模块131必须包含有第二启动单元132,以保证基板管理控制器110上电后优先执行第一存储器120中的CRTM。否则,在基板管理控制器110执行CRTM的固件度量信息对BMC固件度量的过程中,基板管理控制器110通过被度量的数据判定BMC固件中不包含第二启动控制信息时,即基板管理控制器判定BMC固件模块中不包含第二启动单元时,基板管理控制器110判定BMC固件的实际度量结果与预设度量结果不匹配,从而基板管理控制器110可以判定该BMC固件为不可信固件。此时,基板管理控制器110不执行第二存储器130中的BMC固件。

作为进一步地改进,当基板管理控制器110判定BMC固件为不可信固件时,例如,基板管理控制器110判定该BMC固件的实际度量结果与预设度量结果不匹配时,基板控制器控制BMC固件进行更新,并可以继续对更新后的BMC固件进行可信度量。

本实用新型的基于BMC平台的可信度量装置,通过将可信度量根的核心存储于第一存储器中,并将第一存储器设置为只读存储器,从而可以保证可信度量根的核心为不可改变的,保证可信度量的可靠性,同时将可更新的BMC固件存储与第二存储器中,从而解决了CRTM与BMC固件的更新存在冲突的问题;并且,基板管理控制器本身能够主动对BMC固件进行可信度量,进而使该基板管理控制器可以作为可信度量根以实现整个计算机装置的可信度量,不需额外连接TPM、TPCM等简化电路结构,且成本较低。

以上所述实施例仅表达了本实用新型的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本实用新型专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本实用新型构思的前提下,还可以做出若干变形和改进,这些都属于本实用新型的保护范围。因此,本实用新型专利的保护范围应以所附权利要求为准。

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