基于可信BMC的服务器安全启动方法与流程

文档序号:13282792阅读:1068来源:国知局
基于可信BMC的服务器安全启动方法与流程

本发明涉及计算机安全技术领域,特别涉及一种基于可信bmc的服务器安全启动方法。



背景技术:

服务器中有专用的可编程逻辑器件(complexprogrammablelogicdevice简称cpld),用于服务器上电时序的控制。基本输入输出系统(basicinput/outputsystem,简称bios)用于初始化硬件、管理硬件资源、屏蔽平台特性、引导操作系统,是连接计算机基础硬件和系统软件的桥梁。bios也拥有对计算机硬件的访问和控制能力,一旦被破坏或篡改,将带来极大的安全威胁。通常情况下,cpld的上电时序一般先启动bmc,待bmc运行正常后,再给bios上电,完成操作系统启动。若cpld的固件被破坏或改写,将可以绕过bmc,直接给bios上电,完成宿主操作系统的启动。

基板管理控制器(baseboardmanagementcontroller,简称bmc),是部署于服务器主板上的具有独立供电、独立i/o接口的控制单元,具有远程访问服务器的能力,可以实现远程监控服务器运行状态、远程电源管理、kvmoverip等功能。bmc包括硬件芯片和固件软件两个部分,其软件存在被篡改的风险。

目前的基于bmc对服务器的安全启动保护方法主要包括:(1)将服务器视为台式计算机,通过可信密码模块对其进行保护。但是,该类方法忽略了对cpld和bmc的安全保护。(2)将bmc视为一个独立的嵌入式系统,通过可信密码模块对bmc固件进行完整性度量,忽略了cpld的保护以及对整个主板上电时序的控制。(3)仅在bmc的引导程序中部署了完整性度量模块,忽略了对引导程序本身的保护,仍然存在安全隐患。(4)将bmc视为一个嵌入式系统,在引导程序、系统层中部署了较为复杂的软件栈,系统复杂性过高、系统开销过大。(5)主板上部署的可信密码模块不能被bmc固件调用,缺乏为bmc提供可信度量、加密等安全功能支撑。可见,由于主板上的可信密码模块接口不一,无法保证bmc能够具有对不同类型的可信密码模块都具有安全接口的调用能力。



技术实现要素:

基于此,有必要提供一种提高安全性能的基于可信bmc的服务器安全启动方法。

一种基于可信bmc的服务器安全启动方法,包括:

在服务器上电后,对cpld进行可信度量,若所述cpld正确,则进入下一步骤,否则对所述cpld进行恢复;

在确认所述cpld正确无误后,对bmc上电,对所述bmc的引导程序进行可信度量,若所述引导程序正确,则进入下一步骤,否则对所述bmc的引导程序进行恢复;

在确认所述bmc的引导程序无误后,对所述bmc的操作系统镜像进行可信度量,若所述bmc的操作系统镜像无误,则启动所述bmc的内部操作系统;

在所述bmc正常运行后,对bios进行可信度量,若bios无误,则进入下一步骤,否则对bios进行恢复;

对服务器进行可信度量;

对核心软件进行可信度量,在确认无误后建立信任链,完成服务器安全启动。

在其中一个实施例中,在对cpld进行可信度量前,还包括:可信密码模块进行自检,确定所述可信密码模块是否工作正常,若所述可信密码模块处于正常工作状态,则进入对所述cpld进行可信度量步骤,否则报警并关机。

在其中一个实施例中,所述对cpld进行可信度量为:

采用所述可信密码模块对所述cpld中的代码进行完整性度量,确定所述cpld是否正确,并将所述cpld度量结果存储于所述可信密码模块,若所述cpld正确,则进入下一步骤,否则对所述cpld进行恢复。

在其中一个实施例中,所述bmc的操作系统中包括可信度量代理和可信策略管理模块,所述可信度量代理根据所述可信策略管理模块中的用户配置策略,通过所述可信策略管理模块控制所述bmc的引导程序、所述bmc的操作系统镜像及所述bios的可信度量的度量顺序。

在其中一个实施例中,所述bmc的引导程序、所述bmc的操作系统镜像及所述bios的可信度量的度量顺序为:

通过所述可信密码模块对所述bmc的引导程序及所述bmc的操作系统镜像进修可信度量,再对所述bios进行可信度量;

