CN111273952A - 一种可信恢复更新的方法及装置 - Google Patents

一种可信恢复更新的方法及装置 Download PDF

Info

Publication number
CN111273952A
CN111273952A CN202010094130.1A CN202010094130A CN111273952A CN 111273952 A CN111273952 A CN 111273952A CN 202010094130 A CN202010094130 A CN 202010094130A CN 111273952 A CN111273952 A CN 111273952A
Authority
CN
China
Prior art keywords
value
bios
original value
trust chain
expected metric
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
Application number
CN202010094130.1A
Other languages
English (en)
Other versions
CN111273952B (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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN202010094130.1A priority Critical patent/CN111273952B/zh
Publication of CN111273952A publication Critical patent/CN111273952A/zh
Application granted granted Critical
Publication of CN111273952B publication Critical patent/CN111273952B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及了一种可信恢复更新的方法及装置,其中该方法包括以下步骤:建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和所述预期度量值初始化信任链;响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链;构建信任链对应的merkle树,并基于merkle树判断信任链的完整性;响应于信任链的完整性被破坏,基于merkle树度量被破坏位置;针对被破坏位置调用所存储的BIOS原始值和预期度量值恢复信任链。本发明的实施例能够实现可信度量失败情况下的数据快速恢复,较传统方法恢复时间有了明显缩短、降低了恢复成本。

Description

一种可信恢复更新的方法及装置
技术领域
本发明涉及计算安全技术领域。本发明进一步涉及一种可信恢复更新的方法及装置。
背景技术
随着信息技术和通信技术的发展,计算机安全占据越来越重要的地位,而操作系统安全是计算机安全的必要条件。鉴于操作系统面对着来自内外部环境的各种安全攻击和威胁以及操作系统自身设计和实现的复杂性,各种各样的失效都会发生在操作系统中。可信恢复更新是安全操作系统中的一种运作保障技术,其作为自主安全可信平台的容灾机制,增强了计算机系统的可靠性。
可信恢复更新也是可信计算的一部分,该技术根据由于BIOS(Basic InputOutput System,基本输入输出系统)、操作系统层、应用软件可信度量失败等导致可信信任链被破坏的情况,设计了BIOS更新与恢复、系统引导恢复、系统文件恢复等可信容灾机制,保障以TCM(Trusted Cryptography Module,可信密码模块)为基础的可信计算平台具备恢复与更新能力。但是,在初始化构建可信信任链过程中不存在验证失败等问题,但是在后续装备使用过程中,会出现由于误操作或机器故障导致的可信信任链被破坏的情况,装备可能由于可信信任链无法构建而导致无法启动等问题,无法修复或修复成本过高都是无法接受的,其中修复成本过高包括例如替换硬件、重装系统等。
因此,基于上述情况,需要提出一种能够对信任链进行恢复更新的方案,以解决现有技术中可信信任链被破坏后无法修复或修复成本过高,进而导致设备由于可信信任链无法构建而导致无法启动的问题。
发明内容
一方面,本发明基于上述目的提出了一种可信恢复更新的方法,其中该方法包括以下步骤:
建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和预期度量值初始化信任链;
响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链;
构建信任链对应的merkle树,并基于merkle树判断信任链的完整性;
响应于信任链的完整性被破坏,基于merkle树度量被破坏位置;
针对被破坏位置调用所存储的BIOS原始值和预期度量值恢复信任链。
根据本发明的可信恢复更新的方法的实施例,其中建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和预期度量值初始化信任链进一步包括:
在BOIS执行的每一阶段备份BOIS原始值并建立预期度量值;
将BOIS原始值和预期度量值存储在TCM扩展存储器中。
根据本发明的可信恢复更新的方法的实施例,其中响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链进一步包括:
响应于BIOS的版本发生更新,更新BOIS代码,产生新的BOIS原始值,重新备份BOIS原始值并重新建立预期度量值;
响应于更换可信硬件设备和/或添加新的可信硬件设备,对更换的可信硬件设备和/或添加的可信硬件设备进行度量以产生部件原始值和预期度量值,备份部件原始值并更新预期度量值。
根据本发明的可信恢复更新的方法的实施例,其中构建信任链对应的merkle树,并基于merkle树判断信任链的完整性进一步包括:
将信任链对应的文件拆分为多个数据块;
调用TCM的哈希算法计算多个数据块的哈希值;
将多个数据块的哈希值两两配对以计算上层哈希值直至得到哈希树根值;
基于哈希树根值校验判断信任链的完整性。
根据本发明的可信恢复更新的方法的实施例,其中响应于信任链的完整性被破坏,基于merkle树定位被破坏位置进一步包括:
响应于基于哈希树根值的度量值与预期度量值的校验失败,判断完整性被破坏,进而基于多个数据块的哈希值度量定位数据出现异常的位置。
另一方面,本发明还提出了一种可信恢复更新的装置,其中该装置包括:
至少一个处理器;和
存储器,该存储器存储有处理器可运行的程序指令,该程序指令在被处理器运行时执行以下步骤:
建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和所述预期度量值初始化信任链;
响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链;
构建信任链对应的merkle树,并基于merkle树判断信任链的完整性;
响应于信任链的完整性被破坏,基于merkle树度量被破坏位置;
针对被破坏位置调用所存储的BIOS原始值和预期度量值恢复信任链。
根据本发明的可信恢复更新的装置的实施例,其中建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和预期度量值初始化信任链进一步包括:
在BOIS执行的每一阶段备份BOIS原始值并建立预期度量值;
将BOIS原始值和预期度量值存储在TCM扩展存储器中。
根据本发明的可信恢复更新的装置的实施例,其中响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链进一步包括:
响应于BIOS的版本发生更新,更新BOIS代码,产生新的BOIS原始值,重新备份BOIS原始值并重新建立预期度量值;
响应于更换可信硬件设备和/或添加新的可信硬件设备,对更换的可信硬件设备和/或添加的可信硬件设备进行度量以产生部件原始值和预期度量值,备份部件原始值并更新预期度量值。
根据本发明的可信恢复更新的装置的实施例,其中构建信任链对应的merkle树,并基于merkle树判断信任链的完整性进一步包括:
将信任链对应的文件拆分为多个数据块;
调用TCM的哈希算法计算多个数据块的哈希值;
将多个数据块的哈希值两两配对以计算上层哈希值直至得到哈希树根值;
基于哈希树根值校验判断信任链的完整性。
根据本发明的可信恢复更新的装置的实施例,其中响应于信任链的完整性被破坏,基于merkle树定位被破坏位置进一步包括:
响应于基于哈希树根值的度量值与预期度量值的校验失败,判断完整性被破坏,进而基于多个数据块的哈希值度量定位数据出现异常的位置。
采用上述技术方案,本发明至少具有如下有益效果:在可信计算平台应用场景中,为了实现数据快速恢复,本发明基于TCM设计了系统全信任链构建机制,并基于merkle树提出多层次快速可信恢复的数据更新方法,能够实现可信度量失败情况下的数据快速恢复,较传统方法恢复时间有了明显缩短、降低了恢复成本。
本发明提供了实施例的各方面,不应当用于限制本发明的保护范围。根据在此描述的技术可设想到其它实施方式,这对于本领域普通技术人员来说在研究以下附图和具体实施方式后将是显而易见的,并且这些实施方式意图被包含在本申请的范围内。
下面参考附图更详细地解释和描述了本发明的实施例,但它们不应理解为对于本发明的限制。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构顺序可以被不同地布置。
图1示出了根据本发明的可信恢复更新的方法的实施例的示意性框图;
图2示出了根据本发明的可信恢复更新的方法的信任链更新环节的实施例的示意性框图;
图3示出了根据本发明的可信恢复更新的方法的信任链恢复环节的实施例的示意性框图;
图4示出了根据本发明的可信恢复更新的方法的merkle树构建环节的实施例的示意性框图;
图5示出了根据本发明的可信恢复更新的方法的基于merkle树进行哈希树根校验环节的实施例的示意性框图。
具体实施方式
虽然本发明可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本发明的示例并不意图将本发明限制于所说明的具体实施例。
在下文就本发明的实施例的说明中需要注意的是,其中提到的步骤的编号在没有特殊说明的情况下,仅用于便捷明确地指示该步骤,并不限定所述步骤的顺序。
图1示出了根据本发明的可信恢复更新的方法的实施例的示意性框图。在如图所示的实施例中,该方法至少包括以下步骤:
S1:建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和所述预期度量值初始化信任链;
S2:响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链;
S3:构建信任链对应的merkle树,并基于merkle树判断信任链的完整性;
S4:响应于信任链的完整性被破坏,基于merkle树度量被破坏位置;
S5:针对被破坏位置调用所存储的BIOS原始值和预期度量值恢复信任链。
在本发明的可信恢复更新的方法的一些实施例中,S1建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和预期度量值初始化信任链进一步包括:
S11:在BOIS执行的每一阶段备份BOIS原始值并建立预期度量值;
S12:将BOIS原始值和预期度量值存储在TCM扩展存储器中。
在本发明的可信恢复更新的方法的一些实施例中,S2响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链进一步包括:
S2a:响应于BIOS的版本发生更新,更新BOIS代码,产生新的BOIS原始值,重新备份BOIS原始值并重新建立预期度量值;
S2b:响应于更换可信硬件设备和/或添加新的可信硬件设备,对更换的可信硬件设备和/或添加的可信硬件设备进行度量以产生部件原始值和预期度量值,备份部件原始值并更新预期度量值。
在本发明的可信恢复更新的方法的一些实施例中,S3构建信任链对应的merkle树,并基于merkle树判断信任链的完整性进一步包括:
S31:将信任链对应的文件拆分为多个数据块;
S32:调用TCM的哈希算法计算多个数据块的哈希值;
S33:将多个数据块的哈希值两两配对以计算上层哈希值直至得到哈希树根值;
S34:基于哈希树根值校验判断信任链的完整性。
在本发明的可信恢复更新的方法的一些实施例中,S4响应于信任链的完整性被破坏,基于merkle树定位被破坏位置进一步包括:响应于基于哈希树根值的度量值与预期度量值的校验失败,判断完整性被破坏,进而基于多个数据块的哈希值度量定位数据出现异常的位置。
具体地说,本发明提出的方案主要包括信任链的建立与更新、信任链的判断与恢复等。其中信任链的建立与更新是判断与恢复的基础。
信任链在初始化时建立BIOS原始值存储和预期度量值存储在TCM扩展存储器。关于BIOS原始值和预期度量值存储位置,可选地,BIOS原始值存储在TCM扩展的4M Flash,BIOS预期度量值存储在TCM片上256k Flash存储器内,同样可以达到度量存储和恢复功能。
当管理员用户需要更新BIOS版本或者更换、添加新的可信硬件设备时,调用更新引擎重新产生部件原始值和预期度量值,更新信任链,如图2所示。其中,需要更新信任链时,通过调用更新模块来实现,包括首先判断管理员权限。当确定管理员权限符合要求时,进行初始化信任链、添加新硬件和更新BIOS等工作,其中初始化信任连进一步包括S11在BOIS执行的每一阶段备份BOIS原始值并建立预期度量值,并S12将BOIS原始值和预期度量值存储在TCM扩展存储器中;更新BIOS进一步包括S2a对BOIS代码进行更新,产生新的BOIS原始值,重新备份BOIS原始值并重新建立预期度量值;添加新硬件包括S2b更换的可信硬件设备和/或添加的可信硬件设备进行度量,即对新加入的硬件设备的信息进行度量以产生部件原始值和预期度量值,备份部件原始值并更新预期度量值。
当固件层信任链遭到完整性破坏时,调用恢复引擎恢复进行恢复,如图3所示。
如果是硬件设备部件被替换或设备被破坏则提出完整性验证失败警告,根据权限判断处理,并进入更新程序。
如果是BIOS代码部分遭到破坏,则读取扩展存储器中的原始值,先进性完整性度量,验证通过后恢复被破坏部分的代码,并重新对恢复的代码进行度量进而继续执行信任链传递。
进一步地,为了快读确定信任链被破坏以及快速定位被破坏的位置,本发明采用了基于基于merkle树的信任链快速判断及恢复。
merkle树算法是建立一种二叉树,其叶子节点上的值通常为数据块的哈希值,通常用来进行完整性验证,任何底层数据块的变化,最终都会传导到根哈希,如果根哈希不一致,可以通过merkle树快速定位的导致不一样的数据。可信恢复更新机制关于merkle树的构建如图4所示的实施例所示。具体来说可以分为一下几个步:
S31:将信任链对应的文件拆分为多个数据块,即针对需要提供可信恢复和更新的文件,首先将文件拆分为多个数据块,以图4所示的实施例为例,文件被划分为L1、L2、L3和L4数据块;
S32:调用TCM的哈希算法计算多个数据块的哈希值,即调用TCM的HASH算法计算每个数据块的HASH值;
S33:将多个数据块的哈希值两两配对以计算上层哈希值直至得到哈希树根值,即将数据块计算的哈希值两两配对,进一步地如果是奇数个数,最后一个自己与自己配对,计算上一层哈希,重复以上计算过程直到计算出哈希树根值;
S34:基于哈希树根值校验判断信任链的完整性。
在可信完整性度量过程中,如果对比哈希树根度量值和预期值不同,则需要定位改变后的数据块,包括可信BIOS更新、可信BIOS恢复、操作系统内核恢复、操作系统启动文件恢复、操作系统文件恢复等。
可信恢复或更新过程,如果哈希树根度量值和预期值比对失败,需调用二叉树查找算法,基于哈希树根值的度量值与预期度量值的校验失败,判断完整性被破坏,进而基于多个数据块的哈希值度量定位数据出现异常的位置。以图5所示的实施例为例,定位到变化的数据块为L3。
另一方面,本发明还提出了一种可信恢复更新的装置,其中该装置包括:
至少一个处理器;和
存储器,该存储器存储有处理器可运行的程序指令,该程序指令在被处理器运行时执行以下步骤:
S1:建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和所述预期度量值初始化信任链;
S2:响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链;
S3:构建信任链对应的merkle树,并基于merkle树判断信任链的完整性;
S4:响应于信任链的完整性被破坏,基于merkle树度量被破坏位置;
S5:针对被破坏位置调用所存储的BIOS原始值和预期度量值恢复信任链。
在本发明的可信恢复更新的方法的一些实施例中,S1建立BIOS原始值和预期度量值的存储,并基于BIOS原始值和预期度量值初始化信任链进一步包括:
S11:在BOIS执行的每一阶段备份BOIS原始值并建立预期度量值;
S12:将BOIS原始值和预期度量值存储在TCM扩展存储器中。
在本发明的可信恢复更新的方法的一些实施例中,S2响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新信任链进一步包括:
S2a:响应于BIOS的版本发生更新,更新BOIS代码,产生新的BOIS原始值,重新备份BOIS原始值并重新建立预期度量值;
S2b:响应于更换可信硬件设备和/或添加新的可信硬件设备,对更换的可信硬件设备和/或添加的可信硬件设备进行度量以产生部件原始值和预期度量值,备份部件原始值并更新预期度量值。
在本发明的可信恢复更新的方法的一些实施例中,S3构建信任链对应的merkle树,并基于merkle树判断信任链的完整性进一步包括:
S31:将信任链对应的文件拆分为多个数据块;
S32:调用TCM的哈希算法计算多个数据块的哈希值;
S33:将多个数据块的哈希值两两配对以计算上层哈希值直至得到哈希树根值;
S34:基于哈希树根值校验判断信任链的完整性。
在本发明的可信恢复更新的方法的一些实施例中,S4响应于信任链的完整性被破坏,基于merkle树定位被破坏位置进一步包括:
响应于基于哈希树根值的度量值与预期度量值的校验失败,判断完整性被破坏,进而基于多个数据块的哈希值度量定位数据出现异常的位置。
本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
本文所述的计算机可读存储介质(例如存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
采用上述技术方案,本发明至少具有如下有益效果:在可信计算平台应用场景中,为了实现数据快速恢复,本发明基于TCM设计了系统全信任链构建机制,并基于merkle树提出多层次快速可信恢复的数据更新方法,能够实现可信度量失败情况下的数据快速恢复,较传统方法恢复时间有了明显缩短、降低了恢复成本。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外实施例。此外,本文所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤及顺序做出相应修改而不脱离本发明的保护范围。
在本申请中,反意连接词的使用旨在包括连接词。定或不定冠词的使用并不旨在指示基数。具体而言,对“该”对象或“一”和“一个”对象的引用旨在表示多个这样对象中可能的一个。然而,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。此外,可以使用连接词“或”来传达同时存在的特征,而不是互斥方案。换句话说,连接词“或”应理解为包括“和/或”。术语“包括”是包容性的并且具有与“包含”相同的范围。
上述实施例,特别是任何“优选”实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本文描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改。所有修改旨在被包括在本公开的范围内。

Claims (10)

1.一种可信恢复更新的方法,其特征在于,所述方法包括以下步骤:
建立BIOS原始值和预期度量值的存储,并基于所述BIOS原始值和所述预期度量值初始化信任链;
响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新所述信任链;
构建所述信任链对应的merkle树,并基于所述merkle树判断所述信任链的完整性;
响应于所述信任链的完整性被破坏,基于所述merkle树度量被破坏位置;
针对所述被破坏位置调用所存储的所述BIOS原始值和所述预期度量值恢复所述信任链。
2.根据权利要求1所述的方法,其特征在于,所述建立BIOS原始值和预期度量值的存储,并基于所述BIOS原始值和所述预期度量值初始化信任链进一步包括:
在所述BOIS执行的每一阶段备份所述BOIS原始值并建立所述预期度量值;
将所述BOIS原始值和所述预期度量值存储在TCM扩展存储器中。
3.根据权利要求1所述的方法,其特征在于,所述响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新所述信任链进一步包括:
响应于所述BIOS的版本发生更新,更新所述BOIS代码,产生新的所述BOIS原始值,重新备份所述BOIS原始值并重新建立所述预期度量值;
响应于更换所述可信硬件设备和/或添加新的可信硬件设备,对所述更换的可信硬件设备和/或添加的可信硬件设备进行度量以产生部件原始值和预期度量值,备份所述部件原始值并更新所述预期度量值。
4.根据权利要求1所述的方法,其特征在于,所述构建所述信任链对应的merkle树,并基于所述merkle树判断所述信任链的完整性进一步包括:
将所述信任链对应的文件拆分为多个数据块;
调用TCM的哈希算法计算所述多个数据块的哈希值;
将所述多个数据块的哈希值两两配对以计算上层哈希值直至得到哈希树根值;
基于所述哈希树根值校验判断所述信任链的完整性。
5.根据权利要求4所述的方法,其特征在于,所述响应于所述信任链的完整性被破坏,基于所述merkle树定位被破坏位置进一步包括:
响应于基于所述哈希树根值的度量值与预期度量值的校验失败,判断所述完整性被破坏,进而基于所述多个数据块的哈希值度量定位数据出现异常的位置。
6.一种可信恢复更新的装置,其特征在于,所述装置包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序指令,所述程序指令在被处理器运行时执行以下步骤:
建立BIOS原始值和预期度量值的存储,并基于所述BIOS原始值和所述预期度量值初始化信任链;
响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新所述信任链;
构建所述信任链对应的merkle树,并基于所述merkle树判断所述信任链的完整性;
响应于所述信任链的完整性被破坏,基于所述merkle树度量被破坏位置;
针对所述被破坏位置调用所存储的所述BIOS原始值和所述预期度量值恢复所述信任链。
7.根据权利要求6所述的装置,其特征在于,所述建立BIOS原始值和预期度量值的存储,并基于所述BIOS原始值和所述预期度量值初始化信任链进一步包括:
在所述BOIS执行的每一阶段备份所述BOIS原始值并建立所述预期度量值;
将所述BOIS原始值和所述预期度量值存储在TCM扩展存储器中。
8.根据权利要求6所述的装置,其特征在于,所述响应于BIOS和/或可信硬件设备发生变化,调用更新引擎产生新的BIOS原始值和/或部件原始值、以及预期度量值并更新所述信任链进一步包括:
响应于所述BIOS的版本发生更新,更新所述BOIS代码,产生新的所述BOIS原始值,重新备份所述BOIS原始值并重新建立所述预期度量值;
响应于更换所述可信硬件设备和/或添加新的可信硬件设备,对所述更换的可信硬件设备和/或添加的可信硬件设备进行度量以产生部件原始值和预期度量值,备份所述部件原始值并更新所述预期度量值。
9.根据权利要求6所述的装置,其特征在于,所述构建所述信任链对应的merkle树,并基于所述merkle树判断所述信任链的完整性进一步包括:
将所述信任链对应的文件拆分为多个数据块;
调用TCM的哈希算法计算所述多个数据块的哈希值;
将所述多个数据块的哈希值两两配对以计算上层哈希值直至得到哈希树根值;
基于所述哈希树根值校验判断所述信任链的完整性。
10.根据权利要求9所述的装置,其特征在于,所述响应于所述信任链的完整性被破坏,基于所述merkle树定位被破坏位置进一步包括:
响应于基于所述哈希树根值的度量值与预期度量值的校验失败,判断所述完整性被破坏,进而基于所述多个数据块的哈希值度量定位数据出现异常的位置。
CN202010094130.1A 2020-02-15 2020-02-15 一种可信恢复更新的方法及装置 Active CN111273952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010094130.1A CN111273952B (zh) 2020-02-15 2020-02-15 一种可信恢复更新的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010094130.1A CN111273952B (zh) 2020-02-15 2020-02-15 一种可信恢复更新的方法及装置

Publications (2)

Publication Number Publication Date
CN111273952A true CN111273952A (zh) 2020-06-12
CN111273952B CN111273952B (zh) 2023-08-11

Family

ID=70999575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010094130.1A Active CN111273952B (zh) 2020-02-15 2020-02-15 一种可信恢复更新的方法及装置

Country Status (1)

Country Link
CN (1) CN111273952B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214803A (zh) * 2020-10-21 2021-01-12 北京八分量信息科技有限公司 在可信计算中查询数据的方法、装置及相关产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850792A (zh) * 2015-05-20 2015-08-19 浪潮电子信息产业股份有限公司 一种服务器信任链的构建方法和装置
CN107423626A (zh) * 2017-07-19 2017-12-01 南京百敖软件有限公司 一种基于连续Hash值的BIOS更新信任链的方法
CN109766688A (zh) * 2018-12-06 2019-05-17 中国科学院软件研究所 一种基于Merkle树的Linux程序运行时验证与管控方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850792A (zh) * 2015-05-20 2015-08-19 浪潮电子信息产业股份有限公司 一种服务器信任链的构建方法和装置
CN107423626A (zh) * 2017-07-19 2017-12-01 南京百敖软件有限公司 一种基于连续Hash值的BIOS更新信任链的方法
CN109766688A (zh) * 2018-12-06 2019-05-17 中国科学院软件研究所 一种基于Merkle树的Linux程序运行时验证与管控方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214803A (zh) * 2020-10-21 2021-01-12 北京八分量信息科技有限公司 在可信计算中查询数据的方法、装置及相关产品
CN112214803B (zh) * 2020-10-21 2023-12-01 北京八分量信息科技有限公司 在可信计算中查询数据的方法、装置及相关产品

Also Published As

Publication number Publication date
CN111273952B (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
WO2021042920A1 (zh) 区块链的数据索引方法、装置、计算机设备和存储介质
CN106775610B (zh) 一种电子设备启动方法及一种电子设备
US11163886B2 (en) Information handling system firmware bit error detection and correction
CN111078662B (zh) 一种区块链数据存储方法与装置
CN110413439B (zh) 用于检测数据的不完整写入的方法、设备和计算机可读介质
CN112035472B (zh) 数据处理方法、装置、计算机设备和存储介质
TWI669624B (zh) 網頁內容自我保護方法以及伺服器
CN111209343A (zh) 节点数据同步方法、装置、设备以及存储介质
CN109255232B (zh) 一种软件加载方法以及软件加载装置
CN114780298B (zh) 文件数据处理方法、装置、计算机终端及存储介质
US8762336B2 (en) Geo-verification and repair
CN111273952B (zh) 一种可信恢复更新的方法及装置
US6098194A (en) Detecting memory problems in computers
US7415654B2 (en) Data integrity checking
CN113360914A (zh) 一种bios更新的方法、系统、设备及介质
CN108196975B (zh) 基于多校验和的数据验证方法、装置及存储介质
WO2022058567A1 (en) Method of implementing a physical unclonable function
CN112579591B (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
US11263313B2 (en) Securing execution of a program
CN113448760B (zh) 一种硬盘异常状态的恢复方法、系统、设备以及介质
CN109672717B (zh) 维持系统一致性方法、设备、存储介质及装置
US11599651B2 (en) Data protection
CN111079192B (zh) 网页内容自我保护方法以及服务器
CN113448919A (zh) 用于建立和验证索引文件的方法、设备和计算机程序产品
CN111522685B (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
CB02 Change of applicant information

Address after: 250104 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province

Applicant after: Chaoyue Technology Co.,Ltd.

Address before: 250104 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province

Applicant before: SHANDONG CHAOYUE DATA CONTROL ELECTRONICS Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant