CN110334522B - 启动度量的方法及装置 - Google Patents

启动度量的方法及装置 Download PDF

Info

Publication number
CN110334522B
CN110334522B CN201910612208.1A CN201910612208A CN110334522B CN 110334522 B CN110334522 B CN 110334522B CN 201910612208 A CN201910612208 A CN 201910612208A CN 110334522 B CN110334522 B CN 110334522B
Authority
CN
China
Prior art keywords
module
measurement
tpcm
control module
trusted 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.)
Active
Application number
CN201910612208.1A
Other languages
English (en)
Other versions
CN110334522A (zh
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.)
BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD
Original Assignee
BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY 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 BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD filed Critical BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD
Priority to CN201910612208.1A priority Critical patent/CN110334522B/zh
Publication of CN110334522A publication Critical patent/CN110334522A/zh
Application granted granted Critical
Publication of CN110334522B publication Critical patent/CN110334522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

本申请公开了一种启动度量的方法及装置。其中,该方法包括:检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制主板上的除可信平台控制模块TPCM之外的其他模块处于非工作状态;确定度量标识,其中,度量标识包括:启动度量关闭、启动基准值采集和启动度量;依据度量标识控制可信平台控制模块TPCM度量主板上的其他模块。本申请解决了由于TPM作为被动挂接到计算机的外部设备,需由主机软件调用才能实现对计算机的固件和可执行程序等资源进行度量,其安全能力完全依赖主机系统的安全性造成的可信计算方法安全性能低的技术问题。

Description

启动度量的方法及装置
技术领域
本申请涉及可信计算领域,具体而言,涉及一种启动度量的方法及装置。
背景技术
当前的网络空间极其脆弱,震网、Wannacry勒索病毒、Mirai等造成较大影响的网络攻击事件层出不穷,且日益猖獗。究其根源,在于并没有从网络安全风险的实质原因入手解决问题,一味采用以“防火墙”、“病毒查杀”、“入侵检测”等为代表的“封堵查杀”被动防御手段,在面对针对目标系统的漏洞发起的攻击时,根本无法有效防御。
为解决当前网络空间安全面临的问题,国际可信计算组织(Trusted ComputingGroup,TCG)提出了可信计算的方法,提出了以可信计算芯片(Trusted Platform Module,TPM)和基本输入/输出系统(Basic Input/Output System,BIOS)起始代码为信任根,一级度量一级,进而构建起计算机的信任链,保护计算机重要资源不被非法篡改和破坏,起到了较好的效果。但是,TPM本质上只是计算机上一个被动挂接的外部设备,只有被主机程序调用才会发挥作用,一旦主机被攻击者控制,TPM的作用就会无从发挥,导致TCG的可信计算架构在面对黑客利用计算机系统逻辑缺陷进行攻击时,基本难以抵御,例如Windows 10完全实现了TCG的可信计算架构,但是却未能阻止Wannacry勒索病毒的攻击。
针对TPM作为被动挂接到计算机的外部设备,需由主机软件调用才能实现对计算机的固件和可执行程序等资源进行度量,其安全能力完全依赖主机系统的安全性,导致可信计算方法安全性能低的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种启动度量的方法及装置,以至少解决由于TPM作为被动挂接到计算机的外部设备,需由主机软件调用才能实现对计算机的固件和可执行程序等资源进行度量,其安全能力完全依赖主机系统的安全性造成的可信计算方法安全性能低的技术问题。
根据本申请实施例的一个方面,提供了一种启动度量的方法,包括:检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制主板上的除可信平台控制模块TPCM之外的其他模块处于非工作状态;确定度量标识,其中,度量标识包括:启动度量关闭、启动基准值采集和启动度量;依据度量标识控制可信平台控制模块TPCM度量主板上除可信平台控制模块TPCM之外的其他模块。
可选地,在检测到主板上电之后,上述方法还包括:检测可信平台控制模块TPCM是否在位;如果可信平台控制模块TPCM在位,则启动控制可信平台控制模块TPCM上电,并隔断主板上除可信平台控制模块TPCM之外的其他模块上电。
可选地,依据度量标识控制可信平台控制模块TPCM度量主板上的其他模块,包括:控制可信平台控制模块TPCM检查度量标识,其中,可信平台控制模块TPCM为信任根;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,依次加载预设的待度量模块的度量策略,并依据度量策略采集待度量模块对应的基准值,并存储基准值;在度量标识为启动度量的情况下,依次加载预设的待度量的度量策略,并基于对应的度量策略依次对待度量模块进行度量。
可选地,待度量模块包括BIOS模块,控制可信平台控制模块TPCM度量BIOS模块,包括:可信平台控制模块TPCM进入初始化阶段;可信平台控制模块TPCM检查度量标识;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并依据度量策略采集对应的度量基准值;在度量标识为启动度量的情况下,可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并基于对应的度量策略对BMC模块、ME模块和BIOS模块进行度量。
可选地,在BIOS模块度量通过之后,上述方法还包括:可信平台控制模块TPCM将信任链传递给下一个模块,进入初始化阶段;可信平台控制模块TPCM向下一个模块发送度量标识;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,可信平台控制模块TPCM接收下一个模块发送的度量请求,并基于度量请求采集对应的度量基准值;在度量标识为启动度量的情况下,可信平台控制模块TPCM接收下一个模块发送的度量请求,并基于度量请求对待度量模块进行度量。
可选地,下一个模块为BIOS模块,对应的待度量模块为OS Loader模块;下一个模块为OS Loader模块,对应的待度量模块为OS内核模块;下一个模块为OS内核模块,对应的待度量模块为OS服务模块;下一个模块为OS服务模块,对应的待度量模块为应用程序模块。
可选地,在依据度量标识控制可信平台控制模块TPCM度量主板上的其他模块之后,上述方法还包括:在度量通过的情况下,控制主板按照预定的上电时序进行工作;在度量没通过的情况下,控制主机重启或者断电。
根据本申请实施例的另一方面,还提供了一种启动度量的装置,包括:设置模块,用于在检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制主板上的除可信平台控制模块TPCM之外的其他模块处于非工作状态;确定模块,用于确定度量标识,其中,度量标识包括:启动度量关闭、启动基准值采集和启动度量;控制模块,用于依据度量标识控制可信平台控制模块TPCM度量主板上的其他模块。
根据本申请实施例的再一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的启动度量的方法。
根据本申请实施例的再一方面,还提供了一种处理器,所处理器用于运行程序,其中,程序运行时执行以上的启动度量的方法。
在本申请实施例中,采用检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制主板上的除可信平台控制模块TPCM之外的其他模块处于非工作状态;确定度量标识,其中,度量标识包括:启动度量关闭、启动基准值采集和启动度量;依据度量标识控制可信平台控制模块TPCM度量主板上除可信平台控制模块TPCM之外的其他模块的方式,通过在可信计算方法的启动度量方法中以TPCM为信任根,对主机进行主动度量和主动控制,并且通过增加启动度量状态标识判定,在不同的状态标识下,执行不同的处理操作,达到了增加启动度量过程的控制的灵活性的目的,从而实现了提高了可信计算方法的安全性的技术效果,进而解决了由于TPM作为被动挂接到计算机的外部设备,需由主机软件调用才能实现对计算机的固件和可执行程序等资源进行度量,其安全能力完全依赖主机系统的安全性造成的可信计算方法安全性能低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种启动度量的方法的流程图;
图2示出了主板上电后工作原理的示意图;
图3a是根据本申请实施例的另一种启动度量的方法的流程示意图;
图3b是与图3a所示的启动度量的方法对应的主板硬件工作流程图;
图4是根据本申请实施例的一种利用TPCM模块度量BIOS模块的流程示意图;
图5是根据本申请实施例的一种利用BIOS度量操作系统加载器(OS Loader)的流程示意图;
图6是根据本申请实施例的一种利用操作系统加载器(OS Loader)度量操作系统内核(OS Kernel)的流程示意图;
图7是根据本申请实施例的一种启动度量的装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种启动度量的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
TCM(Trusted Cryptography Module):可信密码模块,可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。
TPCM(Trusted Platform Control Module):可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。
TSB(Trusted Software Base):可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。
可信计算信任链的基本思想是,一级度量一级,一级信任一级,保证系统启动的可信性,从而为系统建立安全可信的运行环境提供前提。加强对系统启动的可信性分析,为系统的运行环境可信性提供必要的基础,使信任链可以不间断的平滑传递到系统的运行阶段。
所有主机都应基于可信根实现开机到操作系统启动,再到应用程序启动的可信验证,并在应用程序的关键执行环节对其执行环境进行可信验证,主动抵御入侵行为。并将验证结果形成审计纪录,送到管理中心,其中,管理中心可以建立与至少一个主机的通信连接,并对至少一个主机进行管理。在本申请实施例中,对主机的形态不做具体限定,可以是服务器、PC等。
图1是根据本申请实施例的一种启动度量的方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制主板上的除可信平台控制模块TPCM之外的其他模块处于非工作状态。
根据本申请的一个可选的实施例,在主板上电后,主机初始阶段只有TPCM模块正常工作,其余模块包括但不限于基板管理控制器模块(Baseboard ManagementController,BMC)均处于非工作状态,即硬件上保证BMC及PCH(Platform Controller Hub)SPI(Serial Peripheral Interface)接口均处于高阻状态或使用Quick Switch隔离,此时TPCM为SPI主设备,基本输入输出系统(Basic Input/Output System,BIOS)、内存ME和BMC为从设备。
图2示出了主板上电后工作原理的示意图,如图2所示,Quick Switch作用为保证TPCM模块在进行可信度量时,BMC和PCH与各自ROM芯片处于隔离状态。同时预留2个GPIO信号给复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),在TPCM模块可信度量完毕后提醒CPLD正常上电启动主板。
步骤S104,确定度量标识,其中,度量标识包括:启动度量关闭、启动基准值采集和启动度量。
通常在一般生产环境下,主机的启动需要进行启动度量。针对部署或维护期间的开机运行,或者其他不需要启动度量场景。应该通过信号的方式通知TPCM当前的运行环境,具体实现上可以使用四位拨码开关作为硬件物理现场,因为能够接触到主机内部TPCM的人员,会有较高的管理权限。
启动度量标识用来标识当前的启动度量状态,启动度量过程中,TPCM检查启动度量标识来确定需要执行的相关流程操作。
启动度量标识包含以下三种:
[0]关闭启动度量功能;
[1]执行启动度量基准值采集功能;
[2]执行启动度量功能;
启动度量标识的设置可通过三种方式:
1)检查拨码开关:
使用四位拨码开关作为硬件物理现场,每次开机时获取拨码开关逻辑值,作为启动度量标识,TPCM依据该启动度量标识来确定需要执行的相关流程操作。
拨码开关逻辑值:
[0x0]关闭启动度量功能;
[0x1]执行启动度量基准值采集功能;
[0x2]执行启动度量功能;
[0xF]以NV区所记录启动度量标识为准;
2)管理中心远程设置:
四位拨码开关逻辑值为[0xF]时,可通过管理中心远程下发启动度量标识,TPCM收到该度量标识后,存储在NV区,待下次系统启动时,TPCM检查到四位拨码开关逻辑值为[0xF],则加载NV区启动度量标识来确定需要执行的相关流程操作。
3)系统工具设置:
四位拨码开关逻辑值为[0xF]时,可通过系统工具下发启动度量标识,TPCM收到该度量标识后,存储在NV区,待下次系统启动时,TPCM检查到四位拨码开关逻辑值为[0xF],则加载NV区启动度量标识来确定需要执行的相关流程操作。
步骤S106,依据度量标识控制可信平台控制模块TPCM度量主板上的其他模块。
根据本申请的一个可选的实施例,在步骤S106执行完成之后,在度量通过的情况下,控制主板按照预定的上电时序进行工作;在度量没通过的情况下,控制主机不上电。
根据本申请的一个可选的实施例,在度量通过后,系统正常上电,读取BIOS ROM进行初始化,在初始化过程中通过PCIe I/F配置TPCM卡,在启动至OS Kernel部分加载TPCMDriver。OS启动完成,TPCM卡作为系统资源通过API被其他设备调用。在度量没有通过的情况下,主机不上电。
通过上述步骤,通过在可信计算方法的启动度量方法中以TPCM为信任根,对主机进行主动度量和主动控制,达到了增加启动度量过程的控制的灵活性的目的,从而实现了提高了可信计算方法的安全性的技术效果。
根据本申请的一个可选的实施例,在执行步骤S102之后,还需要检测可信平台控制模块TPCM是否在位;如果可信平台控制模块TPCM在位,则启动控制可信平台控制模块TPCM上电,并隔断主板上除可信平台控制模块TPCM之外的其他模块上电。
主板CPLD通过TPCM_Present信号检测TPCM模块是否在位。若在位,CPLD Latch往主板其他模块上电,待TPCM模块初始化完成后,开始主动通过SPI接口分别度量BMC ROM、MEROM和BIOS ROM。度量完成后,TPCM模块变为被动Slave模式与PCH连接,起到相当于TPM芯片功能。然后TPCM通过GPIO发送信号通知CPLD主板可正常上电。
在本申请的一些实施例,步骤S106通过以下方法实现:控制可信平台控制模块TPCM检查度量标识,其中,可信平台控制模块TPCM为信任根;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,依次加载预设的待度量模块的度量策略,并依据度量策略采集待度量模块对应的基准值,并存储基准值;在度量标识为启动度量的情况下,依次加载预设的待度量模块的度量策略,并基于对应的度量策略依次对待度量模块进行度量。
图3a是根据本申请实施例的另一种启动度量的方法的流程示意图,如图3a所示,主板上电后,CPLD锁存器往主板其他模块上电,TPCM占据主动权,构建可信根,作为整个信任链的起点。待TPCM模块初始化完毕,开始主动通过SPI接口分别度量BMC ROM、ME ROM和BIOS ROM。若度量通过,TPCM则通知CPLD主板可正常上电,执行BIOS指令,否则告警;BIOS启动后,通过SPI接口度量OPROM,若度量通过,则继续度量GPT,否则告警;若GPT度量通过,则继续度量OSLoader,否则告警;若OSLoader度量通过,则跳转至OSLoader,否则告警;OSLoader启动后,对OS KERNEL进行度量,若度量通过,则跳转至OS KERNEL,否则告警;OSKERNEL启动后,对OS系统服务进行度量,若度量通过,则跳转至OS系统服务,否则告警;OS系统服务启动后,对应用程序进行度量,若度量通过,则跳转至应用程序,否则告警。
图3b是与图3a所示的启动度量的方法对应的主板硬件工作流程图,如图3b所示,主板的硬件工作流程如下:
在待机(Standby)状态下,主板CPLD通过TPCM_Present信号检测TPCM模块是否在位。若在位,CPLD锁存器忘主板其他模块上电,待TPCM模块初始化完成后,开始主动通过SPI接口分别度量BMC ROM、ME ROM和BIOS ROM。度量完成后,TPCM模块变为被动Slave模式与PCH连接,起到相当于TPM芯片功能。然后TPCM通过GPIO发送信号通知CPLD主板可正常上电。系统正常上电,读取BIOS ROM进行初始化,在初始化过程中通过PCIe I/F配置TPCM模块,在启动至OS Kernel部分加载TPCM驱动。OS启动完成,TPCM模块作为系统资源通过API被其他设备调用。
根据本申请的一个可选的实施例,待度量模块包括BIOS模块,控制可信平台控制模块TPCM度量BIOS模块,包括:可信平台控制模块TPCM进入初始化阶段;可信平台控制模块TPCM检查度量标识;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并依据度量策略采集对应的度量基准值;在度量标识为启动度量的情况下,可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并基于对应的度量策略对BMC模块、ME模块和BIOS模块进行度量。
图4是根据本申请实施例的一种利用TPCM模块度量BIOS模块的流程示意图,如图4所示,该流程包括以下步骤:
1)主机上电后,TPCM模块开始初始化;
2)TPCM模块检查系统启动度量标识:
[0]关闭启动度量功能;
[1]执行启动度量基准值采集功能;
[2]执行启动度量功能;
3)若启动度量标识为[0]:告警,由管理员确认是否处于维护状态;
a)管理员维护状态:由管理员授权确认,TPCM交出主动权,跳转至BIOS,至此流程结束,进入下一度量环节;
b)非管理员维护状态:禁止启动;
4)若启动度量标识为[1],TPCM依次加载BMC ROM、ME ROM和BIOS ROM的启动度量策略,并依据策略采集对应度量单元的度量基准值,存入非易失性存储区(NV区),并跳转至BMC、ME和BIOS,至此流程结束,进入下一度量环节;
5)若启动度量标识为[2],TPCM依次加载BMC ROM、ME ROM和BIOS ROM的启动度量策略,并依据策略度量BMC ROM、ME ROM和BIOS ROM,并将度量日志写入非易失性存储区(NV区)。
6)度量通过则TPCM交出主动权,跳转至BIOS,否则禁止启动。
在本申请的一个可选的实施例中,在BIOS模块度量通过之后,可信平台控制模块TPCM将信任链传递给下一个模块,进入初始化阶段;可信平台控制模块TPCM向下一个模块发送度量标识;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,可信平台控制模块TPCM接收下一个模块发送的度量请求,并基于度量请求采集对应的度量基准值;在度量标识为启动度量的情况下,可信平台控制模块TPCM接收下一个模块发送的度量请求,并基于度量请求对待度量模块进行度量。
在本申请的一些可选的实施例中,下一个模块为BIOS模块,对应的待度量模块为OS Loader模块;下一个模块为OS Loader模块,对应的待度量模块为OS内核模块;下一个模块为OS内核模块,对应的待度量模块为OS服务模块;下一个模块为OS服务模块,对应的待度量模块为应用程序模块。
在BIOS模块度量通过后,TPCM交出主动权,将信任链传递给下一个模块,继续对系统进行逐级度量,下面以BIOS度量操作系统加载器(OS Loader)为例对该度量过程进行说明:
根据本申请的一个可选的实施例,在BIOS模块度量通过之后,可信平台控制模块TPCM将信任链传递给BIOS模块,进入初始化阶段;可信平台控制模块TPCM向BIOS模块发送度量标识;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,可信平台控制模块TPCM接收BIOS模块发送的度量请求,并基于度量请求采集对应的度量基准值;在度量标识为启动度量的情况下,可信平台控制模块TPCM接收BIOS模块发送的度量请求,并基于度量请求对OSLoader模块进行度量。
图5是根据本申请实施例的一种利用BIOS度量操作系统加载器(OS Loader)的流程示意图,如图5所示,该流程包括以下步骤:
1)信任链传递到BIOS,进入初始化阶段;
2)BIOS向TPCM请求获取系统启动度量标识:
[0]关闭启动度量功能;
[1]执行启动度量基准值采集功能;
[2]执行启动度量功能;
3)若启动度量标识为[0]:告警,由管理员确认是否处于维护状态;
a)管理员维护状态:由管理员授权确认,TPCM交出主动权,跳转至BIOS,至此流程结束,进入下一度量环节;
b)非管理员维护状态:禁止启动;
4)若启动度量标识为[1],BIOS依次向TPCM请求OPROM、GPT和OS Loader的启动度量策略,并向TPCM发送该度量单元的度量请求。TPCM收到度量请求后检查到状态为[1],则依据策略采集对应度量单元的度量基准值,并写入非易失性存储区;
5)若启动度量标识为[2],BIOS依次向TPCM请求OPROM、GPT和OS Loader的启动度量策略,并向TPCM发送该度量单元的度量请求。TPCM收到度量请求后检查到状态为[2],则依据策略执行度量操作,并将度量日志写入非易失性存储区;
6)度量通过则BIOS交出主动权跳转至OS Loader,否则禁止启动。
在OS Loader模块度量通过后,TPCM交出主动权,将信任链传递给下一个模块,下面以操作系统加载器(OS Loader)度量操作系统内核(OS Kernel)为例对该度量过程进行说明:
可选地,在OS Loader模块度量通过之后,BIOS模块将信任链传递给OS Loader模块,进入初始化阶段;可信平台控制模块TPCM向OS Loader模块发送度量标识;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,可信平台控制模块TPCM接收OS Loader模块发送的度量请求,并基于度量请求采集对应的度量基准值;在度量标识为启动度量的情况下,可信平台控制模块TPCM接收OS Loader模块发送的度量请求,并基于度量请求对OS Kernel进行度量。
图6是根据本申请实施例的一种利用操作系统加载器(OS Loader)度量操作系统内核(OS Kernel)的流程示意图,如图6所示,该流程包括以下步骤:
1)信任链传递到OS Loader,进入初始化阶段;
2)OS Loader向TPCM请求获取系统启动度量标识:
[0]关闭启动度量功能;
[1]执行启动度量基准值采集功能;
[2]执行启动度量功能;
3)若启动度量标识为[0]:告警,由管理员确认是否处于维护状态;
a)管理员维护状态:由管理员授权确认,OS Loader交出主动权,跳转至OSKernel,至此流程结束,进入下一度量环节;
b)非管理员维护状态:禁止启动;
4)若启动度量标识为[1],OS Loader向TPCM请求OS Kernel的启动度量策略,并向TPCM发送该度量单元的度量请求。TPCM收到度量请求后检查到状态为[1],则依据策略采集OS Kernel的度量基准值,并写入非易失性存储区;
5)若启动度量标识为[2],OS Loader向TPCM请求OS Kernel的启动度量策略,并向TPCM发送该度量单元的度量请求。TPCM收到度量请求后检查到状态为[2],则依据策略执行度量操作,并将度量日志写入非易失性存储区;
度量通过则OS Loader交出主动权跳转至OS Kernel,否则禁止启动。
同理,OS Kernel度量OS系统服务,OS系统服务度量应用程序的过程与上述描述相似,此处不做具体说明。
本申请实施例采用上述启动度量方法以TPCM为信任根,主动对主机进行主动度量和主动控制,并且通过增加启动度量状态标识进行判定,在不同的状态标识下,执行不同的处理操作,增加了启动度量过程的控制的灵活性,实现了提高可信计算方法的安全性的技术效果。
图7是根据本申请实施例的一种启动度量的装置的结构图,如图7所示,该装置包括:
设置模块70,用于在检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制主板上的除可信平台控制模块TPCM之外的其他模块处于非工作状态。
根据本申请的一个可选的实施例,在主板上电后,主机初始阶段只有TPCM模块正常工作,其余模块包括基板管理控制器模块(Baseboard Management Controller,BMC)均处于非工作状态,即硬件上保证BMC及PCH(Platform Controller Hub)SPI(SerialPeripheral Interface)接口均处于高阻状态或使用Quick Switch隔离,此时TPCM为SPI主设备,基本输入输出系统(Basic Input/Output System,BIOS)、内存ME和BMC为从设备。
主板CPLD通过主板CPLD通过TPCM_Present信号检测TPCM模块是否在位。若在位,CPLD Latch往主板其他模块上电,待TPCM模块初始化完成后,开始主动通过SPI接口分别度量BMC ROM、ME ROM和BIOS ROM。度量完成后,TPCM模块变为被动Slave模式与PCH连接,起到相当于TPM芯片功能。然后TPCM通过GPIO发送信号通知CPLD主板可正常上电。
确定模块72,用于确定度量标识,其中,度量标识包括:启动度量关闭、启动基准值采集和启动度量。
通常在一般生产环境下,主机的启动需要进行启动度量。针对部署或维护期间的开机运行,或者其他不需要启动度量场景。应该通过信号的方式通知TPCM当前的运行环境,具体实现上可以使用四位拨码开关作为硬件物理现场,因为能够接触到主机内部TPCM的人员,会有较高的管理权限。
启动度量标识用来标识当前的启动度量状态,启动度量过程中,TPCM检查启动度量标识来确定需要执行的相关流程操作。
启动度量标识包含以下三种:
[0]关闭启动度量功能;
[1]执行启动度量基准值采集功能;
[2]执行启动度量功能;
启动度量标识的设置可通过三种方式:
1)检查拨码开关:
使用四位拨码开关作为硬件物理现场,每次开机时获取拨码开关逻辑值,作为启动度量标识,TPCM依据该启动度量标识来确定需要执行的相关流程操作。
拨码开关逻辑值:
[0x0]关闭启动度量功能;
[0x1]执行启动度量基准值采集功能;
[0x2]执行启动度量功能;
[0xF]以NV区所记录启动度量标识为准;
控制模块74,用于依据度量标识控制可信平台控制模块TPCM度量主板上的其他模块。
根据本申请的一个可选的实施例,在度量通过后,系统正常上电,读取BIOS ROM进行初始化,在初始化过程中通过PCIe I/F配置TPCM卡,在启动至OS Kernel部分加载TPCMDriver。OS启动完成,TPCM卡作为系统资源通过API被其他设备调用。在度量没通过的情况下,控制主机不上电。
根据本申请的一个可选的实施例,上述装置还包括检测模块,用于检测可信平台控制模块TPCM是否在位;如果可信平台控制模块TPCM在位,则启动控制可信平台控制模块TPCM上电,并隔断主板上除可信平台控制模块TPCM之外的其他模块上电。
根据本申请的一个可选的实施例,控制模块74还用于控制可信平台控制模块TPCM检查度量标识,其中,可信平台控制模块TPCM为信任根;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,依次加载预设的待度量模块的度量策略,并依据度量策略采集待度量模块对应的基准值,并存储基准值;在度量标识为启动度量的情况下,依次加载预设的待度量模块的度量策略,并基于对应的度量策略依次对待度量模块进行度量。
可选地,控制模块74还用于在待度量模块包括BIOS模块的情况下,控制可信平台控制模块TPCM通过以下方法度量BIOS模块:控制可信平台控制模块TPCM进入初始化阶段;控制可信平台控制模块TPCM检查度量标识;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,控制可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并依据度量策略采集对应的度量基准值;在度量标识为启动度量的情况下,控制可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并基于对应的度量策略对BMC模块、ME模块和BIOS模块进行度量。
在本申请的一个可选的实施例中,上述装置还用于在BIOS模块度量通过之后,控制可信平台控制模块TPCM将信任链传递给下一个模块,进入初始化阶段;可信平台控制模块TPCM向下一个模块发送度量标识;在度量标识为启动度量关闭的情况下,发出告警信息;在度量标识为启动基准值采集的情况下,可信平台控制模块TPCM接收下一个模块发送的度量请求,并基于度量请求采集对应的度量基准值;在度量标识为启动度量的情况下,可信平台控制模块TPCM接收下一个模块发送的度量请求,并基于度量请求对待度量模块进行度量。
可选地,下一个模块为BIOS模块,对应的待度量模块为OS Loader模块;下一个模块为OS Loader模块,对应的待度量模块为OS内核模块;下一个模块为OS内核模块,对应的待度量模块为OS服务模块;下一个模块为OS服务模块,对应的待度量模块为应用程序模块。
需要说明的是,图7所示实施例的优选实施方式可以参见图1所示实施例的相关描述,此处不再赘述。
本申请实施例还提供了一种存储介质,存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的启动度量的方法。
存储介质用于存储执行以下功能的程序:检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制主板上的除可信平台控制模块TPCM之外的其他模块处于非工作状态;确定度量标识,其中,度量标识包括:启动度量关闭、启动基准值采集和启动度量;依据度量标识控制可信平台控制模块TPCM度量主板上除可信平台控制模块TPCM之外的其他模块。
本申请实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行以上的启动度量的方法。
程序用于运行执行以下功能的程序:检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制主板上的除可信平台控制模块TPCM之外的其他模块处于非工作状态;确定度量标识,其中,度量标识包括:启动度量关闭、启动基准值采集和启动度量;依据度量标识控制可信平台控制模块TPCM度量主板上除可信平台控制模块TPCM之外的其他模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (9)