通过所述可信密码模块对所述bmc的引导程序及所述bmc的操作系统镜像进修可信度量,再通过所述bmc调用可信密码模块接口,由所述bmc对bios进行可信度量。

在其中一个实施例中,通过两个可信密码模块分别对所述bmc及所述bios主动进行可信度量。

在其中一个实施例中,所述对服务器进行可信度量为:

所述bios通过调用可信密码模块的接口对服务器的关键设备进行度量,防止所述服务器被非授权替换或植入木马。

在其中一个实施例中,所述对核心软件进行可信度量为:

所述bios通过调用可信密码模块的接口对操作系统引导器、操作系统内核和操作系统关键文件进行度量。

在其中一个实施例中,在所述bmc引导程序中嵌入可信度量模块,通过所述可信度量模块驱动所述可信密码模块,对所述bmc的操作系统镜像进行可信度量。

在其中一个实施例中,所述bios中内置有可信度量模块,对操作系统进行完整性度量。

在上述基于可信bmc的服务器安全启动方法中,不仅能够通过可信密码模块保护bmc固件,并且能够对cpld进行保护。能够通过可信密码模块对bmc引导程序的完整性进行度量,能够提供对引导程序中部署的完整性度量模块进行保护,将服务器的安全启动涉及的主要部件视为一个整体,能够通过可信密码模块对cpld、bmc、bios进行保护,完成安全有序的服务器启动过程。

附图说明

图1为一实施方式基于可信bmc的服务器安全启动方法流程图;

图2为一实施方式基于可信bmc的服务器安全启动方法的服务器总体框架图;

图3为一实施方式基于可信bmc的服务器安全启动方法的终端管理驱动模块和客户端主程序流程图;

图4为一实施方式基于可信bmc的服务器安全启动方法的示意图;

图5为另一实施方式基于可信bmc的服务器安全启动方法的示意图。

具体实施方式

下面结合实施方式及附图,对基于可信bmc的服务器安全启动方法作进一步的详细说明。

请参阅图1,一实施方式的基于可信bmc的服务器安全启动方法,包括步骤:

s110、在服务器上电后,对cpld进行可信度量,若cpld正确,则进入下一步骤,否则对cpld进行恢复。

请参阅图2和3,在一实施方式中,采用可信密码模块对cpld中的代码进行完整性度量,确定cpld是否正确,并将cpld度量结果存储于可信密码模块。若cpld正确,则转入步骤s120,否则对cpld进行恢复。

具体地,可信密码模块包括tpm、tcm、tpcm等具有可信计算功能的软/硬件模块。该模块能够至少在上电、开机、系统运行的三个阶段完成可信计算任务。

具体地,在本实施例中,采用可信密码模块对cpld中的代码进行完整性度量,确定cpld是否正确,并将cpld度量结果存储于可信密码模块,若cpld正确,则进入下一步骤,否则对cpld进行恢复。

在一实施方式中,在对cpld进行可信度量前,还包括可信密码模块的自检步骤,可信密码模块对自身进行自检,确定是否工作正常,若其处于正常工作状态,则进入对cpld进行可信度量步骤,否则报警并关机。

s120、在确认cpld正确无误后,对bmc上电,对bmc的引导程序进行可信度量,若引导程序正确,则进入下一步骤,否则对bmc的引导程序进行恢复。

请参阅图4和图5,在一实施方式中,在bmc的操作系统中包括可信度量代理和可信策略管理模块,可信度量代理根据可信策略管理模块中的用户配置策略,通过可信策略管理模块控制bmc的引导程序、bmc的操作系统镜像及bios的可信度量的度量顺序。

具体地,在一实施方式中,bmc的引导程序、bmc的操作系统镜像及bios的可信度量的度量顺序为:通过可信密码模块对先对bmc的引导程序及bmc的操作系统镜像进修可信度量,再对bios进行可信度量。在另一实施方式中,bmc的引导程序、bmc的操作系统镜像及bios的可信度量的度量顺序为:通过可信密码模块对先对bmc的引导程序及bmc的操作系统镜像进修可信度量,再通过bmc调用可信密码模块接口,由bmc对bios进行可信度量。

