CN115061735A - 一种处理方法和装置 - Google Patents

一种处理方法和装置 Download PDF

Info

Publication number
CN115061735A
CN115061735A CN202210542112.4A CN202210542112A CN115061735A CN 115061735 A CN115061735 A CN 115061735A CN 202210542112 A CN202210542112 A CN 202210542112A CN 115061735 A CN115061735 A CN 115061735A
Authority
CN
China
Prior art keywords
firmware
component
state information
boot
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210542112.4A
Other languages
English (en)
Inventor
高晔
郭晓勃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202210542112.4A priority Critical patent/CN115061735A/zh
Publication of CN115061735A publication Critical patent/CN115061735A/zh
Pending legal-status Critical Current

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
    • 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

Landscapes

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

Abstract

本申请公开了一种处理方法,包括:在电子设备的引导系统完成引导系统固件验证后,获得所述电子设备的第一部件的固件状态信息,所述第一部件包括不同于引导系统的至少一个部件;对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果。

Description

一种处理方法和装置
技术领域
本申请涉及计算机技术领域,涉及但不限于一种处理方法和装置。
背景技术
相关技术中,有很多电子设备的组成部件上有固件,但是电子设备的引导系统或电子设备的操作系统无法获知其他部件的固件状态信息,例如其他部件的固件是否被攻击,固件在被攻击后是否自行完成了恢复等。
发明内容
有鉴于此,本申请实施例提供一种处理方法、装置、设备和存储介质。
第一方面,本申请实施例提供一种处理方法,包括:在电子设备的引导系统完成引导系统固件验证后,获得所述电子设备的第一部件的固件状态信息,所述第一部件包括不同于引导系统的至少一个部件;对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果。
第二方面,本申请实施例提供一种处理装置,包括:获取模块,用于在电子设备的引导系统完成引导系统固件验证后,获得所述电子设备的第一部件的固件状态信息,所述第一部件包括不同于引导系统的至少一个部件;处理模块,用于对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述处理方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述处理方法中的步骤。
本申请实施例中,引导系统通过获得第一部件的固件状态信息,对固件状态信息进行管理处理,使得电子设备响应对应的管理处理结果,从而不用增加额外的成本,便可使引导系统或电子设备的操作系统获知其他部件的固件状态信息,以确定固件是否被攻击,提高了部件的固件状态管理的效率和便捷性。
附图说明
图1为本申请实施例一种处理方法的流程示意图;
图2为本申请实施例另一种处理方法的流程示意图;
图3为本申请实施例又一种处理方法的流程示意图;
图4为本申请实施例再一种处理方法的流程示意图;
图5为本申请实施例还一种处理方法的流程示意图;
图6为本申请实施例还一种处理方法的流程示意图;
图7为本申请实施例还一种处理方法的流程示意图;
图8为本申请实施例一种部件的信任链条的示意图;
图9为本申请实施例一种BIOS和驱动程序相互验证方法的流程示意图;
图10为本申请实施例一种处理装置的组成结构示意图;
图11为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
下面结合附图和实施例对本申请的技术方案进一步详细阐述。
图1为本申请实施例一种处理方法的流程示意图,如图1所示,该方法包括:
步骤102:在电子设备的引导系统完成引导系统固件验证后,获得所述电子设备的第一部件的固件状态信息,所述第一部件包括不同于引导系统的至少一个部件;
其中,引导系统可以包括基本输入输出系统(Basic Input Output System,BIOS)、统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)、可扩展固件接口(Extensible Firmware Interface,EFI)等;BIOS是一组固化到电子设备内主板上一个只读存储器(Read-Only Memory,ROM)芯片上的程序,保存着电子设备最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,BIOS主要功能是为电子设备提供最底层的、最直接的硬件设置和控制,UEFI是一种个人电脑系统规格,可以用来定义操作系统与系统固件之间的软件界面,可以作为BIOS的替代方案。可扩展固件接口负责加电自检、联系操作系统以及提供连接操作系统与硬件的接口。
所述第一部件可以电子设备的组成部件,如外插显卡,网卡,存储设备,可信平台模块(Trusted Platform Module,TPM)、指纹识别部件(Finger print)、摄像机(Camera)、指令寄存器(Instruction Register)、键盘(keyboard)、管理引擎(Management Engine,ME)、嵌入式控制器(Embedded Controller,EC)等。所述固件可以是固化在所述第一部件上的代码程序,所述固件的固件状态信息可以表征固件是否被攻击,以及在固件被攻击后是否完成了恢复等。
所述引导系统固件验证可以包括对自身引导系统固件进行合法性验证、对第一部件进行合法性验证,对第二部件进行合法性验证;所述第二部件包括不同于引导系统和第一部件的至少一个部件;需要说明的是,第一部件或第二部件也可以对引导系统固件进行合法性验证。
步骤104:对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果。
其中,所述管理处理可以包括固件状态信息的存储、固件状态信息的数据处理、基于固件状态信息对固件的更新和维护等。
对应地,在所述管理处理为固件状态信息的存储的情况下,所述管理处理结果可以是基于固件状态信息表征的固件状态,将固件状态信息存储至对应存储位置,并正常启动进入到操作系统状态或部件信息展示状态;在所述管理处理为固件状态信息的数据处理的情况下,所述管理处理结果可以是基于固件状态信息表征的固件状态,对固件状态信息进行数据处理,例如可以是更新固件状态信息的存储位置,并正常启动进入到操作系统(Operating System,OS);在所述管理处理为基于固件状态信息对固件的更新和维护的情况下,所述管理处理结果可以是基于固件状态信息对固件进行更新或维护处理,固件处于更新或维护状态。
在一些实施例中,在电子设备开机启动后,BIOS在完成对BIOS固件进行合法性验证、对电子设备的外插显卡,网卡,存储设备,可信平台模块、指纹识别部件、摄像机、指令寄存器、键盘、管理引擎、嵌入式控制器等第一部件和电子设备的移动硬盘等第二部件进行合法性验证后,BIOS可以对进行第一部件和第二部件进行初始化,在初始化部件的过程中,询问部件的固件状态信息,部件可以通过BIOS规定的协议汇报固件的固件状态信息,以使BIOS获得第一部件的固件状态信息。
BIOS可以对获得的第一部件和/或第二部件的固件状态信息进行存储,BIOS也可以对第一部件和/或第二部件的固件状态信息的存储位置进行更新,在启动进入操作系统时,操作系统可以访问部件的固件状态信息的存储位置以获知对应部件的固件状态信息,进而根据固件状态信息确定BIOS固件、第一部件的固件、第二部件的固件是否安全;BIOS还可以对除BIOS外其他部件的固件状态信息进行更新和维护;BIOS或者操作系统可以及时获得其他部件的固件状态信息,以确定固件是否被攻击,或者被攻击后是否恢复,提高了对部件固件状态管理的效率,且不用额外增加成本。
本申请实施例中,引导系统通过获得第一部件的固件状态信息,对固件状态信息进行管理处理,使得电子设备响应对应的管理处理结果,从而不用增加额外的成本,便可使引导系统或电子设备的操作系统获知其他部件的固件状态信息,以确定固件是否被攻击,提高了部件的固件状态管理的效率和便捷性。
在一些实施例中,如图2所示,步骤104“对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果”,可以通过以下步骤141或步骤142实现:
步骤141:如果所述固件状态信息表征所述第一部件的固件处于安全状态,将所述固件状态信息存至所述电子设备的可信赖平台模块TPM芯片;
其中,固件状态信息可以表示为Detect、Protect和Recover;Protect和Recover均可以表征所述固件处于安全状态;Detect可以表征所述固件处于风险状态。
TPM芯片是一种安全的加密处理器,专为加密操作而设计,它被设计为防篡改,并包含一个可用于平台设备身份验证的唯一密钥。TPM可以在引导过程中检查系统的完整性,以确保系统没有被篡改。
步骤142:如果所述固件状态信息表征所述第一部件的固件处于风险状态,对所述第一部件的固件进行恢复或升级。
在一些实施例中,在固件状态信息为Protect或Recover的情况下,表征固件处于安全状态,BIOS可以将所述固件状态信息存至所述电子设备的可信赖平台模块TPM芯片中,以供操作系统读取BIOS或其他部件的固件状态信息;在固件状态信息为Detect的情况下,表征固件处于风险状态,BIOS可以通过拔掉网线的方式,让第一部件的固件自行恢复,如果固件无法自行恢复,则可以下载新版本的固件实现固件的恢复或升级,在固件恢复或升级后,BIOS可以将所述固件的固件状态信息存至所述TPM芯片中。
本申请实施例中,通过在固件处于安全状态的情况下,将固件状态信息保存至TPM中,从而可以降低固件状态信息被篡改的风险,提高固件状态信息的可信度;通过在固件处于风险状态时,对固件进行恢复和升级,从而能够及时高效地对固件进行维护,降低固件的风险概率。
在一些实施例中,如图3所示,步骤141中“将所述固件状态信息存至所述电子设备的可信赖平台模块TPM芯片”可以通过以下步骤1411或步骤1412实现:
步骤1411:如果所述固件状态信息表征所述第一部件的固件未被更改过,将所述固件状态信息直接映射至所述电子设备的可信赖平台模块TPM芯片中的目标存储位;
步骤1412:如果所述固件状态信息表征所述第一部件的固件被更改过,基于更新信息更新所述固件状态信息与电子设备的TPM芯片中的目标存储位之间的映射关系。
其中,固件状态信息为Protect可以表征所述固件处于安全状态、且未被更改过,即固件没有受到攻击,固件状态信息为Recover可以表征固件处于安全状态、且被更改过,即固件虽然被篡改过了,但是已经恢复为一个可信任的固件了。
在一些实施例中,在固件的固件状态信息为Protect的情况下,表征固件处于安全状态,且未被更改过,可以将该固件的固件状态信息直接映射至所述电子设备的可信赖平台模块TPM芯片中的目标存储位;在固件的固件状态信息为Recover的情况下,表征固件处于安全状态,且被更改过,可以基于更新信息更新所述固件状态信息与电子设备的TPM芯片中的目标存储位之间的映射关系;所述目标存储位可以是根据每一固件中定义的映射关系(或称地址转换函数)确定出的固件状态信息存储的物理地址;所述地址转换函数用于进行固件状态信息的虚拟地址空间和物理地址之间的转换。
需要说明的是,在第一部件的固件被更改的情况下,固件的虚拟地址信息对应发生更改,则需要对应更新固件状态信息与目标存储位之间的映射关系。
本申请实施例中,通过在固件未被更改过时,将固件状态信息存储至TPM的目标存储位;在固件被更改时,更新固件状态信息的存储位置,从而可以及时、准确地确定固件状态信息的物理存储位置。
在一些实施例中,如图4所示,步骤104中“响应对应的管理处理结果”可通过以下步骤143、步骤144或步骤145实现:
步骤143:响应于所述引导系统对系统引导程序完成合法性验证,进入操作系统或目标应用运行状态;
在一些实施例中,在引导系统对系统引导程序完成合法性验证后,系统引导程序引导电子设备进入操作系统或目标应用运行状态,操作系统或目标应用可以获知引导系统固件或第一部件的固件状态信息。
步骤144:输出所述固件状态信息的管理处理结果;
在一些实施例中,可以输出固件状态信息的目标存储位、更新后的固件状态信息与目标存储位之间的映射关系,或者对固件进行更新和维护后的固件状态信息。
步骤145:从电子设备的TPM芯片中读取目标部件的固件状态信息,以在验证通过后执行所述目标部件承载的功能。
其中,操作系统或应用对固件状态信息进行验证得到第一验证结果后,可以与引导系统对固件状态信息的第二验证结果进行比对,若比对结果表明第一验证结果和第二验证结果一致,则认为验证通过,可以执行目标部件承载的功能。
在一些实施例中,在目标部件为指纹识别部件的情况下,电子设备的操作系统或应用可以读取指纹识别部件固件状态信息,并在验证通过后,通过指纹识别部件执行指纹识别。
本申请实施例中,通过对固件状态信息进行管理处理,得到不同的管理处理结果,从而可以提高固件状态信息管理处理的多样性。
在一些实施例中,如图5所示,在步骤141之后,所述方法还包括步骤151和步骤152:
步骤151:将所述TPM的配置寄存器作为可信度量根,所述配置寄存器中存有引导系统获得的第一部件的固件状态信息;
在一些实施例中,可信度量根可以是可信平台进行可信度量的基点,可信度量根可以是中央处理器(central processing unit,CPU)开机运行时首先执行的一段软件,是BIOS中最开始的代码,即BIOS前几行指令,BIOS前几行指令是写死在BIOS串行外设接口(Serial Peripheral Interface,SPI)中的,无法修改;可信度量根还可以是TPM的配置寄存器。
步骤152:基于所述可信度量根,对系统引导程序、操作系统、或目标应用程序进行可信度量,以基于度量结果向所述系统引导程序、操作系统、或目标应用程序开放访问权限或输出警示信息。
其中,所述访问权限可以是TPM的访问权限,所述警示信息可以用于表征所述系统引导程序、操作系统、或目标应用程序的可信度较低(即不可信),不可以向所述系统引导程序、操作系统、或目标应用程序开放TPM的访问权限。
在所述度量结果表明所述系统引导程序、操作系统、或目标应用程序可信的情况下,可以向所述系统引导程序、操作系统、或目标应用程序开放TPM的访问权限;在所述度量结果表明所述系统引导程序、操作系统、或目标应用程序不可信的情况下,可以输出警示信息。
在一些实施例中,在开启所述TPM的访问权限的情况下,所述电子设备的操作系统或所述目标应用程序可以从TPM芯片中读取目标部件的固件状态信息,以在验证通过后执行所述目标部件承载的功能。
本申请实施例中,可以基于可信度量根,对系统引导程序、操作系统、或目标应用程序进行可信度量,并基于度量结果确定向系统引导程序、操作系统、或目标应用程序开放TPM访问权限,还是输出警示信息,从而可以更准确地进行可信度量,并基于度量结果确定是否开通TPM的访问权限,从而可以提高数据安全性。
在一些实施例中,在步骤151之后,所述方法还可以包括以下步骤153至步骤156:
步骤153:基于所述可信度量根,对所述系统引导程序进行可信度量;
其中,所述系统引导程序可以表示为bootloader,可以通过引导系统(如BIOS)里面存放的公钥去校验一次系统引导程序;如果系统引导程序是被公钥对应的私钥签名的,则系统引导程序值得信任,可以调用。
步骤154:在所述系统引导程序的度量结果表明所述系统引导程序可信的情况下,基于所述系统引导程序的验证机制,对所述操作系统进行可信度量;
步骤155:在所述操作系统的度量结果表征所述操作系统可信的情况下,基于所述操作系统的验证机制,对所述目标应用程序进行可信度量;
在一些实施例中,可以由可信度量根开始,通过逐步扩展的方式形成“可信度量根-系统引导程序-操作系统-目标应用程序”的可信链,在可信链中,可以用可信度量根验证系统引导程序的可信性,用系统引导程序验证操作系统的可信性,用操作系统自定的验证机制验证目标应用程序(即目标应用)的可信性,最终实现从底层硬件到中层操作系统再到上层应用的安全可信。
在一些实施例中,在可信度量根是BIOS前几行指令的情况下,所述可信链还可以是“可信度量根-引导系统固件-系统引导程序-操作系统-目标应用程序”,在可信链中,用可信度量根验证硬件与引导系统固件的可信性,用引导系统固件的验证机制验证系统引导程序的可信性,用系统引导程序验证操作系统的可信性,用操作系统自定的验证机制验证目标应用的可信性,最终实现从底层硬件到中层操作系统再到上层应用的安全可信。
步骤156:在所述目标应用程序的度量结果表征所述目标应用程序可信的情况下,启动所述目标应用程序或调用所述目标应用程序所需的目标部件。
本申请实施例中,通过目标应用程序的可信度较大时,才启动目标应用程序或调用目标应用程序所需的目标部件,从而可以提高数据的安全性,降低数据被篡改的风险。
在一些实施例中,如图6所示,步骤102中“获得所述电子设备的第一部件的固件状态信息”可通过以下步骤121实现:
步骤121:在引导系统初始化所述第一部件的过程中,通过目标协议读取各所述第一部件的固件状态信息;或,接收各所述第一部件按照目标协议上报的各自固件的固件状态信息。
在一些实施例中,引导系统(如BIOS)可以按照BIOS规定的目标协议询问第一部件的固件状态信息,引导系统还可以接收第一部件按照BIOS规定的目标协议主动汇报的各自的固件状态信息;在获得所述第一部件的固件状态信息之后,可以通过系统管理BIOS(System Management BIOS,SMBIOS)或者高级配置和电源管理接口(AdvancedConfiguration and Power Management Interface,ACPI)等标准接口将固件状态信息汇报给系统(Operating System,OS)或者上层软件。
本申请实施例中,既可以由各自固件按照目标协议上报固件状态信息,也可以由引导系统通过目标协议获取固件状态信息,提高了引导系统获取固件状态信息的规范性和形式多样性。
在一些实施例中,如图6所示,所述方法还包括:
步骤101:在电子设备的第二部件完成自身合法性验证后,利用预设算法和预设公钥对引导系统固件进行合法性验证,以完成所述引导系统固件的验证,所述第二部件为不同于所述第一部件的驱动程序,所述第一部件包括不同于引导系统或所述第二部件的至少一个部件。
其中,所述第二部件可以为移动硬盘的驱动程序;引导系统可以通过驱动程序的标识信息对驱动程序进行合法性验证,驱动程序也可以通过引导系统的标识信息对引导系统固件进行合法性验证。
在一些实施例中,在电子设备的移动硬盘的驱动程序完成自身合法性验证后,还可以利用预设算法和预设公钥对引导系统固件(如BIOS固件)进行合法性验证,以完成引导系统固件的验证,即移动硬盘的驱动程序既可以对自身合法性进行验证,也可以对引导系统固件进行合法性认证;而引导系统既可以对自身的引导系统固件进行验证,也可以对第二部件的固件进行验证,因此,可以由引导系统对移动硬盘的驱动程序进行合法性验证,由移动硬盘的驱动程序对引导系统进行合法性验证,即引导系统和移动硬盘的驱动程序相互之间进行合法性验证。
本申请实施例中,通过引导系统固件和第二部件之间相互进行合法性验证,从而可以提高引导系统固件和第二部件验证的客观性和可信度。
在一些实施例中,如图7所示,步骤102中“获得所述电子设备的第一部件的固件状态信息”可通过以下步骤122实现:
步骤122:获得第一部件对应的驱动程序所获取到的第一部件的第一标识信息,如果所述第一标识信息与引导系统中存储的第二标识信息匹配,获得所述电子设备的第一部件的固件状态信息。
在一些实施例中,引导系统可以通过获取到的第一部件的第一标识信息与引导系统中存储的第二标识信息是否匹配,来确定第一部件的合法性认证是否通过,若第一标识信息与第二标识信息匹配,则对第一部件的合法性验证通过,引导程序获得第一部件的固件状态信息;若第一标识信息与第二标识信息不匹配,则对第一部件的合法性认证不通过,引导程序无法获得第一部件的固件状态信息。
本申请实施例中,引导系统可以在通过第一部件的标识信息与引导系统中存储的第二标识信息的匹配度,确定对第一部件的合法性认证结果,从而能够提高获得的第一部件的固件状态信息的可信度,提高数据安全性和可靠性。
在一些实施例中,如图7所示,所述方法还包括:
步骤106:在获得运行所述电子设备的第一部件的指令后,对所述第一部件对应的驱动程序所获取到的第一部件的标识信息进行匹配,以基于匹配结果拦截所述指令或使所述电子设备响应所述指令。
在一些实施例中,所述第一部件可以是移动硬盘,由于移动硬盘可拆卸,从一个电子设备上被拆下来之后,可以安装在其他的电子设备上,看到加密之后的文件内容。存在密码被破解后,存在数据泄露的风险;引导系统可以通过移动硬盘的标识信息对移动硬盘进行验证,在移动硬盘的标识信息与引导系统中存储的第二标识信息匹配的情况下,可以认为引导系统对移动硬盘的合法性验证通过;引导系统在移动硬盘的标识信息与引导系统中存储的第二标识信息不匹配的情况下,可以认为引导系统对移动硬盘的合法性验证未通过。在合法性认证未通过时,可以拦截所述运行移动硬盘的指令,在合法性认证通过时,可以使所述电子设备响应所述运行移动硬盘的指令。
在一些实施例中,移动硬盘还可以通过引导系统的标识信息对引导系统进行合法性验证,在移动硬盘的标识信息与引导系统中存储的第三标识信息匹配的情况下,可以认为引导系统对移动硬盘的合法性验证通过,在移动硬盘的标识信息与引导系统中存储的第三标识信息不匹配的情况下,可以认为引导系统对移动硬盘的合法性验证未通过。
在一些实施例中,可以通过移动硬盘的驱动程序和引导系统之间的相互验证,在移动硬盘的驱动程序和引导系统相互验证均通过后,可以使所述电子设备响应所述指令,运行所述移动硬盘,在任一方验证未通过时,拦截所述指令;避免移动硬盘在其他电子设备上启动时造成的数据泄露风险。
本申请实施例中,通过基于第一部件的标识信息的匹配结果确定是否运行第一部件,从而可以在第一部件的合法性认证未通过时拦截第一部件的运行指令,降低第一部件的数据泄露风险。
相关技术中,台式机(即电子设备)上有很多设备(即部件)上有固件(FirmWare,FW),固件是具有软件功能的硬件,是一种把软件固化在硬件之中的器件,为了满足美国国家标准与技术研究院(National Institute of Standards and Technology,NIST-800-193),要求所有的部件FW都能够具有检测-防护-恢复(detect-protect-recovery)的功能;相关技术中只能告诉用户基本输入输出系统(Basic Input Output System,BIOS)/管理引擎(Management Engine,ME)/嵌入式控制器(Embedded Controller,EC)设备的状态;但是并没有一个机制能够告诉BIOS或者系统,其他的部件(如外插显卡、网卡、存储设备等电子设备的部件)的固件状态,例如设备固件是否被攻击,设备的固件是否自己完成了恢复。
针对上述问题和相关技术中解决方案的缺陷,本申请实施例提出:
BIOS制定一个统一的架构和协议,要求部件的固件都遵守这个规范。本申请实施例提出当这个部件的固件发生了detect-protect-recovery的事件,那么就汇报给BIOS,由BIOS通过SMBIOS或者高级配置和电源管理接口ACPI等标准接口汇报给系统(OperatingSystem,OS)或者上层软件。
本申请实施例中的部件可以包括外插显卡,网卡,存储设备,可信平台模块、指纹识别部件、摄像机、指令寄存器、触控平板电脑(touchpad)和键盘、管理引擎、嵌入式控制器等。
采用本申请实施例不影响不影响当前的成本,可以支持系统或上层应用软件获取部件的固件的状态的功能,给用户更好的体验。
本申请实施例提供一种处理方法,所述方法可以包括以下步骤:
步骤S202:电子设备开机的时候,电子设备的BIOS初始化电子设备的各个部件;
步骤S204:BIOS询问各个部件的固件的状态;
步骤S206:每个部件都按着BIOS规定的目标协议汇报自己的固件状态信息。
步骤S208:BIOS将各个部件的固件的固件状态信息汇总起来,放入TPM的程序控制暂存器(Program Control Register,PCR)之中,让系统知道BIOS及除BIOS外的其他部件是否安全。
其中,BIOS可以通过SMBIOS、ACPI或者管理规范(Windows ManagementInstrumentation,WMI)信息把具体的固件状态信息汇报出来,此时操作系统或上层应用软件可以拿到相应的固件状态信息。
需要说明的是,BIOS的信任链条可以是:
首先,CPU开机运行的BIOS前几行指令是写死在BIOS SPI中的,无法修改。
接下来BIOS要运行的代码都会被先检测一下,看一下数据的完整性和HASH值是否跟预存的值一致,一致那么认为是安全的,可以执行该段代码。
BIOS最后要调用的系统引导程序,也要通过BIOS里边存放的公钥去校验一次系统引导程序,如果是被对应的私钥签名的,那么值得信任会调用系统引导程序。
其他部件的信任链条与BIOS的信任链条类似。
如图8所示,所述部件可以包括嵌入式控制器81、管理引擎82、基本输入输出系统84和其他部件83;基于可信度量根(Root of Trust for Measurement,RTM)可以验证每一部件的固件的固件状态信息的可信度。
例如基于可信度量根(RTM)验证嵌入式控制器81的固件801的固件状态信息的可信度,基于RTM验证管理引擎82的固件802的固件状态信息的可信度,基于RTM验证其他部件83的固件803的固件状态信息的可信度;基于RTM验证基本输入输出系统84的固件的固件状态信息的可信度;可以由基本输入输出系统84通过基本输入输出系统84内的报告代理85(Reporting Proxy in BIOS)将各个部件的固件(固件801、固件802和固件803和BIOS固件)的固件状态信息汇总起来,放入可信赖平台模块(TPM)的程序控制暂存器86(PCR中)。
需要说明的是,还可以基于固件的验证机制,验证系统引导程序87的可信度。
相关技术中,移动硬盘(又称磁盘)被拆下来之后,可以安装在其他机器(电子设备)上正常启动,会存在数据泄露的风险。
相关技术中,采用的是透明加解密的技术,密钥一般存储在网络或者本地上。这样,移动硬盘被拆下来之后,安装在其他机器上仍然可以正常启动,用户可以看到加密之后的文件内容。存在被破解后,数据泄露的风险。
图9为本申请实施例一种BIOS和驱动程序相互验证方法的流程示意图,如图9所示,所述方法包括以下步骤:
步骤901:更新BIOS;
步骤902:判断BIOS的验证功能是否开启;
若是,则执行步骤903;若否,则执行步骤907;
步骤903:BIOS安装功能模块;
其中,所述功能模块又称验证模块,用于进行BIOS和驱动程序进行的相互验证。
步骤904:电子设备开机启动;
其中,移动硬盘可以安装在电子设备上,电子设备开机启动,移动硬盘也启动。
步骤905:判断BIOS和移动硬盘的驱动程序相互验证是否验证成功;若验证成功,则执行步骤907,若验证失败,则执行步骤906;
其中,BIOS和移动硬盘的驱动程序可以通过彼此的唯一标识码进行相互验证。
步骤906:拦截移动硬盘的启动;
步骤907:正常启动移动硬盘。
本申请实施例中,可以将BIOS和移动硬盘的驱动程序(Driver)结合起来,每一次启动的时候Driver和BIOS通过彼此唯一的标识码进行相互验证。如果验证失败,则拦截移动硬盘的正常启动;如果验证成功,则移动硬盘正常运行。
本申请实施例中,可以降低报废磁盘的数据泄露风险,并且为纯软件解决方案,不需要额外增加硬件成本,改造成本低。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得洗衣设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
基于前述的实施例,本申请实施例提供一种处理装置,该装置包括所包括的各模块,可以通过设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital Signal Processing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等。
图10为本申请实施例一种处理装置的组成结构示意图,如图10所示,所述装置1000包括获取模块1001和处理模块1002,其中:
获取模块1001,用于在电子设备的引导系统完成引导系统固件验证后,获得所述电子设备的第一部件的固件状态信息,所述第一部件包括不同于引导系统的至少一个部件;
处理模块1002,用于对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果。
在一些实施例中,所述处理模块1002包括:第一处理子模块,用于如果所述固件状态信息表征所述第一部件的固件处于安全状态,将所述固件状态信息存至所述电子设备的可信赖平台模块TPM芯片;第二处理子模块,用于如果所述固件状态信息表征所述第一部件的固件处于风险状态,对所述第一部件的固件进行恢复或升级。
在一些实施例中,所述第一处理子模块,包括:第一处理单元,用于如果所述固件状态信息表征所述第一部件的固件处于安全状态,且所述固件状态信息表征所述第一部件的固件未被更改过,将所述固件状态信息直接映射至所述电子设备的可信赖平台模块TPM芯片中的目标存储位;第二处理单元,用于如果所述固件状态信息表征所述第一部件的固件处于安全状态,且所述固件状态信息表征所述第一部件的固件被更改过,基于更新信息更新所述固件状态信息与电子设备的TPM芯片中的目标存储位之间的映射关系。
在一些实施例中,所述处理模块1002包括:第三处理模块,用于响应于所述引导系统对系统引导程序完成合法性验证,进入操作系统或目标应用运行状态;第四处理模块,用于输出所述固件状态信息的管理处理结果;第五处理模块,用于从电子设备的TPM芯片中读取目标部件的固件状态信息,以在验证通过后执行所述目标部件承载的功能。
在一些实施例中,所述装置还包括:确定模块,用于将所述TPM的配置寄存器作为可信度量根,所述配置寄存器中存有引导系统获得的第一部件的固件状态信息;第一验证模块,用于基于所述可信度量根,对系统引导程序、操作系统、或目标应用程序进行可信度量,以基于度量结果向所述系统引导程序、操作系统、或目标应用程序开放访问权限或输出警示信息。
在一些实施例中,所述装置还包括:第二验证模块,用于基于所述可信度量根,对所述系统引导程序进行可信度量;第三验证模块,用于在所述系统引导程序的度量结果表明所述系统引导程序可信的情况下,基于所述系统引导程序的验证机制,对所述操作系统进行可信度量;第四验证模块,用于在所述操作系统的度量结果表征所述操作系统可信的情况下,基于所述操作系统的验证机制,对所述目标应用程序进行可信度量;启动模块,用于在所述目标应用程序的度量结果表征所述目标应用程序可信的情况下,启动所述目标应用程序或调用所述目标应用程序所需的目标部件。
在一些实施例中,所述获取模块,包括:第一获取子模块,用于在引导系统初始化所述第一部件的过程中,通过目标协议读取各所述第一部件的固件状态信息;第二获取子模块,用于接收各所述第一部件按照目标协议上报的各自固件的固件状态信息。
在一些实施例中,所述获取模块,还包括:第三获取子模块,用于在电子设备的第二部件完成自身合法性验证后,利用预设算法和预设公钥对引导系统固件进行合法性验证,以完成所述引导系统固件的验证,所述第二部件为不同于所述第一部件的驱动程序,所述第一部件包括不同于引导系统或所述第二部件的至少一个部件。
在一些实施例中,所述获取模块包括:第四获取子模块,用于获得第一部件对应的驱动程序所获取到的第一部件的第一标识信息,如果所述第一标识信息与引导系统中存储的第二标识信息匹配,获得所述电子设备的第一部件的固件状态信息。
在一些实施例中,所述装置包括:匹配模块,用于在获得运行所述电子设备的第一部件的指令后,对所述第一部件对应的驱动程序所获取到的第一部件的标识信息进行匹配,以基于匹配结果拦截所述指令或使所述电子设备响应所述指令。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
对应地,本申请实施例提供一种电子设备,图11为本申请实施例电子设备的一种硬件实体示意图,如图11所示,该电子设备1100的硬件实体包括:存储器1101和处理器1102,所述存储器1101存储有可在处理器1102上运行的计算机程序,所述处理器1102执行所述程序时实现上述实施例中处理方法中的步骤。
存储器1101配置为存储由处理器1102可执行的指令和应用,还可以缓存待处理器1102以及电子设备1100中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的处理方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同设备实施例相似的有益效果。对于本申请存储介质和方法实施例中未披露的技术细节,请参照本申请设备实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得洗衣设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种处理方法,包括:
在电子设备的引导系统完成引导系统固件验证后,获得所述电子设备的第一部件的固件状态信息,所述第一部件包括不同于引导系统的至少一个部件;
对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果。
2.根据权利要求1所述的方法,所述对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果,包括:
如果所述固件状态信息表征所述第一部件的固件处于安全状态,将所述固件状态信息存至所述电子设备的可信赖平台模块TPM芯片;或,
如果所述固件状态信息表征所述第一部件的固件处于风险状态,对所述第一部件的固件进行恢复或升级。
3.根据权利要求2所述的方法,其中,将所述固件状态信息存至所述电子设备的可信赖平台模块TPM芯片,包括:
如果所述固件状态信息表征所述第一部件的固件未被更改过,将所述固件状态信息直接映射至所述电子设备的可信赖平台模块TPM芯片中的目标存储位;或,
如果所述固件状态信息表征所述第一部件的固件被更改过,基于更新信息更新所述固件状态信息与电子设备的TPM芯片中的目标存储位之间的映射关系。
4.根据权利要求1至3任一项所述的方法,其中,响应对应的管理处理结果,包括:
响应于所述引导系统对系统引导程序完成合法性验证,进入操作系统或目标应用运行状态;或,
输出所述固件状态信息的管理处理结果;或,
从电子设备的TPM芯片中读取目标部件的固件状态信息,以在验证通过后执行所述目标部件承载的功能。
5.根据权利要求4所述的方法,还包括:
将所述TPM的配置寄存器作为可信度量根,所述配置寄存器中存有引导系统获得的第一部件的固件状态信息;
基于所述可信度量根,对系统引导程序、操作系统、或目标应用程序进行可信度量,以基于度量结果向所述系统引导程序、操作系统、或目标应用程序开放访问权限或输出警示信息;或,
基于所述可信度量根,对所述系统引导程序进行可信度量;
在所述系统引导程序的度量结果表明所述系统引导程序可信的情况下,基于所述系统引导程序的验证机制,对所述操作系统进行可信度量;
在所述操作系统的度量结果表征所述操作系统可信的情况下,基于所述操作系统的验证机制,对所述目标应用程序进行可信度量;
在所述目标应用程序的度量结果表征所述目标应用程序可信的情况下,启动所述目标应用程序或调用所述目标应用程序所需的目标部件。
6.根据权利要求1所述的方法,其中,获得所述电子设备的第一部件的固件状态信息,包括:
在引导系统初始化所述第一部件的过程中,通过目标协议读取各所述第一部件的固件状态信息,或,接收各所述第一部件按照目标协议上报的各自固件的固件状态信息。
7.根据权利要求1所述的方法,其中,电子设备的引导系统完成引导系统固件验证,包括:
在电子设备的第二部件完成自身合法性验证后,利用预设算法和预设公钥对引导系统固件进行合法性验证,以完成所述引导系统固件的验证,所述第二部件为不同于所述第一部件的驱动程序,所述第一部件包括不同于引导系统或所述第二部件的至少一个部件。
8.根据权利要求1所述的方法,还包括:
获得第一部件对应的驱动程序所获取到的第一部件的第一标识信息,如果所述第一标识信息与引导系统中存储的第二标识信息匹配,获得所述电子设备的第一部件的固件状态信息。
9.根据权利要求1或8所述的方法,还包括:
在获得运行所述电子设备的第一部件的指令后,对所述第一部件对应的驱动程序所获取到的第一部件的标识信息进行匹配,以基于匹配结果拦截所述指令或使所述电子设备响应所述指令。
10.一种处理装置,包括:
获取模块,用于在电子设备的引导系统完成引导系统固件验证后,获得所述电子设备的第一部件的固件状态信息,所述第一部件包括不同于引导系统的至少一个部件;
处理模块,用于对所述固件状态信息进行管理处理,并使得所述电子设备响应对应的管理处理结果。
CN202210542112.4A 2022-05-17 2022-05-17 一种处理方法和装置 Pending CN115061735A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210542112.4A CN115061735A (zh) 2022-05-17 2022-05-17 一种处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210542112.4A CN115061735A (zh) 2022-05-17 2022-05-17 一种处理方法和装置