1.一种启动度量的方法,其特征在于,包括:
检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制所述主板上的除所述可信平台控制模块TPCM之外的其他模块处于非工作状态;
确定度量标识,其中,所述度量标识包括:启动度量关闭、启动基准值采集和启动度量;
依据所述度量标识控制所述可信平台控制模块TPCM度量所述主板上的除所述可信平台控制模块TPCM之外的其他模块;
待度量模块包括BIOS模块,控制所述可信平台控制模块TPCM度量所述BIOS模块,包括:所述可信平台控制模块TPCM进入初始化阶段;所述可信平台控制模块TPCM检查所述度量标识;在所述度量标识为所述启动度量关闭的情况下,发出告警信息;在所述度量标识为所述启动基准值采集的情况下,所述可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并依据所述度量策略采集对应的度量基准值;在所述度量标识为所述启动度量的情况下,所述可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并基于对应的度量策略对所述BMC模块、ME模块和BIOS模块进行度量;
所述确定度量标识通过如下至少之一方式实现:
使用四位拨码开关的逻辑值作为所述度量标识,其中,所述逻辑值包括:[0x0]关闭启动度量功能、[0x1]执行启动度量基准值采集功能、[0x2]执行启动度量功能以及[0xF]以NV区所记录启动度量标识为准;
所述四位拨码开关的逻辑值为[0xF]时,通过管理远程中心远程下发所述度量标识;
所述四位拨码开关的逻辑值为[0xF]时,通过系统工具下发所述度量标识。
2.根据权利要求1所述的方法,其特征在于,在检测到主板上电之后,所述方法还包括:
检测所述可信平台控制模块TPCM是否在位;
如果所述可信平台控制模块TPCM在位,则控制所述可信平台控制模块TPCM上电,并隔断所述主板上的除所述可信平台控制模块TPCM之外的其他模块上电。
3.根据权利要求1所述的方法,其特征在于,依据所述度量标识控制所述可信平台控制模块TPCM度量所述主板上的其他模块,包括:
控制所述可信平台控制模块TPCM检查所述度量标识,其中,所述可信平台控制模块TPCM为信任根;
在所述度量标识为所述启动度量关闭的情况下,发出告警信息;
在所述度量标识为所述启动基准值采集的情况下,依次加载预设的待度量模块的度量策略,并依据所述度量策略采集所述待度量模块对应的基准值,并存储所述基准值;
在所述度量标识为所述启动度量的情况下,依次加载预设的待度量模块的度量策略,并基于对应的度量策略依次对所述待度量模块进行度量。
4.根据权利要求1所述的方法,其特征在于,在所述BIOS模块度量通过之后,所述方法还包括:
所述可信平台控制模块TPCM将信任链传递给下一个模块,进入初始化阶段;
所述可信平台控制模块TPCM向所述下一个模块发送所述度量标识;
在所述度量标识为所述启动度量关闭的情况下,发出告警信息;
在所述度量标识为所述启动基准值采集的情况下,所述可信平台控制模块TPCM接收所述下一个模块发送的度量请求,并基于所述度量请求采集所述下一个模块对应的所述待度量模块的度量基准值;
在所述度量标识为所述启动度量的情况下,所述可信平台控制模块TPCM接收所述下一个模块发送的度量请求,并基于所述度量请求对所述下一个模块对应的待度量模块进行度量。
5.根据权利要求4所述的方法,其特征在于,所述下一个模块为BIOS模块,对应的所述待度量模块为OS Loader模块;所述下一个模块为OS Loader模块,对应的所述待度量模块为OS内核模块;所述下一个模块为OS内核模块,对应的所述待度量模块为OS服务模块;所述下一个模块为OS服务模块,对应的所述待度量模块为应用程序模块。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在依据所述度量标识控制所述可信平台控制模块TPCM度量所述主板上的其他模块之后,所述方法还包括:
在度量通过的情况下,控制所述主板按照预定的上电时序进行工作;
在度量没通过的情况下,控制主机重启或者主机断电。
7.一种启动度量的装置,其特征在于,包括:
设置模块,用于在检测到主板上电的情况下,控制可信平台控制模块TPCM处于工作状态,并控制所述主板上的除所述可信平台控制模块TPCM之外的其他模块处于非工作状态;
确定模块,用于确定度量标识,其中,所述度量标识包括:启动度量关闭、启动基准值采集和启动度量;
控制模块,用于依据所述度量标识控制所述可信平台控制模块TPCM度量所述主板上的其他模块;
待度量模块包括BIOS模块,所述控制模块还用于控制所述可信平台控制模块TPCM进入初始化阶段;所述可信平台控制模块TPCM检查所述度量标识;在所述度量标识为所述启动度量关闭的情况下,发出告警信息;在所述度量标识为所述启动基准值采集的情况下,所述可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并依据所述度量策略采集对应的度量基准值;在所述度量标识为所述启动度量的情况下,所述可信平台控制模块TPCM依次加载BMC模块、ME模块和BIOS模块的度量策略,并基于对应的度量策略对所述BMC模块、ME模块和BIOS模块进行度量;
所述确定模块还用于通过如下至少之一方式确定度量标识:
使用四位拨码开关的逻辑值作为所述度量标识,其中,所述逻辑值包括:[0x0]关闭启动度量功能、[0x1]执行启动度量基准值采集功能、[0x2]执行启动度量功能以及[0xF]以NV区所记录启动度量标识为准;
所述四位拨码开关的逻辑值为[0xF]时,通过管理远程中心远程下发所述度量标识;
所述四位拨码开关的逻辑值为[0xF]时,通过系统工具下发所述度量标识。
8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时控制存储介质所在的设备执行权利要求1至6中任意一项所述的启动度量的方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的启动度量的方法。
CN201910612208.1A 2019-07-08 2019-07-08 启动度量的方法及装置 Active CN110334522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910612208.1A CN110334522B (zh) 2019-07-08 2019-07-08 启动度量的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910612208.1A CN110334522B (zh) 2019-07-08 2019-07-08 启动度量的方法及装置

Publications (2)

Publication Number Publication Date
CN110334522A CN110334522A (zh) 2019-10-15
CN110334522B true CN110334522B (zh) 2021-07-27

Family

ID=68143299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910612208.1A Active CN110334522B (zh) 2019-07-08 2019-07-08 启动度量的方法及装置

Country Status (1)

Country Link
CN (1) CN110334522B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784276B (zh) * 2019-11-11 2024-02-23 阿里巴巴集团控股有限公司 可信度量的实现方法及装置
CN111400222A (zh) * 2020-03-20 2020-07-10 北京可信华泰信息技术有限公司 具备可信计算功能的pcie接口
CN111950014A (zh) * 2020-08-27 2020-11-17 英业达科技有限公司 服务器系统启动的安全度量方法、安全度量装置及服务器
CN112182589A (zh) * 2020-10-29 2021-01-05 中国南方电网有限责任公司 工控主机安全防御系统、方法、计算机设备和存储介质
CN113282969B (zh) * 2021-05-13 2023-10-31 中科可控信息产业有限公司 设备控制方法、电子设备及可读存储介质
CN116842517A (zh) * 2022-03-24 2023-10-03 华为技术有限公司 可信验证方法及装置
CN114995894A (zh) * 2022-08-02 2022-09-02 深圳融安网络科技有限公司 操作系统的启动控制方法、终端设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549055B2 (en) * 2003-05-19 2009-06-16 Intel Corporation Pre-boot firmware based virus scanner
CN108205491B (zh) * 2016-12-20 2021-02-09 中标软件有限公司 一种基于nkv6.0系统的可信技术兼容性测试方法
CN109614154A (zh) * 2018-11-28 2019-04-12 北京可信华泰信息技术有限公司 一种计算机安全启动方法

Also Published As

Publication number Publication date
CN110334522A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN110334522B (zh) 启动度量的方法及装置
EP3486824B1 (en) Determine malware using firmware
KR101380908B1 (ko) 해커 바이러스 보안통합관리기기
CN100454324C (zh) 一种可信机制上的嵌入式平台引导方法
CN103080904B (zh) 提供多阶段锁步完整性报告机构
EP2462507B1 (en) Methods and apparatuses for user-verifiable trusted path in the presence of malware
CN101458743A (zh) 一种保护计算机系统安全的方法
CN110737897B (zh) 基于可信卡的启动度量的方法和系统
CN110321713B (zh) 基于双体系架构的可信计算平台的动态度量方法和装置
CN110334512B (zh) 基于双体系架构的可信计算平台的静态度量方法和装置
CN110875819B (zh) 密码运算处理方法、装置及系统
CN111125707A (zh) 一种基于可信密码模块的bmc安全启动方法、系统及设备
CN102792308B (zh) 用于自动提款机中的一致性软件堆栈中的个人识别号输入的方法和处理
CN111651769B (zh) 获取安全启动的度量方法和装置
CN112035843A (zh) 一种漏洞处理方法、装置、电子设备及存储介质
CN113127873A (zh) 堡垒机的可信度量系统及电子设备
CN111506897B (zh) 数据处理方法和装置
WO2015131607A1 (zh) 可信环境创建方法和装置及基站异常恢复方法和装置
CN114095227A (zh) 一种数据通信网关可信认证方法、系统及电子设备
CN112115483A (zh) 对核电dcs工程师站进行保护的可信计算应用方法
CN111723379A (zh) 可信台区智能终端的可信保护方法、系统、设备及存储介质
CN115618366B (zh) 用于服务器的验证方法及装置
CN117494232B (zh) 固件的执行方法和装置、系统、存储介质及电子设备
CN112346785B (zh) 数据处理方法、装置、系统、存储介质和计算机设备
KR102102936B1 (ko) 참여자의 부정행위에 페널티를 부과할 수 있는 해킹 방어 경연 시스템

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