在一实施方式中,在bmc引导程序中嵌入可信度量模块,可对操作系统进行完整性度量。仅当操作系统验证无误时,bios才会引导操作系统启动。通过可信度量模块驱动可信密码模块驱动,对bmc的操作系统镜像进行可信度量。在普通bmc中引入了可信计算机制,通过可信密码模块对bmc引导程序提供保护,保证bmc引导程序的安全性。并且,在bmc引导程序中嵌入了具有可信功能的可信度量模块,通过该模块驱动可信密码模块,对bmc内置的操作系统镜像进行度量。而后,在bmc正常运行后,将通过内置的可信策略管理模块,根据可信密码模块的配置情况决定如何实现对bios进行可信度量。可信bmc是服务器的核心,并执行了相应的调用。在bmc中内置了可信策略管理模块,能够根据用户实际需求对可信策略进行配置。

在本实施例中,可信密码模块对bmc的引导程序进行度量。可信密码模块将获取bmc引导程序镜像,进行杂凑计算,与预先存储于可信密码模块的bmc预期值进行计算。若其引导程序正确,则转入下一步骤,否则对bmc引导程序进行恢复。

s130、在确认bmc的引导程序无误后,对bmc的操作系统镜像进行可信度量,若bmc的操作系统镜像无误,则启动bmc的内部操作系统;

在一实施方式中,在bmc引导程序中内置了可信度量模块,通过可信密码模块对bmc的操作系统镜像进行度量。若操作系统正常,则转入步骤s140,否则对bmc镜像进行恢复。

在本实施例中,bmc引导程序(如u-boot)在运行时将加载内置的可信度量模块,通过调用可信密码模块的杂凑运算、数据比对等接口,对bmc的操作系统镜像进行度量。若操作系统正常,则转入下一步骤,否则对bmc镜像进行恢复。

在本实施例中,bmc对操作系统内核进行解压,并运行可信策略管理模块,确定当前的可信度量策略,并交由可信度量代理通过可信密码模块对系统文件和关键配置信息进行度量。确定无误后,完成bmc的启动。

s140、在bmc正常运行后,对bios进行可信度量,若bios无误,则进入下一步骤,否则对bios进行恢复。

在一实施方式中,bios内置有可信度量模块,对操作系统进行完整性度量。

在一实施方式中,在主板中部署一个可信密码模块。此时,可以通过可信策略管理模块控制可信度量的先后顺序,具体地,可以通过可信密码模块对先对bmc度量,而后对bios进行度量;也可以先通过可信密码模块对先对bmc度量,而后通过bmc调用可信密码模块接口,由bmc对bios发起可信度量。

在另一实施方式中,在主板上有可能署两个可信密码模块的情况出现。此时,可以根据服务器可信策略管理模块拟定的策略,分别通过两个可信密码模块对bios和bmc进行主动度量。

在本实施例中,bmc将对bios镜像进行度量。通过调用可信密码模块的接口,获取bios镜像,并进行可信度量。若bios正确,则转入下一步骤。

s150、对服务器进行可信度量;

在一实施方式中,bios通过调用可信密码模块的接口对服务器的关键设备进行度量,防止服务器被非授权替换或植入木马。

关键部位可以为硬盘、显卡、网卡等关键设备。

s160、对核心软件进行可信度量,在确认无误后建立信任链,完成服务器安全启动。

在一实施方式中,bios对核心软件进行度量。bios通过调用可信密码模块的接口,对操作系统引导器、操作系统内核和操作系统关键文件进行度量,建立信任链,完成服务器安全启动。

在上述基于可信bmc的服务器安全启动方法中,不仅能够通过可信密码模块保护bmc固件,并且能够对cpld和上电时序进行保护。能够通过可信密码模块对bmc引导程序的完整性进行度量,能够提供对引导程序中部署的完整性度量模块进行保护,将服务器的安全启动涉及的主要部件视为一个整体,能够通过可信密码模块对cpld、bmc、bios进行保护,完成安全有序的服务器启动过程。

上述基于可信bmc的服务器安全启动方法将bmc固件分为引导程序、关键配置信息、操作系统压缩文件、系统文件压缩镜像四个部分。通过引导程序中内置可信度量模块、在操作系统内核部署可信度量代理完成分层、分阶段的完整性度量,提升了可信度量的效率。上述基于可信bmc的服务器安全启动方法在bmc中内置了可信策略管理模块,能够根据可信密码模块的配置情况,通过bmc对bios进行可信度量,或通过可信密码模块完成对bios的度量。

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

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