CN117785308A - 国产服务器启动方法、服务器、计算机设备及存储介质 - Google Patents
国产服务器启动方法、服务器、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117785308A CN117785308A CN202311848160.7A CN202311848160A CN117785308A CN 117785308 A CN117785308 A CN 117785308A CN 202311848160 A CN202311848160 A CN 202311848160A CN 117785308 A CN117785308 A CN 117785308A
- Authority
- CN
- China
- Prior art keywords
- trusted
- measurement
- control module
- platform control
- operating system
- 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 73
- 238000005259 measurement Methods 0.000 claims abstract description 249
- 230000006870 function Effects 0.000 claims description 40
- 238000012795 verification Methods 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 32
- 239000003795 chemical substances by application Substances 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000000758 substrate Substances 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000004927 fusion Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 239000008186 active pharmaceutical agent Substances 0.000 description 9
- 238000010276 construction Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- JBWKIWSBJXDJDT-UHFFFAOYSA-N triphenylmethyl chloride Chemical compound C=1C=CC=CC=1C(C=1C=CC=CC=1)(Cl)C1=CC=CC=C1 JBWKIWSBJXDJDT-UHFFFAOYSA-N 0.000 description 2
- 101100519158 Arabidopsis thaliana PCR2 gene Proteins 0.000 description 1
- 101100519160 Arabidopsis thaliana PCR4 gene Proteins 0.000 description 1
- 101100519161 Arabidopsis thaliana PCR5 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例提供了国产服务器启动方法、服务器、计算机设备及存储介质,是在防护部件中的可信平台控制模块可信根上电运行后,基于可信平台控制模块可信根依次对基板管理控制器功能核、基本输入输出系统、操作系统加载器及操作系统内核进行度量,且均度量成功后服务器中的计算部件上电启动。本申请在构建可信平台控制模块可信根时,将其作为一个可信核,然后在主机侧加入度量代理,与现有技术中安全模块的代码与BMC功能代码进行混合相比,能够实现双体系的防护架构,同时克服传统的BMC构建可信核中安全功能和业务功能融合带来的风险。
Description
技术领域
本申请涉及服务器技术领域,尤其涉及国产服务器启动方法、服务器、计算机设备及存储介质。
背景技术
基板管理控制器(英文全称是Baseboard Management Controller,简称为BMC)是服务器的重要单元,其利用虚拟的键盘、界面、鼠标、电源等为服务器提供远程管理功能,用户登录BMC的Web管理界面监视服务器的物理特征,如主板各部件的温度、电压、电源供应以及机箱入侵等。
BMC具有独立供电、独立I/O接口(即输入输出接口)的控制单元,无论服务器是否安装操作系统,是否开机,只要BMC上电就可以对服务器的运行状况进行监控。因此,在高安全性服务器中使用具有自我保护机制的可信BMC是可采用的方案。
近年来,由于国产芯片在性能上不断提升,处于对安全的考虑越来越多的国产服务器被应用。但是,目前对国产服务器BMC进行可信改造时,是在原有BMC功能代码中加入可信相关模块,同时安全模块的代码与BMC功能代码进行混合,一旦BMC代码出现问题,将会对安全模块产生威胁,导致服务器安全性出现问题。
发明内容
本申请实施例提供了国产服务器启动方法、服务器、计算机设备及存储介质,能够在构建可信平台控制模块可信根时,将其作为一个可信核,然后在主机侧加入度量代理,实现双体系的防护架构,同时克服传统的BMC构建可信核中安全功能和业务功能融合带来的风险。
第一方面,本申请实施例提供了一种国产服务器启动方法,应用于服务器,所述服务器包括计算部件和防护部件;所述防护部件包括基板管理控制器功能核和基板管理控制器可信核;所述计算部件包括基本输入输出系统、操作系统加载器和操作系统内核;所述基板管理控制器可信核包括可信平台控制模块可信根;所述国产服务器启动方法包括:
所述可信平台控制模块可信根上电运行;
所述可信平台控制模块可信根读取所述基板管理控制器功能核中的U-BOOT镜像并进行第一次度量校验,得到第一度量结果;
所述可信平台控制模块可信根在确定所述第一度量结果为度量通过结果,则对所述基本输入输出系统进行第二次度量校验,得到第二度量结果;
所述可信平台控制模块可信根在确定所述第二度量结果为度量通过结果,则对所述操作系统加载器进行第三次度量校验,得到第三度量结果;
所述可信平台控制模块可信根在确定所述第三度量结果为度量通过结果,则对所述操作系统内核进行第四次度量校验,得到第四度量结果;
所述计算部件在确定所述第四度量结果为度量通过结果,则上电启动。
第二方面,本申请实施例提供了一种服务器,其包括计算部件和防护部件;所述防护部件包括基板管理控制器功能核和基板管理控制器可信核;所述计算部件包括基本输入输出系统、操作系统加载器和操作系统内核;所述基板管理控制器可信核包括可信平台控制模块可信根;所述服务器用于执行上述第一方面的国产服务器启动方法。
第三方面,本申请实施例又提供了一种计算机设备,其包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面的国产服务器启动方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其中计算机可读存储介质存储有计算机程序,计算机程序当被处理器执行时使处理器执行上述第一方面的国产服务器启动方法。
本申请实施例提供了国产服务器启动方法、服务器、计算机设备及存储介质,方法包括:可信平台控制模块可信根上电运行;可信平台控制模块可信根读取基板管理控制器功能核中的U-BOOT镜像并进行第一次度量校验,得到第一度量结果;可信平台控制模块可信根在确定第一度量结果为度量通过结果,则对基本输入输出系统进行第二次度量校验,得到第二度量结果;可信平台控制模块可信根在确定第二度量结果为度量通过结果,则对操作系统加载器进行第三次度量校验,得到第三度量结果;可信平台控制模块可信根在确定第三度量结果为度量通过结果,则对操作系统内核进行第四次度量校验,得到第四度量结果;计算部件在确定第四度量结果为度量通过结果,则上电启动。本申请在构建可信平台控制模块可信根时,将其作为一个可信核,然后在主机侧加入度量代理,与现有技术中安全模块的代码与BMC功能代码进行混合相比,能够实现双体系的防护架构,同时克服传统的BMC构建可信核中安全功能和业务功能融合带来的风险。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的国产服务器启动方法的应用场景示意图;
图2为本申请实施例提供的国产服务器启动方法的流程示意图;
图3为本申请实施例提供的国产服务器启动方法中BMC固件的架构示意图;
图4为本申请实施例提供的国产服务器启动方法的子流程示意图;
图5为本申请实施例提供的国产服务器启动方法的另一子流程示意图;
图6为本申请实施例提供的国产服务器启动方法的另一子流程示意图;
图7为本申请实施例提供的国产服务器启动方法的另一子流程示意图;
图8为本申请实施例提供的国产服务器启动方法中信任链的完整模型构建示意图;
图9为本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请同时参阅图1,图1为本申请实施例提供的国产服务器启动方法的应用场景示意图,图2为本申请实施例提供的国产服务器启动方法的流程示意图。如图1所示,该国产服务器启动方法应用于服务器10,在服务器10中包括计算部件11和防护部件12;所述防护部件12包括基板管理控制器功能核121和基板管理控制器可信核122;所述计算部件11包括基本输入输出系统111、操作系统加载器112和操作系统内核113;所述基板管理控制器可信核122包括可信平台控制模块可信根1221。如图2所示,该国产服务器启动方法具体包括下述步骤S110-S160。
S110、可信平台控制模块可信根上电运行。
在本实施例中,可信平台控制模块可信根1221可以视为一个基板管理控制器(即BMC)和可信密码模块(Trusted CryptographyModule,TCM)共同构建的TPCM信任根(TPCM全称是Trusted Platform Control Module,表示可信平台控制模块)。具体是在基板管理控制器对应的BMC固件中引导层加入可信密码模块,其中BMC固件的架构如图3所示。
在BMC固件的架构中包括引导层、内核层、内核中间件和软件层,上述架构中每一层的具体介绍如下:
A1)引导层
引导层是BMC固件的U-BOOT启动程序,U-BOOT启动程序是BMC上电启动时第1段运行的代码,在U-BOOT启动程序中加入的可信模块有可信密码模块驱动(即TCM驱动)、度量程序和度量值存储接口;
其中,TCM驱动用于实现U-BOOT启动程序与可信密码模块的通信;度量程序,是BMC启动时度量程序调用可信密码模块的SM3算法(是一种密码散列函数标准)对BMC的LinuxKernel(即Linux内核)进行度量;度量值存储接口,则是用于将各种度量值保存至可信密码模块的PCR寄存器(PCR的全称是Platform Configuration Register,PCR寄存器表示平台状态寄存器)。
A2)内核层
内核层是经过裁剪的ARM Linux内核,并且为了实现可信计算功能加入了I/O驱动(即输入输出驱动),包括实现LPC驱动(LPC全称是Lowpin count Bus,用于把低带宽设备和“老旧”设备连接到CPU芯片上)、SPI驱动(SPI是一种全双工同步串行总线)、IIC驱动(IIC全称是Inter-Integrated Circuit,表示集成电路总线)的硬件接口功能,完成硬件接口时序和配置相关的寄存器,使BMC和外部模块正常通信。
A3)内核中间件
内核中间件位于内核层与软件层之间,用于提供可信代理程序、度量值存储接口、BMC控制CPLD的命令接口和各种可信功能API(API全称是Application ProgrammingInterface,表示应用程序编程接口)等。
其中,可信代理程序,用于对可信密码模块进行调度,以对BIOS Boot Block(即基本输入输出系统的启动块)和BMC应用程序进行度量;度量值存储接口,用于将各种度量值保存至可信密码模块的PCR寄存器;BMC控制CPLD的命令接口中,BMC通过CPLD控制主板(CPLD的全称是Complex Programmable Logic Device,表示复杂可编程逻辑器件)的上电时序,即BMC上电时先不给主板的CPU芯片进行加电,当度量BMC和BIOS Boot Block并确保可信之后再通过CPLD控制CPU芯片上电,从而确保运行过程中程序的完整性;各种可信功能API,则包括信功能开启API、基准值API、度量值API、日志API、特权码API和配置接口,用于为BMC Web管理界面提供操作接口,实现可信计算功能。
A4)软件层
软件层则包括BMC Web应用和BMC的应用程序,其中在BMC Web应用的页面中通过调用内核中间件的API接口实现可信状态的呈现,如可信功能的开启、基准值管理、日志呈现、特权启动、白名单管理等。
为了实现服务器的安全启动,服务器中的计算部件是先不上电启动的,而是防护部件中的基板管理控制器可信核上电运行,当度量BMC和基本输入输出系统、操作系统加载器和操作系统内核并确保可信之后再通过CPLD控制CPU芯片上电,从而确保运行过程中程序的完整性。
S120、可信平台控制模块可信根读取基板管理控制器功能核中的U-BOOT镜像并进行第一次度量校验,得到第一度量结果。
在本实施例中,可信平台控制模块可信根上电运行后,并不是立即对服务器的计算部分进行度量,而是先对基板管理控制器功能核中U-BOOT镜像进行度量校验,具体是对基板管理控制器功能核中U-BOOT镜像进行可信度量、可信校验和可信控制。在完成了对U-BOOT镜像的第一次度量校验,得到第一度量结果后,基于第一度量结果对应是否度量通过的结果,再进一步判断是否对计算部分进行度量。
在一实施例中,如图1所示,可信平台控制模块可信根1221包括可信密码模块1221A;如图4所示,步骤S120包括:
S121、可信平台控制模块可信根读取基板管理控制器功能核中的U-BOOT镜像,并调用可信密码模块获取与U-BOOT镜像对应的U-BOOT镜像度量值;
S122、可信平台控制模块可信根读取可信密码模块中的U-BOOT基准值;
S123、可信平台控制模块可信根基于U-BOOT镜像度量值与U-BOOT基准值的对比结果确定第一度量结果。
在本实施例中,可信平台控制模块可信根上电自检后进入运行阶段,BMC固件中的度量程序开始运行。首先,是度量程序读取基板管理控制器功能核中的U-BOOT镜像,通过调用可信密码模块的SM3功能计算U-BOOT镜像相关的度量值以得到U-BOOT镜像度量值。之后,可信平台控制模块可信根读取存储在可信密码模块中非易失性存储器的U-BOOT基准值。最后,可信平台控制模块可信根将U-BOOT镜像度量值与U-BOOT基准值进行比较,两者相同则表示第一度量结果为度量通过结果,两者不相同则表示第一度量结果为度量不通过结果(即BMC固件存在被篡改和攻击的可能)。通过上述过程,可以实现对基板管理控制器功能核的可信度量、可信校验和可信控制。
S130、可信平台控制模块可信根在确定第一度量结果为度量通过结果,则对基本输入输出系统进行第二次度量校验,得到第二度量结果。
在本实施例中,当可信平台控制模块可信根确定了第一度量结果为度量通过结果,则表示基板管理控制器功能核通过了度量校验,可以继续对基本输入输出系统(即BIOS)进行度量。在完成了对基本输入输出系统进行第二次度量校验得到第二度量结果后,基于第二度量结果对应是否度量通过的结果,再进一步判断是否对计算部分的剩余部分进行度量。
在一实施例中,如图1所示,基本输入输出系统111包括第一度量代理通信模块111A;如图5所示,步骤S130包括:
S131、可信平台控制模块可信根读取基本输入输出系统中第一度量代理通信模块发送的BIOS初始值,并调用可信密码模块获取与BIOS初始值对应的BIOS度量值;
S132、可信平台控制模块可信根读取可信密码模块中的BIOS基准值;
S133、可信平台控制模块可信根基于BIOS度量值与BIOS基准值的对比结果确定第二度量结果。
在本实施例中,可信平台控制模块可信根上电自检后进入运行且完成了对基板管理控制器功能核的度量之后,再首先是可信平台控制模块可信根读取基本输入输出系统中第一度量代理通信模块发送的BIOS初始值,并调用可信密码模块的SM3功能计算BIOS初始值相关的度量值以得到BIOS度量值。之后,可信平台控制模块可信根直接从可信密码模块读取存储在可信密码模块中非易失性存储器的、且与BIOS初始值对应的BIOS度量值。最后,可信平台控制模块可信根将BIOS度量值与BIOS基准值进行比较,两者相同则表示第二度量结果为度量通过结果,两者不相同则表示第二度量结果为度量不通过结果。通过上述过程,可以实现对基本输入输出系统的可信度量、可信校验和可信控制。
为了更清楚的了解上述度量过程,下面对可信平台控制模块可信根与服务器的计算部件之间交互机制进行说明。在本申请中,可信平台控制模块可信根与服务器的计算部件之间存在大量的数据交互,可信平台控制模块可信根对计算部件的基本输入输出系统(即BIOS)、操作系统加载器(即OS Loader)、操作系统内核和应用等部分进行度量时,需要借助于基本输入输出系统、操作系统加载器、操作系统内核等中部署的度量代理通信模块,实现相应的度量和控制。例如,在基本输入输出系统中部署第一度量代理通信模块,在操作系统加载器中部署第二度量代理通信模块,在操作系统内核中部署第三度量代理通信模块。
例如,在度量操作系统加载器时,位于基本输入输出系统中的第一度量代理通信模块将从操作系统加载器读取的相关数据传递到可信平台控制模块可信根,然后由可信平台控制模块可信根对相关数据进行校验得到第二度量结果并向操作系统加载器的第二度量代理通信模块返回控制信号,第二度量代理通信模块接收到控制信号后再决定是否启动操作系统加载器。之后,对操作系统内核等的度量也是参考上述过程。在服务器的计算部件启动后对于应用的动态度量也是由这种方式实现,通过上述方式可以实现一个完整可信系统的构建。
同时,为了防止非法程序访问通信链路,保证通信的安全性,服务器的计算部件侧(也就是主机侧)的多个度量代理通信模块内均可加入访问控制机制,在服务器的计算部件与可信平台控制模块可信根的通信提供了相关的加密功能,防止在交互过程中被攻击,保证通信的安全。
S140、可信平台控制模块可信根在确定第二度量结果为度量通过结果,则对操作系统加载器进行第三次度量校验,得到第三度量结果。
在本实施例中,当可信平台控制模块可信根确定了第二度量结果为度量通过结果,则表示基本输入输出系统通过了度量校验,可以继续对操作系统加载器(即OS Loader)进行度量。在完成了对操作系统加载器进行第三次度量校验得到第三度量结果后,基于第三度量结果对应是否度量通过的结果,再进一步判断是否对计算部分的剩余部分进行度量。
在一实施例中,如图1所示,操作系统加载器112包括第二度量代理通信模块112A;如图6所示,步骤S140包括:
S141、可信平台控制模块可信根读取操作系统加载器中第二度量代理通信模块发送的OSLoader度量值;
S142、可信平台控制模块可信根读取可信密码模块中的OSLoader基准值;
S143、可信平台控制模块可信根基于OSLoader度量值与OSLoader基准值的对比结果确定第三度量结果。
在本实施例中,可信平台控制模块可信根完成了对基本输入输出系统的度量之后,首先是可信平台控制模块可信根读取操作系统加载器中第二度量代理通信模块发送的OSLoader度量值。之后,可信平台控制模块可信根直接从可信密码模块读取存储在可信密码模块中非易失性存储器的、且与OSLoader度量值对应的OSLoader基准值。最后,可信平台控制模块可信根将OSLoader度量值与OSLoader基准值进行比较,两者相同则表示第三度量结果为度量通过结果,两者不相同则表示第三度量结果为度量不通过结果。通过上述过程,可以实现对操作系统加载器的可信度量、可信校验和可信控制。
S150、可信平台控制模块可信根在确定第三度量结果为度量通过结果,则对操作系统内核进行第四次度量校验,得到第四度量结果。
在本实施例中,当可信平台控制模块可信根确定了第三度量结果为度量通过结果,则表示操作系统加载器通过了度量校验,可以继续对操作系统内核进行度量。在完成了对操作系统内核进行第四次度量校验得到第四度量结果后,基于第四度量结果对应是否度量通过的结果,再进一步判断是否对计算部件进行上电启动。
在一实施例中,如图1所示,操作系统内核113包括第三度量代理通信模块113A;如图7所示,步骤S150包括:
S151、可信平台控制模块可信根读取操作系统内核中第三度量代理通信模块发送的操作系统内核度量值;
S152、可信平台控制模块可信根读取可信密码模块中的操作系统内核基准值;
S153、可信平台控制模块可信根基于操作系统内核度量值与操作系统内核基准值的对比结果确定第四度量结果。
在本实施例中,可信平台控制模块可信根完成了对操作系统加载器的度量之后,首先是可信平台控制模块可信根读取操作系统内核中第三度量代理通信模块发送的操作系统内核度量值。之后,可信平台控制模块可信根直接从可信密码模块读取存储在可信密码模块中非易失性存储器的、且与操作系统内核度量值对应的操作系统内核基准值。最后,可信平台控制模块可信根将操作系统内核度量值与操作系统内核基准值进行比较,两者相同则表示第四度量结果为度量通过结果,两者不相同则表示第四度量结果为度量不通过结果。通过上述过程,可以实现对操作系统内核的可信度量、可信校验和可信控制。
在一实施例中,如图1所示,可信平台控制模块可信根1221包括度量值存储接口1221B和PCR寄存器1221C。
在步骤S120之后还包括:可信平台控制模块可信根通过度量值存储接口将第一度量结果存储至PCR寄存器;
在步骤S130之后还包括:可信平台控制模块可信根通过度量值存储接口将第二度量结果存储至PCR寄存器;
在步骤S140之后还包括:可信平台控制模块可信根通过度量值存储接口将第三度量结果存储至PCR寄存器;
在步骤S150之后还包括:可信平台控制模块可信根通过度量值存储接口将第四度量结果存储至PCR寄存器。
在本实施例中,为了在可信平台控制模块可信根中实现对整个度量过程的日志记录,可以是每得到一个度量结果后,均由可信平台控制模块可信根通过度量值存储接口将第四度量结果存储至PCR寄存器,以供后期可信审计使用。
S160、计算部件在确定第四度量结果为度量通过结果,则上电启动。
在本实施例中,当可信平台控制模块可信根完成了对操作系统内核的度量且确定度量通过之后,此时服务器的计算部件侧(也即主机侧)可以上电启动,从而完成服务器的安全启动。
在一实施例中,在步骤S160之后还包括:
基本输入输出系统中的启动块对主块进行度量,得到第五度量结果;
基本输入输出系统中的主块在确定第五度量结果为度量通过结果,则对与计算部件连接的主板外设进行度量,得到第六度量结果;
操作系统加载器在确定第六度量结果为度量通过结果,则对操作系统加载配置文件及操作系统内核进行度量,得到第七度量结果;
操作系统内核在确定第七度量结果为度量通过结果,则得到构建的信任链。
在本实施例中,为了实现服务器的可信启动,除了在服务器的计算部件侧(也即主机侧)上电前进行信任链的建立,还需要在服务器的计算部件侧上电后继续完善信任链的建立,下面结合图8中信任链的完整模型构建示意图来具体说明。
B1)基板管理控制器(即BMC)和可信密码模块先于服务器的计算部件侧进行上电启动,且具体是由可信密码模块度量基板管理控制器功能核中的U-BOOT镜像,若U-BOOT已被篡改,则暂停启动过程;
B2)在BMC的基于U-BOOT镜像进行引导加载过程中,由U-BOOT镜像中的度量程序调用可信密码模块的SM3算法对Linux内核和可信代理程序进行度量,得到的第一度量结果扩展存储到可信密码模块的PCR寄存器的PCR0中。若基板管理控制器功能核的Linux内核中内核文件或可信代理程序被篡改,则停止启动过程;否则,启动Linux内核,系统控制权由U-BOOT镜像转移到Linux内核;
B3)位于基板管理控制器功能核的Linux系统中的可信代理程序读取基本输入输出系统中的启动块(即BIOS BootBlock)代码进行度量,之后度量BMC的应用程序,度量值扩展存储到可信密码模块的PCR寄存器的PCR0中。若BIOS Boot Block或BMC应用程序被篡改,则停止启动过程;否则,系统控制权由Linux系统转移到BIOS Boot Block,之后服务器进行上电启动;
B4)服务器上电后由BIOS完成后续信任链的建立(也即步骤S160之后执行的步骤对应此处步骤B4及之后的步骤),BIOS BootBlock度量BIOS的版本信息和BIOS Main Block(即基本输入输出系统中的主块),将相应的度量结果扩展存储于可信密码模块的PCR寄存器的PCR0中;
B5)基本输入输出系统中的主块首先度量服务器的计算部件侧主板上的显卡、硬盘、网卡、PCI-E卡等主板外设,将相应的度量结果存储于可信密码模块的PCR寄存器的PCR2中;之后度量操作系统加载器中的操作系统引导程序Bootloader,即Bootloader Grub各阶段的代码,将相应的度量结果扩展存储于可信密码模块的PCR寄存器的PCR4中;
B6)Bootloader Grub掌握控制权后,执行操作系统相关的加载工作,Grub首先度量操作系统加载配置文件(即配置文件grub.conf)并扩展至可信密码模块的PCR寄存器的PCR5中;然后度量需要加载的操作系统内核(即OS Kernel),验证操作系统内核的完整性;
B7)在Bootloader Grub将控制权交给OS Kernel之后,操作系统就开始了启动过程,至此构建起完整的信任链。
该方法先是在服务器中的可信平台控制模块可信根上电运行后,基于可信平台控制模块可信根依次对基板管理控制器功能核、基本输入输出系统、操作系统加载器及操作系统内核进行度量,且均度量成功后服务器中的计算部件上电启动。该方法在构建可信平台控制模块可信根时,将其作为一个可信核,然后在主机侧加入度量代理,与现有技术中安全模块的代码与BMC功能代码进行混合相比,能够实现双体系的防护架构,同时克服传统的BMC构建可信核中安全功能和业务功能融合带来的风险。
本申请实施例还提供一种服务器,用于执行前述国产服务器启动方法的任一实施例。如图1所示,服务器10中包括计算部件11和防护部件12;所述防护部件12包括基板管理控制器功能核121和基板管理控制器可信核122;所述计算部件11包括基本输入输出系统111、操作系统加载器112和操作系统内核113;所述基板管理控制器可信核122包括可信平台控制模块可信根1221;所述服务器用于执行如下步骤:
所述可信平台控制模块可信根上电运行;
所述可信平台控制模块可信根读取所述基板管理控制器功能核中的U-BOOT镜像并进行第一次度量校验,得到第一度量结果;
所述可信平台控制模块可信根在确定所述第一度量结果为度量通过结果,则对所述基本输入输出系统进行第二次度量校验,得到第二度量结果;
所述可信平台控制模块可信根在确定所述第二度量结果为度量通过结果,则对所述操作系统加载器进行第三次度量校验,得到第三度量结果;
所述可信平台控制模块可信根在确定所述第三度量结果为度量通过结果,则对所述操作系统内核进行第四次度量校验,得到第四度量结果;
所述计算部件在确定所述第四度量结果为度量通过结果,则上电启动。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述服务器和各模块的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
该服务器是在防护部件中的可信平台控制模块可信根上电运行后,基于可信平台控制模块可信根依次对基板管理控制器功能核、基本输入输出系统、操作系统加载器及操作系统内核进行度量,且均度量成功后服务器中的计算部件上电启动。该方法在构建可信平台控制模块可信根时,将其作为一个可信核,然后在主机侧加入度量代理,与现有技术中安全模块的代码与BMC功能代码进行混合相比,能够实现双体系的防护架构,同时克服传统的BMC构建可信核中安全功能和业务功能融合带来的风险。
上述服务器安全启动装置可以实现为计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的计算机设备的示意性框图。该计算机设备800可以是智能手机、平板电脑、个人电脑(PC)、学习机、智能穿戴设备等终端设备。参阅图9,该计算机设备800包括通过装置总线801连接的处理器802、存储器和网络接口805,其中,存储器可以包括存储介质803和内存储器804。
该存储介质803可存储操作系统8031和计算机程序8032。该计算机程序8032被执行时,可使得处理器802执行国产服务器启动方法。
该处理器802用于提供计算和控制能力,支撑整个计算机设备800的运行。
该内存储器804为存储介质803中的计算机程序8032的运行提供环境,该计算机程序8032被处理器802执行时,可使得处理器802执行国产服务器启动方法。
该网络接口805用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备800的限定,具体的计算机设备800可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,处理器802用于运行存储在存储器中的计算机程序8032,以实现本申请实施例公开的国产服务器启动方法。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器802可以是中央处理单元(CentralProcessing Unit,CPU),该处理器802还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本申请实施例公开的国产服务器启动方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,后台服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种国产服务器启动方法,应用于服务器,其特征在于,所述服务器包括计算部件和防护部件;所述防护部件包括基板管理控制器功能核和基板管理控制器可信核;所述计算部件包括基本输入输出系统、操作系统加载器和操作系统内核;所述基板管理控制器可信核包括可信平台控制模块可信根;所述国产服务器启动方法包括:
所述可信平台控制模块可信根上电运行;
所述可信平台控制模块可信根读取所述基板管理控制器功能核中的U-BOOT镜像并进行第一次度量校验,得到第一度量结果;
所述可信平台控制模块可信根在确定所述第一度量结果为度量通过结果,则对所述基本输入输出系统进行第二次度量校验,得到第二度量结果;
所述可信平台控制模块可信根在确定所述第二度量结果为度量通过结果,则对所述操作系统加载器进行第三次度量校验,得到第三度量结果;
所述可信平台控制模块可信根在确定所述第三度量结果为度量通过结果,则对所述操作系统内核进行第四次度量校验,得到第四度量结果;
所述计算部件在确定所述第四度量结果为度量通过结果,则上电启动。
2.根据权利要求1所述的方法,其特征在于,所述可信平台控制模块可信根包括可信密码模块;
所述可信平台控制模块可信根读取所述基板管理控制器功能核中的U-BOOT镜像并进行第一次度量校验,得到第一度量结果,包括:
所述可信平台控制模块可信根读取所述基板管理控制器功能核中的U-BOOT镜像,并调用所述可信密码模块获取与所述U-BOOT镜像对应的U-BOOT镜像度量值;
所述可信平台控制模块可信根读取所述可信密码模块中的U-BOOT基准值;
所述可信平台控制模块可信根基于所述U-BOOT镜像度量值与所述U-BOOT基准值的对比结果确定所述第一度量结果。
3.根据权利要求1所述的方法,其特征在于,所述基本输入输出系统包括第一度量代理通信模块;
所述对所述基本输入输出系统进行第二次度量校验,得到第二度量结果,包括:
所述可信平台控制模块可信根读取所述基本输入输出系统中所述第一度量代理通信模块发送的BIOS初始值,并调用所述可信密码模块获取与所述BIOS初始值对应的BIOS度量值;
所述可信平台控制模块可信根读取所述可信密码模块中的BIOS基准值;
所述可信平台控制模块可信根基于所述BIOS度量值与所述BIOS基准值的对比结果确定所述第二度量结果。
4.根据权利要求1所述的方法,其特征在于,所述操作系统加载器包括第二度量代理通信模块;
所述对所述操作系统加载器进行第三次度量校验,得到第三度量结果,包括:
所述可信平台控制模块可信根读取所述操作系统加载器中所述第二度量代理通信模块发送的OSLoader度量值;
所述可信平台控制模块可信根读取所述可信密码模块中的OSLoader基准值;
所述可信平台控制模块可信根基于所述OSLoader度量值与所述OSLoader基准值的对比结果确定所述第三度量结果。
5.根据权利要求1所述的方法,其特征在于,所述操作系统内核包括第三度量代理通信模块;
所述对所述操作系统内核进行第四次度量校验,得到第四度量结果,包括:
所述可信平台控制模块可信根读取所述操作系统内核中所述第三度量代理通信模块发送的操作系统内核度量值;
所述可信平台控制模块可信根读取所述可信密码模块中的操作系统内核基准值;
所述可信平台控制模块可信根基于所述操作系统内核度量值与所述操作系统内核基准值的对比结果确定所述第四度量结果。
6.根据权利要求1所述的方法,其特征在于,所述可信平台控制模块可信根包括度量值存储接口和PCR寄存器;
在所述可信平台控制模块可信根读取所述基板管理控制器功能核中的U-BOOT镜像并进行第一次度量校验,得到第一度量结果的步骤之后,所述方法还包括:
所述可信平台控制模块可信根通过所述度量值存储接口将所述第一度量结果存储至所述PCR寄存器;
在所述可信平台控制模块可信根在确定所述第一度量结果为度量通过结果,则对所述基本输入输出系统进行第二次度量校验,得到第二度量结果的步骤之后,所述方法还包括:
所述可信平台控制模块可信根通过所述度量值存储接口将所述第二度量结果存储至所述PCR寄存器;
在所述可信平台控制模块可信根在确定所述第二度量结果为度量通过结果,则对所述操作系统加载器进行第三次度量校验,得到第三度量结果的步骤之后,所述方法还包括:
所述可信平台控制模块可信根通过所述度量值存储接口将所述第三度量结果存储至所述PCR寄存器;
在所述可信平台控制模块可信根在确定所述第三度量结果为度量通过结果,则对所述操作系统内核进行第四次度量校验,得到第四度量结果的步骤之后,所述方法还包括:
所述可信平台控制模块可信根通过所述度量值存储接口将所述第四度量结果存储至所述PCR寄存器。
7.根据权利要求1所述的方法,其特征在于,在所述计算部件在确定所述第四度量结果为度量通过结果,则上电启动的步骤之后,还包括:
所述基本输入输出系统中的启动块对主块进行度量,得到第五度量结果;
所述基本输入输出系统中的所述主块在确定所述第五度量结果为度量通过结果,则对与所述计算部件连接的主板外设进行度量,得到第六度量结果;
所述操作系统加载器在确定所述第六度量结果为度量通过结果,则对操作系统加载配置文件及操作系统内核进行度量,得到第七度量结果;
所述操作系统内核在确定所述第七度量结果为度量通过结果,则得到构建的信任链。
8.一种服务器,其特征在于,所述服务器包括计算部件和防护部件;所述防护部件包括基板管理控制器功能核和基板管理控制器可信核;所述计算部件包括基本输入输出系统、操作系统加载器和操作系统内核;所述基板管理控制器可信核包括可信平台控制模块可信根;所述服务器用于执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311848160.7A CN117785308A (zh) | 2023-12-29 | 2023-12-29 | 国产服务器启动方法、服务器、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311848160.7A CN117785308A (zh) | 2023-12-29 | 2023-12-29 | 国产服务器启动方法、服务器、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785308A true CN117785308A (zh) | 2024-03-29 |
Family
ID=90387145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311848160.7A Pending CN117785308A (zh) | 2023-12-29 | 2023-12-29 | 国产服务器启动方法、服务器、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785308A (zh) |
-
2023
- 2023-12-29 CN CN202311848160.7A patent/CN117785308A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11520894B2 (en) | Verifying controller code | |
CN103299311B (zh) | 用于可信引导优化的方法和设备 | |
US7921286B2 (en) | Computer initialization for secure kernel | |
US8904162B2 (en) | Methods and apparatus for performing secure BIOS upgrade | |
CN103718165B (zh) | Bios闪存攻击保护和通知 | |
CN107025406B (zh) | 母板、计算机可读存储装置以及固件验证方法 | |
US9542337B2 (en) | Device side host integrity validation | |
Kauer | Oslo: improving the security of trusted computing. | |
US9098300B2 (en) | Providing silicon integrated code for a system | |
US20060015717A1 (en) | Establishing a trusted platform in a digital processing system | |
EP1944711A1 (en) | Methods and apparatus for authenticating components of processing systems | |
WO2010103466A2 (en) | Integrity verification using a peripheral device | |
US10430589B2 (en) | Dynamic firmware module loader in a trusted execution environment container | |
US11106798B2 (en) | Automatically replacing versions of a key database for secure boots | |
TW201602835A (zh) | 允許測試金鑰用於bios安裝之技術 | |
CN113901473B (zh) | 一种服务器安全启动的方法、装置、设备及可读介质 | |
CN114692160A (zh) | 计算机安全可信启动的处理方法及装置 | |
KR100977267B1 (ko) | 신뢰할 수 있는 플랫폼에서의 물리적 존재 판정 방법 | |
JP2013156799A (ja) | システム・ファームウェアの更新方法およびコンピュータ | |
CN115906046A (zh) | 可信计算系统及基于可信计算系统的度量方法 | |
CN117785308A (zh) | 国产服务器启动方法、服务器、计算机设备及存储介质 | |
CN115130106A (zh) | 一种通过fTPM实现可信启动的方法及相关装置 | |
CN114692159A (zh) | 计算机系统、可信功能组件及运行方法 | |
CN117494232B (zh) | 固件的执行方法和装置、系统、存储介质及电子设备 | |
US11269637B2 (en) | Validating machine-readable instructions using an iterative validation process |
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 |