CN112306754B - 基于可信的uefi固件恢复方法、装置、介质和设备 - Google Patents

基于可信的uefi固件恢复方法、装置、介质和设备 Download PDF

Info

Publication number
CN112306754B
CN112306754B CN202011221194.XA CN202011221194A CN112306754B CN 112306754 B CN112306754 B CN 112306754B CN 202011221194 A CN202011221194 A CN 202011221194A CN 112306754 B CN112306754 B CN 112306754B
Authority
CN
China
Prior art keywords
firmware
trusted
uefi
memory
uefi firmware
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
CN202011221194.XA
Other languages
English (en)
Other versions
CN112306754A (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
China Great Wall Technology Group Co ltd
Chinasoft Information System Engineering Co ltd
Clp Hainan United Innovation Research Institute Co ltd
Tianjin Feiteng Information Technology Co ltd
CHINA ELECTRONIC INFORMATION INDUSTRY GROUP Co
Montage Technology Shanghai Co Ltd
Maipu Communication Technology Co Ltd
Kirin Software Co Ltd
Original Assignee
BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD
China Great Wall Technology Group Co ltd
Chinasoft Information System Engineering Co ltd
Clp Hainan United Innovation Research Institute Co ltd
Tianjin Feiteng Information Technology Co ltd
CHINA ELECTRONIC INFORMATION INDUSTRY GROUP Co
Montage Technology Shanghai Co Ltd
Maipu Communication Technology Co Ltd
Kirin Software 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, China Great Wall Technology Group Co ltd, Chinasoft Information System Engineering Co ltd, Clp Hainan United Innovation Research Institute Co ltd, Tianjin Feiteng Information Technology Co ltd, CHINA ELECTRONIC INFORMATION INDUSTRY GROUP Co, Montage Technology Shanghai Co Ltd, Maipu Communication Technology Co Ltd, Kirin Software Co Ltd filed Critical BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD
Priority to CN202011221194.XA priority Critical patent/CN112306754B/zh
Publication of CN112306754A publication Critical patent/CN112306754A/zh
Application granted granted Critical
Publication of CN112306754B publication Critical patent/CN112306754B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1441Resetting or repowering
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本公开实施例提供了一种基于可信的UEFI固件恢复方法、装置、介质和设备,属于可信计算机技术领域。该方法包括:可信固件从固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区;可信固件对所述UEFI固件压缩数据解压缩获得解压后的UEFI固件;可信固件将所述解压后的UEFI固件复制到通用计算内存区;可信固件对复制到通用计算内存区的UEFI固件进行度量;度量通过后,可信固件使能通用计算核启动所述通用计算内存区的UEFI固件以完成UEFI固件恢复。通过本公开实施例提供的技术方案,通过可信的环境,能够在UEFI固件损坏的情况下,提高UEFI固件恢复的效率与安全性。

Description

基于可信的UEFI固件恢复方法、装置、介质和设备
技术领域
本公开涉及可信计算机技术领域,具体而言,涉及一种基于可信的UEFI固件恢复方法、恢复装置、计算机存储介质和电子设备。
背景技术
随着UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)技术的不断成熟,传统的计算机BIOS(Basic Input Output System,基本输入输出系统)技术正在逐步被UEFI技术取而代之,在可信计算机技术领域,使用UEFI技术安装操作系统正是趋势所在。UEFI技术虽然具有互操作性强、启动时间短、兼容性强等优点,但是仍会因为受到攻击等出现损坏问题。在相关领域,可以通过使用恢复UEFI固件的技术解决以上问题。相关技术中,恢复UEFI固件的技术需要设置标志位,备份有单独的恢复镜像程序(此恢复镜像程序可以从其他存储器读取备份的UEFI固件),以参与UEFI固件恢复的过程,并且在恢复完成后,还需要重启计算机系统。其中,恢复镜像程序的备份存储空间会占据有限的系统空间,而重启计算机系统会减慢UEFI固件恢复之后的开机速度,导致恢复UEFI固件的技术效率较低。
因此,需要一种基于可信的UEFI固件恢复方法、装置、介质和设备。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种基于可信的UEFI固件恢复方法、装置、介质和设备,解决UEFI固件受到攻击或者损坏时,恢复UEFI固件安全性差和效率低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提供了一种基于可信的UEFI固件恢复方法,所述方法包括:可信固件从固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区;可信固件对所述UEFI固件压缩数据解压缩获得解压后的UEFI固件;可信固件将所述解压后的UEFI固件复制到通用计算内存区;可信固件对复制到通用计算内存区的UEFI固件进行度量;度量通过后,可信固件使能通用计算核启动所述通用计算内存区的UEFI固件以完成UEFI固件恢复。
在本公开的一些实施例中,可信固件将所述解压后的UEFI固件存储到可信计算内存区;可信固件将可信计算内存区中的UEFI固件写入固件存储器的通用可读写区中的UEFI固件部分。
在本公开的一些实施例中,可信固件对可信计算内存区的UEFI固件压缩数据进行数据完整性验证。
在本公开的一些实施例中,可信根固件依据多核处理器特性划分通用计算环境和可信计算环境;可信根固件从固件存储器的可信只读区加载可信固件至所述可信计算环境;所述可信固件从所述固件存储器的通用可读写区加载UEFI固件至通用计算内存区;所述可信固件度量所述通用计算内存区中的所述UEFI固件;如果度量通过,则所述可信固件使能通用计算核启动所述UEFI固件至完成开机。
在本公开的一些实施例中,基于前述方案,如果度量不通过,则所述可信固件执行UEFI固件恢复流程。
在本公开的一些实施例中,基于前述方案,当满足UEFI固件的恢复条件时,启动可信固件并且使能可信固件从固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区。
本公开实施例提供了一种基于可信的UEFI固件恢复装置,所述装置包括:多核处理器,包括可信计算核和通用计算核;固件存储器,包括可信只读区和通用可读写存储区,其中,所述可信只读区存储有可信根固件、可信固件和UEFI固件压缩数据,通用可读写存储区存储有UEFI固件和UEFI数据;内存,包括可信计算内存区和通用计算内存区。
本公开实施例还提供了一种基于可信的UEFI固件恢复装置,所述装置包括:处理器,包括通用计算核;可信计算部件;硬件切换装置;固件存储器,包括可信只读区和通用可读写存储区,其中,所述可信只读区存储有可信根固件、可信固件和UEFI固件压缩数据,通用可读写存储区存储有UEFI固件和UEFI数据;内存,包括可信计算内存区和通用计算内存区;其中,所述处理器通过硬件切换装置与所述固件存储器相连。
本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一实施例中所述的基于可信的UEFI固件恢复方法。
本公开实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述至少一个处理器实现如上述任一实施例中所述于可信的UEFI固件恢复方法。
在本公开中的一些实施例所提供的技术方案中,首先通过可信固件从固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区;然后使用可信固件对所述UEFI固件压缩数据解压缩并获得解压后的UEFI固件;利用可信固件对复制到通用计算内存区的UEFI固件进行度量;当度量通过后,使用可信固件使能通用计算核启动所述通用计算内存区的UEFI固件以完成UEFI固件恢复,提升了UEFI固件恢复的安全性和效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开一个实施例中基于可信的UEFI固件恢复装置的示意图。
图2示出本公开另一个实施例中基于可信的UEFI固件恢复装置的示意图。
图3示出本公开一个实施例的基于可信的UEFI固件恢复方法的流程图。
图4示出本公开另一个实施例的基于可信的UEFI固件恢复方法的流程图。
图5示出本公开一个实施例的基于可信的UEFI固件正常启动方法的流程图。
图6示出本公开一个实施例的基于可信的上电开机及UEFI固件恢复的流程示意图。
图7示出本公开另一个实施例的基于可信的上电开机及UEFI固件恢复的流程示意图。
图8示出本公开一个实施例的基于可信的UEFI固件恢复的流程示意图。
图9示意性示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面结合附图对本公开示例实施方式进行详细说明。以下介绍本公开的一个实施例的内置可信的UEFI固件恢复方法的硬件连接及各部件的示意图,可以用于执行本公开的一个实施例的内置可信的UEFI固件恢复方法。
图1示出本公开一个实施例的基于可信的UEFI固件恢复装置的示意图。在该实施例中,提供了一种基于内置可信的UEFI固件恢复装置。
参照图1,基于内置可信的UEFI固件恢复装置包括内置可信的多核处理器110(以下简称为多核处理器110)、固件存储器120以及内存130。多核处理器110包括可信计算核112和通用计算核111,通用计算核111可以包括一个或多个计算核。固件存储器120包括可信只读区121和通用可读写存储区122。可信只读区121存储有可信根固件123、可信固件124以及包括保存UEFI固件压缩数据的UEFI固件压缩存储区125,通用可读写存储区122存储有UEFI固件126和UEFI数据127。内存130包括可信计算内存区131和通用计算内存区132。
在一个实施例中,多核处理器110通过存储器总线141与固件存储器120进行双向连通,并且,多核处理器110通过内存总线142与内存130进行双向连通。
图2示出本公开另一个实施例中基于可信的UEFI固件恢复装置的示意图。在该实施例中,提供了一种基于外置可信的UEFI固件恢复装置。
参照图2所示,基于外置可信的UEFI固件恢复装置包括外置可信的处理器210(以下简称为处理器210)、固件存储器120、外置可信计算部件201、硬件切换装置202以及内存130。处理器210,包括通用计算核211;固件存储器120,包括可信只读区121和通用可读写存储区122,需要对上述内容说明的是,可信只读区121存储有可信根固件123、可信固件124以及保存UEFI固件压缩数据的UEFI固件压缩存储区125,通用可读写存储区122存储有UEFI固件126和UEFI数据127;内存130,包括可信计算内存区131和通用计算内存区132。
在一个实施例中,固件存储器120通过硬件切换装置202与处理器211相连,固件存储器120通过硬件切换装置202与外置可信计算部件201相连。
需要对上述内容说明的是,固件存储器120选通处理器211和外置可信计算部件201的控制权在外置可信计算部件201的计算模块端(未示出),并且选通时只有处理器211或者只有外置可信计算部件201与固件存储器120连通。
在一个实施例中,处理器211通过内存总线142与内存130进行双向连通。
本公开实施例中,外置可信计算部件201能控制通用计算核211,并且能够完全访问通用计算内存区132。
在本公开的一个实施例中提出了一种基于可信的UEFI固件恢复方法,以在UEFI固件损坏的情况下,提高UEFI固件恢复的效率与安全性。下面将结合图3对该基于可信的UEFI固件恢复方法进行说明。
图3示出本公开一个实施例的基于可信的UEFI固件恢复方法的流程图。如图3所示,该方法可以包括但不限于以下步骤:
在步骤S310中,可信固件从固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区。
在步骤S320中,可信固件对所述UEFI固件压缩数据解压缩获得解压后的UEFI固件。
在一个实施例中,可信固件对可信计算内存区的UEFI固件压缩数据解压缩,能够获得解压后的UEFI固件,且解压后的UEFI固件仍保留在可信计算内存区。
在步骤S330中,可信固件将解压后的UEFI固件复制到通用计算内存区。
在步骤S340中,可信固件对复制到通用计算内存区的UEFI固件进行度量。
在步骤S350中,度量通过后,可信固件使能通用计算核启动通用计算内存区的UEFI固件以完成UEFI固件恢复。
在内置可信环境(公钥加密方案中)下,内置可信的可信环境具有控制并共享通用计算环境的特点。本公开提出的技术方案不需要UEFI恢复镜像程序,并且在恢复后不需重启,可以解决基于内置可信的UEFI固件受到攻击或者损坏时,如何在不重启系统的前提下,自动恢复UEFI固件的问题,进一步地可以优化现有的恢复UEFI固件的方案中遇到的用户体验问题。
图4示出本公开另一个实施例的基于可信的UEFI固件恢复方法的流程图。参照图4所示,在该方法中,步骤S310、步骤S320、步骤S340以及步骤S350可以参照图3中的说明,步骤S410至S430具体说明如下:
在步骤S410中,可信固件对可信计算内存区的UEFI固件压缩数据进行数据完整性验证。
在步骤S420中,可信固件将解压缩后的UEFI固件存储到可信计算内存区。
在一个实施例中,可信固件对可信计算区的UEFI固件压缩数据完成数据完整性验证,当数据完整性验证通过,可信固件对UEFI固件压缩数据进行解压缩,可以获得解压后的UEFI固件,接着可信固件将解压缩后的UEFI固件存储到可信计算内存区。
在步骤S430中,可信固件将可信计算内存区中的UEFI固件写入固件存储器的通用可读写区中的UEFI固件部分。
接下来结合图5对基于可信的UEFI固件正常启动方法进行说明。图5示出本公开一个实施例的基于可信的UEFI固件正常启动方法的流程图。参照图5所示,该方法可以包括但不限于以下步骤:
在步骤S510中,可信根固件依据多核处理器特性划分通用计算环境和可信计算环境。
在步骤S520中,可信根固件从固件存储器的可信只读区加载可信固件至所述可信计算环境。
在步骤S530中,所述可信固件从所述固件存储器的通用可读写区加载UEFI固件至通用计算内存区。
在步骤S540中,所述可信固件度量所述通用计算内存区中的所述UEFI固件。
在步骤S550中,如果度量通过,则所述可信固件使能通用计算核启动所述UEFI固件至完成开机。
在步骤S560中,如果度量不通过,则所述可信固件执行UEFI固件恢复流程。
在一个实施例中,如果度量不通过,表示UEFI固件不可信(不安全),则可信固件将执行UEFI固件恢复流程。UEFI固件恢复流程为:首先从固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区;接着对UEFI固件压缩数据解压缩获得解压后的UEFI固件,将解压后的UEFI固件复制到通用计算内存区;对复制到通用计算内存区的UEFI固件进行度量;当度量通过,表示UEFI固件可信(安全),可信固件使能通用计算核启动通用计算内存区的UEFI固件,从而完成UEFI固件恢复。
本公开提出的技术方案能够在保证UEFI固件可信时,完成系统中UEFI固件的正常启动。
以下介绍本公开的一个实施例的上电开机及UEFI固件恢复的工作流程。对于本公开一个实施例的上电开机及UEFI固件恢复的流程中未披露的细节,请参照本公开上述的可信的UEFI固件恢复方法的实施例。
图6示出本公开一个实施例的基于可信的上电开机及UEFI固件恢复的流程示意图。参照图6所示,本公开实施例中,提出了一种内置可信的上电开机及UEFI固件恢复方法。图6所示的流程可以包括但不限于以下步骤:
在步骤S621中,为系统上电。
在步骤S622中,可信根固件划分可信计算环境和通用计算环境。
在一个实施例中,UEFI固件加载过程中,首先为系统上电,系统中CPU初始化,自行运行固件加载程序(未示出),调用固件存储器中可信只读区的可信根固件。随后可信根固件启动划分可信计算资源和通用计算资源。
在一个实施例中,可信计算资源对应于图6中的可信计算环境620。通用计算资源对应于图6中的通用计算环境640。
在一个实施例中,通用计算环境640中的固件启动开机的流程不仅限于UEFI固件,还适用于通用计算环境640一般常见的固件,例如U-BOOT(Universal Boot Loader,通用引导加载)固件。
在步骤S623中,可信固件启动。
在步骤S624中,加载UEFI固件至通用计算内存区。
在步骤S625中,度量通用计算内存区中的UEFI固件。
在一个实施例中,参照图6所示,当度量UEFI固件结果为可信时,说明UEFI固件度量通过。接下来可信固件通过使能通用计算核启动UEFI固件至完成开机,具体内容可以参照步骤S641至步骤S642,步骤S641至步骤S642将于下面进行说明。
在步骤S626至步骤S631中,参照图6所示,当度量UEFI固件结果为不可信时,说明UEFI固件度量不通过。接下来执行UEFI固件恢复流程,从UEFI固件压缩存储区读取压缩数据至可信计算内存区,对可信计算内存区的压缩数据的完整性进行验证,当压缩数据的完整性通过验证,解压缩UEFI固件至可信计算内存区。再次进行度量并使能通用计算核启动UEFI固件,当UEFI固件度量通过,可信计算核将解压度量成功的UEFI固件写回UEFI固件存储区,最后UEFI固件完成恢复。
在步骤S641中,UEFI固件启动开机。
在步骤S642中,完成开机。
在一个实施例中,参照图6所示,内置可信是指使用内置可信的多核处理器物理隔离特性,隔离出通用计算环境与可信计算环境,两个环境的下的计算核、存储部件及外设处在同一构架内。
在一个实施例中,可信固件启动之后,使能通用计算核执行UEFI固件对UEFI固件进行度量,目的是为了确认UEFI固件恢复时的安全性。
在一个实施例中,可信计算环境完全能控制通用计算环境里的资源,例如使能通用计算核与读写通用计算内存区。
在一个实施例中,可信计算环境中的可信固件,能完全访问固件存储器。
在一个实施例中,具备内置可信的多核处理器具有内置的计算能力。
图7示出本公开另一个实施例的基于可信的上电开机及UEFI固件恢复的流程示意图。本公开实施例中,提出了一种外置可信的上电开机及UEFI固件恢复方法。参照图7所示,在通用计算环境620中,UEFI固件启动开机并完成系统的开机,具体步骤可以参照图6中的步骤S641至步骤S642。在可信计算环境640中,完成UEFI固件的恢复,具体步骤可以参照图6中的步骤S621至步骤S631。在图7中,还包括以下步骤:
在步骤S710中,硬件切换装置选通处理器。
在一个实施例中,执行UEFI固件恢复流程,可信固件从UEFI固件压缩数据器中读取压缩数据至内存的可信计算内存区,对可信计算内存区的压缩数据的完整性进行验证,当压缩数据的完整性通过验证,解压缩UEFI固件至可信计算内存区,同时复制一份至通用计算内存区。此时通过硬件切换装置选通处理器从而使能处理器的通用计算核启动UEFI固件。
在步骤S720中,硬件切换装置选通外置可信计算部件。
在一个实施例中,当UEFI固件度量通过,可以通过硬件切换装置选通外置可信计算部件从而将解压度量成功的UEFI固件写回UEFI固件存储区。
在一个实施例中,参照图7所示,外置可信是指使用外置可信的处理器物理隔离特性,隔离出通用计算环境与可信计算环境,通用计算环境下的计算核和外置可信计算部件处在不同构架内,而存储部件处在同一构架内。
在一个实施例中,可信固件启动之后,使能通用计算核执行UEFI固件对UEFI固件进行度量,目的是为了确认UEFI固件的安全性。
在一个实施例中,可信计算环境完全能控制通用计算环境里的资源,例如使能通用计算核与读写通用计算内存区。
在一个实施例中,可信计算环境中的可信固件,能完全访问固件存储器。
在一个实施例中,可信计算环境中的外置可信计算部件具有外置的计算能力。
图8示出本公开一个实施例的基于可信的UEFI固件恢复的流程示意图。参照图8所示,本公开实施例中,以内置可信的UEFI固件恢复方法为例对UEFI固件恢复的流程进行说明。图8所示的流程可以包括但不限于以下步骤:
在步骤S801中,UEFI固件在运行时损坏。
在一个实施例中,系统启动过程中,若UEFI固件损坏,导致UEFI固件不可信,此时满足UEFI固件的恢复条件。
在步骤S802中,开始恢复。
在步骤S803中,从UEFI固件压缩存储器中读取压缩数据至可信计算内存区。
在步骤S804中,压缩数据完整性验证。
在步骤S805中,解压至可信计算内存区并复制一份至通用计算内存区。
在一个实施例中,当压缩数据的完整性通过验证,解压缩UEFI固件至可信计算内存区,接着可信固件加载UEFI固件至通用计算内存区。
在步骤S806中,度量通用计算内存区中的UEFI固件。
在步骤S807中,可信固件将可信计算内存区中的UEFI固件写回UEFI固件存储区。
在一个实施例中,当度量通过时,可信固件通过可信计算核将可信计算内存区内的UEFI固件写回UEFI固件存储区。
在步骤S808中,UEFI固件启动。
在步骤S809中,完成恢复。
在一个实施例中,在完成UEFI固件恢复之后,系统不再重复UEFI固件恢复之前的开机程序,即不再进行本技术方案中所指的重启系统的过程,继续进行开机。
本公开实施例提出的技术方案,可以在不重启系统的前提下,自动恢复UEFI固件,优化了现有的恢复UEFI固件的方案中遇到的用户体验的问题。
图9示意性示出了适于用来实现本公开实施例的电子设备的结构示意图。
需要说明的是,图9示出的电子设备900仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由权利要求来限制。

Claims (10)

1.一种基于可信的UEFI固件恢复方法,其特征在于,包括:
可信固件从固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区;
可信固件对所述UEFI固件压缩数据解压缩获得解压后的UEFI固件;
可信固件将所述解压后的UEFI固件复制到通用计算内存区;
可信固件对复制到通用计算内存区的UEFI固件进行度量;
度量通过后,可信固件使能通用计算核启动所述通用计算内存区的UEFI固件以完成UEFI固件恢复。
2.根据权利要求1所述的UEFI固件恢复方法,其特征在于,还包括:
可信固件将所述解压后的UEFI固件存储到可信计算内存区;
可信固件将可信计算内存区中的UEFI固件写入固件存储器的通用可读写区中的UEFI固件部分。
3.根据权利要求1或2所述的UEFI固件恢复方法,其特征在于,还包括:
可信固件对可信计算内存区的UEFI固件压缩数据进行数据完整性验证。
4.根据权利要求1或2所述的UEFI固件恢复方法,其特征在于,还包括:
可信根固件依据多核处理器特性划分通用计算环境和可信计算环境;
可信根固件从固件存储器的可信只读区加载可信固件至所述可信计算环境;
所述可信固件从所述固件存储器的通用可读写区加载UEFI固件至通用计算内存区;
所述可信固件度量所述通用计算内存区中的所述UEFI固件;
如果度量通过,则所述可信固件使能通用计算核启动所述UEFI固件至完成开机。
5.根据权利要求4所述的UEFI固件恢复方法,其特征在于,如果度量不通过,则所述可信固件执行UEFI固件恢复流程。
6.根据权利要求1所述的方法,其特征在于,所述可信固件从所述固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区,包括:
当满足UEFI固件的恢复条件时,启动可信固件并且使能可信固件从固件存储器的可信只读区读取UEFI固件压缩数据至可信计算内存区。
7.一种基于可信的UEFI固件恢复装置,应用如权利要求1-6中任意一项所述的UEFI固件恢复方法,包括:
多核处理器,包括可信计算核和通用计算核;
固件存储器,包括可信只读区和通用可读写存储区,其中,所述可信只读区存储有可信根固件、可信固件和UEFI固件压缩数据,通用可读写存储区存储有UEFI固件和UEFI数据;
内存,包括可信计算内存区和通用计算内存区。
8.一种基于可信的UEFI固件恢复装置,应用如权利要求1-6中任意一项所述的UEFI固件恢复方法,包括:
处理器,包括通用计算核;
可信计算部件;
硬件切换装置;
固件存储器,包括可信只读区和通用可读写存储区,其中,所述可信只读区存储有可信根固件、可信固件和UEFI固件压缩数据,通用可读写存储区存储有UEFI固件和UEFI数据;
内存,包括可信计算内存区和通用计算内存区;
其中,所述可信计算部件通过所述硬件切换装置与所述固件存储器相连;所述处理器通过所述硬件切换装置与所述固件存储器相连。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
10.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
CN202011221194.XA 2020-11-05 2020-11-05 基于可信的uefi固件恢复方法、装置、介质和设备 Active CN112306754B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011221194.XA CN112306754B (zh) 2020-11-05 2020-11-05 基于可信的uefi固件恢复方法、装置、介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011221194.XA CN112306754B (zh) 2020-11-05 2020-11-05 基于可信的uefi固件恢复方法、装置、介质和设备

