CN115618366A - 用于服务器的验证方法及装置 - Google Patents
用于服务器的验证方法及装置 Download PDFInfo
- Publication number
- CN115618366A CN115618366A CN202211634914.4A CN202211634914A CN115618366A CN 115618366 A CN115618366 A CN 115618366A CN 202211634914 A CN202211634914 A CN 202211634914A CN 115618366 A CN115618366 A CN 115618366A
- Authority
- CN
- China
- Prior art keywords
- basic input
- output system
- bios
- integrity
- information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012795 verification Methods 0.000 claims abstract description 110
- 238000005259 measurement Methods 0.000 claims abstract description 93
- 238000004590 computer program Methods 0.000 claims description 12
- 239000000758 substrate Substances 0.000 claims description 7
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 6
- 238000012544 monitoring process Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种用于服务器的验证方法及装置。其中,该方法包括:在带内管理系统的电源状态为启动状态的情况下,判断带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果;在判断结果指示为是的情况下,输出上电指令至带内管理系统,使得基本输入输出系统运行,并发送度量链信息;根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。通过本申请,解决了基板管理控制器不能获取其他组件的完整性的问题,达到了基板管理控制器可以验证基本输入输出系统及服务器中各板卡、组件的完整性的效果。
Description
技术领域
本申请实施例涉及服务器安全领域,具体而言,涉及一种用于服务器的验证方法、验证装置、计算机可读存储介质以及电子设备。
背景技术
随着云计算和大数据的兴起,服务器承载越来越多的计算力。服务器作为数据中心的基本单元,其上运行着业务系统、用户数据等重要信息,一旦服务器硬件被恶意篡改,服务器中的信息也将面临被篡改、窃取的风险。
可信根是一种被动调用的安全硬件,需要固件的调用才能完成完整性采集、完整性验证的操作,因此,需要确保最初使用可信根的代码安全才可确保后续操作可信根行为的安全可信。目前,针对服务器第一段运行代码的检测依赖特定CPU功能(比如Intel PFR技术或Intel TXT技术),这些技术无法兼容所有的处理器;或者使用基板管理控制器(Baseboard Management Controller , BMC)验证基本输入输出系统(Basic InputOutput System , BIOS)的技术,但BMC验证BIOS的技术只在加载BIOS固件时有效,且只能验证BIOS固件本身,并不能获取其他组件(比如Raid卡、显卡、操作系统内核等)的完整性。
基于此,如何验证服务器中除BIOS固件之外组件的完整性,确保操作系统运行时硬件环境的安全可信,是目前亟需解决的技术问题。
发明内容
本申请实施例提供了一种用于服务器的验证方法、验证装置、计算机可读存储介质以及电子设备,以至少解决相关技术中无法验证服务器中除BIOS固件之外组件的完整性的问题。
根据本申请的一个实施例,提供了一种用于服务器的验证方法,该验证方法应用于基板管理控制器,服务器包括带内管理系统,上述验证方法包括:在带内管理系统的电源状态为启动状态的情况下,判断带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果;在判断结果指示为是的情况下,输出上电指令至带内管理系统,使得基本输入输出系统运行,并发送度量链信息;根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。
在一个示例性实施例中,验证方法还包括:在判断带内管理系统中基本输入输出系统的初始化数据是否完整之前,检测带内管理系统的电源状态,其中,电源状态包括:启动状态,运行状态,以及断电状态。
在一个示例性实施例中,判断带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果,包括:计算基本输入输出系统的初始化数据的度量值,得到度量值信息;根据基准值库,判断度量值信息是否完整,得到判断结果,其中,基准值库包括与基本输入输出系统对应的多个基本输入输出系统组件的完整性值。
在一个示例性实施例中,验证方法还包括:获取基本输入输出系统的更新请求和更新的BIOS文件,其中,BIOS文件包括多个基本输入输出系统组件的更新的完整性值;根据更新请求解析BIOS文件,得到与更新请求对应的完整性值集合;采用完整性值集合,更新基准值库。
在一个示例性实施例中,上述验证方法还包括:在判断结果指示为否的情况下,对带内管理系统中除基本输入输出系统的初始化数据之外的组件执行断电操作。
在一个示例性实施例中,上述验证方法还包括:发送度量值信息至基本输入输出系统,使得得基本输入输出系统根据度量值信息以及带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性信息,生成度量链信息。
在一个示例性实施例中,发送度量值信息至基本输入输出系统,包括:与基本输入输出系统交换会话密钥,得到第一密钥,并使得基本输入输出系统得到第二密钥;采用第二密钥将度量值信息加密,生成度量值密文;将度量值密文发送至基本输入输出系统,使得基本输入输出系统根据第二密钥,将度量值密文解密,得到度量值信息。
在一个示例性实施例中,上述验证方法还包括:在根据度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性之前,采用第一密钥将度量链密文解密,得到度量链信息,其中,基本输入输出系统根据度量值信息以及带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性信息,得到度量链密文。
在一个示例性实施例中,验证方法还包括:记录将度量值信息发送至基本输入输出系统的第一时刻,以及接收到度量链信息的第二时刻;判断第一时刻与第二时刻的时差是否大于预设阈值;在判断结果指示大于预设阈值的情况下,对带内管理系统中除基本输入输出系统的初始化数据之外的组件执行断电操作。
根据本申请的另一个实施例,提供了另一种用于服务器的验证方法,上述服务器包括带内管理系统,该验证方法应用于带内管理系统中的基本输入输出系统,上述验证方法包括:在带内管理系统的电源状态为启动状态的情况下,发送启动信号至基板管理控制器,使得基板管理控制器判断基本输入输出系统的初始化数据是否完整,并在判断结果指示为是的情况下输出上电指令;在接收到上电指令的情况下,控制基本输入输出系统运行,并发送度量链信息至基板管理控制器,使得基板管理控制器根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。
在一个示例性实施例中,上述验证方法还包括:在判断结果指示为否的情况下,接收基板管理控制器发送的控制信号,控制信号用于控制带内管理系统中除基本输入输出系统的初始化数据之外的组件断电。
在一个示例性实施例中,上述验证方法还包括:发送基本输入输出系统的更新请求和更新的BIOS文件至基板管理控制器,使得基板管理控制器根据更新请求解析BIOS文件,得到与更新请求对应的完整性值集合,并采用完整性值集合,更新基准值库,其中,BIOS文件包括多个基本输入输出系统组件的更新的完整性值。
在一个示例性实施例中,验证方法还包括:接收基板管理控制器发送的度量值信息,其中,度量值信息包括基本输入输出系统的初始化数据的度量值;获取带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性信息;根据度量值信息和完整性信息,生成度量链信息。
在一个示例性实施例中,接收基板管理控制器发送的度量值信息,包括:与基板管理控制器交换会话密钥,得到第二密钥,并使得基板管理控制器得到第一密钥,其中,第二密钥用于将度量值信息加密,生成度量值密文;采用第二密钥将度量值密文解密,得到度量值信息。
在一个示例性实施例中,发送度量链信息至基板管理控制器,包括:采用第一密钥将度量链信息加密,得到度量链密文;将度量链密文发送至基板管理控制器,使得基板管理控制器采用第一密钥将度量链密文解密,得到度量链信息。
在一个示例性实施例中,上述验证方法还包括:在第一时刻与第二时刻的时差大于预设阈值的情况下,接收基板管理控制器发送的控制信号,其中,第一时刻为接收到基板管理控制器发送的度量值信息的时刻,第二时刻为发送度量链信息至基板管理控制器的时刻,控制信号用于控制带内管理系统中除基本输入输出系统的初始化数据之外的组件断电。
根据本申请的另一个实施例,提供了一种用于服务器的验证装置,该验证装置应用于基板管理控制器,该服务器包括带内管理系统,该验证装置包括:判断模块,用于在带内管理系统的电源状态为启动状态的情况下,判断带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果;输出模块,用于在判断结果指示为是的情况下,输出上电指令至带内管理系统,使得基本输入输出系统运行,并发送度量链信息;验证模块,用于根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。
根据本申请的另一个实施例,提供了另一种用于服务器的验证装置,该验证装置应用于带内管理系统中的基本输入输出系统,该服务器包括带内管理系统,该验证装置包括:第一发送模块,在带内管理系统的电源状态为启动状态的情况下,用于发送启动信号至基板管理控制器,使得基板管理控制器判断基本输入输出系统的初始化数据是否完整,并在判断结果指示为是的情况下输出上电指令;第二发送模块,用于在接收到上电指令的情况下,控制基本输入输出系统运行,并发送度量链信息至基板管理控制器,使得基板管理控制器根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,在加载BIOS前,先通过基板管理控制器(BMC)判断带内管理系统中基本输入输出系统(BIOS)的初始化数据是否完整,可以验证BIOS最先运行的BootBlock的完整性,确保BIOS最初运行状态的安全可信;在BIOS执行完毕后,由BMC接收BIOS传递的本次启动收集的度量链,并进行二次验证,验证其他硬件、内核等组件的完整性,只有当完成对BIOS及其他硬件、内核等组件的完整性验证后才能启动操作系统,从而可以通过BMC分阶段验证BIOS及带内管理系统中其他组件的完整性,且带外管理者可以直接通过BMC获取硬件、内核等组件的完整性状态,而不必进入带内管理系统,解决了BMC不能获取其他组件(比如Raid卡、显卡、操作系统内核等)的完整性的问题,达到BMC可以验证BIOS及服务器中其它组件的完整性的效果。
附图说明
图1是根据本申请实施例的一种用于服务器的完整性验证方法的流程图;
图2是根据本申请实施例的一种用于服务器的完整性验证方法中采用的系统结构框图;
图3是根据本申请实施例的一种用于服务器的完整性验证方法中基准值的更新流程图;
图4是根据本申请实施例的一种用于服务器的完整性验证方法的启动时序图;
图5是根据本申请实施例的一种完整性验证方法的完整流程示意图;
图6是根据本申请实施例的另一种用于服务器的完整性验证方法的流程图;
图7是根据本申请实施例的一种用于服务器的完整性验证装置的结构框图;
图8是根据本申请实施例的另一种用于服务器的完整性验证装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
可信根:根据相关规范提供可信服务的安全设备,当前发布的可信根规范的有TPM(Trusted Platform Module,可信平台模块)、TCM(Trusted Cryptography Module,可信密码模块)。
基板管理控制器(Baseboard Management Controller,BMC):一种独立于服务器计算单元的管理单元,通过硬件总线与服务器计算单元连接,用于监控计算机的硬件状态、运行状态等。
基本输入输出系统(Basic Input Output System,BIOS):固化在存储芯片中的程序,计算机计算单元最先执行的代码,一般用于完成计算机硬件初始化、硬件自检、为操作系统提供硬件管理接口等功能。
带内管理系统(in-bind system):使用统一物理通道传输管理控制信息与数据信息的系统。在服务器领域,带内管理操作指在服务器计算单元内部管理各个硬件单元。
带外管理系统(out-of-bind management system):通过不同的物理通道传送管理控制信息和数据信息,两者完全独立,互不影响。在在服务器领域,带外管理操作指通过BMC提供的网路服务管理服务器上的各个硬件单元。
管理单元与计算单元:管理单元用于监管控制计算机上各个硬件的状态,服务器领域,管理单元指BMC系统。计算单元指操作系统运行时依赖的CPU、内存、存储及其他硬件,一般也称为Host端。管理单元和计算单元相互独立运行,只通过有限的硬件总线传输管理信息。为减少歧义,本案中,BMC、管理单元、带外管理为相同概念,指通过BMC监控服务器上的各个硬件;Host、计算单元、带内管理为相同概念,指CPU、内存、存储等硬件通过物理链路传输信息。
BootBlock:固件卷的一种,包含了BIOS固件中最先被加载运行的程序,用于最初的初始化操作,是Host上电后最先执行的程序。
实施例1
在本实施例中提供了一种服务器完整性验证方法,图1是根据本申请实施例的用于服务器的完整性验证方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,在带内管理系统的电源状态为启动状态的情况下,基板管理控制器判断带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果;
步骤S104,在判断结果指示为是的情况下,基板管理控制器输出上电指令至带内管理系统,以使得基本输入输出系统运行,并发送度量链信息;
步骤S106,基板管理控制器根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。
通过上述步骤,在加载BIOS前,先通过基板管理控制器(BMC)判断带内管理系统中基本输入输出系统(BIOS)的初始化数据是否完整,可以验证BIOS最先运行的BootBlock的完整性,确保BIOS最初运行状态的安全可信;在BIOS执行完毕后,由BMC接收BIOS传递的本次启动收集的度量链,并进行二次验证,验证其他硬件、内核等组件的完整性,只有当完成对BIOS及其他硬件、内核等组件的完整性验证后才能启动操作系统,从而可以通过BMC分阶段验证BIOS及带内管理系统中其他组件的完整性,解决了BMC不能获取其他组件(比如Raid卡、显卡、操作系统内核等)的完整性的问题,达到BMC可以验证BIOS及服务器中其它组件的完整性的效果。
并且,通过上述步骤,使得服务器可以不依赖特定CPU架构完成对BIOS最初运行程序的度量及完整性验证。带内管理系统采集被验证组件的数据,带外管理系统执行验证逻辑,实现了验证数据与验证逻辑的隔离。带外管理者可以直接在BMC获取服务器各组件的完整性信息,而无需在登录带内系统。
在上述步骤S102中,在带内管理系统的电源状态为启动状态的情况下,基板管理控制器(BMC)判断带内管理系统中基本输入输出系统(BIOS)的初始化数据是否完整,得到判断结果。即当服务器电源状态改变为启动时(开机、重启、快速启动等操作),立即执行对BIOS的第一阶段验证。
在一些可选的实施方式中,上述基板管理控制器(BMC)包括电源状态监控模块110,如图2所示。此时,本实施例中的验证方法还包括:电源状态监控模块检测带内管理系统的电源状态,其中,电源状态包括:启动状态,运行状态,以及断电状态。
在上述实施方式中,通过BMC中的电源状态监控模块可以获取到带内管理系统的电源状态的改变,从而当服务器电源状态改变为启动时,立即执行对BIOS的第一阶段验证,确保BIOS最初运行逻辑的安全可信。
为了执行对BIOS的第一阶段验证,上述基板管理控制器(BMC)包括第一验证模块120,如图2所示。在一些可选的实施方式中, BMC判断带内管理系统中基本输入输出系统(BIOS)的初始化数据是否完整,得到判断结果,包括:第一验证模块计算BIOS的初始化数据的度量值,得到度量值信息,具有上述初始化数据的引导程序即BIOS固件中最先被加载运行的程序,用于最初的初始化操作,是Host上电后最先执行的程序;第一验证模块根据基准值库,判断度量值信息是否完整,得到判断结果,其中,基准值库包括与BIOS对应的多个基本输入输出系统组件(BIOS组件)的完整性值。
具体地,通过上述第一验证模块对BIOS的BootBlock进行第一次验证,计算当前BIOS Flash中的BootBlock度量值,根据基准值库验证BIOS BootBlock。如验证失败,对Host执行断电操作,确保BIOS最初执行逻辑的安全可信。
在一些可选的实施方式中,上述基板管理控制器(BMC)还包括基准值管理模块130,如图2所示。此时,本实施例中的验证方法还包括:基准值管理模块获取基本输入输出系统(BIOS)的更新请求和更新的BIOS文件,其中,BIOS文件包括多个BIOS组件的更新的完整性值;基准值管理模块根据更新请求解析BIOS文件,得到与更新请求对应的完整性值集合;采用完整性值集合,更新基准值库。
上述基准值管理模块不仅可以为验证模块提供验证基准值,还可以提供基准值更新服务,当BMC执行完BIOS更新操作后,会计算BIOS组件的更新的完整性值,从而同步更新基准值,确保更新BIOS与更新的基准值能同步进行。
示例性的,如图3所示,上述基准值的更新流程可以包括以下步骤:
1)BMC完成BIOS刷写:BMC已经集成了BIOS刷写的功能逻辑,且该功能逻辑也会验证待刷写BIOS文件的完整性、合法性等,因此,基准值更新逻辑可复用已有的BMC更新BIOS逻辑,而无需再独立验证BIOS文件的合法性;
2)解析BIOS文件:BIOS文件中包含了多个BIOS组件,比如各个FV、SecureBoot等内容,计算各个组件的完整性值,即计算BIOS各个模块的Hash值;
3)更新运行时基准值库:将步骤2)计算的完整性值集合更新到运行时的基准值库中,确保新的BIOS可以正常启动,即基准值库模块解析将计算得到Hash值更新至运行时基准值库;
4)更新基准值库:BMC每次启动时根据被可信根保护的持久化存储基准值库创建运行时的基准值库,因此更新操作还应更新持久化存储的基准值库。
在上述步骤S104中,在判断结果指示为是的情况下,基板管理控制器(BMC)输出上电指令至带内管理系统,使得基本输入输出系统(BIOS)运行,并发送度量链信息。
具体地,上述第一验证模块发送度量值信息至基本输入输出系统(BIOS),使得BIOS根据度量值信息以及带内管理系统中除BIOS的BootBlock之外的组件的完整性信息,生成度量链信息。其中,度量链是基于可信根,收集到的计算机启动时各个组件(比如BIOS、OpROM、操作系统内核等)的完整性信息。
在一些可选的实施方式中,上述基板管理控制器(BMC)还包括控制模块140,如图2所示。此时,本实施例中的验证方法还包括:电源状态监控模块记录将引导程序的度量值发送至基本输入输出系统(BIOS)的第一时刻,以及接收到度量链信息的第二时刻;电源状态监控模块判断第一时刻与第二时刻的时差是否大于预设阈值;在判断结果指示大于预设阈值的情况下,电源状态监控模块发送断电指令至控制模块,使得控制模块根据断电指令,对带内管理系统中除BIOS的BootBlock之外的组件执行断电操作。其中,Host控制模块指现有BMC中控制带内上电的逻辑模块,与完整性验证相关的模块根据验证结果调用该模块实现对Host的断电操作。
具体地,由于本实施例中完整性验证具有两个过程,为防止恶意攻击者旁路第二次验证的逻辑,电源状态监控模块中可以具有定时器,通过启动定时器进行计时,如果在规定时间获取不到BIOS发送的度量链信息,则认为BIOS被恶意修改,此时可以调用Host的控制模块对Host进行断电操作。
为了确保基板管理控制器(BMC)与基本输入输出系统(BIOS)之间传递验证数据的安全可靠,双方通过各自的可信根确保交互数据的安全可信。
在一些可选的实施方式中,上述BMC还包括第一可信根管理模块150,如图2所示。此时,BMC发送引导程序的度量值至BIOS,包括:第一可信根管理模块与BIOS交换会话密钥,得到第一密钥,并使得BIOS得到第二密钥;第一可信根管理模块采用第二密钥将度量值信息加密,生成度量值密文;第一可信根管理模块将度量值密文发送至BIOS,使得BIOS根据第二密钥,将度量值密文解密,得到度量值信息。其中,可信根管理模块指使用可信根的密钥引擎确保数据的机密性。BMC使用可信根的密码学机制确保与BIOS交互数据的机密性,同时为确保基准值库的安全,也要使用可信根中的密钥保护基准值库的机密性。需要在BIOS运行阶段完成与BIOS的会话密钥交互,确保后续通信数据的安全。
在上述可选的实施方式中,基准值库的机密性由BMC确保,由于BMC有独立的可信根,可使用BMC可信根中的密码学引擎确保基准值库的机密性。BMC使用可信根的密码学机制确保与BIOS交互数据的机密性。通过在BIOS运行阶段完成与BIOS的会话密钥交互,可以确保后续通信数据的安全。
同时,由于BMC已经集成了刷写BIOS固件的逻辑,因此可以在刷写BIOS的逻辑中同步加入更新基准值库的操作,复用已有的BIOS更新时的BIOS文件验证逻辑。
具体地,上述第一可信根管理模块即为BMC的可信根管理模块,其使用可信根的密钥引擎确保数据的机密性,待BMC完成密钥初始化后,与BIOS交换会话密钥;如BMC获取不到BIOS端的会话密钥信息,则循环等待,确保后续的数据交互的安全。此外,为了确保基准值库的安全,还可以使用可信根中的密钥保护基准值库的机密性。
在上述步骤S106中,基板管理控制器(BMC)根据接收的度量链信息,验证带内管理系统中除基本输入输出系统(BIOS)的BootBlock之外的组件的完整性。
在一些可选的实施方式中,上述BMC还包括第二验证模块160,如图2所示。若BMC接收到的是BIOS加密后的度量链密文,第一可信根管理模块可以采用第一密钥将度量链密文解密,得到度量链信息;然后,第二验证模块根据BIOS发送的度量链信息对服务器上的硬件、内核等组件进行第二次完整性验证,确保操作系统运行硬件环境的安全可信。
示例性的,本实施例中基于双可信根的服务器启动时序图如图4所示,BMC上电运行后,初始化第一可信根管理模块,加载并解密基准值库;在BMC端获取到Host的电源信号后,根据基准值库验证BIOS的 BootBlock;对BIOS的第一阶段验证通过后,BMC与BIOS交换会话密钥,以及传递度量值密文,并在BMC端接收BIOS传递的度量链信息密文,以进行硬件完整性校验。
下面将结合附图5进一步说明本实施例中的验证方法,如图5的流程图所示,完整性的验证流程可以包括:
1)监控电源状态:通过BMC的电源状态检测模块获取上电等信息,当服务器带内系统上电、重启或执行快速启动等启动操作时,BMC获取这些信号后,立即执行验证操作;
2)验证BIOS BootBlock:利用BMC的第一验证模块计算当前BIOS Flash中的BootBlock度量值,根据基准值库验证BIOS BootBlock是否正常。如验证失败,对Host执行断电操作,确保BIOS最初执行逻辑的安全可信;
3)初始化第一可信根管理模块:Host上电,BIOS开始运行后,BMC初始化第一可信根管理模块,构建本次启动时需要的会话密钥;
4)与BIOS交换会话密钥:待BMC完成密钥初始化后,与BIOS交换会话密钥;如BIOS获取不到BMC端的会话密钥信息,则循环等待,确保后续的数据交互的安全;
5)传输BootBlock度量值:由于BMC无法访问BIOS的可信根,BMC需将BootBlock的度量数据传递至带内系统,由BIOS生成BootBlock的度量事件并存放到带内系统的可信根中;
6)启动定时器:由于第一验证只验证BootBlock的完整性,不能验证BIOS其他组件的完整性,为防止BIOS其他组件被恶意篡改导致发送度量信息的逻辑无法执行,启动定时器等待BIOS发送的度量链信息,只有在规定时间内BMC完成验证才能关闭该定时器,如在规定时间未获取有效的度量信息,则认为BIOS已经不可信,执行断电操作;
7)Host完整性验证:BMC获取基准值库中的各硬件、内核等组件的完整性基准值,与获取的度量链信息对比,如出现完整性被破坏的组件,则执行断电,确保带内操作系统运行环境的安全可信;
8)记录验证结果:BMC记录每一次验证的结果,带外系统管理者可以直接通过BMC获取带内系统每一组件的完整性信息而无需在登录带内系统。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
在本实施例中提供了一种服务器完整性验证方法,图6是根据本申请实施例的用于服务器的完整性验证方法的流程图,如图6所示,该流程包括如下步骤:
步骤S202,在带内管理系统的电源状态为启动状态的情况下,带内管理系统中的基本输入输出系统发送启动信号至基板管理控制器,以使得基板管理控制器判断基本输入输出系统的初始化数据是否完整,并在判断结果指示为是的情况下输出上电指令;
步骤S204,带内管理系统在接收到上电指令的情况下,控制基本输入输出系统运行,并发送度量链信息至基板管理控制器,以使得基板管理控制器根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。
通过上述步骤,先通过带内管理系统中的基本输入输出系统(BIOS)发送启动信号至基板管理控制器(BMC),使得BMC判断BIOS的初始化数据是否完整,可以验证BIOS最先运行的BootBlock的完整性,确保BIOS最初运行状态的安全可信;在BIOS执行完毕后,将本次启动收集的度量链发送给BMC进行二次验证,验证其他硬件、内核等组件的完整性,只有当完成对BIOS及其他硬件、内核等组件的完整性验证后才能启动操作系统,从而可以实现对BIOS及带内管理系统中其他组件的完整性分阶段的验证,解决了BMC不能获取其他组件(比如Raid卡、显卡、操作系统内核等)的完整性的问题,达到BMC可以验证BIOS及服务器中其它组件的完整性的效果。
并且,通过上述步骤,使得服务器可以不依赖特定CPU架构完成对BIOS最初运行程序的度量及完整性验证。带内管理系统采集被验证组件的数据,带外管理系统执行验证逻辑,实现了验证数据与验证逻辑的隔离。带外管理者可以直接在BMC获取服务器各组件的完整性信息,而无需在登录带内系统。
在上述步骤S202中,在带内管理系统的电源状态为启动状态的情况下,带内管理系统中的基本输入输出系统(BIOS)发送启动信号至基板管理控制器(BMC),使得BMC判断BIOS的初始化数据是否完整,并在判断结果指示为是的情况下输出上电指令。
而在上述判断结果指示为否的情况下,可以通过接收BMC中控制模块发送的控制信号,控制信号用于控制带内管理系统中除基本输入输出系统的初始化数据之外的组件断电。
具体地, BMC中的电源状态监控模块可以获取到带内管理系统的电源状态的改变,从而当服务器电源状态改变为启动时,立即执行对BIOS的第一阶段验证,确保BIOS最初运行逻辑的安全可信。通过BMC对BIOS的BootBlock进行第一次验证,计算当前BIOS Flash中的BootBlock度量值,根据基准值库验证BIOS BootBlock。如验证失败,对Host执行断电操作,确保BIOS最初执行逻辑的安全可信。
在一些可选的实施方式中,发送基本输入输出系统的更新请求和更新的BIOS文件至基板管理控制器,使得基板管理控制器根据更新请求解析BIOS文件,得到与更新请求对应的完整性值集合,并采用完整性值集合,更新基准值库,其中,BIOS文件包括多个基本输入输出系统组件的更新的完整性值。
在上述步骤S204中,带内管理系统在接收到上电指令的情况下,控制基本输入输出系统(BIOS)运行,并发送度量链信息至基板管理控制器(BMC),使得BMC根据接收的度量链信息,验证带内管理系统中除BIOS的BootBlock之外的组件的完整性。
在一些可选的实施方式中,上述基本输入输出系统(BIOS)包括度量链模块210,如图2所示。此时,本实施例中的验证方法还包括:度量链模块接收基板管理控制器(BMC)发送的度量值信息,其中,度量值信息包括BIOS的初始化数据的度量值;度量链模块获取带内管理系统中除BIOS的具有初始化数据的引导程序(BootBlock)之外的组件的完整性信息;度量链模块根据度量值信息和完整性信息,生成度量链信息。
在上述可选的实施方式中,度量链模块可以复用已有BIOS度量链技术,在BIOS启动时收集各个组件的完整性信息,并存放到可信根中。
具体地,上述度量链模块接收BMC传递的度量值信息,从而根据度量值信息以及带内管理系统中除BIOS之外的组件的完整性信息,生成度量链信息。其中,度量链是基于可信根,收集到的计算机启动时各个组件(比如BIOS、OpROM、操作系统内核等)的完整性信息。
为了确保基板管理控制器(BMC)与基本输入输出系统(BIOS)之间传递验证数据的安全可靠,双方通过各自的可信根确保交互数据的安全可信。
在一些可选的实施方式中,上述BIOS还包括第二可信根管理模块220,如图2所示,BIOS接收BMC发送的度量值信息,包括:第二可信根管理模块与BMC交换会话密钥,得到第二密钥,并使得BMC得到第一密钥,其中,第二密钥用于将度量值信息加密,生成度量值密文;第二可信根管理模块采用第二密钥将度量值密文解密,得到度量值信息。
在上述可选的实施方式中,第二可信根管理模块即为BIOS的可信根管理模块,其使用可信根的密钥引擎确保数据的机密性。BIOS使用可信根的密码学机制确保与BMC交互数据的机密性。
在一些可选的实施方式中,上述基本输入输出系统(BIOS)还包括认证模块230,如图2所示,发送度量链信息至基板管理控制器(BMC),包括:第二可信根管理模块采用第一密钥将度量链信息加密,得到度量链密文;认证模块将度量链密文发送至BMC,使得BMC采用第一密钥将度量链密文解密,得到度量链信息。
在上述可选的实施方式中,认证模块基于BIOS启动时构建的度量链,在BIOS将服务器控制权交给后一组件前,将度量链信息发送到BMC,由BMC端验证带内系统各硬件、内核等的完整性。
在一些可选的实施方式中,接收到基板管理控制器发送的度量值信息的时刻记录为第一时刻,发送度量链信息至基板管理控制器的时刻记录为第二时刻,在第一时刻与第二时刻的时差大于预设阈值的情况下,接收BMC中控制模块发送的控制信号,该控制信号用于控制带内管理系统中除基本输入输出系统的初始化数据之外的组件断电。
示例性的,本实施例中基于双可信根的服务器启动时序图如图4所示,BMC端对BIOS的第一阶段验证通过后,控制Host上电运行, BootBlock运行; BIOS端初始化第二可信根管理模块,并与BMC交换会话密钥,以及并接收其传递的度量值密文,然后记录BootBlock度量事件,并进行硬件初始化和度量链的构建。
实施例3
本实施例中提供了一种用于服务器的验证装置,该装置用于实现上述实施例1及其中优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本申请实施例的用于服务器的验证装置的结构框图,如图7所示,该装置包括:
判断模块302,用于在带内管理系统的电源状态为启动状态的情况下,采用基板管理控制器判断带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果;
输出模块304,用于在判断结果指示为是的情况下,采用基板管理控制器输出上电指令至带内管理系统,使得基本输入输出系统运行,并发送度量链信息;
验证模块306,用于采用基板管理控制器根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。
此处需要说明的是,上述判断模块302、输出模块304以及验证模块306可以对应于实施例1中的步骤S102至步骤S106,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。
通过上述模块,在加载BIOS前,先通过判断模块302判断带内管理系统中基本输入输出系统(BIOS)的初始化数据是否完整,可以验证BIOS最先运行的BootBlock的完整性,确保BIOS最初运行状态的安全可信;在BIOS执行完毕后,由BMC接收BIOS传递的本次启动收集的度量链,并通过验证模块306进行二次验证,验证其他硬件、内核等组件的完整性,只有当完成对BIOS及其他硬件、内核等组件的完整性验证后才能启动操作系统,从而可以通过BMC分阶段验证BIOS及带内管理系统中其他组件的完整性,解决了BMC不能获取其他组件(比如Raid卡、显卡、操作系统内核等)的完整性的问题,达到BMC可以验证BIOS及服务器中其它组件的完整性的效果。
在一些可选的实施方式中,上述基板管理控制器(BMC)包括电源状态监控模块110,如图2所示,电源状态监控模块用于检测带内管理系统的电源状态,其中,电源状态包括:启动状态,运行状态,以及断电状态。
为了执行对BIOS的第一阶段验证,上述基板管理控制器(BMC)包括第一验证模块120,如图2所示,第一验证模块用于计算BIOS的初始化数据的度量值,得到度量值信息,具有上述初始化数据的引导程序即BIOS固件中最先被加载运行的程序,用于最初的初始化操作,是Host上电后最先执行的程序;第一验证模块还用于根据基准值库,判断度量值信息是否完整,得到判断结果,其中,基准值库包括与BIOS对应的多个BIOS组件的完整性值。
在一些可选的实施方式中,上述基板管理控制器(BMC)还包括基准值管理模块130,如图2所示,基准值管理模块用于获取基本输入输出系统(BIOS)的更新请求和更新的BIOS文件,其中,BIOS文件包括多个BIOS组件的更新的完整性值;基准值管理模块还用于根据更新请求解析BIOS文件,得到与更新请求对应的完整性值集合;基准值管理模块还用于采用完整性值集合,更新基准值库。
在一些可选的实施方式中,上述第一验证模块还用于发送度量值信息至基本输入输出系统(BIOS),使得BIOS根据度量值信息以及带内管理系统中除BIOS的BootBlock之外的组件的完整性信息,生成度量链信息。其中,度量链是基于可信根,收集到的计算机启动时各个组件(比如BIOS、OpROM、操作系统内核等)的完整性信息。
在一些可选的实施方式中,上述基板管理控制器(BMC)还包括控制模块140,如图2所示,电源状态监控模块还用于记录将引导程序的度量值发送至基本输入输出系统(BIOS)的第一时刻,以及接收到度量链信息的第二时刻;电源状态监控模块用于判断第一时刻与第二时刻的时差是否大于预设阈值;在判断结果指示大于预设阈值的情况下,电源状态监控模块发送断电指令至控制模块,使得控制模块根据断电指令,对带内管理系统中除BIOS的BootBlock之外的组件执行断电操作。其中,Host控制模块指现有BMC中控制带内上电的逻辑模块,与完整性验证相关的模块根据验证结果调用该模块实现对Host的断电操作。
为了确保BMC与BIOS之间传递验证数据的安全可靠,双方通过各自的可信根确保交互数据的安全可信。
在一些可选的实施方式中,上述BMC还包括第一可信根管理模块150,如图2所示,第一可信根管理模块用于与BIOS交换会话密钥,得到第一密钥,并使得BIOS得到第二密钥;第一可信根管理模块还用于采用第二密钥将度量值信息加密,生成度量值密文;第一可信根管理模块还用于将度量值密文发送至BIOS,使得BIOS根据第二密钥,将度量值密文解密,得到度量值信息。其中,可信根管理模块指使用可信根的密钥引擎确保数据的机密性。BMC使用可信根的密码学机制确保与BIOS交互数据的机密性,同时为确保基准值库的安全,也要使用可信根中的密钥保护基准值库的机密性。需要在BIOS运行阶段完成与BIOS的会话密钥交互,确保后续通信数据的安全。
在一些可选的实施方式中,上述BMC还包括第二验证模块160,如图2所示,第一可信根管理模块还用于采用第一密钥将度量链密文解密,得到度量链信息;第二验证模块用于根据BIOS发送的度量链信息对服务器上的硬件、内核等组件进行第二次完整性验证,确保操作系统运行硬件环境的安全可信。
上述BMC还可以包括完整性信息维护模块170,如图2所示,用于维护完整性验证的结果,带外管理者可以调用该模块获取完整性验证的结果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例4
本实施例中提供了另一种用于服务器的验证装置,该装置用于实现上述实施例2及其中优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请实施例的用于服务器的验证装置的结构框图,如图8所示,该装置包括:
第一发送模块402,在带内管理系统的电源状态为启动状态的情况下,用于采用带内管理系统中的基本输入输出系统发送启动信号至基板管理控制器,使得基板管理控制器判断基本输入输出系统的初始化数据是否完整,并在判断结果指示为是的情况下输出上电指令;
第二发送模块404,用于在带内管理系统在接收到上电指令的情况下,控制基本输入输出系统运行,并发送度量链信息至基板管理控制器,使得基板管理控制器根据接收的度量链信息,验证带内管理系统中除基本输入输出系统的初始化数据之外的组件的完整性。
此处需要说明的是,上述判断模块402和输出模块404可以对应于实施例2中的步骤S202至步骤S206,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。
通过上述模块,先通过第一发送模块402发送启动信号至基板管理控制器(BMC),使得BMC判断BIOS的初始化数据是否完整,可以验证BIOS最先运行的BootBlock的完整性,确保BIOS最初运行状态的安全可信;在BIOS执行完毕后,通过第二发送模块404将本次启动收集的度量链发送给BMC进行二次验证,验证其他硬件、内核等组件的完整性,只有当完成对BIOS及其他硬件、内核等组件的完整性验证后才能启动操作系统,从而可以实现对BIOS及带内管理系统中其他组件的完整性分阶段的验证,解决了BMC不能获取其他组件(比如Raid卡、显卡、操作系统内核等)的完整性的问题,达到BMC可以验证BIOS及服务器中其它组件的完整性的效果。
在一些可选的实施方式中,上述基本输入输出系统(BIOS)包括度量链模块210,如图2所示,度量链模块用于接收基板管理控制器(BMC)发送的度量值信息,其中,度量值信息包括BIOS的初始化数据的度量值;度量链模块还用于获取带内管理系统中除BIOS的具有初始化数据的引导程序(BootBlock)之外的组件的完整性信息;度量链模块还用于根据度量值信息和完整性信息,生成度量链信息。
为了确保基板管理控制器(BMC)与基本输入输出系统(BIOS)之间传递验证数据的安全可靠,双方通过各自的可信根确保交互数据的安全可信。
在一些可选的实施方式中,上述BIOS还包括第二可信根管理模块220,如图2所示,第二可信根管理模块用于与BMC交换会话密钥,得到第二密钥,并使得BMC得到第一密钥,其中,第二密钥用于将度量值信息加密,生成度量值密文;第二可信根管理模块还用于采用第二密钥将度量值密文解密,得到度量值信息。
在一些可选的实施方式中,上述基本输入输出系统(BIOS)还包括认证模块230,如图2所示,第二可信根管理模块还用于采用第一密钥将度量链信息加密,得到度量链密文;认证模块用于将度量链密文发送至BMC,使得基板管理控制器采用第一密钥将度量链密文解密,得到度量链信息。
在一些可选的实施方式中,如图2所示,带内管理系统的Host可信根模块包括密钥引擎和完整性引擎。
本申请的其它实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的其它实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种用于服务器的验证方法,其特征在于,所述验证方法应用于基板管理控制器,所述服务器包括带内管理系统,所述验证方法包括:
在所述带内管理系统的电源状态为启动状态的情况下,判断所述带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果;
在所述判断结果指示为是的情况下,输出上电指令至所述带内管理系统,使得所述基本输入输出系统运行,并发送度量链信息;
根据接收的所述度量链信息,验证所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件的完整性。
2.根据权利要求1所述的验证方法,其特征在于,所述验证方法还包括:
在判断所述基本输入输出系统的初始化数据是否完整之前,检测所述带内管理系统的电源状态,其中,所述电源状态包括:所述启动状态,运行状态,以及断电状态。
3.根据权利要求2所述的验证方法,其特征在于,判断所述带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果,包括:
计算所述基本输入输出系统的初始化数据的度量值,得到度量值信息;
根据基准值库,判断所述度量值信息是否完整,得到所述判断结果,其中,所述基准值库包括与所述基本输入输出系统对应的多个基本输入输出系统组件的完整性值。
4.根据权利要求3所述的验证方法,其特征在于,所述验证方法还包括:
获取所述基本输入输出系统的更新请求和更新的BIOS文件,其中,所述BIOS文件包括多个基本输入输出系统组件的更新的完整性值;
根据所述更新请求解析所述BIOS文件,得到与所述更新请求对应的完整性值集合;
采用所述完整性值集合,更新所述基准值库。
5.根据权利要求3所述的验证方法,其特征在于,所述验证方法还包括:
在所述判断结果指示为否的情况下,对所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件执行断电操作。
6.根据权利要求3所述的验证方法,其特征在于,还包括:
发送所述度量值信息至所述基本输入输出系统,使得所述基本输入输出系统根据所述度量值信息以及所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件的完整性信息,生成度量链信息。
7.根据权利要求6所述的验证方法,其特征在于,所述发送所述度量值信息至所述基本输入输出系统,包括:
与所述基本输入输出系统交换会话密钥,得到第一密钥,并使得所述基本输入输出系统得到第二密钥;
采用所述第二密钥将所述度量值信息加密,生成度量值密文;
将所述度量值密文发送至所述基本输入输出系统,使得所述基本输入输出系统根据所述第二密钥,将所述度量值密文解密,得到所述度量值信息。
8.根据权利要求7所述的验证方法,其特征在于,还包括:
在根据所述度量链信息,验证所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件的完整性之前,采用所述第一密钥将度量链密文解密,得到所述度量链信息,其中,所述基本输入输出系统根据所述度量值信息以及所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件的完整性信息,得到所述度量链密文。
9.根据权利要求6所述的验证方法,其特征在于,所述验证方法还包括:
记录将所述度量值信息发送至所述基本输入输出系统的第一时刻,以及接收到所述度量链信息的第二时刻;
判断所述第一时刻与所述第二时刻的时差是否大于预设阈值;
在判断结果指示大于所述预设阈值的情况下,对所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件执行断电操作。
10.一种用于服务器的验证方法,其特征在于,所述服务器包括带内管理系统,所述验证方法应用于所述带内管理系统中的基本输入输出系统,所述验证方法包括:
在所述带内管理系统的电源状态为启动状态的情况下,发送启动信号至基板管理控制器,使得所述基板管理控制器判断所述基本输入输出系统的初始化数据是否完整,并在判断结果指示为是的情况下输出上电指令;
在接收到所述上电指令的情况下,控制所述基本输入输出系统运行,并发送度量链信息至所述基板管理控制器,使得所述基板管理控制器根据接收的所述度量链信息,验证所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件的完整性。
11.根据权利要求10所述的验证方法,其特征在于,所述验证方法还包括:
在所述判断结果指示为否的情况下,接收所述基板管理控制器发送的控制信号,所述控制信号用于控制所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件断电。
12.根据权利要求10所述的验证方法,其特征在于,所述验证方法还包括:
发送所述基本输入输出系统的更新请求和更新的BIOS文件至所述基板管理控制器,使得所述基板管理控制器根据所述更新请求解析所述BIOS文件,得到与所述更新请求对应的完整性值集合,并采用所述完整性值集合,更新基准值库,其中,所述BIOS文件包括多个基本输入输出系统组件的更新的完整性值。
13.根据权利要求10所述的验证方法,其特征在于,所述验证方法还包括:
接收所述基板管理控制器发送的度量值信息,其中,所述度量值信息包括所述基本输入输出系统的初始化数据的度量值;
获取所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件的完整性信息;
根据所述度量值信息和所述完整性信息,生成度量链信息。
14.根据权利要求13所述的验证方法,其特征在于,接收所述基板管理控制器发送的度量值信息,包括:
与所述基板管理控制器交换会话密钥,得到第二密钥,并使得所述基板管理控制器得到第一密钥,其中,所述第二密钥用于将所述度量值信息加密,生成度量值密文;
采用所述第二密钥将所述度量值密文解密,得到所述度量值信息。
15.根据权利要求14所述的验证方法,其特征在于,所述发送度量链信息至所述基板管理控制器,包括:
采用所述第一密钥将所述度量链信息加密,得到度量链密文;
将所述度量链密文发送至所述基板管理控制器,使得所述基板管理控制器采用所述第一密钥将所述度量链密文解密,得到所述度量链信息。
16.根据权利要求15所述的验证方法,其特征在于,还包括:
在第一时刻与第二时刻的时差大于预设阈值的情况下,接收所述基板管理控制器发送的控制信号,其中,所述第一时刻为接收到所述基板管理控制器发送的度量值信息的时刻,所述第二时刻为发送所述度量链信息至所述基板管理控制器的时刻,所述控制信号用于控制所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件断电。
17.一种用于服务器的验证装置,其特征在于,所述验证装置应用于基板管理控制器,所述服务器包括带内管理系统,所述验证装置包括:
判断模块,用于在所述带内管理系统的电源状态为启动状态的情况下,判断所述带内管理系统中基本输入输出系统的初始化数据是否完整,得到判断结果;
输出模块,用于在所述判断结果指示为是的情况下,输出上电指令至所述带内管理系统,使得所述基本输入输出系统运行,并发送度量链信息;
验证模块,用于根据接收的所述度量链信息,验证所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件的完整性。
18.一种用于服务器的验证装置,其特征在于,所述服务器包括带内管理系统,所述验证装置应用于所述带内管理系统中的基本输入输出系统,所述验证装置包括:
第一发送模块,在所述带内管理系统的电源状态为启动状态的情况下,用于发送启动信号至基板管理控制器,使得所述基板管理控制器判断所述基本输入输出系统的初始化数据是否完整,并在判断结果指示为是的情况下输出上电指令;
第二发送模块,用于在接收到所述上电指令的情况下,控制所述基本输入输出系统运行,并发送度量链信息至所述基板管理控制器,使得所述基板管理控制器根据接收的所述度量链信息,验证所述带内管理系统中除所述基本输入输出系统的初始化数据之外的组件的完整性。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至9任一项中所述的验证方法的步骤,或者实现权利要求10至16任一项中所述的验证方法的步骤。
20.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至9任一项中所述的验证方法的步骤,或者实现权利要求10至16任一项中所述的验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211634914.4A CN115618366B (zh) | 2022-12-19 | 2022-12-19 | 用于服务器的验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211634914.4A CN115618366B (zh) | 2022-12-19 | 2022-12-19 | 用于服务器的验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115618366A true CN115618366A (zh) | 2023-01-17 |
CN115618366B CN115618366B (zh) | 2023-04-18 |
Family
ID=84879886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211634914.4A Active CN115618366B (zh) | 2022-12-19 | 2022-12-19 | 用于服务器的验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115618366B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN208210006U (zh) * | 2018-06-11 | 2018-12-07 | 山东超越数控电子股份有限公司 | 一种基于国产tpm的高安全可信服务器 |
CN111950014A (zh) * | 2020-08-27 | 2020-11-17 | 英业达科技有限公司 | 服务器系统启动的安全度量方法、安全度量装置及服务器 |
CN112733129A (zh) * | 2021-01-14 | 2021-04-30 | 北京工业大学 | 一种服务器带外管理的可信接入方法 |
CN115421793A (zh) * | 2022-08-05 | 2022-12-02 | 超聚变数字技术有限公司 | 一种启动状态的显示方法及计算设备 |
-
2022
- 2022-12-19 CN CN202211634914.4A patent/CN115618366B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN208210006U (zh) * | 2018-06-11 | 2018-12-07 | 山东超越数控电子股份有限公司 | 一种基于国产tpm的高安全可信服务器 |
CN111950014A (zh) * | 2020-08-27 | 2020-11-17 | 英业达科技有限公司 | 服务器系统启动的安全度量方法、安全度量装置及服务器 |
CN112733129A (zh) * | 2021-01-14 | 2021-04-30 | 北京工业大学 | 一种服务器带外管理的可信接入方法 |
CN115421793A (zh) * | 2022-08-05 | 2022-12-02 | 超聚变数字技术有限公司 | 一种启动状态的显示方法及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115618366B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9288155B2 (en) | Computer system and virtual computer management method | |
US11861372B2 (en) | Integrity manifest certificate | |
JP5551130B2 (ja) | サーバ管理コプロセッササブシステム内部のtcpaによる信頼性の高いプラットフォームモジュール機能のカプセル化 | |
US8874922B2 (en) | Systems and methods for multi-layered authentication/verification of trusted platform updates | |
US9594909B2 (en) | Software updating apparatus, software updating system, invalidation method, and invalidation program | |
CN103270518B (zh) | 虚拟机验证系统及其方法 | |
TWI460607B (zh) | 針對信賴供應而保全裝置環境的技術 | |
CN110737897B (zh) | 基于可信卡的启动度量的方法和系统 | |
US20110213953A1 (en) | System and Method for Measuring Staleness of Attestation Measurements | |
CN110770729B (zh) | 用于证明虚拟机完整性的方法和设备 | |
US9015454B2 (en) | Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys | |
CN111125707A (zh) | 一种基于可信密码模块的bmc安全启动方法、系统及设备 | |
CN105786588A (zh) | 一种净室可信虚拟机监控器的远程认证方法 | |
US20210232688A1 (en) | Determine whether to perform action on computing device based on analysis of endorsement information of a security co-processor | |
CN113127873A (zh) | 堡垒机的可信度量系统及电子设备 | |
CN110324315B (zh) | 离线鉴权系统及其方法 | |
CN115618366B (zh) | 用于服务器的验证方法及装置 | |
CN110677483B (zh) | 信息处理系统和可信安全管理系统 | |
CN108228219B (zh) | 一种带外刷新bios时验证bios合法性的方法及装置 | |
Sisinni | Verification of Software Integrity in Distributed Systems | |
CN108076021B (zh) | 业务处理方法和装置 | |
Pedone et al. | Trusted computing technology and proposals for resolving cloud computing security problems | |
WO2019177564A1 (en) | Platform configurations | |
CN117494232B (zh) | 固件的执行方法和装置、系统、存储介质及电子设备 | |
CN116305092B (zh) | 一种可信的虚拟化系统的实现方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |