CN107451479A - 一种信任链的构建方法及系统 - Google Patents

一种信任链的构建方法及系统 Download PDF

Info

Publication number
CN107451479A
CN107451479A CN201710641132.6A CN201710641132A CN107451479A CN 107451479 A CN107451479 A CN 107451479A CN 201710641132 A CN201710641132 A CN 201710641132A CN 107451479 A CN107451479 A CN 107451479A
Authority
CN
China
Prior art keywords
metric
bmc
tampered
bios
measured
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
Application number
CN201710641132.6A
Other languages
English (en)
Inventor
苏振宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201710641132.6A priority Critical patent/CN107451479A/zh
Publication of CN107451479A publication Critical patent/CN107451479A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]

Abstract

本发明实施例公开了一种信任链的构建方法及系统,包括在服务器上电之前启动BMC模块和TCM模块;采用TCM模块对BMC模块中的BMC固件进行度量,得到第一度量结果,并依据第一度量结果判断BMC固件是否未被篡改,如果BMC固件未被篡改,则采用BMC固件对BIOS Boot Block进行度量,得到第二度量结果,并依据第二度量结果判断BIOS Boot Block是否未被篡改,如果BIOS Boot Block未被篡改,则控制电源控制模块为服务器上电,并采用BIOS建立后续的信任链。本发明实施例在信任链的建立过程中提高了信任链的安全性,从而提高了系统的安全性。

Description

一种信任链的构建方法及系统
技术领域
本发明实施例涉及可信计算技术领域,特别是涉及一种信任链的构建方法及系统。
背景技术
可信计算(Trusted Computing)是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。可信计算通过在计算系统中集成专用硬件模块建立信任源点,即可信根,基于可信根建立可信传递机制,通过分级的度量、验证、扩展流程,实现系统运行环境的可信。
在计算机系统中,信任链技术是建立在密码机制基础上的,从信任根开始到硬件平台、操作系统、再到应用,通过密码算法进行一级度量认证一级,一级信任一级,把这种信任扩展到整个计算机系统,从而确保整个计算机系统的可信。
现有技术中,在信任链的构建过程中是采用TCG(Trusted Computing Group,可信计算组织)规范定义的信任链结构把CPU(Central Processing Unit,中央处理器)作为CRTM(Core Root of Trust for Measurement,核心度量根),在系统上电时,由CRTM度量BIOS Boot Block,然后基于BIOS(Bisic Input Output System,基本输入输出系统)和TPM(Trusted Platform Module,可信平台模块)完成对系统平台各个模块的度量。
BIOS作为计算机系统中的基础固件,其安全可信直接影响整个计算机系统的安全度。由于现有技术中在构建信任链时,将BIOS作为信任的起点,且TCG规范的安全性较低,所以使整个信任链的安全性降低,从而使整个系统的安全性降低。
因此,如何提供一种解决上述技术问题的信任链的构建方法及系统成为本领域的技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种信任链的构建方法及系统,在使用过程中提高了信任链的安全性,从而提高了系统的安全性。
为解决上述技术问题,本发明实施例提供了一种信任链的构建方法,包括:
S11:在服务器上电之前启动BMC模块和TCM模块;
S12:采用TCM模块对所述BMC模块中的BMC固件进行度量,得到第一度量结果,并依据所述第一度量结果判断所述BMC固件是否未被篡改,如果是,则进入S13;
S13:采用所述BMC固件对BIOS Boot Block进行度量,得到第二度量结果,并依据所述第二度量结果判断所述BIOS Boot Block是否未被篡改,如果是,则进入S14;
S14:控制电源控制模块为所述服务器上电,并采用BIOS建立后续的信任链。
可选的,所述BMC固件包括引导程序、Linux系统的内核、可信代理程序及BMC应用程序;
所述采用TCM模块对所述BMC模块中的BMC固件进行度量,得到度量结果,并依据所述度量结果判断所述BMC固件是否未被篡改,如果是,则进入S13的过程为:
S121:采用TCM模块对所述引导程序进行度量,得到第一度量值,并依据所述第一度量值判断所述引导程序是否未被篡改,如果是,则进入S122;
S122:采用所述引导程序对Linux系统的内核和可信代理程序进行度量,分别得到第二度量值和第三度量值,并依据所述第二度量值和所述第三度量值判断所述Linux系统的内核和所述可信代理程序是否均未被篡改,如果是,则进入S123;
S123:采用所述可信代理程序对BIOS Boot Block和BMC应用程序进行度量,分别得到第四度量值和第五度量值,并依据所述第四度量值和所述第五度量值判断所述BIOSBoot Block和所述BMC应用程序是否均未被篡改,如果是,则进入S13。
可选的,所述采用TCM模块对所述引导程序进行度量,得到第一度量值的过程为:
采用TCM模块并依据所述TCM模块中的SM3度量算法对所述引导程序进行度量,得到第一度量值。
可选的,所述依据所述第一度量值判断所述引导程序是否未被篡改的过程为:
从TCM模块的寄存器中获取预先存储的、与所述引导程序对应的第一标准值;
将所述第一度量值与所述第一标准值进行匹配,并判断所述第一度量值与所述第一标准值是否一致,如果是,则所述引导程度未被篡改。
可选的,所述采用BIOS建立后续的信任链的过程为:
S141:采用所述BIOS Boot Block对所述BIOS的基本信息及BIOS Main Block进行度量,并当所述基本信息及所述BIOS Main Block均未被篡改时进入S142;
S142:采用所述BIOS Main Block对主板的扩展组件进行度量,并当所述主板的度量组件未被篡改时进入S143;
S143:采用所述BIOS Main Block对Boot loader进行度量,并当所述Boot loader未被篡改时进入S144;
S144:采用Boot loader Grub对其配置文件进行度量,当所述配置文件未被篡改时,对需要加载的OS Kernel进行度量,并当所述OS Kernel未被篡改时,进入S115;
S145:通过所述OS Kernel控制操作系统开启。
可选的,所述主板的扩展组件包括主板的显卡、硬盘、网卡及PCI-E卡。
为解决上述技术问题,本发明实施例提供了一种信任链的构建系统,包括:
启动模块,用于在服务器上电之前启动BMC模块和TCM模块;
度量模块,用于采用TCM模块对所述BMC模块中的BMC固件进行度量,得到第一度量结果;用于采用所述BMC固件对BIOS Boot Block进行度量,得到第二度量结果;
判断模块,用于依据所述第一度量结果判断所述BMC固件是否未被篡改,如果是,则触发所述度量模块;用于依据所述第二度量结果判断所述BIOS Boot Block是否未被篡改,如果是,则触发控制模块;
所述控制模块,用于控制电源控制模块为所述服务器上电,并采用BIOS建立后续的信任链。
可选的,所述BMC固件包括引导程序、Linux系统的内核、可信代理程序及BMC应用程序;
所述度量模块包括第一度量单元、第二度量单元和第三度量单元;所述判断模块包括第一判断单元、第二判断单元和第三判断单元;
所述第一度量单元,用于采用TCM模块对所述引导程序(U-boot)进行度量,得到第一度量值;
所述第一判断单元,用于依据所述第一度量值判断所述引导程序是否未被篡改,如果是,则触发所述第二度量单元;
所述第二度量单元,用于采用所述引导程序对Linux系统的内核和可信代理程序进行度量,得到第二度量值和第三度量值;
所述第二判断单元,用于依据所述第二度量值和所述第三度量值判断所述Linux系统的内核或所述可信代理程序是否均未被篡改,如果是,则触发所述第三度量单元;
所述第三度量单元,用于采用所述可信代理程序对BIOS Boot Block和BMC应用程序进行度量,分别得到第三度量值和第四度量值;
所述第三判断单元,用于依据所述第三度量值和所述第四度量值判断所述BIOSBoot Block和所述BMC应用程序是否均未被篡改,如果是,则触发所述控制模块。
本发明实施例提供了一种信任链的构建方法及系统,包括在服务器上电之前启动BMC模块和TCM模块;采用TCM模块对BMC模块中的BMC固件进行度量,得到第一度量结果,并依据第一度量结果判断BMC固件是否未被篡改,如果BMC固件未被篡改,则采用BMC固件对BIOS Boot Block进行度量,得到第二度量结果,并依据第二度量结果判断BIOS BootBlock是否未被篡改,如果BIOS Boot Block未被篡改,则控制电源控制模块为服务器上电,并采用BIOS建立后续的信任链。
本发明实施例中的TCM模块是基于我国在可信计算领域自主研发的可信密码模块,其安全性较高,并且在建立信任链的过程中BMC模块和TCM模块是在服务器上电之前启动的,并且通过TCM模块对BMC模块中的BMC固件进行度量,当BMC固件没有被篡改时,再采用BMC固件去度量BIOS Boot Block,并且再确定BIOS Boot Block没有被篡改后再控制电源控制模块为服务器上电,进一步增加了服务器的安全性,并且此时再采用BIOS建立后续的信任链。本发明实施例在信任链的建立过程中将BMC模块和TCM模块作为信任根的源点,将信任根进行了前移,降低了信任根遭遇攻击的风险,提高了信任链的安全性,从而提高了服务器的安全可信性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种信任链的构建方法的流程示意图;
图2为本发明实施例提供的一种信任链的构建系统的结构示意图。
具体实施方式
本发明实施例提供了一种信任链的构建方法及系统,在使用过程中提高了信任链的安全性,从而提高了系统的安全性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种信任链的构建方法的流程示意图。
该方法包括:
S11:在服务器上电之前启动BMC模块和TCM模块;
S12:采用TCM模块对BMC模块中的BMC固件进行度量,得到第一度量结果,并依据第一度量结果判断BMC固件是否未被篡改,如果是,则进入S13;
S13:采用BMC固件对BIOS Boot Block进行度量,得到第二度量结果,并依据第二度量结果判断BIOS Boot Block是否未被篡改,如果是,则进入S14;
S14:控制电源控制模块为服务器上电,并采用BIOS建立后续的信任链。
需要说明的是,TCM(Trusted Cryptography Module)模块是我国在可信计算领域自主研制的可信密码模块,TCM模块借鉴了国际可信计算组织的可信平台模块TPM的技术框架,但安全性和计算效率都比TPM有了较大的提高。将TCM模块作为系统平台的可信根,具备对称、非对称密码算法、密码杂凑算法、密钥生成与存储等功能。BMC(BaseboardManagement Controller)模块为服务器主板监控管理控制器,作为系统平台的可信度量根,在服务器主板上电时首先进行BMC固件的可信引导。
本发明实施例中将BMC模块和TCM模块作为信任根的源点,在服务器上电启动过程中,BMC模块和TCM模块先于服务器启动,再通过TCM模块对BMC模块中的BMC固件进行度量、并确定BMC固件安全可信后,再由BMC固件对BIOS的完整性进行度量,当BIOS通过完整性验证之后服务器才上电启动,然后再由BIOS完成后续信任链的构建。
本发明实施例提供了一种信任链的构建方法,包括在服务器上电之前启动BMC模块和TCM模块;采用TCM模块对BMC模块中的BMC固件进行度量,得到第一度量结果,并依据第一度量结果判断BMC固件是否未被篡改,如果BMC固件未被篡改,则采用BMC固件对BIOSBoot Block进行度量,得到第二度量结果,并依据第二度量结果判断BIOS Boot Block是否未被篡改,如果BIOS Boot Block未被篡改,则控制电源控制模块为服务器上电,并采用BIOS建立后续的信任链。
本发明实施例中的TCM模块是基于我国在可信计算领域自主研发的可信密码模块,其安全性较高,并且在建立信任链的过程中BMC模块和TCM模块是在服务器上电之前启动的,并且通过TCM模块对BMC模块中的BMC固件进行度量,当BMC固件没有被篡改时,再采用BMC固件去度量BIOS Boot Block,并且再确定BIOS Boot Block没有被篡改后再控制电源控制模块为服务器上电,进一步增加了服务器的安全性,并且此时再采用BIOS建立后续的信任链。本发明实施例在信任链的建立过程中将BMC模块和TCM模块作为信任根的源点,将信任根进行了前移,降低了信任根遭遇攻击的风险,提高了信任链的安全性,从而提高了服务器的安全可信性。
本发明实施例公开了一种信任链的构建方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
进一步的,BMC固件包括引导程序、Linux系统的内核、可信代理程序及BMC应用程序;
其中,引导程序即U-Boot,该U-Boot位于BMC模块的启动程序中,U-Boot是BMC模块在上电启动时,第一段运行的代码;Linux系统的内核即Linux Kernel,是位于BMC模块中Linux系统中的内核;可信代理程序用于对TCM模块进行调用,对BIOS Boot Block和BMC应用程序进行度量;BMC应用程序也即BMC Apps,即运行于BMC模块中的应用软件,如BMC管理软件等。
在上述S12中,采用TCM模块对BMC模块中的BMC固件进行度量,得到度量结果,并依据度量结果判断BMC固件是否未被篡改,如果是,则进入S13的过程,具体可以为:
S121:采用TCM模块对引导程序进行度量,得到第一度量值,并依据第一度量值判断引导程序是否未被篡改,如果是,则进入S122;
具体可以为采用TCM模块并依据TCM模块中的度量算法(例如SM3度量算法)对引导程序进行度量,得到第一度量值;
从TCM模块的寄存器(平台状态寄存器)中获取预先存储的、与引导程序对应的第一标准值;
将第一度量值与第一标准值进行匹配,并判断第一度量值与第一标准值是否一致,如果是,则引导程度未被篡改。如果引导程序被篡改,则暂停启动,如果引导程序没有被篡改,则将系统的控制权转移至该BMC模块中的引导程序上。
S122:采用引导程序对Linux系统的内核和可信代理程序进行度量,分别得到第二度量值和第三度量值,并依据第二度量值和第三度量值判断Linux系统的内核和可信代理程序是否均未被篡改,如果是,则进入S123;
具体的,在系统的控制权转移至该BMC模块中的引导程序之后,BMC的加载过程中由引导程序U-Boot中的度量程序调用TCM模块中的度量算法对Linux系统的内核和可信代理程序进行度量,并可以将得到的第二度量值和第三度量值扩展存储到TCM模块的平台状态寄存器PCR0中,具体还可以从平台状态寄存器中读取出预先存储的、分别与Linux系统的内核和可信代理程序对应的第二标准值和第三标准值,并将第二度量值和第三度量值分别与第二标准值和第三标准值进行匹配,如果第二度量值和第三度量值分别与第二标准值和第三标准值一致,则说明Linux系统的内核和可信代理程序均未被篡改,此时系统的控制权由引导程序转移至Linux Kernel的可信代理程序上,如果Linux系统的内核和可信代理程序中有一个被篡改,则停止启动。
另外,再实际应用中可以先对Linux系统的内核进行度量,当Linux系统的内核没有被篡改时,再对可信代理程序进行度量;或者可以先对可以先对可信代理程序进行度量,当可信代理程序没有被篡改时,再对Linux系统的内核进行度量。当然,也可以同时对Linux系统的内核和可信代理程序进行度量,对于在Linux系统的内核和可信代理程序进行度量时的度量顺序本发明实施例不做特殊的限定,能实现本发明实施例的目的即可。
S123:采用可信代理程序对BIOS Boot Block和BMC应用程序进行度量,分别得到第四度量值和第五度量值,并依据第四度量值和第五度量值判断BIOS Boot Block和BMC应用程序是否均未被篡改,如果是,则进入S13。
需要说明的是,BIOS Boot Block表示的是BIOS中的一段特定的区域,包含用于引导的最小指令集。
具体的,在系统的控制权由引导程序转移至Linux Kernel的可信代理程序之后,位于Linux Kernel中的可信代理程序可以通过读取BIOS Boot Block的代码对BIOS BootBlock进行度量,得到第四度量值,并将其扩展存储到TCM模块的平台状态寄存器PCR0中,具体还可以从平台状态寄存器中读取出预先存储的、与BIOS Boot Block对应的第四标准值,当第四度量值与第四标准值一致时,则说明BIOS Boot Block没有被篡改,此时再对BMC应用程序进行度量,并将得到的第五度量值与平台状态寄存器中预先存储的、与BMC应用程序的第五标准值进行匹配,若此时第五度量值与第五标准值一致,则说明BMC应用程序没有被篡改,此时将系统的控制权由可信代理程序转移至BIOS Boot Block。当然,在对BIOS BootBlock度量的过程中,若第四度量值与第四标准值不一致,则说明BIOS Boot Block被篡改,则停止启动。
需要说明的是,在实际应用中还可以先对BMC应用程序进行度量,再对BIOS BootBlock进行度量,或者同时对二者进行度量。本发明实施例中对BIOS Boot Block和BMC应用程序的度量顺序不做特殊的限定,能实现本发明实施例的目的即可。
当系统的控制权由可信代理程序转移至BIOS Boot Block之后,则具体可以有BMC模块下发指令至电源控制模块,电源控制模块依据该指令为服务器上电,并由BIOS建立后续的信任链。
则,在上述S14中,采用BIOS建立后续的信任链的过程,具体可以为:
S141:采用BIOS Boot Block对BIOS的基本信息及BIOS Main Block进行度量,并当基本信息及BIOS Main Block均未被篡改时进入S142;
其中,BIOS Main Block为BIOS的主模块,基础信息包括地址信息等。采用BIOSBoot Block对BIOS的基本信息及BIOS Main Block进行度量的过程同样为计算出相应的度量值,并将计算得到的各个度量值与相应的基准值进行匹配,进一步判断基本信息及BIOSMain Block是否均未被篡改,具体过程与上述判断方法类似,本申请在此不再赘述。当基本信息及BIOS Main Block均未被篡改时将系统的控制权转移至BIOS Main Block。S142:采用BIOS Main Block对主板的扩展组件进行度量,并当主板的度量组件未被篡改时进入S143;
S143:采用BIOS Main Block对Boot loader进行度量,并当Boot loader未被篡改时进入S144;
需要说明的是,当系统的控制权转移至BIOS Main Block后,由BIOS Main Block西安对主板的扩展组件(Option ROMs)进行度量,例如对主板的显卡、硬盘、网卡及PCI-E卡等主板外设进行度量,其中,各个度量值可以扩展存储于TCM模块的寄存器PCR2中,并当主板的度量组件未被篡改时,再对Boot loader进行度量,其中,Boot loader为服务器操作系统的引导程序,即Grub(GRand Unified Bootloader,多重操作系统启动管理器)各个阶段的代码,与Boot loader对应的度量值可以扩展存储至TCM模块的寄存器PCR5中,并当Bootloader没有被篡改时,将系统的控制权转移至Boot loader Grub上。
S144:采用Boot loader Grub对其配置文件进行度量,当配置文件未被篡改时,对需要加载的OS Kernel进行度量,并当OS Kernel未被篡改时,进入S115;
S145:通过OS Kernel控制操作系统开启。
具体的,当Boot loader Grub掌握控制权后,执行与操作系统相关的加载工作,并首先由Boot loader Grub对其配置文件(grub.conf)进行度量,并将其度量值扩展存储至TCM模块的寄存器PCR5中,当配置文件未被篡改时,对需要加载的OS Kernel(OperatingSystem Kernel,服务器操作系统的内核)进行度量,以验证内核的完整性,并当OS Kernel未被篡改时,系统的控制权由Boot loader Grub转移至OS Kernel,此时操作系统进行开启。
可选的,主板的扩展组件包括主板的显卡、硬盘、网卡及PCI-E卡。
当然,主板的扩展组件不仅限于包括上述组件,还可以包括其他组件,具体的本发明实施例对此不作特殊的限定,能实现本发明实施例的目的即可。
相应的本发明实施例还公开了一种信任链的构建系统,具体请参照图2,图2为本发明实施例提供的一种信任链的构建系统的结构示意图。在上述实施例的基础上:
该系统包括:
启动模块1,用于在服务器上电之前启动BMC模块和TCM模块;
度量模块2,用于采用TCM模块对BMC模块中的BMC固件进行度量,得到第一度量结果;用于采用BMC固件对BIOS Boot Block进行度量,得到第二度量结果;
判断模块3,用于依据第一度量结果判断BMC固件是否未被篡改,如果是,则触发度量模块2;用于依据第二度量结果判断BIOS Boot Block是否未被篡改,如果是,则触发控制模块4;
控制模块4,用于控制电源控制模块为服务器上电,并采用BIOS建立后续的信任链。
可选的,BMC固件包括引导程序、Linux系统的内核、可信代理程序及BMC应用程序;
度量模块2包括第一度量单元、第二度量单元和第三度量单元;判断模块3包括第一判断单元、第二判断单元和第三判断单元;
第一度量单元,用于采用TCM模块对引导程序(U-boot)进行度量,得到第一度量值;
第一判断单元,用于依据第一度量值判断引导程序是否未被篡改,如果是,则触发第二度量单元;
第二度量单元,用于采用引导程序对Linux系统的内核和可信代理程序进行度量,得到第二度量值和第三度量值;
第二判断单元,用于依据第二度量值和第三度量值判断Linux系统的内核或可信代理程序是否均未被篡改,如果是,则触发第三度量单元;
第三度量单元,用于采用可信代理程序对BIOS Boot Block和BMC应用程序进行度量,分别得到第三度量值和第四度量值;
第三判断单元,用于依据第三度量值和第四度量值判断BIOS Boot Block和BMC应用程序是否均未被篡改,如果是,则触发控制模块4。
需要说明的是,本发明实施例中的TCM模块是基于我国在可信计算领域自主研发的可信密码模块,其安全性较高,并且在建立信任链的过程中BMC模块和TCM模块是在服务器上电之前启动的,并且通过TCM模块对BMC模块中的BMC固件进行度量,当BMC固件没有被篡改时,再采用BMC固件去度量BIOS Boot Block,并且再确定BIOS Boot Block没有被篡改后再控制电源控制模块为服务器上电,进一步增加了服务器的安全性,并且此时再采用BIOS建立后续的信任链。本发明实施例在信任链的建立过程中将BMC模块和TCM模块作为信任根的源点,将信任根进行了前移,降低了信任根遭遇攻击的风险,提高了信任链的安全性,从而提高了服务器的安全可信性。
另外,对于本发明实施例中所涉及到的信任链的构建方法的具体介绍请参照上述方法实施例,本申请在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其他形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种信任链的构建方法,其特征在于,包括:
S11:在服务器上电之前启动BMC模块和TCM模块;
S12:采用TCM模块对所述BMC模块中的BMC固件进行度量,得到第一度量结果,并依据所述第一度量结果判断所述BMC固件是否未被篡改,如果是,则进入S13;
S13:采用所述BMC固件对BIOS Boot Block进行度量,得到第二度量结果,并依据所述第二度量结果判断所述BIOS Boot Block是否未被篡改,如果是,则进入S14;
S14:控制电源控制模块为所述服务器上电,并采用BIOS建立后续的信任链。
2.根据权利要求1所述的信任链的构建方法,其特征在于,所述BMC固件包括引导程序、Linux系统的内核、可信代理程序及BMC应用程序;
所述采用TCM模块对所述BMC模块中的BMC固件进行度量,得到度量结果,并依据所述度量结果判断所述BMC固件是否未被篡改,如果是,则进入S13的过程为:
S121:采用TCM模块对所述引导程序进行度量,得到第一度量值,并依据所述第一度量值判断所述引导程序是否未被篡改,如果是,则进入S122;
S122:采用所述引导程序对Linux系统的内核和可信代理程序进行度量,分别得到第二度量值和第三度量值,并依据所述第二度量值和所述第三度量值判断所述Linux系统的内核和所述可信代理程序是否均未被篡改,如果是,则进入S123;
S123:采用所述可信代理程序对BIOS Boot Block和BMC应用程序进行度量,分别得到第四度量值和第五度量值,并依据所述第四度量值和所述第五度量值判断所述BIOS BootBlock和所述BMC应用程序是否均未被篡改,如果是,则进入S13。
3.根据权利要求2所述的信任链的构建方法,其特征在于,所述采用TCM模块对所述引导程序进行度量,得到第一度量值的过程为:
采用TCM模块并依据所述TCM模块中的SM3度量算法对所述引导程序进行度量,得到第一度量值。
4.根据权利要求3所述的信任链的构建方法,其特征在于,所述依据所述第一度量值判断所述引导程序是否未被篡改的过程为:
从TCM模块的寄存器中获取预先存储的、与所述引导程序对应的第一标准值;
将所述第一度量值与所述第一标准值进行匹配,并判断所述第一度量值与所述第一标准值是否一致,如果是,则所述引导程度未被篡改。
5.根据权利要求2所述的信任链的构建方法,其特征在于,所述采用BIOS建立后续的信任链的过程为:
S141:采用所述BIOS Boot Block对所述BIOS的基本信息及BIOS Main Block进行度量,并当所述基本信息及所述BIOS Main Block均未被篡改时进入S142;
S142:采用所述BIOS Main Block对主板的扩展组件进行度量,并当所述主板的度量组件未被篡改时进入S143;
S143:采用所述BIOS Main Block对Boot loader进行度量,并当所述Boot loader未被篡改时进入S144;
S144:采用Boot loader Grub对其配置文件进行度量,当所述配置文件未被篡改时,对需要加载的OS Kernel进行度量,并当所述OS Kernel未被篡改时,进入S115;
S145:通过所述OS Kernel控制操作系统开启。
6.根据权利要求5所述的信任链的构建方法,其特征在于,所述主板的扩展组件包括主板的显卡、硬盘、网卡及PCI-E卡。
7.一种信任链的构建系统,其特征在于,包括:
启动模块,用于在服务器上电之前启动BMC模块和TCM模块;
度量模块,用于采用TCM模块对所述BMC模块中的BMC固件进行度量,得到第一度量结果;用于采用所述BMC固件对BIOS Boot Block进行度量,得到第二度量结果;
判断模块,用于依据所述第一度量结果判断所述BMC固件是否未被篡改,如果是,则触发所述度量模块;用于依据所述第二度量结果判断所述BIOS BootBlock是否未被篡改,如果是,则触发控制模块;
所述控制模块,用于控制电源控制模块为所述服务器上电,并采用BIOS建立后续的信任链。
8.根据权利要求7所述的信任链的构建系统,其特征在于,所述BMC固件包括引导程序、Linux系统的内核、可信代理程序及BMC应用程序;
所述度量模块包括第一度量单元、第二度量单元和第三度量单元;所述判断模块包括第一判断单元、第二判断单元和第三判断单元;
所述第一度量单元,用于采用TCM模块对所述引导程序(U-boot)进行度量,得到第一度量值;
所述第一判断单元,用于依据所述第一度量值判断所述引导程序是否未被篡改,如果是,则触发所述第二度量单元;
所述第二度量单元,用于采用所述引导程序对Linux系统的内核和可信代理程序进行度量,得到第二度量值和第三度量值;
所述第二判断单元,用于依据所述第二度量值和所述第三度量值判断所述Linux系统的内核或所述可信代理程序是否均未被篡改,如果是,则触发所述第三度量单元;
所述第三度量单元,用于采用所述可信代理程序对BIOS Boot Block和BMC应用程序进行度量,分别得到第三度量值和第四度量值;
所述第三判断单元,用于依据所述第三度量值和所述第四度量值判断所述BIOS BootBlock和所述BMC应用程序是否均未被篡改,如果是,则触发所述控制模块。
CN201710641132.6A 2017-07-31 2017-07-31 一种信任链的构建方法及系统 Pending CN107451479A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710641132.6A CN107451479A (zh) 2017-07-31 2017-07-31 一种信任链的构建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710641132.6A CN107451479A (zh) 2017-07-31 2017-07-31 一种信任链的构建方法及系统

Publications (1)

Publication Number Publication Date
CN107451479A true CN107451479A (zh) 2017-12-08

Family

ID=60489256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710641132.6A Pending CN107451479A (zh) 2017-07-31 2017-07-31 一种信任链的构建方法及系统

Country Status (1)

Country Link
CN (1) CN107451479A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446564A (zh) * 2018-02-22 2018-08-24 北京航空航天大学 基于tpm模块的虚拟化度量方法及装置
CN109543418A (zh) * 2018-11-28 2019-03-29 郑州云海信息技术有限公司 一种度量方法和装置
CN109697351A (zh) * 2018-12-18 2019-04-30 山东超越数控电子股份有限公司 一种可信度量系统及方法
CN109861824A (zh) * 2018-12-25 2019-06-07 航天信息股份有限公司 一种用于物联网的可信装置
CN110020528A (zh) * 2019-04-11 2019-07-16 苏州浪潮智能科技有限公司 一种bmc启动方法、装置及电子设备和存储介质
CN110119625A (zh) * 2018-02-06 2019-08-13 威海创事特信息科技发展有限公司 一种可信计算方法
CN110119623A (zh) * 2018-02-06 2019-08-13 北京可信华泰信息技术有限公司 一种利用tpcm实现固件主动度量的可信主板实现方法
CN110119624A (zh) * 2018-02-06 2019-08-13 威海创事特信息科技发展有限公司 一种安全度量方法
CN111158767A (zh) * 2019-12-25 2020-05-15 北京工业大学 基于bmc的服务器安全启动方法及装置
CN111950014A (zh) * 2020-08-27 2020-11-17 英业达科技有限公司 服务器系统启动的安全度量方法、安全度量装置及服务器
CN112114908A (zh) * 2020-11-20 2020-12-22 支付宝(杭州)信息技术有限公司 硬件平台及其启动方法、装置和电子设备
CN112464271A (zh) * 2021-01-27 2021-03-09 信联科技(南京)有限公司 一种电力物联网边缘物联代理高可信执行环境构建方法及系统
WO2021197040A1 (zh) * 2020-03-31 2021-10-07 华为技术有限公司 可信度量方法及相关装置
WO2022037346A1 (zh) * 2020-08-21 2022-02-24 华为技术有限公司 快速外设组件互联设备启动方法、装置以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270288A (zh) * 2011-09-06 2011-12-07 中国人民解放军国防科学技术大学 基于反向完整性验证的操作系统可信引导方法
US20120102580A1 (en) * 2010-10-22 2012-04-26 International Business Machines Corporation Out Of Band Vital Product Data Collection
CN104966022A (zh) * 2015-06-12 2015-10-07 浪潮电子信息产业股份有限公司 一种基于芯片的信任链构建方法和装置
CN105550579A (zh) * 2016-02-02 2016-05-04 浪潮电子信息产业股份有限公司 一种基于tpcm实现bmc完整性度量的方法
CN106127056A (zh) * 2016-06-20 2016-11-16 浪潮电子信息产业股份有限公司 一种国产bmc芯片可信固件的设计方法
CN106874771A (zh) * 2017-02-16 2017-06-20 浪潮(北京)电子信息产业有限公司 一种构建可信硬件信任链的方法以及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120102580A1 (en) * 2010-10-22 2012-04-26 International Business Machines Corporation Out Of Band Vital Product Data Collection
CN102270288A (zh) * 2011-09-06 2011-12-07 中国人民解放军国防科学技术大学 基于反向完整性验证的操作系统可信引导方法
CN104966022A (zh) * 2015-06-12 2015-10-07 浪潮电子信息产业股份有限公司 一种基于芯片的信任链构建方法和装置
CN105550579A (zh) * 2016-02-02 2016-05-04 浪潮电子信息产业股份有限公司 一种基于tpcm实现bmc完整性度量的方法
CN106127056A (zh) * 2016-06-20 2016-11-16 浪潮电子信息产业股份有限公司 一种国产bmc芯片可信固件的设计方法
CN106874771A (zh) * 2017-02-16 2017-06-20 浪潮(北京)电子信息产业有限公司 一种构建可信硬件信任链的方法以及装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119625A (zh) * 2018-02-06 2019-08-13 威海创事特信息科技发展有限公司 一种可信计算方法
CN110119623A (zh) * 2018-02-06 2019-08-13 北京可信华泰信息技术有限公司 一种利用tpcm实现固件主动度量的可信主板实现方法
CN110119624A (zh) * 2018-02-06 2019-08-13 威海创事特信息科技发展有限公司 一种安全度量方法
CN108446564A (zh) * 2018-02-22 2018-08-24 北京航空航天大学 基于tpm模块的虚拟化度量方法及装置
CN108446564B (zh) * 2018-02-22 2020-11-03 北京航空航天大学 基于tpm模块的虚拟化度量方法及装置
CN109543418A (zh) * 2018-11-28 2019-03-29 郑州云海信息技术有限公司 一种度量方法和装置
CN109697351B (zh) * 2018-12-18 2023-05-16 超越科技股份有限公司 一种可信度量系统及方法
CN109697351A (zh) * 2018-12-18 2019-04-30 山东超越数控电子股份有限公司 一种可信度量系统及方法
CN109861824A (zh) * 2018-12-25 2019-06-07 航天信息股份有限公司 一种用于物联网的可信装置
CN110020528A (zh) * 2019-04-11 2019-07-16 苏州浪潮智能科技有限公司 一种bmc启动方法、装置及电子设备和存储介质
CN111158767A (zh) * 2019-12-25 2020-05-15 北京工业大学 基于bmc的服务器安全启动方法及装置
CN111158767B (zh) * 2019-12-25 2023-10-27 北京工业大学 基于bmc的服务器安全启动方法及装置
WO2021197040A1 (zh) * 2020-03-31 2021-10-07 华为技术有限公司 可信度量方法及相关装置
WO2022037346A1 (zh) * 2020-08-21 2022-02-24 华为技术有限公司 快速外设组件互联设备启动方法、装置以及存储介质
US20220067165A1 (en) * 2020-08-27 2022-03-03 Inventec (Pudong) Technology Corporation Security measurement method and security measurement device for startup of server system, and server
CN111950014A (zh) * 2020-08-27 2020-11-17 英业达科技有限公司 服务器系统启动的安全度量方法、安全度量装置及服务器
CN112114908A (zh) * 2020-11-20 2020-12-22 支付宝(杭州)信息技术有限公司 硬件平台及其启动方法、装置和电子设备
CN112464271A (zh) * 2021-01-27 2021-03-09 信联科技(南京)有限公司 一种电力物联网边缘物联代理高可信执行环境构建方法及系统

Similar Documents

Publication Publication Date Title
CN107451479A (zh) 一种信任链的构建方法及系统
US10229261B2 (en) User trusted device for detecting a virtualized environment
US8850212B2 (en) Extending an integrity measurement
LeMay et al. Cumulative attestation kernels for embedded systems
US9202062B2 (en) Virtual machine validation
US9081600B2 (en) Virtual machine validation
CN103080904B (zh) 提供多阶段锁步完整性报告机构
EP1980970B1 (en) Dynamic trust management
CN103093150B (zh) 一种基于可信芯片的动态完整性保护方法
US20200073657A1 (en) Systems And Methods For Software Integrity Validation Using Blockchain
CN102012979B (zh) 嵌入式可信计算终端
US9639690B2 (en) User trusted device to attest trustworthiness of initialization firmware
JP2008535049A (ja) トラステッドデータのための方法、デバイス、およびデータ構造体
CN105718806A (zh) 一种基于国产bmc和tpm2.0实现可信主动度量的方法
CN106874771A (zh) 一种构建可信硬件信任链的方法以及装置
US20220067165A1 (en) Security measurement method and security measurement device for startup of server system, and server
CN107704308B (zh) 虚拟平台vTPM管理系统、信任链构建方法及装置、存储介质
CN104850792A (zh) 一种服务器信任链的构建方法和装置
CN107480535A (zh) 一种两路服务器的可信硬件层设计方法及装置
Sailer et al. The role of TPM in enterprise security
CN104243457A (zh) 移动终端的可信性衡量方法及系统
US20180089415A1 (en) User trusted device for detecting a virtualized environment
Chen et al. Formal analysis of secure bootstrap in trusted computing
US20230297682A1 (en) Computing device quarantine action system
US20230401316A1 (en) Pre-authorized virtualization engine for dynamic firmware measurement

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

Application publication date: 20171208

RJ01 Rejection of invention patent application after publication