CN112114908A - 硬件平台及其启动方法、装置和电子设备 - Google Patents
硬件平台及其启动方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112114908A CN112114908A CN202011312668.1A CN202011312668A CN112114908A CN 112114908 A CN112114908 A CN 112114908A CN 202011312668 A CN202011312668 A CN 202011312668A CN 112114908 A CN112114908 A CN 112114908A
- Authority
- CN
- China
- Prior art keywords
- firmware
- mode
- bmc
- bios
- hardware platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012795 verification Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 28
- 230000002159 abnormal effect Effects 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 13
- 238000011084 recovery Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 12
- 238000012423 maintenance Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本说明书公开了一种硬件平台及其启动方法、装置和电子设备,所述硬件平台包括信任根ROT安全芯片、主板控制器BMC固件和基本输入输出系统BIOS固件,BMC固件包含常规模式的BMC固件和安全模式的BMC固件,BIOS固件包含常规模式的BIOS固件和安全模式的BIOS固件,其中:ROT安全芯片分别与BMC固件和所述BIOS固件连接,以对BMC固件和BIOS固件进行安全校验;安全模式的BMC固件存储于BMC固件的只读区域,且功能和权限小于常规模式的BMC固件;安全模式的BIOS固件存储于BIOS固件的只读区域,且功能和权限小于常规模式的BIOS固件;安全模式的BIOS固件和安全模式的BMC固件在常规模式的BIOS固件和/或常规模式的BMC固件出现异常时加载安全操作系统以使得硬件平台进入启动流程。
Description
技术领域
本文件涉及计算机技术领域,尤其涉及一种硬件平台及其启动方法、装置和电子设备。
背景技术
近年来,大量的研究表明越来越多的攻击聚焦于硬件平台的固件上,主要集中在对固件内容的非法修改方面。而硬件层面的固件入侵威胁通常更隐蔽和顽固,例如针对特定企业的供应链攻击、针对特定机器的攻击、利用启动管理命令实现启动路径修改攻击等恶意攻击威胁,由于不再局限于操作系统层的渗透范畴,因此这些硬件层面的固件入侵威胁通常可以有效绕过常规监控策略。
目前,越来越多的硬件厂商开始构建无法被篡改的信任根(Root of Trust,ROT),用于在硬件平台启动时,对所需要执行的固件进行合法性校验,并在这些固件校验通过后才释放原始的开机或重启信号,使得固件被正常加载并启动;而如果这些固件中的一个或多个没有校验通过,则无法正常启动硬件平台。因此,如何在硬件平台中的固件的安全校验出现问题时,正常启动硬件平台,仍然需要提供进一步的解决方案。
发明内容
本说明书实施例提供了一种硬件平台及其启动方法、装置和电子设备,以解决现有技术中硬件平台中的固件的安全校验出现问题时,无法正常启动硬件平台的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种硬件平台,包括信任根ROT安全芯片、主板控制器BMC固件和基本输入输出系统BIOS固件,所述BMC固件包含常规模式的BMC固件和安全模式的BMC固件,所述BIOS固件包含常规模式的BIOS固件和安全模式的BIOS固件,其中:
所述ROT安全芯片分别与所述BMC固件和所述BIOS固件连接,以对所述BMC固件和所述BIOS固件进行安全校验;
所述安全模式的BMC固件存储于BMC固件的只读区域,且功能和权限小于所述常规模式的BMC固件;
所述安全模式的BIOS固件存储于BIOS固件的只读区域,且功能和权限小于所述常规模式的BIOS固件;
所述安全模式的BIOS固件和所述安全模式的BMC固件在所述常规模式的BIOS固件和/或所述常规模式的BMC固件出现异常时加载安全操作系统以使得所述硬件平台进入启动流程。
第二方面,提出了一种硬件平台的启动方法,所述方法应用于第一方面所述的硬件平台,包括:
在硬件平台启动之前,分别对所述常规模式的BMC固件和所述常规模式的BIOS固件进行安全校验;
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
第三方面,提出了一种硬件平台的启动装置,包括:
安全校验模块,在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验;
安全模式加载模块,如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
硬件平台启动模块,在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
第四方面,提出了一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验;
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
第五方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验;
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
本说明书实施例采用上述技术方案至少可以达到下述技术效果:
本说明书实施例提供的硬件平台包括信任根ROT安全芯片、主板控制器BMC固件和基本输入输出系统BIOS固件,该ROT安全芯片分别与BMC固件和BIOS固件连接,以对BMC固件和BIOS固件进行安全校验,BMC固件包括常规模式的BMC固件和安全模式的BMC固件,BIOS固件包括常规模式的BIOS固件和安全模式的BIOS固件。由于安全模式的BMC固件的功能和权限均小于常规模式的BMC固件,且安全模式的BIOS固件的功能和权限也小于常规模式的BIOS固件,因此,在常规模式的BMC固件或BIOS固件出现异常时,可通过加载安全模式的BMC固件和安全模式的BIOS固件中安全操作系统来使得硬件平台进行启动流程,从而在硬件平台底层规避了固件异常的风险,同时保障了硬件平台能够在固件异常时仍能进入启动流程。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本文件,并不构成对本说明书的不当限定。在附图中:
图1为本说明书一个实施例提供的一种硬件平台的结构示意图;
图2为本说明书一个实施例提供的硬件平台的启动过程中所需校验的对象的示意图;
图3为本说明书一个实施例提供的一种硬件平台的启动方法的实现流程示意图;
图4为本说明书一个实施例提供的硬件平台的启动方法应用于实际场景中的实现流程示意图;
图5为本说明书一个实施例提供的硬件平台的启动装置的结构示意图;
图6为本说明书一个实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本文件的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文件保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
如背景技术中所述,作为硬件平台的信任根(Root of Trust,ROT)安全芯片,在硬件平台启动时,可以对硬件平台中的基本输入输出系统(Basic Input/Output System,BIOS)、主板管理控制器(Baseboard Management Controller,BMC)固件的合法性通过签名等安全校验方式进行安全校验,如果安全校验通过,则可以释放原始的开机/重启信号,硬件平台中的BIOS固件和BMC固件则可以被正常加载并执行启动操作;而如果安全校验不通过,硬件平台的上电信号则会被拉住,硬件平台启动失败。
目前,这种启动方案虽然能够有效地保护硬件平台,避免非法修改的硬件设备具备可用的目的,然而这在硬件平台的日常运维仍然存在如下问题:问题1,如果安全校验不通过,硬件平台则无法正常上电以及启动,此时硬件平台则处于“变砖”状态,也就无法获取数据中心的设备等运维系统中的其它设备发出的调试信息,进而无法进行告警和固件恢复,而如果批量硬件设备都出现这类情况则会带来较大事故而不被感知;问题2,如果是ROT安全芯片本身等其它原因导致出现了异常,硬件平台也无法正常上电并启动。
为解决现有技术中硬件平台中的固件的安全校验出现异常时,无法正常启动硬件平台的问题,本说明书实施例提供一种硬件平台,包括信任根ROT安全芯片、主板控制器BMC固件和基本输入输出系统BIOS固件,该ROT安全芯片分别与BMC固件和BIOS固件连接,以对BMC固件和BIOS固件进行安全校验,BMC固件包括常规模式的BMC固件和安全模式的BMC固件,BIOS固件包括常规模式的BIOS固件和安全模式的BIOS固件。由于安全模式的BMC固件的功能和权限均小于常规模式的BMC固件,且安全模式的BIOS固件的功能和权限也小于常规模式的BIOS固件,因此,在常规模式的BMC固件或BIOS固件出现异常时,可通过加载安全模式的BMC固件和安全模式的BIOS固件中安全操作系统来使得硬件平台进行启动流程,从而在硬件平台底层规避了固件异常的风险,同时保障了硬件平台能够在固件异常时仍能进入启动流程。
如图1所示,为本说明书实施例提供的硬件平台的结构示意图,包括ROT安全芯片、BMC固件和BIOS固件,BMC固件包含常规模式的BMC固件和安全模式的BMC固件,BIOS固件包含常规模式的BIOS固件和安全模式的BIOS固件,其中:
ROT安全芯片分别与BMC固件和BIOS固件连接,以对BMC固件和BIOS固件进行安全校验;
安全模式的BMC固件存储于BMC固件的只读区域,且功能和权限小于常规模式的BMC固件;
安全模式的BIOS固件存储于BIOS固件的只读区域,且功能和权限小于常规模式的BIOS固件;
安全模式的BIOS固件和安全模式的BMC固件在常规模式的BIOS固件和/或常规模式的BMC固件出现异常时加载安全操作系统以使得硬件平台进入启动流程。
在图1中,本说明书实施例提供的硬件平台除了包括ROT安全芯片、BMC固件和BIOS固件以外,还包括中央处理器(CPU,central processing unit)模块、BMC模块和复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)模块。其中,CPU模块用于加载BIOS固件中的代码、以及在硬件平台启动之后执行BIOS固件中的代码;BMC模块相当于一个小型的CPU,用于加载BMC固件中的代码、以及在硬件平台启动之后执行BMC固件中的代码。
CPLD模块用于在ROT安全芯片对常规模式的BIOS固件和常规模式的BMC固件校验通过之后,将ROT安全芯片的校验通过信号(即上电信号)传递给CPU模块和BMC模块,使得CPU模块能够正常加载常规模式的BIOS固件、以及BMC模块能够正常加载常规模式的BMC固件中的代码,进而使得常规模式的BIOS固件和常规模式的BMC固件能够正常工作;CPLD模块还用于在ROT安全芯片对常规模式的BIOS固件和常规模式的BMC固件校验不通过时,将ROT安全芯片的校验不通过信号(即安全模式下的上电信号)传递给CPU模块和BMC模块,使得CPU模块能够加载安全模式的BIOS固件、以及BMC模块能够加载安全模式的BMC固件中的代码,进而使得安全模式的BIOS固件和安全模式的BMC固件工作,从而使得硬件平台进入启动流程。
应理解,在本说明书实施例中,安全模式的BMC固件和安全模式的BIOS固件中加载的安全操作系统,用于在对常规模式的BMC固件或常规模式的BIOS固件的安全校验不通过的情况下,使得硬件平台能够进入启动流程并具备最高安全性的操作系统。该安全操作系统出于安全的考虑,通常只保留一些能够保证硬件平台进入启动流程的基础功能,而一些影响安全的功能(比如远程启动功能、读写功能等)则被裁减掉或禁止。也就是说,安全操作系统是具备使硬件平台进入启动流程的功能模块且不具备影响系统安全的功能模块的操作系统。最精简的情况,安全操作系统可以只具备能够使硬件平台进入启动流程的功能。
其中,BMC固件包含常规模式的BMC固件和安全模式的BMC固件,在实际应用中可包括两种情况:情况1,常规模式的BMC固件和安全模式的BMC固件在形式上为两个单独的固件芯片;情况2,常规模式的BMC固件和安全模式的固件也可以由BMC固件中隔离的两个区域来实现,比如具备64M存储空间的BMC固件,该BMC固件的前32M的存储空间用于放置常规模式的BMC固件的代码,该BMC固件的后32M的存储空间用于放置安全模式的BMC固件的代码,ROT安全芯片可基于常规模式的BMC固件的地址和安全模式的BMC固件的地址来分别访问常规模式的BMC固件的代码和安全模式的BMC固件的代码。
与此相对应地,BIOS固件包含常规模式的BIOS固件和安全模式的BIOS固件,在实际应用中也可包括两种情况:情况1,常规模式的BIOS固件和安全模式的BIOS固件在形式上为两个单独的固件芯片;情况2,常规模式的BIOS固件和安全模式的固件也可以由BIOS固件中隔离的两个区域来实现,比如具备64M存储空间的BIOS固件,该BIOS固件的前32M的存储空间用于放置常规模式的BIOS固件的代码,该BIOS固件的后32M的存储空间用于放置安全模式的BIOS固件的代码,ROT安全芯片可基于常规模式的BIOS固件的地址和安全模式的BIOS固件的地址来分别访问常规模式的BIOS固件的代码和安全模式的BIOS固件的代码。
如图2所示,为本说明书实施例提供的硬件平台的启动过程中所需校验的对象的示意图。在图2中,硬件平台在启动之前通常需要由ROT安全芯片对BMC固件和BIOS固件进行安全校验(即ROT校验范畴),此时硬件平台中的CPU处于不工作的状态;在硬件平台启动之后,硬件平台中的CPU开始工作,此时进入全员生产维护(Total Productive Maintenance,TPM)度量范畴,逐次进行BIOS度量、Bootloader(启动装载)度量、Kernel(实时操作系统)度量和整机应用度量。由图2可知,在硬件平台启动之前,BMC固件和BIOS固件如果没有通过安全校验,则会影响硬件平台的正常启动流程。
本说明书实施例为了减少BMC固件和BIOS固件没有通过安全校验时对硬件平台的启动流程的影响,不仅额外增加安全模式的BMC固件和安全模式的BIOS固件,还为安全模式的BMC固件和安全模式的BIOS固件设置受限的功能和权限。应理解,常规模式的BMC固件和常规模式的BIOS固件通常应具备硬件平台正常启动时的所有完整的功能和权限。可选地,常规模式的BIOS固件存储于BIOS固件的可读写区域;
常规模式的BMC固件存储于BMC固件的可读写区域。
此外,常规模式的BIOS固件和常规模式的BIOS固件还可具备完整的驱动加载权限和功能。
而安全模式的BMC固件和安全模式的BIOS固件由于是在常规模式的BIOS固件和常规模式的BIOS固件出现安全校验问题时加载的,在实际应用中则会出于安全考虑做如下设计:比如安全模式的BMC固件和安全模式的BIOS固件均只存储于只读区域,安全模式的BMC固件和安全模式的BIOS固件只具备基础的硬件初始化功能,比如CPU、内存、网卡和ROT芯片的初始化功能和受限的驱动加载(比如仅允许网卡驱动可加载,某一块的读写驱动可加载,运程启动受限加载)等;此外,为了保障加载安全模式的BMC固件和安全模式的BIOS固件仍能使得硬件平台进入启动流程,安全模式的BMC固件和安全模式的BIOS固件还可支持加载一个嵌入式的安全操作系统,以保障最小化的接口仅限操作系统层面的特定工具(如固件刷新工具)可用。
本说明书实施例提供的硬件平台在实际应用中可以是电脑、服务器等能够被配置为执行本发明实施例提供的该方法的硬件平台中的至少一种。
具体地,本说明书一个或多个实施例提供的一种硬件平台的启动方法的实现流程示意图如图3所示,包括:
步骤310,在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验。
应理解,为了保障硬件平台不被恶意攻击,在硬件平台启动之前需要对常规模式的BMC固件和常规模式的BIOS固件进行安全校验,该安全校验方法在实际应用中可有多种,比如可以分别对常规模式的BMC固件和常规模式的BIOS固件进行签名,如果通过本地公钥对常规模式的BMC固件和常规模式的BIOS固件中的任意一个签名进行解密得到的待校验信息与预留的信息不一致,则可确定对常规模式的BMC固件和常规模式的BIOS固件的安全校验不通过。
可选地,在实际应用中,可通过内置在硬件平台中的ROT安全芯片对常规模式的BMC固件和常规模式的BIOS固件进行安全校验,具体地,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验,包括:
通过内置在硬件平台中的ROT安全芯片,分别获取常规模式的BMC固件和常规模式的BIOS固件中的待校验信息;
通过内置在硬件平台中的ROT安全芯片,分别对常规模式的BMC固件和常规模式的BIOS固件中的待校验信息进行安全校验。
步骤320,如果常规模式的BMC固件和/或常规模式的BIOS固件未通过安全校验,则加载安全模式的BMC固件和安全模式的BIOS固件。
可选地,如果常规模式的BMC固件和/或常规模式的BIOS固件未通过安全校验,则加载安全模式的BMC固件和安全模式的BIOS固件,包括:
如果常规模式的BMC固件和/或常规模式的BIOS固件中的待校验信息,在预设时间段内未通过安全校验,则释放硬件平台的启动信号;
在释放硬件平台的启动信号之后,加载安全模式的BMC固件和安全模式的BIOS固件。
比如,可以通过硬件平台中的CPLD检测到常规模式的BMC固件和/或常规模式的BIOS固件中的待校验信息,在预设时间段内未通过安全校验,即出现超时现象。
可选地,在实际应用中,也可能存在ROT安全芯片本身存在一些问题而导致常规模式的BMC固件和/或常规模式的BIOS固件不能通过安全校验。具体地,通过内置在硬件平台中的信任根ROT安全芯片,分别获取常规模式的BMC固件和常规模式的BIOS固件中的待校验信息之后,本说明书实施例提供的方法还包括:
如果检测到ROT安全芯片的针脚的信号出现异常变化,则释放硬件平台的启动信号;
在释放硬件平台的启动信号之后,加载安全模式的BMC固件式和安全模式的BIOS固件。
比如,可以通过硬件平台中的CPLD检测到ROT安全芯片的针脚的信号出现突然的信号跳变(比如从0变为1或者1变为0)等异常变化情况。
步骤330,在加载安全模式的BMC固件和安全模式的BIOS固件之后,启动硬件平台。
可选地,当检测到常规模式的BMC固件和BIOS常规模式的固件中的任意一个固件出现安全校验的问题(即安全校验不通过)时,为了及时报告这一情况以对其进行处理,以免影响硬件平台启动之后对其他固件的影响,在启动硬件平台之后,本说明书实施例提供的方法还包括:
获取常规模式的BMC固件和/或BIOS常规模式的固件中的待校验信息的超时校验记录;
基于常规模式的BMC固件和/或常规模式的BIOS固件中的待校验信息的超时校验记录,执行硬件平台的告警流程。
可选地,当检测到ROT安全芯片的针脚的信号出现突然的信号跳变(比如从0变为1或者1变为0)等异常变化情况时,为了及时对这一情况进行处理,以免影响硬件平台启动之后对其他固件的影响,在启动硬件平台之后,本说明书实施例提供的方法还包括:
获取ROT安全芯片的针脚的信号的异常变化情况;
基于ROT安全芯片的针脚的信号的异常变化情况,执行硬件平台的告警流程。
如图4为本说明书实施例提供的硬件平台的启动方法应用于实际场景中的实现流程示意图。在图4(a)中,当ROT安全芯片对常规模式的BMC固件和常规模式的BIOS固件校验通过时,则可释放硬件平台的启动信号,进而进入TPM度量启动流程,再依次进行接入运维管控系统和接入远程证明服务以及硬件平台可信注册流程。
在图4(b)中,当ROT安全芯片对常规模式的BMC固件和常规模式的BIOS固件校验不通过时,可通过ROT安全芯片修改初始跳转代码,再释放硬件平台的启动信号,此时加载安全模式的BMC固件和安全模式的BIOS固件,然后进入硬件平台启动流程,最后接入运维管控系统。在接入运维管控系统之后,可选择进入告警流程或者进入固件恢复流程,对固件进行恢复,再重新进入固件校验和启动硬件平台的流程。
本说明书实施例提供的硬件平台包括信任根ROT安全芯片、主板控制器BMC固件和基本输入输出系统BIOS固件,该ROT安全芯片分别与BMC固件和BIOS固件连接,该ROT安全芯片用于对BMC固件和BIOS固件进行安全校验,BMC固件包括常规模式的BMC固件和安全模式的BMC固件,BIOS固件包括常规模式的BIOS固件和安全模式的BIOS固件。由于常规模式的BMC固件和常规模式的BIOS固件具备完整的功能和权限,安全模式的BMC固件和安全模式的BIOS固件具备受限的功能和权限,因此,在常规模式的BMC固件或BIOS固件出现异常时,可通过加载安全模式的BMC固件和安全模式的BIOS固件中安全操作系统来使得硬件平台进行启动流程,从而在硬件平台底层规避了固件异常的风险,同时保障了硬件平台能够在固件异常时仍能被正常启动。
图5是本说明书提供的硬件平台的启动装置500的结构示意图。请参考图5,在一种软件实施方式中,硬件平台的启动装置500可包括安全校验模块501、安全模式加载模块502和硬件平台启动模块503,其中:
安全校验模块501,在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验;
安全模式加载模块502,如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
硬件平台启动模块503,在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
可选地,在一种实施方式中,所述安全校验模块501,用于:
通过内置在所述硬件平台中的信任根ROT安全芯片,分别获取所述常规模式的BMC固件和所述常规模式的BIOS固件中的待校验信息;
通过内置在所述硬件平台中的ROT安全芯片,分别对所述常规模式的BMC固件和所述常规模式的BIOS固件中的待校验信息进行安全校验。
可选地,在一种实施方式中,所述安全模式加载模块502,用于:
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件中的待校验信息,在预设时间段内未通过所述安全校验,则释放所述硬件平台的启动信号;
在释放所述硬件平台的启动信号之后,加载所述安全模式的BMC固件和所述安全模式的BIOS固件。
可选地,在一种实施方式中,所述安全校验模块501,用于:
如果检测到所述ROT安全芯片的针脚的信号出现异常变化,则释放所述硬件平台的启动信号;
在释放所述硬件平台的启动信号之后,加载所述安全模式的BMC固件式和所述安全模式的BIOS固件。
可选地,在一种实施方式中,在所述硬件平台启动模块503启动所述硬件平台之后,所述装置还包括:
第一获取模块,获取所述常规模式的BMC固件和/或所述BIOS常规模式的固件中的待校验信息的超时校验记录;
告警执行模块,基于所述常规模式的BMC固件和/或所述常规模式的BIOS固件中的待校验信息的超时校验记录,执行所述硬件平台的告警流程。
可选地,在一种实施方式中,在所述硬件平台启动模块503启动所述硬件平台之后,所述装置还包括:
第二获取模块,获取所述常规模式的BMC固件和/或所述常规模式的BIOS固件中的待校验信息的超时校验记录;
固件恢复模块,基于所述常规模式的BMC固件和/或所述常规模式的BIOS固件中的待校验信息的超时校验记录,执行所述硬件平台的固件恢复流程。
可选地,在一种实施方式中,在所述硬件平台启动模块503启动所述硬件平台之后,所述装置还包括:
第三获取模块,获取所述ROT安全芯片的针脚的信号的异常变化情况;
告警执行模块,基于所述ROT安全芯片的针脚的信号的异常变化情况,执行所述硬件平台的告警流程。
硬件平台的启动装置500能够实现图3~图4的方法实施例的方法,具体可参考图3~图4所示实施例的硬件平台的启动方法,不再赘述。
图6是本说明书的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成硬件平台的启动装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验;
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
上述如本说明书图3所示实施例揭示的硬件平台的启动方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图3的硬件平台的启动方法,本说明书在此不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图4所示实施例的方法,并具体用于执行以下操作:
在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验;
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (12)
1.一种硬件平台,包括信任根ROT安全芯片、主板控制器BMC固件和基本输入输出系统BIOS固件,所述BMC固件包含常规模式的BMC固件和安全模式的BMC固件,所述BIOS固件包含常规模式的BIOS固件和安全模式的BIOS固件,其中:
所述ROT安全芯片分别与所述BMC固件和所述BIOS固件连接,以对所述BMC固件和所述BIOS固件进行安全校验;
所述安全模式的BMC固件存储于BMC固件的只读区域,且功能和权限小于所述常规模式的BMC固件;
所述安全模式的BIOS固件存储于BIOS固件的只读区域,且功能和权限小于所述常规模式的BIOS固件;
所述安全模式的BIOS固件和所述安全模式的BMC固件在所述常规模式的BIOS固件和/或所述常规模式的BMC固件出现异常时加载安全操作系统以使得所述硬件平台进入启动流程。
2.如权利要求1所述的硬件平台,
所述常规模式的BIOS固件存储于BIOS固件的可读写区域;
所述常规模式的BMC固件存储于BMC固件的可读写区域。
3.一种硬件平台的启动方法,所述方法应用于权利要求1~2中任一所述的硬件平台,包括:
在硬件平台启动之前,分别对所述常规模式的BMC固件和所述常规模式的BIOS固件进行安全校验;
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
4.如权利要求3所述的方法,分别对所述常规模式的BMC固件和所述常规模式的BIOS固件进行安全校验,包括:
通过内置在所述硬件平台中的信任根ROT安全芯片,分别获取所述常规模式的BMC固件和所述常规模式的BIOS固件中的待校验信息;
通过内置在所述硬件平台中的ROT安全芯片,分别对所述常规模式的BMC固件和所述常规模式的BIOS固件中的待校验信息进行安全校验。
5.如权利要求4所述的方法,如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件,包括:
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件中的待校验信息,在预设时间段内未通过所述安全校验,则释放所述硬件平台的启动信号;
在释放所述硬件平台的启动信号之后,加载所述安全模式的BMC固件和所述安全模式的BIOS固件。
6.如权利要求4所述的方法,通过内置在所述硬件平台中的信任根ROT安全芯片,分别获取所述常规模式的BMC固件和所述常规模式的BIOS固件中的待校验信息之后,所述方法还包括:
如果检测到所述ROT安全芯片的针脚的信号出现异常变化,则释放所述硬件平台的启动信号;
在释放所述硬件平台的启动信号之后,加载所述安全模式的BMC固件式和所述安全模式的BIOS固件。
7.如权利要求5所述的方法,在启动所述硬件平台之后,所述方法还包括:
获取所述常规模式的BMC固件和/或所述BIOS常规模式的固件中的待校验信息的超时校验记录;
基于所述常规模式的BMC固件和/或所述常规模式的BIOS固件中的待校验信息的超时校验记录,执行所述硬件平台的告警流程。
8.如权利要求5所述的方法,在启动所述硬件平台之后,所述方法还包括:
获取所述常规模式的BMC固件和/或所述常规模式的BIOS固件中的待校验信息的超时校验记录;
基于所述常规模式的BMC固件和/或所述常规模式的BIOS固件中的待校验信息的超时校验记录,执行所述硬件平台的固件恢复流程。
9.如权利要求6所述的方法,在启动所述硬件平台之后,所述方法还包括:
获取所述ROT安全芯片的针脚的信号的异常变化情况;
基于所述ROT安全芯片的针脚的信号的异常变化情况,执行所述硬件平台的告警流程。
10.一种硬件平台的启动装置,包括:
安全校验模块,在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验;
安全模式加载模块,如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
硬件平台启动模块,在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
11.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
在硬件平台启动之前,分别对常规模式的BMC固件和常规模式的BIOS固件进行安全校验;
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
12.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
在硬件平台启动之前,分别对所述常规模式的BMC固件和所述常规模式的BIOS固件进行安全校验;
如果所述常规模式的BMC固件和/或所述常规模式的BIOS固件未通过所述安全校验,则加载所述安全模式的BMC固件和所述安全模式的BIOS固件;
在加载所述安全模式的BMC固件和所述安全模式的BIOS固件之后,启动所述硬件平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011312668.1A CN112114908A (zh) | 2020-11-20 | 2020-11-20 | 硬件平台及其启动方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011312668.1A CN112114908A (zh) | 2020-11-20 | 2020-11-20 | 硬件平台及其启动方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112114908A true CN112114908A (zh) | 2020-12-22 |
Family
ID=73794529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011312668.1A Pending CN112114908A (zh) | 2020-11-20 | 2020-11-20 | 硬件平台及其启动方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112114908A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4258146A4 (en) * | 2020-12-29 | 2024-05-01 | Huawei Technologies Co., Ltd. | COMPUTER SYSTEM, RELIABLE FUNCTIONAL ARRANGEMENT AND OPERATING METHODS |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850792A (zh) * | 2015-05-20 | 2015-08-19 | 浪潮电子信息产业股份有限公司 | 一种服务器信任链的构建方法和装置 |
CN107145788A (zh) * | 2017-05-10 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种具有访问控制功能的bmc可信配置方法 |
CN107451479A (zh) * | 2017-07-31 | 2017-12-08 | 浪潮(北京)电子信息产业有限公司 | 一种信任链的构建方法及系统 |
CN110197070A (zh) * | 2018-02-27 | 2019-09-03 | 其阳科技股份有限公司 | 具开机的可信验证与容错移转的计算机系统及方法 |
-
2020
- 2020-11-20 CN CN202011312668.1A patent/CN112114908A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850792A (zh) * | 2015-05-20 | 2015-08-19 | 浪潮电子信息产业股份有限公司 | 一种服务器信任链的构建方法和装置 |
CN107145788A (zh) * | 2017-05-10 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种具有访问控制功能的bmc可信配置方法 |
CN107451479A (zh) * | 2017-07-31 | 2017-12-08 | 浪潮(北京)电子信息产业有限公司 | 一种信任链的构建方法及系统 |
CN110197070A (zh) * | 2018-02-27 | 2019-09-03 | 其阳科技股份有限公司 | 具开机的可信验证与容错移转的计算机系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4258146A4 (en) * | 2020-12-29 | 2024-05-01 | Huawei Technologies Co., Ltd. | COMPUTER SYSTEM, RELIABLE FUNCTIONAL ARRANGEMENT AND OPERATING METHODS |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI643130B (zh) | 用於在uefi安全開機資料庫中自動註冊任選rom的系統以及方法 | |
JP5767751B2 (ja) | Biosを検証する方法、コンピューティングプラットフォーム、およびプログラム | |
US8028172B2 (en) | Systems and methods for updating a secure boot process on a computer with a hardware security module | |
US20090288161A1 (en) | Method for establishing a trusted running environment in the computer | |
US11194586B2 (en) | Secure boot override in a computing device equipped with unified-extensible firmware interface (UEFI)-compliant firmware | |
EP3522059B1 (en) | Perform security action based on inventory comparison | |
KR101618535B1 (ko) | 시스템 사전 부팅 동안 개선된 판독 전용 메모리 록킹을 이용하는 안전한 데이터 보호 | |
US7367062B2 (en) | Method for BIOS security of computer system | |
CN107729198B (zh) | 一种Android系统固件校验方法及装置 | |
EP3198399B1 (en) | Detecting a change to system management mode bios code | |
US10346179B2 (en) | Information processing apparatus, server apparatus, information processing system, control method, and computer program | |
CN110245495B (zh) | Bios校验方法、配置方法、设备及系统 | |
KR20080108526A (ko) | 제1 및 제2 처리 유닛을 포함하는 처리 장치, 이를 부팅하는 방법 및 이 방법을 수행하게 하도록 적응되는 컴퓨터 실행가능 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품 | |
US10853474B2 (en) | System shipment lock | |
US9262631B2 (en) | Embedded device and control method thereof | |
US9448888B2 (en) | Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank | |
CN102262574A (zh) | 操作系统启动保护方法和装置 | |
CN113448682B (zh) | 一种虚拟机监控器加载方法、装置及电子设备 | |
CN113467981A (zh) | 异常处理的方法和装置 | |
CN112613011B (zh) | U盘系统认证方法、装置、电子设备及存储介质 | |
WO2022077388A1 (zh) | 一种处理器的安全度量装置及方法 | |
CN112114908A (zh) | 硬件平台及其启动方法、装置和电子设备 | |
KR101013419B1 (ko) | 시스템 보호 장치 및 방법 | |
WO2020007249A1 (zh) | 一种操作系统安全主动防御方法及操作系统 | |
US20180226136A1 (en) | System management mode test operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201222 |