Publications (1)

Publication Number Publication Date
CN115061735A true CN115061735A (zh) 2022-09-16

Family

ID=83198302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210542112.4A Pending CN115061735A (zh) 2022-05-17 2022-05-17 一种处理方法和装置

Country Status (1)

Country Link
CN (1) CN115061735A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737488A (zh) * 2022-10-26 2023-09-12 荣耀终端有限公司 一种参数监控方法及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737488A (zh) * 2022-10-26 2023-09-12 荣耀终端有限公司 一种参数监控方法及电子设备
CN116737488B (zh) * 2022-10-26 2024-05-17 荣耀终端有限公司 一种参数监控方法及电子设备

Similar Documents

Publication Publication Date Title
CN112560004B (zh) 完整性确定方法和系统
US10142104B2 (en) Securely recovering a computing device
US20190364048A1 (en) Service Processor and System with Secure Booting and Monitoring of Service Processor Integrity
JP4855679B2 (ja) サーバ管理コプロセッササブシステム内部のtcpaによる信頼性の高いプラットフォームモジュール機能のカプセル化
KR101066727B1 (ko) 컴퓨팅 장치의 보안 부팅
US9292302B2 (en) Allowing bypassing of boot validation in a computer system having secure boot enabled by default only under certain circumstances
Han et al. A bad dream: Subverting trusted platform module while you are sleeping
US20130081124A1 (en) Trusting an unverified code image in a computing device
CN107679425B (zh) 一种基于固件和USBkey的联合全盘加密的可信启动方法
KR20160042897A (ko) 참조 플랫폼 매니페스트 및 데이터 씰링에 따른 보안 os 부팅 기법
US11347858B2 (en) System and method to inhibit firmware downgrade
CN115061735A (zh) 一种处理方法和装置
CN108694322B (zh) 用于对计算机化系统进行初始化的方法及计算机化系统
CN113190880A (zh) 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作
CN114692160A (zh) 计算机安全可信启动的处理方法及装置
CN117494232B (zh) 固件的执行方法和装置、系统、存储介质及电子设备
US12019752B2 (en) Security dominion of computing device
CN117556418A (zh) 一种确定内核状态的方法和相关设备
CN118551376A (zh) 操作系统可信状态证明方法、装置、计算机及存储介质
CN112487500A (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