CN116842517A - 可信验证方法及装置 - Google Patents
可信验证方法及装置 Download PDFInfo
- Publication number
- CN116842517A CN116842517A CN202210297166.9A CN202210297166A CN116842517A CN 116842517 A CN116842517 A CN 116842517A CN 202210297166 A CN202210297166 A CN 202210297166A CN 116842517 A CN116842517 A CN 116842517A
- Authority
- CN
- China
- Prior art keywords
- measured object
- tcm
- control module
- metric value
- trusted
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000015654 memory Effects 0.000 claims abstract description 177
- 238000005259 measurement Methods 0.000 claims abstract description 91
- 238000011217 control strategy Methods 0.000 claims description 29
- 238000013475 authorization Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 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 43
- 230000006870 function Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 102100033668 Cartilage matrix protein Human genes 0.000 description 3
- 101001018382 Homo sapiens Cartilage matrix protein Proteins 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000007664 blowing Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种可信验证方法及装置,该应用于可信验证系统,可信验证系统中包括可信平台控制模块TPCM和可信密码模块TCM,TPCM中包括主控模块。该方法包括通过主控模块执行如下操作:调用TCM计算第一被度量对象的第一度量值;第一被度量对象包括可信验证系统所在的设备中的软件和固件中的一个或多个对象;从TCM的非易失性存储器中读取第一被度量对象的基准度量值;基于第一度量值与基准度量值的匹配结果对第一被度量对象进行策略控制。本申请能够基于TPCM实现设备中的软件和/或固件的主动度量,并提高数据的安全防护。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种可信验证方法及装置。
背景技术
可信平台控制模块(trusted platform control module,TPCM)是集成在设备中的防护部件组件,由硬件、软件及固件组成。TPCM与设备的计算系统的硬件、软件及固件并行连接,是用于建立和保障信任源点的一种基础核心模块。并且TPCM为设备中的软件和固件提供主动度量、主动控制、可信验证、加密保护、可信报告、密码调用等功能。
GB/T40650-2021信息安全技术可信计算规范中已正式发布TPCM的标准。并且,法律规定网络安全等级保护测评等将可信计算纳入测评项目,各厂商都将逐步推出支持TPCM的产品。但是如何基于TPCM实现设备中的软件和/或固件的主动度量,并进一步提高数据的安全防护是急需解决的技术问题。
发明内容
本申请公开了一种可信验证方法及相关装置,能够基于TPCM实现设备中的软件和/或固件的主动度量,并提高数据的安全防护。
第一方面,本申请提供了一种可信验证方法,该方法应用于可信验证系统,前述可信验证系统中包括可信平台控制模块TPCM和可信密码模块TCM,前述TPCM中包括主控模块;
前述方法包括通过前述主控模块执行如下操作:
调用前述TCM计算第一被度量对象的第一度量值;前述第一被度量对象包括前述可信验证系统所在的设备中的软件和固件中的一个或多个对象;
从前述TCM的非易失性存储器中读取前述第一被度量对象的基准度量值;
基于前述第一度量值与前述基准度量值的匹配结果对前述第一被度量对象进行策略控制。
本申请实施例提供了一种基于TPCM对设备中的软件和/或固件的完整性进行主动度量的可信验证方案。另外,本申请中,被度量对象的基准度量值存储在TCM的非易失性存储器中,由于TCM的非易失性存储器属于受保护的存储区域,只有授权后才能访问,因此能够提高对基准度量值的安全防护。进而保证了完整性度量的可靠性,降低被度量对象被篡改的风险,提高系统数据的安全防护。
一种可能的实施方式中,前述调用前述TCM计算第一被度量对象的第一度量值之前,还包括:
调用前述TCM计算前述第一被度量对象的第二度量值;
读取一次性可编程存储器中前述第一被度量对象对应的第一标识,前述第一标识指示前述TCM的非易失性存储器中未存储有前述第一被度量对象的基准度量值;
基于前述第一标识将前述第二度量值作为前述第一被度量对象的基准度量值写入前述TCM的非易失性存储器。
本方案中结合一次性可编程存储器来快速判断是否已经存储有第一被度量对象的基准度量值,相比于现有方案中需要到存储器中逐一比较来判断的方案,本方案可以提高可信度量的效率。另外,对于未存储有基准值的度量对象,将当前的度量值作为基准值存储,解决了无基准值时需要离线写入基准值的问题。
一种可能的实施方式中,前述基于前述第一标识将前述第二度量值作为前述第一被度量对象的基准度量值写入前述TCM的非易失性存储器之前,还包括:
通过前述主控模块在前述TCM中完成身份认证,并获得访问前述TCM的非易失性存储器的授权。
本方案中TCM中的存储器授权后才能访问,确保TCM中受保护的存储区域不会被恶意篡改,提高了基准值的安全防护。
一种可能的实施方式中,前述基于前述第一标识将前述第二度量值作为前述第一被度量对象的基准度量值写入前述TCM的非易失性存储器之后,还包括:
将前述一次性可编程存储器中前述第一被度量对象对应的前述第一标识更改为第二标识,前述第二标识指示前述第一被度量对象的基准度量值已经被存储到前述TCM的非易失性存储器。
本方案中在第一被度量对象的基准值存储到非易失性存储器后,可以更改对应的一次性可编程存储器中的标识,以便于后续可以基于更改后的标识快速获知已存储有对应的基准值。
一种可能的实施方式中,前述方法还包括:通过前述主控模块读取前述一次性可编程存储器中前述第一被度量对象对应的第二标识;
前述从前述TCM的非易失性存储器中读取前述第一被度量对象的基准度量值,包括:
基于前述第二标识从前述TCM的非易失性存储器中读取前述第一被度量对象的基准度量值。
本方案中可以基于第一被度量对象对应的一次性可编程存储器中的标识快速到非易失性存储中读取对应的基准值,无需进一步比较来判断是否已经存储有基准值,提高可信度量的效率。
一种可能的实施方式中,前述方法还包括通过前述主控模块执行如下操作:
接收来自远程可信管理中心的第二被度量对象的基准度量值,前述第二被度量对象为前述第一被度量对象更新后的对象;
将前述TCM的非易失性存储器中前述第一被度量对象的基准度量值更新为前述第二被度量对象的基准度量值。
本方案通过与远程可信管理中心交互获取更新后的软件/固件的基准度量值并更新本地的基准值,解决了软件/固件更新后需要重新离线烧写基准值否则无法启动的问题。
一种可能的实施方式中,前述TPCM的策略控制模块中包括被度量对象的控制策略的配置信息;
前述方法还包括通过前述主控模块执行如下操作:
接收来自远程可信管理中心的前述第一被度量对象的目标控制策略,前述目标控制策略为前述第一被度量对象的控制策略更新后的策略;
将前述TPCM的策略控制模块中前述第一被度量对象的控制策略的配置信息更新为前述目标控制策略的配置信息。
本方案通过与远程可信管理中心交互可以实现及时的控制策略更新,避免了可信验证过程中被度量对象的策略控制异常的问题。
一种可能的实施方式中,前述方法还包括通过前述主控模块执行如下操作:
基于对前述第一被度量对象的可信验证的过程生成事件日志;
将前述第一被度量对象的基准度量值、前述匹配结果和前述事件日志三者中的一项或多项存储到前述TCM的平台配置存储器中。
本方案将这些信息存到平台配置存储器中,以便于后续可以用这些信息进行远程证明。
一种可能的实施方式中,前述可信验证系统为基于基板管理控制器BMC实现的管理系统。
第二方面,本申请提供了一种可信验证装置,该装置包括可信验证系统,前述可信验证系统中包括可信平台控制模块TPCM和可信密码模块TCM,前述TPCM中包括主控模块;
前述主控模块用于:
调用前述TCM计算第一被度量对象的第一度量值;前述第一被度量对象包括前述可信验证系统所在的设备中的软件和固件中的一个或多个对象;
从前述TCM的非易失性存储器中读取前述第一被度量对象的基准度量值;
基于前述第一度量值与前述基准度量值的匹配结果对前述第一被度量对象进行策略控制。
一种可能的实施方式中,前述主控模块还用于:
在前述调用前述TCM计算第一被度量对象的第一度量值之前,调用前述TCM计算前述第一被度量对象的第二度量值;
读取一次性可编程存储器中前述第一被度量对象对应的第一标识,前述第一标识指示前述TCM的非易失性存储器中未存储有前述第一被度量对象的基准度量值;
基于前述第一标识将前述第二度量值作为前述第一被度量对象的基准度量值写入前述TCM的非易失性存储器。
一种可能的实施方式中,前述主控模块还用于:
在前述基于前述第一标识将前述第二度量值作为前述第一被度量对象的基准度量值写入前述TCM的非易失性存储器之前,通过前述主控模块在前述TCM中完成身份认证,并获得访问前述TCM的非易失性存储器的授权。
一种可能的实施方式中,前述主控模块还用于:
在前述基于前述第一标识将前述第二度量值作为前述第一被度量对象的基准度量值写入前述TCM的非易失性存储器之后,将前述一次性可编程存储器中前述第一被度量对象对应的前述第一标识更改为第二标识,前述第二标识指示前述第一被度量对象的基准度量值已经被存储到前述TCM的非易失性存储器。
一种可能的实施方式中,前述主控模块还用于:读取前述一次性可编程存储器中前述第一被度量对象对应的第二标识;
前述从前述TCM的非易失性存储器中读取前述第一被度量对象的基准度量值,包括:
基于前述第二标识从前述TCM的非易失性存储器中读取前述第一被度量对象的基准度量值。
一种可能的实施方式中,前述主控模块还用于:
接收来自远程可信管理中心的第二被度量对象的基准度量值,前述第二被度量对象为前述第一被度量对象更新后的对象;
将前述TCM的非易失性存储器中前述第一被度量对象的基准度量值更新为前述第二被度量对象的基准度量值。
一种可能的实施方式中,前述TPCM的策略控制模块中包括被度量对象的控制策略的配置信息;前述主控模块还用于:
接收来自远程可信管理中心的前述第一被度量对象的目标控制策略,前述目标控制策略为前述第一被度量对象的控制策略更新后的策略;
将前述TPCM的策略控制模块中前述第一被度量对象的控制策略的配置信息更新为前述目标控制策略的配置信息。
一种可能的实施方式中,前述主控模块还用于:
基于对前述第一被度量对象的可信验证的过程生成事件日志;
将前述第一被度量对象的基准度量值、前述匹配结果和前述事件日志三者中的一项或多项存储到前述TCM的平台配置存储器中。
一种可能的实施方式中,前述可信验证系统为基于基板管理控制器BMC实现的管理系统。
第三方面,本申请提供一种可信验证装置,包括处理器和存储器,用于实现上述第一方面及其可能的实施方式描述的方法。该存储器与处理器耦合,处理器执行存储器中存储的计算机程序(该计算机程序可以为上述可信验证系统中TPCM的主控模块)时,可以使得该装置实现上述第一方面或第一方面任一种可能的实现方式所述的方法。
该装置还可以包括通信接口,通信接口用于该装置与其它装置进行通信,示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。该通信接口包括接收接口和发送接口,该接收接口用于接收消息,该发送接口用于发送消息。
在一种可能的实现中,该装置可以包括:
存储器,用于存储上述可信验证系统中TPCM的主控模块;
处理器,用于通过该主控模块执行如下操作:
调用该TCM计算第一被度量对象的第一度量值;该第一被度量对象包括该可信验证系统所在的设备中的软件和固件中的一个或多个对象;
从该TCM的非易失性存储器中读取该第一被度量对象的基准度量值;
基于该第一度量值与该基准度量值的匹配结果对该第一被度量对象进行策略控制。
需要说明的是,本申请中存储器中的计算机程序可以预先存储也可以使用该装置时从互联网下载后存储,本申请对于存储器中计算机程序的来源不进行具体限定。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或连接,其可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现上述第一方面及其可能的实施方式中任意一项所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,当该计算机程序被处理器执行时,使得该计算机执行如上述第一方面任意一项所述的方法。
可以理解地,上述提供的第二方面和第三方面所述的装置、第四方面所述的计算机存储介质以及第五方面所述的计算机程序产品均用于执行上述第一方面中任一项所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
下面将对本申请实施例中所需要使用的附图作介绍。
图1所示为本申请实施例提供的系统架构示意图;
图2所示为本申请实施例提供的可信验证方法的流程示意图;
图3所示为本申请实施例提供的装置的一种结构示意图;
图4所示为本申请实施例提供的装置的另一种结构示意图。
具体实施方式
下面将对本申请实施例中所需要使用的附图作介绍。
下面结合附图对本申请实施例中的技术方案进行描述。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1、可信平台控制模块(trusted platform control module,TPCM)。
TPCM是集成在设备中的防护部件组件,由硬件、软件及固件组成。TPCM与设备的计算系统的硬件、软件及固件并行连接,是用于建立和保障信任源点的一种基础核心模块。并且TPCM为设备中的软件和固件提供主动度量、主动控制、可信验证、加密保护、可信报告、密码调用等功能。
2、可信密码模块(trusted crypto module,TCM)。
TCM是具有可信计算所需的密码运算等功能,并提供受保护的存储空间的一种模块。
按照国家标准规范,TCM在设计和制造时需要在其内部提共受保护的存储空间,该存储空间具备非易失特性,即断电数据也不丢失的特性。另外,TCM中的存储空间受保护,外界无法随意访问,需要通过TCM的接口进行特定授权操作才能访问。
示例性地,TCM是构建安全运算环境的硬件和固件的集合,其核心功能体系是从三个维度基于自主密码算法构建可信计算的功能,该三个维度包括:完整性度量与验证,可信身份标识与鉴别,和数据保护。
3、非易失性存储器(non-volatile memory,NVM)。
非易失性存储器是指在关闭计算机或者突然性、意外性关闭计算机的时候数据不会丢失的存储器。
4、基板管理控制器(base-board management controller,BMC)。
BMC是广泛应用于服务器类计算机处理器的带外管理子系统,其功能包括虚拟键盘、鼠标、显示器、电源管理控制和远程运维等,也包括对服务器等计算机的电源电压、温度、风扇状态、机箱状态等物流信息的监视。其硬件是主板第一个上电启动的部件和带外管理系统。
5、可信根(root of trust,RoT)。
可信根的范围包括可信度量根(root of trust for measurement,RTM)、可信存储根(root of trust for storage,RTS)和可信报告根(root of trust for reporting,RTR)。可信根是可信度量中的信任源点,是一个必然被信任的组件。
6、可信度量根核心(core root of trust for measurement,CRTM)。
在本申请中,CRTM是计算机上电启动后执行的第一段代码或者说第一段计算机程序,是建立可信根的核心程序代码。
7、基本输入输出系统(basic input output system,BIOS)。
BIOS是一组固化到主板上一个存储器芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)中读写系统设置的具体信息。
8、固件(firmware)。
固件可以是一种软件,这种软件被写入芯片,所以是“固化”的。固件代码本身可以保存在只读存储器(read-only memory,ROM)中。也可保存在可编程只读存储器(programmable read-only memory,PROM)或者电可擦除只读存储器(electricallyerasable programmable read-only memory,EEPROM)等存储器中。
9、可信验证。
可信验证是指对被度量的对象进行主动的完整性度量和验证的过程。还可以包括基于度量和验证的结果对被度量对象进行策略控制的过程。
10、镜像文件。
镜像(Mirroring)是一种文件存储形式,文件以一定的格式制作成和存储,一个文件和其自身的镜像文件是完全相同的,只是存储的位置不相同,也可以说镜像文件是原来的文件的备份或副本。
为了更好的理解本申请实施例提供的一种可信验证方法,下面对本申请实施例适用的场景进行示例性地描述。参阅图1,图1是本申请实施例提供的一种系统构架示意图。
如图1所示,可信验证系统11包括可信平台控制模块110和可信密码模块112。该可信平台控制模块110和可信密码模块112之间可以通信。
上述可信平台控制模块110中包括主控模块1101、策略控制模块1102、一次性可编程存储器1103和更新接口1104。
上述主控模块1101是整个可信验证系统11的核心,也是可信平台控制模块110的可信度量根核心CRTM。该主控模块1101是其所在设备上电后最先启动和执行的模块。该主控模块1101负责获取被度量对象12,并对被度量对象12进行主动度量和可信验证。
示例性地,被度量对象12是可信验证系统11所在设备中的软件和/或固件中的一个或多个对象。例如,该被度量对象可以包括复杂可编程逻辑器件(complex programmablelogic device,CPLD)的逻辑配置文件,BMC的启动引导程序镜像文件,BIOS配置文件,BIOS分段功能代码的二进制镜像文件,BIOS驱动模块的二进制镜像文件,BIOS外设功能模块的二进制镜像文件,计算机的操作系统启动加载器(operation system loader,OS loader)的二进制镜像文件,计算机的操作系统的二进制镜像文件,BMC操作系统的二进制镜像文件和BMC应用软件的二进制镜像文件等文件中的一项或多项。这些被度量对象可以直接或间接地被可信平台控制模块110访问获取。
一种可能的实现中,上述主控模块1101也可以称为TPCM引擎。示例性地,该主控模块1101可以是以软件或固件的形式部署在设备中,并由该设备中的处理器调用执行。该处理器也属于上述可信验证系统11,图1中没有示出该处理器。
上述策略控制模块1102中主要包含了各个被度量对象对应的策略控制的配置信息。例如,包括各个被度量对象在完整性度量成功通过之后对应执行的策略的配置信息,以及包括各个被度量对象在完整性度量失败之后对应执行的策略的配置信息等等。示例性地,该策略控制模块1102可以是以软件或固件的形式部署在设备中。
上述一次性可编程存储器1103中可存储多个比特(bit)的数据。示例性地,该一次性可编程存储器1103中多个比特的数据的初始值可以是“1”。以该多个比特中的一个比特为例,该一个比特中的数据可以通过一次性编程将存储的值变为“0”。该编程可以是通过熔断该一个比特对应的熔丝来实现,因为该熔断操作不可逆,该一个比特有且仅有一次编程的机会,因此是一次性编程。该多个比特中的其它比特也同理,因此称为一次性可编程存储器。
示例性地,上述一次性可编程存储器1103可以是基于efuse实现的存储器。
本申请实施例中可以通过上述一次性可编程存储器1103来实现被度量对象的基准度量值是否已存在的判断,后面会介绍,此处不详述。
上述更新接口1104主要负责和远程远程可信管理中心13通信,用于将更新的信息导入可信平台控制模块110。
该远程可信管理中心13中包括基准及策略管理模块。具体实现中,被度量对象时常有更新或者被度量对象被度量之后对应的控制策略时常有更新。那么,该基准及策略管理模块可以对更新后的被度量对象进行度量获得新的基准度量值,然后通过更新接口1104将该新的基准度量值发送到可信平台控制模块110。另外,该基准及策略管理模块还可以通过更新接口1104将更新后的控制策略发送到可信平台控制模块110。以使得可信平台控制模块110可以及时更新对应的基准度量值和控制策略。
另外,示例性地,远程可信管理中心13还可以完成可信验证结果的远程可信证明等。本申请对远程可信管理中心13的具体功能不做限制。
上述可信密码模块112中包括算法模块1121、非易失性存储器1122和平台配置寄存器(platformconfigurationregisters,PCR)1123。
上述算法模块1121可以实现密码散列函数算法。在本申请实施例中,该算法模块1121可以通过密码散列函数算法计算被度量对象的完整性度量值。示例性地,该密码散列函数算法例如可以是国家密码管理局发布的SM3密码杂凑算法等等。本申请对具体使用的密码散列函数算法不做限制。
上述非易失性存储器1122可以用于存储被度量对象的基准度量值。
上述平台配置寄存器1123可以用于进一步保存被度量对象的基准度量值和被度量对象每次度量得到的度量值。平台配置寄存器1123中保存的信息可以用于为远程远程可信管理中心13提供可信证明。
一种可能的实施方式中,上述可信平台控制模块110中的主控模块1101、策略控制模块1102和更新接口1104可以是以软件或固件的形式部署在设备中,并由设备中的处理器调用执行以实现其各自对应的功能。上述可信密码模块112可以是以硬件的形式实现,为可信验证提供底层硬件基础保障。该可信密码模块112为上述可信验证系统11的可信根。
一种可能的实施方式中,上述可信平台控制模块110和可信密码模块112可以部署在设备的BMC管理系统中。由BMC管理系统中的处理器来调用可信平台控制模块110来实现可信验证。
示例性的,上述可信验证系统11所在的设备可以包括但不限于服务器、工作站、高性能计算机、个人家用计算机、便携式计算机和任何一种基于智能操作系统的电子产品等。
需要说明的是,上述如图1所示系统架构仅为一个示例,本申请实施例提供的系统构架不限于上述的描述,只要是应用到本申请实施例提供的可信验证方法的场景,都是本申请实施例适用的场景,此处不再赘述。
为了能够基于TPCM实现设备中的软件和/或固件的主动度量,本申请实施例提供了一种可信验证方法。示例性地,该方法可以应用于上述图1所示的可信验证系统。该方法可以通过可信验证系统中TPCM的主控模块来实现。可以参见图2,该方法可以包括但不限于如下步骤:
S201、通过可信验证系统中的TPCM的主控模块调用该可信验证系统中的TCM计算第一被度量对象的第一度量值;该第一被度量对象包括该可信验证系统所在的设备中的软件和固件中的一个或多个对象。
在具体实现中,上述可信验证系统所在的设备上电后,首先上电启动运行该可信验证系统中TPCM。通过TPCM的主控模块完成对该设备中的软件和/或固件的完整性度量。即该主控模块是其所在设备上电后最先运行的程序模块。
上述TPCM上电启动后,TPCM对内部固化的只读存储器(read-only memory,ROM)完成自检,并验证外部安全启动代码(external secure boot code,ESBC)固件,从而完成自身的安全启动。在TPCM安全启动后,首先启动运行上述主控模块,通过该主控模块实现对设备中的软件和/或固件的完整性度量。
具体的,通过该主控模块可以直接或间接地读取上述第一被度量对象。该第一被度量对象包括上述设备中的软件和固件中的一个或多个对象。示例性地,关于该第一被度量对象,具体可以参考上述图1中所示的被度量对象12的相关描述,此处不再赘述。
一种可能的实施方式中,可以通过硬件物理总线直接读取上述第一被度量对象。例如,若该第一被度量对象为BIOS的二进制镜像文件,那么,可以通过串行外围设备接口(serial peripheral interface,SPI)总线直接读取。
另一种可能的实施方式中,可以通过度量代理间接获取上述第一被度量对象。该度量代理可以访问获取该第一被度量对象,然后,将该获取的第一被度量对象发送给上述主控模块以进行完整性度量。例如,若上述第一被度量对象为设备中计算机操作系统的二进制镜像文件,那么,可以通过度量代理来间接获取。
上述主控模块获取到上述第一被度量对象后,可以将该第一被度量对象发送给上述TCM。由该TCM调用密码散列函数算法来计算该第一被度量对象的度量值(即上述第一度量值)。示例性地,可以通过该TCM中的算法模块来计算该第一被度量对象的度量值。关于该TCM中的算法模块可以使理性地参见上述图1中所示的算法模块1121的相关描述,此处不再赘述。
该TCM计算得到该第一被度量对象的度量值之后,将计算得到的度量值发送给上述主控模块。
S202、通过上述主控模块从该TCM的非易失性存储器中读取该第一被度量对象的基准度量值。
在具体实现中,上述第一被度量对象的基准度量值存储在TCM中的非易失性存储器中。该非易失性存储器存在保护机制,只有获得授权的主体才可以访问。
一种可能的实现方式中,上述第一被度量对象的基准度量值可以是通过上述主控模块写入该TCM中的非易失性存储器。那么,在写入之前主控模块可以在TCM中完成身份认证,以获得访问TCM中的非易失性存储器的授权。
示例性地,主控模块可以将预先配置的秘钥发送给TCM,由TCM将接收到的秘钥与自身预设的秘钥进行匹配。若匹配成功则主控模块的身份认证通过。然后,TCM可以向主控模块发送身份认证通过的指示,以此授权主控模块可以访问TCM中的非易失性存储器。主控模块获得访问TCM中的非易失性存储器的授权之后,可以将上述第一被度量对象的基准度量值写入到该TCM的非易失性存储器中。该描述主控模块在TCM中进行身份认证以获得访问授权的过程仅为一个示例,不构成对本申请实施例的限制。另外,主控模块获取该第一被度量对象的基准度量值的过程可以参见后面的描述,此处不详述。
基于上述的描述,主控模块已经获得访问TCM中的非易失性存储器的授权,那么后续为了提高可信验证的效率,主控模块可以不用再次进行身份认证即可访问TCM中的非易失性存储器,并从中读取上述第一被度量对象的基准度量值。
或者,示例性地,为了加强对被度量对象的基准度量值的安全防护,即使上述主控模块已经获得访问TCM中的非易失性存储器的授权,后续访问TCM中的非易失性存储器之前,仍需先进行身份认证再次获得访问授权后,才可以从中读取第一被度量对象的基准度量值。
另一种可能的实施方式中,上述第一被度量对象的基准度量值可以是通过其它控制模块或者可以是通过用户写入该TCM中的非易失性存储器。这种情况下,上述主控模块在访问TCM中的非易失性存储器之前,先进行身份认证获得访问授权后,才可以从中读取上述第一被度量对象的基准度量值。
S203、通过上述主控模块基于该第一度量值与该基准度量值的匹配结果对该第一被度量对象进行策略控制。
上述主控模块获得上述第一被度量对象的基准度量值之后,可以将该基准度量值与上述计算得到的第一度量值进行比较。
若该第一度量值与该基准度量值相同,则表明该第一被度量对象的完整性度量通过,即表明该第一被度量对象没有被篡改,是安全的。那么,基于该比较结果,主控模块可以控制该第一被度量对象启动运行。
若第一度量值与该基准度量值不同,则表明该待度量对象的完整性度量不通过,即表明该第一被度量对象可能被篡改,存在安全威胁。那么,基于该比较结果,主控模块可以对该第一被度量对象进行异常控制。例如,可以阻止该第一被度量对象启动运行,或者回退或恢复该第一被度量对象的版本等。本申请对该具体的策略控制不做限制。
示例性地,上述主控模块可以基于上述比较结果在策略控制模块中找到对应的控制策略来对第一被度量对象进行控制。该策略控制模块的描述可以示例性参见上述图1中对应的描述,此处不再赘述。
可选的,可选的上述主控模块可以将上述第一被度量对象的第一度量值存储到TCM的平台配置寄存器中,为后续远程证明提供数据。另外,上述主控模块可以基于上述对第一被度量对象的可信验证的操作生成对应的事件日志。示例性地,该事件日志可以记录对第一被度量对象的可信验证的情况等信息。然后,主控模块可以将该事件日志和上述匹配结果这两者中的一项或多项存储到TCM的平台配置寄存器中。或者,主控模块可以将该事件日志和上述匹配结果这两者中的一项或多项存储到上述可信验证系统中的其它存储器中,本申请对具体存储的存储器不做限制。
综上所述,本申请实施例提供了一种基于TPCM对设备中的软件和/或固件的完整性进行主动度量的可信验证方案。另外,本申请实施例中,被度量对象的基准度量值存储在TCM的非易失性存储器中,由于TCM的非易失性存储器属于受保护的存储区域,只有授权后才能访问,因此能够提高对基准度量值的安全防护。
一种可能的实现方式中,上述第一被度量对象的基准度量值通过上述主控模块写入该TCM中的非易失性存储器的过程如下:
具体实现中,上述通过可信验证系统中的TPCM的主控模块调用该可信验证系统中的TCM计算第一被度量对象的第一度量值之前,该主控模块会先计算该第一被度量对象的基准度量值,并将其写入上述TCM中的非易失性存储器。
具体的,该主控模块启动运行后,获取该第一被度量对象。同样地,将该第一被度量对象发送给TCM计算该第一被度量对象的度量值,该度量值可以简称为第二度量值。然后,该主控模块从一次性可编程存储器中读取该第一被度量对象对应的比特位存储的标识。并基于该读取的标识判断TCM的非易失性存储器中是否存储有该第一被度量对象的基准度量值。
基于前面的描述可知,该一次性可编程存储器可以设置在TPCM中。并且该一次性可编程存储器可以存储多个比特位的数据。那么,在本申请实施例中,可以配置每一个被度量对象与该多个比特位中的一个比特位唯一对应,由该对应的比特位中的标识来指示该每一个被度量对象的基准度量值是否已经存储在TCM的非易失性存储器中。示例性地,由于该一次性可编程存储器中多个比特位存储的初始值为“1”,当对该比特位进行一次性编程(即熔断该比特位对应的熔丝),该比特位存储的值变为“0”。由于该一次性编程不可逆,当对一个比特位进行一次性编程之后,该比特位存储的值将一直是“0”,不可再更改。那么,对于上述第一被度量对象对应的比特位,当该比特位存储的值为“1”时,可以用“1”这个标识来表示TCM的非易失性存储器中未存储有该第一被度量对象的基准度量值。当将该第一被度量对象的基准度量值存储到TCM的非易失性存储器中之后,可以对该比特位进行一次性编程,使其存储的值变为“0”。即可以用“0”这个标识来表示TCM的非易失性存储器中已经存储有该第一被度量对象的基准度量值。
基于上述的描述,上述主控模块从上述一次性可编程存储器中读取出第一被度量对象对应的比特位存储的标识后,若该标识指示TCM的非易失性存储器中未存储有该第一被度量对象的基准度量值,那么,主控模块可以将上述计算得到的第二度量值作为该第一被度量对象的基准度量值写入TCM的非易失性存储器。具体的,该主控模块可以在TCM中完成身份认证,获得访问该TCM的非易失性存储器的授权后,才可以将该第二度量值作为该第一被度量对象的基准度量值写入TCM的非易失性存储器。该身份认证的具体实现可以参见前面的描述,此处不再赘述。
上述主控模块将第一被度量对象的基准度量值写入TCM的非易失性存储器之后,可以对一次性存储器中该第一被度量对象对应的比特位的熔丝进行熔断,完成该比特位的一次性编程,使得该比特位存储的值变为“0”。即将该比特位中原来存储的第一标识更改为第二标识。该第一标识例如为“1”,指示第一被度量对象的基准度量值未存储到TCM的非易失性存储器。该第二标识例如为“0”,指示第一被度量对象的基准度量值已经被存储到TCM的非易失性存储器的标识。
然后,主控模块可以将该事件日志和该第一被度量对象的基准度量值存储到TCM的平台配置寄存器中,为后续远程证明提供数据。
可选的,可选的上述主控模块可以将上述第一被度量对象的基准度量值存储到TCM的平台配置寄存器中,为后续远程证明提供数据。另外,可选的,上述主控模块将第一被度量对象的基准度量值写入TCM的非易失性存储器之后,还可以生成对应的事件日志。示例性地,该事件日志可以记录将第一被度量对象的基准度量值写入TCM的非易失性存储器的情况等信息。然后,主控模块可以将该事件日志存储到TCM的平台配置寄存器中。或者,主控模块可以将该事件日志存储到上述可信验证系统中的其它存储器中,本申请对具体存储的存储器不做限制。
一种可能的实现中,基于上述的描述,那么前述步骤S202中通过上述主控模块从该TCM的非易失性存储器中读取该第一被度量对象的基准度量值之前,上述主控模块还从上述一次性可编程存储器中读取该第一被度量对象对应的比特位中存储的标识。该读取的标识指示第一被度量对象的基准度量值已经被存储到TCM的非易失性存储器中。那么,该主控模块可以基于该读取的标识从TCM的非易失性存储器中读取第一被度量对象的基准度量值。
上述实施例中结合一次性可编程存储器来快速判断是否已经存储有第一被度量对象的基准度量值,相比于现有方案中需要到存储器中逐一比较来判断的方案,本方案可以提高可信度量的效率。另外,对于未存储有基准值的度量对象,将当前的度量值作为基准值存储,解决了无基准值时需要离线写入基准值的问题。
一种可能的实施方式中,被度量对象时常有升级更新,升级更新后的被度量对象的基准度量值也会随之改变,那么TCM的非易失存储器中存储的基准度量值也得随之更新,否则会导致被度量对象的完整性度量无法成功通过,使得被度量对象无法正常启动运行。下面以上述第一被度量对象为例介绍更新TCM的非易失存储器中存储的基准度量值的过程。
当该第一被度量对象出现升级更新后,远程可信管理中心可以感知该第一被度量对象的升级更新。然后,该远程可信管理中心获取该升级更新后的第一被度量对象(简称为第二被度量对象),并调用该远程可信管理中心中的基准及策略管理模块计算该第二被度量对象的度量值。该计算度量值的算法与TCM中计算度量值的算法相同。
上述TPCM通过更新接口与远程可信管理中心建立通信,可以示例性地参见图1。那么,获得该第二被度量对象的度量值之后,该远程可信管理中心通过该更新接口将该第二被度量对象的度量值发送给TPCM。然后,该TPCM的主控模块通过该更新接口接收到该第二被度量对象的度量值。并访问TCM的非易失性存储器,将该非易失性存储器中原来第一被度量对象的基准度量值更新为该第二被度量对象的度量值。可选的,该主控模块可以在TCM中完成身份认证,获得访问该TCM的非易失性存储器的授权后,才可以将该第二被度量对象的度量值写入TCM的非易失性存储器。该身份认证的具体实现可以参见前面的描述,此处不再赘述。
本方案通过与远程可信管理中心交互获取更新后的被度量对象的基准度量值并更新本地的基准值,解决了被度量对象更新后需要重新离线烧写基准值否则无法启动的问题。同时也避免了被度量对象的完整性度量无法成功通过,使得被度量对象无法正常启动运行的问题。
一种可能的实施方式中,被度量对象的控制策略也时常有升级更新,那么TPCM的策略控制模块中的配置也得随之更新,否则会导致被度量对象的策略控制异常。下面以上述第一被度量对象为例介绍更新TPCM的策略控制模块中的策略配置的过程。
具体的,远程可信管理中心可以感知该第一被度量对象的控制策略的更新。然后,该远程可信管理中心的基准及策略管理模块获取该第一被度量对象更新后的控制策略。同样的,上述TPCM通过更新接口与远程可信管理中心建立通信,可以示例性地参见图1。那么,获得该第一被度量对象更新后的控制策略之后,该远程可信管理中心通过该更新接口将该第一被度量对象更新后的控制策略发送给TPCM。然后,该TPCM的主控模块通过该更新接口接收到该第一被度量对象更新后的控制策略。然后,该主控模块基于接收到的控制策略更新策略控制模块中该第一被度量对象的策略配置。
可选的,对于升级更新后的第一被度量对象即上述第二被度量对象也可以进行控制策略的升级更新,具体升级更新的过程可以参见上述的描述,此处不赘述。
本方案通过与远程可信管理中心交互可以实现及时的控制策略更新,避免了可信验证过程中被度量对象的策略控制异常的问题。
上述对本申请实施例提供的可信验证方法进行了介绍。可以理解的是,各个设备为了实现上述对应的功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本文中所公开的实施例描述的各示例的单元及步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图3示出了装置的一种具体的逻辑结构示意图,该装置可以是上述可信验证系统所在的装置。该装置300包括可信平台控制模块301和可信密码模块302,可信平台控制模块301中包括主控模块3011。其中:
该主控模块3011用于:
调用该可信密码模块302计算第一被度量对象的第一度量值;该第一被度量对象包括该可信验证系统所在的设备中的软件和固件中的一个或多个对象;
从该可信密码模块302的非易失性存储器中读取该第一被度量对象的基准度量值;
基于该第一度量值与该基准度量值的匹配结果对该第一被度量对象进行策略控制。
一种可能的实施方式中,该主控模块3011还用于:
在该调用该可信密码模块302计算第一被度量对象的第一度量值之前,调用该可信密码模块302计算该第一被度量对象的第二度量值;
读取一次性可编程存储器中该第一被度量对象对应的第一标识,该第一标识指示该可信密码模块302的非易失性存储器中未存储有该第一被度量对象的基准度量值;
基于该第一标识将该第二度量值作为该第一被度量对象的基准度量值写入该可信密码模块302的非易失性存储器。
一种可能的实施方式中,该主控模块3011还用于:
在该基于该第一标识将该第二度量值作为该第一被度量对象的基准度量值写入该可信密码模块302的非易失性存储器之前,通过该主控模块3011在该可信密码模块302中完成身份认证,并获得访问该可信密码模块302的非易失性存储器的授权。
一种可能的实施方式中,该主控模块3011还用于:
在该基于该第一标识将该第二度量值作为该第一被度量对象的基准度量值写入该可信密码模块302的非易失性存储器之后,将该一次性可编程存储器中该第一被度量对象对应的该第一标识更改为第二标识,该第二标识指示该第一被度量对象的基准度量值已经被存储到该可信密码模块302的非易失性存储器。
一种可能的实施方式中,该主控模块3011还用于:读取该一次性可编程存储器中该第一被度量对象对应的第二标识;
该从该可信密码模块302的非易失性存储器中读取该第一被度量对象的基准度量值,包括:
基于该第二标识从该可信密码模块302的非易失性存储器中读取该第一被度量对象的基准度量值。
一种可能的实施方式中,该主控模块3011还用于:
接收来自远程可信管理中心的第二被度量对象的基准度量值,该第二被度量对象为该第一被度量对象更新后的对象;
将该可信密码模块302的非易失性存储器中该第一被度量对象的基准度量值更新为该第二被度量对象的基准度量值。
一种可能的实施方式中,该可信平台控制模块301的策略控制模块中包括被度量对象的控制策略的配置信息;该主控模块3011还用于:
接收来自远程可信管理中心的该第一被度量对象的目标控制策略,该目标控制策略为该第一被度量对象的控制策略更新后的策略;
将该可信平台控制模块301的策略控制模块中该第一被度量对象的控制策略的配置信息更新为该目标控制策略的配置信息。
一种可能的实施方式中,该主控模块3011还用于:
基于对该第一被度量对象的可信验证的过程生成事件日志;
将该第一被度量对象的基准度量值、该匹配结果和该事件日志三者中的一项或多项存储到该可信密码模块302的平台配置存储器中。
一种可能的实施方式中,该可信验证系统为基于基板管理控制器BMC实现的管理系统。
图3所示装置300中各个单元的具体操作以及有益效果可以参见上述图2及其具体的方法实施例中对应的描述,此处不再赘述。
图4所示为本申请提供的装置的一种具体的硬件结构示意图,该装置可以是上述实施例所述的可信验证系统所在的装置。该装置400包括:处理器401、存储器402和通信接口403。处理器401、通信接口403以及存储器402可以相互连接或者通过总线404相互连接。
示例性的,存储器402用于存储装置400的计算机程序和数据,存储器402可以包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-onlymemory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)或便携式只读存储器(compact disc read-only memory,CD-ROM)等。示例性地,该存储器402可以用于存储上述可信验证系统中的主控模块、策略控制模块和更新接口中的一项或多项的计算机程序。
通信接口403包括发送接口和接收接口,通信接口403的个数可以为多个,用于支持装置400进行通信,例如接收或发送数据或消息等。
示例性的,处理器401可以是中央处理器单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。处理器401可以用于读取上述存储器402中存储的程序,使得装置400执行如上述图2及其具体的实施例中所述的可信验证方法。
一种具体的实施方式中,处理器401可以用于读取上述存储器402中存储的程序,执行如下操作:调用该TCM计算第一被度量对象的第一度量值;该第一被度量对象包括该可信验证系统所在的设备中的软件和固件中的一个或多个对象;从该TCM的非易失性存储器中读取该第一被度量对象的基准度量值;基于该第一度量值与该基准度量值的匹配结果对该第一被度量对象进行策略控制。
图4所示装置400中各个单元的具体操作以及有益效果可以参见上述图2及其具体的方法实施例中对应的描述,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述图2及其具体的方法实施例中任一实施例所述的方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品被计算机读取并执行时,上述图2及其具体的方法实施例中任一实施例所述的方法。
综上所述,本申请实施例提供了一种基于TPCM对设备中的软件和/或固件的完整性进行主动度量的可信验证方案。另外,本申请中,被度量对象的基准度量值存储在TCM的非易失性存储器中,由于TCM的非易失性存储器属于受保护的存储区域,只有授权后才能访问,因此能够提高对基准度量值的安全防护。进而保证了完整性度量的可靠性,降低被度量对象被篡改的风险,提高系统的安全防护。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (20)
1.一种可信验证方法,其特征在于,所述方法应用于可信验证系统,所述可信验证系统中包括可信平台控制模块TPCM和可信密码模块TCM,所述TPCM中包括主控模块;
所述方法包括通过所述主控模块执行如下操作:
调用所述TCM计算第一被度量对象的第一度量值;所述第一被度量对象包括所述可信验证系统所在的设备中的软件和固件中的一个或多个对象;
从所述TCM的非易失性存储器中读取所述第一被度量对象的基准度量值;
基于所述第一度量值与所述基准度量值的匹配结果对所述第一被度量对象进行策略控制。
2.根据权利要求1所述的方法,其特征在于,所述调用所述TCM计算第一被度量对象的第一度量值之前,还包括:
调用所述TCM计算所述第一被度量对象的第二度量值;
读取一次性可编程存储器中所述第一被度量对象对应的第一标识,所述第一标识指示所述TCM的非易失性存储器中未存储有所述第一被度量对象的基准度量值;
基于所述第一标识将所述第二度量值作为所述第一被度量对象的基准度量值写入所述TCM的非易失性存储器。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一标识将所述第二度量值作为所述第一被度量对象的基准度量值写入所述TCM的非易失性存储器之前,还包括:
通过所述主控模块在所述TCM中完成身份认证,并获得访问所述TCM的非易失性存储器的授权。
4.根据权利要求2或3所述的方法,其特征在于,所述基于所述第一标识将所述第二度量值作为所述第一被度量对象的基准度量值写入所述TCM的非易失性存储器之后,还包括:
将所述一次性可编程存储器中所述第一被度量对象对应的所述第一标识更改为第二标识,所述第二标识指示所述第一被度量对象的基准度量值已经被存储到所述TCM的非易失性存储器。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:通过所述主控模块读取所述一次性可编程存储器中所述第一被度量对象对应的第二标识;
所述从所述TCM的非易失性存储器中读取所述第一被度量对象的基准度量值,包括:
基于所述第二标识从所述TCM的非易失性存储器中读取所述第一被度量对象的基准度量值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括通过所述主控模块执行如下操作:
接收来自远程可信管理中心的第二被度量对象的基准度量值,所述第二被度量对象为所述第一被度量对象更新后的对象;
将所述TCM的非易失性存储器中所述第一被度量对象的基准度量值更新为所述第二被度量对象的基准度量值。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述TPCM的策略控制模块中包括被度量对象的控制策略的配置信息;
所述方法还包括通过所述主控模块执行如下操作:
接收来自远程可信管理中心的所述第一被度量对象的目标控制策略,所述目标控制策略为所述第一被度量对象的控制策略更新后的策略;
将所述TPCM的策略控制模块中所述第一被度量对象的控制策略的配置信息更新为所述目标控制策略的配置信息。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括通过所述主控模块执行如下操作:
基于对所述第一被度量对象的可信验证的过程生成事件日志;
将所述第一被度量对象的基准度量值、所述匹配结果和所述事件日志三者中的一项或多项存储到所述TCM的平台配置存储器中。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述可信验证系统为基于基板管理控制器BMC实现的管理系统。
10.一种可信验证装置,其特征在于,所述装置包括可信验证系统,所述可信验证系统中包括可信平台控制模块TPCM和可信密码模块TCM,所述TPCM中包括主控模块;
所述主控模块用于:
调用所述TCM计算第一被度量对象的第一度量值;所述第一被度量对象包括所述可信验证系统所在的设备中的软件和固件中的一个或多个对象;
从所述TCM的非易失性存储器中读取所述第一被度量对象的基准度量值;
基于所述第一度量值与所述基准度量值的匹配结果对所述第一被度量对象进行策略控制。
11.根据权利要求10所述的装置,其特征在于,所述主控模块还用于:
在所述调用所述TCM计算第一被度量对象的第一度量值之前,调用所述TCM计算所述第一被度量对象的第二度量值;
读取一次性可编程存储器中所述第一被度量对象对应的第一标识,所述第一标识指示所述TCM的非易失性存储器中未存储有所述第一被度量对象的基准度量值;
基于所述第一标识将所述第二度量值作为所述第一被度量对象的基准度量值写入所述TCM的非易失性存储器。
12.根据权利要求11所述的装置,其特征在于,所述主控模块还用于:
在所述基于所述第一标识将所述第二度量值作为所述第一被度量对象的基准度量值写入所述TCM的非易失性存储器之前,通过所述主控模块在所述TCM中完成身份认证,并获得访问所述TCM的非易失性存储器的授权。
13.根据权利要求11或12所述的装置,其特征在于,所述主控模块还用于:
在所述基于所述第一标识将所述第二度量值作为所述第一被度量对象的基准度量值写入所述TCM的非易失性存储器之后,将所述一次性可编程存储器中所述第一被度量对象对应的所述第一标识更改为第二标识,所述第二标识指示所述第一被度量对象的基准度量值已经被存储到所述TCM的非易失性存储器。
14.根据权利要求13所述的装置,其特征在于,所述主控模块还用于:读取所述一次性可编程存储器中所述第一被度量对象对应的第二标识;
所述从所述TCM的非易失性存储器中读取所述第一被度量对象的基准度量值,包括:
基于所述第二标识从所述TCM的非易失性存储器中读取所述第一被度量对象的基准度量值。
15.根据权利要求10-14任一项所述的装置,其特征在于,所述主控模块还用于:
接收来自远程可信管理中心的第二被度量对象的基准度量值,所述第二被度量对象为所述第一被度量对象更新后的对象;
将所述TCM的非易失性存储器中所述第一被度量对象的基准度量值更新为所述第二被度量对象的基准度量值。
16.根据权利要求10-15任一项所述的装置,其特征在于,所述TPCM的策略控制模块中包括被度量对象的控制策略的配置信息;所述主控模块还用于:
接收来自远程可信管理中心的所述第一被度量对象的目标控制策略,所述目标控制策略为所述第一被度量对象的控制策略更新后的策略;
将所述TPCM的策略控制模块中所述第一被度量对象的控制策略的配置信息更新为所述目标控制策略的配置信息。
17.根据权利要求10-16任一项所述的装置,其特征在于,所述主控模块还用于:
基于对所述第一被度量对象的可信验证的过程生成事件日志;
将所述第一被度量对象的基准度量值、所述匹配结果和所述事件日志三者中的一项或多项存储到所述TCM的平台配置存储器中。
18.根据权利要求10-17任一项所述的装置,其特征在于,所述可信验证系统为基于基板管理控制器BMC实现的管理系统。
19.一种可信验证装置,其特征在于,所述装置包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,使得所述装置执行如权利要求1至9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至9任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210297166.9A CN116842517A (zh) | 2022-03-24 | 2022-03-24 | 可信验证方法及装置 |
PCT/CN2023/083577 WO2023179745A1 (zh) | 2022-03-24 | 2023-03-24 | 可信验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210297166.9A CN116842517A (zh) | 2022-03-24 | 2022-03-24 | 可信验证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116842517A true CN116842517A (zh) | 2023-10-03 |
Family
ID=88100078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210297166.9A Pending CN116842517A (zh) | 2022-03-24 | 2022-03-24 | 可信验证方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116842517A (zh) |
WO (1) | WO2023179745A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806777B (zh) * | 2024-02-29 | 2024-05-10 | 苏州元脑智能科技有限公司 | 虚拟环境启动完整性验证方法、装置、系统、设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933358A (zh) * | 2015-07-10 | 2015-09-23 | 沈军 | 一种计算机免疫系统设计方法与实现 |
CN105205401B (zh) * | 2015-09-30 | 2017-10-24 | 中国人民解放军信息工程大学 | 基于安全密码芯片的可信计算机系统及其可信引导方法 |
CN111651769B (zh) * | 2019-03-04 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 获取安全启动的度量方法和装置 |
CN109992973B (zh) * | 2019-04-10 | 2021-04-20 | 北京可信华泰信息技术有限公司 | 一种利用oprom机制的启动度量方法及装置 |
CN110334522B (zh) * | 2019-07-08 | 2021-07-27 | 北京可信华泰信息技术有限公司 | 启动度量的方法及装置 |
CN111310193B (zh) * | 2020-02-12 | 2022-03-15 | 北京可信华泰信息技术有限公司 | 数据处理方法、装置、存储介质和处理器 |
CN111950014A (zh) * | 2020-08-27 | 2020-11-17 | 英业达科技有限公司 | 服务器系统启动的安全度量方法、安全度量装置及服务器 |
-
2022
- 2022-03-24 CN CN202210297166.9A patent/CN116842517A/zh active Pending
-
2023
- 2023-03-24 WO PCT/CN2023/083577 patent/WO2023179745A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023179745A1 (zh) | 2023-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112560004B (zh) | 完整性确定方法和系统 | |
KR101662618B1 (ko) | 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정 | |
JP5767751B2 (ja) | Biosを検証する方法、コンピューティングプラットフォーム、およびプログラム | |
US7921286B2 (en) | Computer initialization for secure kernel | |
US10719604B2 (en) | Baseboard management controller to perform security action based on digital signature comparison in response to trigger | |
US11030347B2 (en) | Protect computing device using hash based on power event | |
US10181956B2 (en) | Key revocation | |
US11068599B2 (en) | Secure initialization using embedded controller (EC) root of trust | |
CN112955888A (zh) | 保护节点组 | |
US9928367B2 (en) | Runtime verification | |
US11347858B2 (en) | System and method to inhibit firmware downgrade | |
CN113190880B (zh) | 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作 | |
US11977640B2 (en) | Systems and methods for authenticating the identity of an information handling system | |
CN116561826A (zh) | 基于固件所有权历史来管理对管理控制器秘密的使用 | |
WO2023179745A1 (zh) | 可信验证方法及装置 | |
CN114692160A (zh) | 计算机安全可信启动的处理方法及装置 | |
US11797679B2 (en) | Trust verification system and method for a baseboard management controller (BMC) | |
CN117494232B (zh) | 固件的执行方法和装置、系统、存储介质及电子设备 | |
CN113971276B (zh) | 使用迭代验证过程验证机器可读指令 | |
KR102369874B1 (ko) | 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스 | |
US20240037216A1 (en) | Systems And Methods For Creating Trustworthy Orchestration Instructions Within A Containerized Computing Environment For Validation Within An Alternate Computing Environment | |
US20230106491A1 (en) | Security dominion of computing device | |
US11593490B2 (en) | System and method for maintaining trusted execution in an untrusted computing environment using a secure communication channel | |
US20230297682A1 (en) | Computing device quarantine action system | |
CN117556418A (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 |