Publications (2)

Publication Number Publication Date
CN112306754A CN112306754A (zh) 2021-02-02
CN112306754B true CN112306754B (zh) 2024-05-24

Family

ID=74326170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011221194.XA Active CN112306754B (zh) 2020-11-05 2020-11-05 基于可信的uefi固件恢复方法、装置、介质和设备

Country Status (1)

Country Link
CN (1) CN112306754B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113987599B (zh) * 2021-12-28 2022-03-22 苏州浪潮智能科技有限公司 一种固件可信根的实现方法、装置、设备和可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789157B1 (en) * 2000-06-30 2004-09-07 Intel Corporation Plug-in equipped updateable firmware
CN101587451A (zh) * 2008-05-20 2009-11-25 研祥智能科技股份有限公司 一种基于efi固件的数据备份和恢复方法
CN102279914A (zh) * 2011-07-13 2011-12-14 中国人民解放军海军计算技术研究所 一种uefi可信支撑系统及其控制方法
CN103377063A (zh) * 2012-04-28 2013-10-30 国际商业机器公司 从遗留操作系统环境恢复到uefi预启动环境的方法和系统
JP2015222474A (ja) * 2014-05-22 2015-12-10 レノボ・シンガポール・プライベート・リミテッド 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
CN107506663A (zh) * 2017-08-02 2017-12-22 中电科技(北京)有限公司 基于可信bmc的服务器安全启动方法
CN110321715A (zh) * 2019-07-08 2019-10-11 北京可信华泰信息技术有限公司 可信度量方法、装置及处理器
CN111563261A (zh) * 2020-05-15 2020-08-21 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的隐私保护多方计算方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789157B1 (en) * 2000-06-30 2004-09-07 Intel Corporation Plug-in equipped updateable firmware
CN101587451A (zh) * 2008-05-20 2009-11-25 研祥智能科技股份有限公司 一种基于efi固件的数据备份和恢复方法
CN102279914A (zh) * 2011-07-13 2011-12-14 中国人民解放军海军计算技术研究所 一种uefi可信支撑系统及其控制方法
CN103377063A (zh) * 2012-04-28 2013-10-30 国际商业机器公司 从遗留操作系统环境恢复到uefi预启动环境的方法和系统
JP2015222474A (ja) * 2014-05-22 2015-12-10 レノボ・シンガポール・プライベート・リミテッド 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
CN107506663A (zh) * 2017-08-02 2017-12-22 中电科技(北京)有限公司 基于可信bmc的服务器安全启动方法
CN110321715A (zh) * 2019-07-08 2019-10-11 北京可信华泰信息技术有限公司 可信度量方法、装置及处理器
CN111563261A (zh) * 2020-05-15 2020-08-21 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的隐私保护多方计算方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Design of Trusted BIOS in UEFI Base on USBKEY;Yin Hu 等;《2011 International Conference on Intelligence Science and Information Engineering》;第164-166页 *
基于UEFI的固件级硬盘安全保护机制;孙亮 等;《武汉大学学报(理学版)》;第223-228页 *

Also Published As

Publication number Publication date
CN112306754A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
US11023589B2 (en) Secure booting of virtualization managers
EP3479224B1 (en) Memory allocation techniques at partially-offloaded virtualization managers
US10853179B2 (en) Information handling system and method for restoring firmware in one or more regions of a flash memory device
US8863109B2 (en) Updating secure pre-boot firmware in a computing system in real-time
US11429414B2 (en) Virtual machine management using partially offloaded virtualization managers
US10216936B2 (en) Method of preventing computer malfunction, computer program, and computer
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
US11169819B2 (en) Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS
US20160314002A1 (en) Caching unified extensible firmware interface (uefi) and/or other firmware instructions in a non-volatile memory of an information handling system (ihs)
US8281119B1 (en) Separate normal firmware and developer firmware
CN112306754B (zh) 基于可信的uefi固件恢复方法、装置、介质和设备
US11429723B2 (en) Multi-domain boot and runtime status code drift detection
CN111966470B (zh) 虚拟机监控器的加载方法、装置和电子设备
CN111198832B (zh) 一种处理方法和电子设备
US9778936B1 (en) Booting a computing system into a manufacturing mode
WO2022199622A1 (zh) 一种电子设备的启动程序的运行方法和电子设备
CN103677875A (zh) 一种电子设备启动的方法、权限控制方法和电子设备
CN114721871A (zh) 数据备份方法、装置及电子设备
CN118034722A (zh) 操作系统安装方法、设备、存储介质及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant