CN111651769A - 获取安全启动的度量方法和装置 - Google Patents
获取安全启动的度量方法和装置 Download PDFInfo
- Publication number
- CN111651769A CN111651769A CN201910161668.7A CN201910161668A CN111651769A CN 111651769 A CN111651769 A CN 111651769A CN 201910161668 A CN201910161668 A CN 201910161668A CN 111651769 A CN111651769 A CN 111651769A
- Authority
- CN
- China
- Prior art keywords
- value
- measurement
- measurement object
- security chip
- reference value
- 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
Links
Images
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/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
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
本发明公开了一种获取安全启动的度量方法和装置。其中,该方法包括:安全芯片自检通过的情况下,所述安全芯片计算度量对象的第一可信值,其中,所述度量对象包括如下至少之一:平台系统、操作系统和应用系统;所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,所述可信模块PCR的基准值用于执行度量的主体验证所述度量对象的完整性,执行度量的主体包括:中央处理器CPU或所述安全芯片。本发明解决了现有技术在可信计算中,为了保证设备的启动速度,度量等相关运算均由CPU执行,导致设备的安全性不足的技术问题。
Description
技术领域
本发明涉及可信计算领域,具体而言,涉及一种获取安全启动的度量方法和装置。
背景技术
随着计算机应用的普及,硬件攻击的日益猖獗,业务平台及系统的完整性保证日益受到重视。度量是一种保护平台及系统完整性的方式,其具体为:在某些特定的时刻,对目标进行度量,得到目标的某些信息(比如文件的散列值),将这些信息的值与预先记录的标准值进行比较,从而判断目标的完整性是否被破坏。
但目前,TPM及TPCM在平台及系统的完整性度量计算过程中存在如下不足:可信卡的计算能力无法满足云场景下高速运行环境的静动态度量,因此将度量相关的运算让CPU完成,因此存在误报或漏报的风险。
针对现有技术在可信计算中,为了保证设备的启动速度,度量等相关运算均由CPU执行,导致设备的安全性不足的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种获取安全启动的度量方法和装置,以至少解决现有技术在可信计算中,为了保证设备的启动速度,度量等相关运算均由CPU执行,导致设备的安全性不足的技术问题。
根据本发明实施例的一个方面,提供了一种获取安全启动的度量方法,包括:安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统;安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
根据本发明实施例的另一方面,还提供了一种获取安全启动的度量装置,包括:计算模块,用于安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统;保存模块,用于安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行如下步骤:安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统;安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
根据本发明实施例的另一方面,还提供了一种处理器,其特征在于,处理器用于运行程序,其中,程序运行时执行如下步骤:安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统;安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
在本发明实施例中,安全芯片在自检通过的情况下,计算度量对象的第一可信值,并将该第一可信值作为基准值存储在PCR中,中央处理器CPU根据该基准值对度量对象进行完整性待验证。由于对度量对象进行完整性验证的基准值是由自检通过的安全芯片计算得到的,因此保证了基准值的准确性。由此,本申请上述实施例解决了现有技术在可信计算中,为了保证设备的启动速度,度量等相关运算均由CPU执行,导致设备的安全性不足的技术问题。进一步地,由于完整性验证是由中央处理器CPU执行的,因此还可以保证设备的启动速度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现获取安全启动的度量方法的计算机终端(或移动设备)的硬件结构框图;
图2是一种TCG信任链的示意图;
图3是一种TPCM信任链传递的示意图;
图4是根据本申请实施例1的一种获取安全启动的度量方法的流程图;
图5是根据本申请实施例1的一种可选的获取安全启动的度量方法的流程图;
图6是根据本申请实施例2的一种获取安全启动的度量装置的示意图;以及
图7是根据本发明实施例3的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
可信计算:Trusted Computing,是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。
可信平台模块:TPM/TPCM,是为证据提供完整性和真实性保障的安全芯片,一般通过物理方式被强绑定到计算平台。
可信度量:在特定时刻对目标进行度量,得到的目标的某些信息(比如对文件的散列值),将这些信息的值与预先记录的标准值进行比较,从而判断目标的完整性是否被破坏。
信任链:系统从一个初始的信任根出发,在平台计算环境的每一次转换时,这种信任可以通过传递的方式维持下去,从而在计算平台上建立了一级验证一级,一级信任一级的可信链。
实施例1
根据本发明实施例,还提供了一种获取安全启动的度量方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现获取安全启动的度量方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的()方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的获取安全启动的度量方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
下面,首先对TPM信任链传递进行说明。
TCG规范中的可信平台模块(Trusted Platform Module,TPM)是可信计算平台的硬件可信根,TPM是提供受保护的安全存储、密码运算能力的安全芯片。TPM通过物理方式与计算平台相连,并通过外部总线连接到CPU上,例如:PC机平台上采取直接固化在主板上的方式通过LPC总线连接。
TCG规范中给出了对可信(trusted)的定义:一个实体一直以一种可预期的方式为特定的目标运行。可信计算的核心机制是通过信任链机制构建可信计算环境,目前运行实体是否可信是建立系统前一运行过程是否可信的基础上。基于这种信任关系,如果系统从一个初始的信任根出发,在平台计算环境的每一次转换时,这种信任可以通过传递的方式维持下去,从而在计算平台上建立了一级验证一级,一级信任一级的可信链,该计算环境就始终是可信的,它就能够被本地用户或远程实体信任。图2是一种TCG信任链的示意图,结合图2所示,TPM为完整性报告中的信任根(Root of trust in integrity reporting),BIOSboot block(BIOS引导块)为完整性度量的可信根。由BIOS boot block对BIOS进行度量,由BIOS对Hardware(硬件)、Option ROMs(随选内存),以及OS Loader(操作系统加载器)进行度量,由OS Loader对OS进行度量,由OS对New OS component(新操作系统组件)进行度量,将度量值均记录在Memory(存储器)中,并将度量值的扩展值存放在TPM中,TPM将度量值的扩展值报告给OS,由OS将度量值的扩展值通过Application(应用系统)报告至Network(网络)。
在TCG标准中,将每一项的度量值PCRi存放在存储器中,将度量值的扩展值存放在TPM中,PCRi New=HASH(PCRi Old value||value to add)。考虑性能问题,通常的做法是将hash在CPU中,TPM只负责测量,不做比对,当所有度量对象度量完后,在OS Grub阶段,由本地主机CPU来比较,或者主机接入服务端时,由服务端做比对。
这种方式是在度量完所有对象之后,最终由CPU做比对或服务端做比对的方式,从而会造成敏感信息泄露及风险感应及防患延迟。
图3是一种TPCM信任链传递的示意图,再结合图3对TPCM信任链传递进行说明。
1、TPCM上电,自检TPCM自由固件是否合法,合法则执行第2步,否则关机或报警;
2、验证BMC和BIOS,验证通过,合法则执行第3步,否则关机或报警;
3、主板上电;
4、验证平台完整性:
4.1、BIOS要求CPU获取平台信息返回给TPCM;
4.2、CPU执行获取网卡、显卡、硬盘等固件信息;
4.3、CPU将获得的信息返回给TPCM,让TPCM度量;
4.4、TPCM度量验证相关固件完整性;验证通过,则第5步,否则关机或报警;
5、验证OS loader;验证通过则第5步,否则关机或报警;
6、验证OS Kernel,验证通过则第6步,否则关机或报警;
7、动态度量验证vTPCM;
8、动态度量验证应用系统。
在这信任链传递过程中,第1到第4步所有度量对象的hash计算及验证均在TPCM卡中,由于TPCM卡的计算能力不足,这会造成风险感应及防范延迟。第5步之后,所有度量对象的hash计算及验证均在CPU中,由于设备无条件的相信CPU的可信,但可能CPU第一次所采集的度量对象的校验基准值就是错误的,因此存在误报或漏报的风险。例如,第一次度量计算错误(即基准值错误),后续启动度量计算正确,但两度量值比对结果为不相同,此时会产生误报;而第一次度量计算错误,后续依然度量计算错误,但两度量值的比对结果为相同,此时则会产生漏报。
由此可见,上述方案存在如下缺陷:(1)无论是第一次启动,还是后续启动,TPM和TPCM在OS Loader之后的可信安全启动度量相关的计算让CPU完成(需无条件相信CPU可信),这存在校验基准值计算有误的可能,从而导致漏报误报的风险;(2)无论是第一次启动,还是后续启动,TPCM将可信安全启动OS Loader之前度量计算由TPCM完成,安全性上虽然比TPM有所提升,但是度量计算能力不如CPU,从而会影响到启动的速度。因此需要一种新的安全启动度量计算方法来保证可信度量的校验基准值是正确的,同时还能保证快速的安全启动。
为了解决上述缺陷,在上述运行环境下,本申请提供了如图4所示的获取安全启动的度量方法。图4是根据本申请实施例1的一种获取安全启动的度量方法的流程图。
步骤S41,安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统。
具体的,上述安全芯片可以为TPM或TPCM。平台系统即为Platform,Platform包括设备的至少一个硬件,例如:网卡、显卡以及键盘等,操作系统即为OS,可以包括OS Lodaer(程序载入器)和操作系统内核。
需要说明的是,设备在启动时,按照预设的信任链,由上一级在下一级的完整性验证通过的情况下,将信任链的控制权交给下一级,而当前正在进行完整性验证的对象即为上述度量对象。例如,当对平台系统进行完整性的验证时,平台系统即为当前的度量对象。
在一种可选的实施例中,以安全芯片为TPCM为例,TPCM上电后首先进行自检,自检的方式可以是TPCM对其固件信息进行度量,并将度量结果与预存的基准度量值进行比对,如果二者相同,则确定自检通过,TPCM合法。
步骤S43,安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
具体的,上述可信值可以为安全芯片对度量对象进行可信计算得到的hash值。可信模块PCR的基准值存储在可信模块的NV空间中。
在上步骤中,安全芯片计算得到度量对象的第一可信值,并将该第一可信值存储在PCR中,作为度量对象的基准值。
在一种可选的实施例中,安全芯片对度量对象进行度量计算,得到度量对象的第一可信值,安全芯片将第一可信值存储至可信模块PCR中,作为该度量对象的基准值。上述执行度量的主体可以为中央处理器CPU,由中央处理器CPU来进行完整性的验证,当中央处理器CPU对该度量对象的完整性进行验证时,CPU再次计算度量对象的度量值,并从PCR中取出基准值。CPU以基准值为基础,将自身计算得到的度量值与从PCR中取出的基准值进行比对,如果二者相同,则确定对度量对象的完整性验证通过,否则,确定对度量对象的完整性验证不通过。
在另一种可选的实施例中,上述执行度量的主体还可以是安全芯片,由安全芯片来进行安全证的验证,当安全芯片对度量对象的完整性进行验证时,CPU再次计算度量对象的度量值。安全芯片获取CPU计算得到的度量值,并从PCR中取出基准值。安全芯片以基准值为基础,将CPU计算的度量值与从PCR中取出的基准值进行比对,如果二者相同,则确定对度量对象的完整性验证通过,否则,确定对度量对象的完整性验证不通过。
在本申请上述实施例中,安全芯片在自检通过的情况下,计算度量对象的第一可信值,并将该第一可信值作为基准值存储在PCR中,中央处理器CPU根据该基准值对度量对象进行完整性待验证。由于对度量对象进行完整性验证的基准值是由自检通过的安全芯片计算得到的,因此保证了基准值的准确性。由此,本申请上述实施例解决了现有技术在可信计算中,为了保证设备的启动速度,度量等相关运算均由CPU执行,导致设备的安全性不足的技术问题。进一步地,由于完整性验证是由中央处理器CPU执行的,因此还可以保证设备的启动速度。
作为一种可选的实施例,在安全芯片计算度量对象的第一可信值之前,上述方法还包括:安全芯片检测当前存储的可信模块PCR的基准值是否为预设值,其中,所述预设值为设备首次启动时PCR的值;如果为预设值,安全芯片进入计算并保存度量对象的第一可信值的步骤;如果不为预设值,安全芯片如果判定针对度量对象的度量策略没有变更,启动中央处理器CPU度量度量对象的完整性。
具体的,上述度量策略可以包括进行度量运算的算法等。在上述方案中,在安全芯片自检通过的情况下,安全芯片还需要判断可信模块PCR的基准值是否为预设值,并在PCR的基准值为预设值的情况下,再对度量对象进行度量计算,并将计算得到的第一可信值作为基准值保存;而如果PCR的基准值不为预设值,确定度量对象的度量策略未发生变动的情况下,由中央处理器CPU对度量对象进行完整性的验证。
在一种可选的实施例中,仍以TPCM为例,在度量对象为平台系统的情况下,TPCM首先进行自检,在自检通过的情况下,检测可信模块PCR中平台系统的基准值是否为预设值。假设出厂设置默认为空,即预设值为空,则可以检测可信模块PCR中平台系统的基准值是否为空,如果PCR中的基准值为空,则TPCM对平台系统进行度量计算,并将计算结果写入PCR的基准值;如果PCR中的基准值不为空,则进一步检测平台系统的度量策略是否发生变化,并在平台系统的度量策略未发生变化的情况下,由中央处理器CPU基于PCR中的基准值对平台系统的完整性进行验证。
需要说明的是,安全芯片会在设备首次启动时,确定度量对象的基准值。如果当可信模块PCR的基准值为预设值,则确定当前的度量对象为首次启动,因此,安全芯片对度量对象进行度量计算的结果可以作为第一可信值进行保存;而如果可信模块PCR的基准值不为预设值,则确定当前的度量对象并非首次启动,因此需要基于可信模块PCR中的基准值对度量对象的完整性进行验证,以保证度量对象此次启动的安全性。
还需要说明的是,当用户或代理进行指示时,度量策略会发生变化。在度量对象的度量策略发生变化时,如果仍采用当前PCR中的基准值对度量对象进行完整性验证,则验证结果必然是失败的,从而导致误报警,以及导致设备在正常状态下无法启动。因此,上述方案在确定PCR的基准值不为预设值的情况下,对度量对象的度量策略是否发生变化进行了判断,从而保证中央处理器CPU在对度量对象进行完整性验证时所使用的基准值为准确的基准值。
作为一种可选的实施例,在不为预设值的情况下,安全芯片如果判定针对度量对象的度量策略有变更,则进入安全芯片计算并保存度量对象的第一可信值的步骤。
在上述方案中,在PCR的基准值不为预设值的情况下,如果安全芯片判定度量对象的度量策略有变更,为了与新的度量策略向匹配,则需要重新确定基准值,因此安全芯片可以按照变更后的度量策略对度量对象进行度量计算,得到第一可信值,并作为基准值存储至PCR。
在一种可选的实施例中,仍以PCR和平台系统为例,如果TPCM检测到PCR中存在平台系统的基准值,但平台系统的度量策略发生了变更,则TPCM需要根据变更后的度量策略对平台系统进行度量计算,并将计算得到的第一可信值作为基准值存储在PCR中。在平台系统下次变更度量策略之前,中央处理器CPU均根据PCR中当前存储的基准值对平台系统进行完整性的验证。
作为一种可选的实施例中,在所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存之后,上述方法还包括:在设备启动之后,检测所述度量对象的风险参数;如果所述度量对象的风险参数大于预设风险参数阈值,则确定所述执行度量的主体为所述安全芯片;如果所述度量对象的风险参数小于或等于所述预设风险参数阈值,则确定所述执行度量的主体为所述中央处理器CPU。
在设备启动之后,可以根据预设的策略来确定对度量对象进行完整性度量的主体。在上述方案中,可以根据度量对象的风险参数来确定对度量对象进行完整性度量的执行主体。
具体的,度量对象的风险参数可以根据度量对象的属性信息来确定。例如,可以预先设置不同属性的度量对象所对应的风险参数,在进行度量时,可以根据度量对象的属性,在属性与风险参数的对应关系中查找度量对象的风险参数,从而可以将风险参数与预设风险参数阈值进行比对,并在度量对象具有高安全风险时,由安全芯片对其进行度量,在度量对象具有低安全风险时,由CPU对其进行度量。
作为一种可选的实施例中,在安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存之后,上述方法还包括:在设备启动的过程中,中央处理器CPU启动计算度量对象的第二可信值;安全芯片从可信模块PCR中调取当前的基准值;安全芯片通过比对度量对象的第二可信值和当前的基准值,来验证度量对象的完整性。
在上述步骤中,在设备启动的过程中,由安全芯片对度量对象进行完整性的验证,从而保证度量对象的安全启动。
需要说明的是,由于安全芯片用来进行完整性验证的基准值是由安全芯片对度量对象进行度量计算得到的,因此该基准值是可信的,又由于第二可信值的计算是由中央处理器CPU执行的,因此可以保证除首次启动后的启动均能快速进行。
作为一种可选的实施例,上述方法还包括:在验证度量对象的完整性通过的情况下,信任链下传或启动设备;在验证度量对象的完整性不通过的情况下,设备进入安全模式或禁止启动。
设备再启动过程中,各级按照预设的顺序进行信任链的传递。如果上一级的完整性验证通过,则将信任链的控制权交给下一级,对下一级的完整性进行验证,依次类推,直至所有的模块均通过完整性的验证。因此在当前的度量对象的完整性通过的情况下,信任链下传;如果当前的度量对象为最后一个度量对象,则当前的度量对象的完整性验证通过后,设备启动。
而信任链中的任意一个度量对象的完整性的验证不通过的情况下,该信任链无法继续向下传递,设备禁止启动或进入安全模块启动。
在一种可选的实施例中,以图2中的信任链为例,如果平台系统的完整性验证通过,则信任链下传至程序载入器,以此类推,直至对应用系统的完整性验证通过,设备启动。如果对平台系统的完整性验证失败,则进行报警或进入安全模式。
作为一种可选的实施例,中央处理器CPU通过比对度量对象的第二可信值和当前的基准值,来验证度量对象的完整性,包括:如果度量对象的第二可信值和当前的基准值相同,则确定验证度量对象的完整性通过;如果度量对象的第二可信值和当前的基准值不相同,则确定验证度量对象的完整性不通过。
具体的,对度量对象进行度量运算时,需要得到度量对象的一些信息,例如固件信息,文件的散列值等。度量对象的基准值是首次启动或度量策略变更后的首次启动时,由TPCM计算得到的度量值,因此该第一度量值是可信的。如果度量对象是安全的,则其信息不会发生变化,则CPU计算得到的第二度量值应该与可信的第一度量值相同,而如果度量对象受到过攻击,或文件被篡改,则CPU计算得到的第二度量值与第一度量值不同,因此在第二度量值与第一度量值不同的情况下,可以确定对度量对象的完整性的验证不通过。
作为一种可选的实施例,如果不为预设值,安全芯片如果判定针对度量对象的度量策略没有变更,启动中央处理器CPU度量度量对象的完整性,包括:中央处理器CPU调取可信模块PCR中预存的基准值;中央处理器CPU根据可信模块PCR中预存的基准值验证度量对象的完整性。
如果PCR中的基准值不为预设值,则确定度量对象的此次启动并非首次启动,在安全芯片判定针对度量对象的度量策略没有变更的情况下,由中央处理器根据PCR中预存的基准值对度量对象的完整性进行验证。
需要说明的是,由于中央处理器CPU用来进行完整性验证的基准值是由安全芯片对度量对象进行度量计算得到的,因此该基准值是可信的,又由于第二可信值的计算以及比对过程是由中央处理器CPU执行的,因此可以保证除首次启动后的启动均能快速进行。
作为一种可选的实施例,在安全芯片检测当前存储的可信模块PCR的基准值是否为预设值之后,上述方法还包括:安全芯片根据检测结果设置设备状标志位。
具体的,上述设备状态标志位用于确定PCE的基准值是否为预设值。
在一种可选的实施例中,如果检测到PCR为预设值,则可知设置设备标识状态S=0,如果检测到PCR不为预设值,则可以设置设备标识状态S=1,从而使得在下次检测时,可以直接根据设备状态标志位确定PCR是否为预设值。
作为一种可选的实施例,如果不为预设值,方法还包括:安全芯片判定针对度量对象的度量策略是否变更,其中,安全芯片判定针对度量对象的度量策略是否变更的步骤包括:安全芯片检测度量对象的策略状态位;安全芯片根据度量对象的策略状态位确定度量对象的度量策略是否变更。
具体的,上述策略状态位用于记录度量对象的度量策略的变化,每个度量对象均具有对应的策略状态位。
在一种可选的实施例中,策略状态位用于指示度量对象此次启动与度量对象第一次启动之间,策略是否发生变化,可设置度量对象的策略状态位Policy_s=0表示策略未变更,度量对象的策略状态位Policy_s=1表示为策略有变更。例如,当用户或代理指示度量策略发生变更时,度量策略变更事件被触发,Policy_s的值由0变更为1。当设备在度量策略变更后启动时,检测到Policy_s=1,则可以确定度量对象的度量策略发生了变化。
需要说明的是,在安全芯片检测到度量策略变更后,会计算度量对象的第一度量值,并将第一度量值作为基准值存入PCR,在PCR存入度量策略变更后的新的基准值后,即PCR中的基准值也变更后,将度量对象的策略状态为重新置为未变更,即Policy_s重新置0,并继续等待度量策略变更事件的触发。
作为一种可选的实施例,安全芯片为TPM或TPCM。
作为一种可选的实施例,平台系统包括设备的至少一个硬件。
图5是根据本申请实施例1的一种可选的获取安全启动的度量方法的流程图,结合图5所示,该方法包括如下步骤:
S51,设备启动。
上述步骤中,设备根据用户的触发进入启动的流程。
S52,可信模块安全自检。
S53,判断可信模块自检是否通过,如果自检通过,则进入步骤S54,否则进入步骤S54。
S54,判断可信模块检测NV空间中PCR值是否为预设值,如果判断结果为预设值,则进入步骤S55;否则进入步骤S56。
在上述步骤中,假设可信模块的PCR值出厂设置默认为预设值。如果PCR值为预设值,则说明此次启动为度量对象的首次启动,可信模块中还不存在度量对象的基准值;如果PCR不为预设值,则说明此次启动不为度量对象的首次启动,可信模块中已经存在度量对象的基准值。
S55,制设备状态标位为S=0。
S56,置设备状态标志位S=1。
S57,可信模块检测度量对象的策略是否有变更,如果检测结果为有变更,则进入步骤S58;否则进入步骤S510。
具体的,可设置度量对象的策略状态位Policy_s=0为策略未变更,度量对象的策略状态位Policy_s=1为策略有变更。
S58,可信模块度量计算度量对象hash值。
S59,可信模块保存度量对象hash值于可信模块PCR值中。
由于可信模块中的PCR值为预设值,因此将可信模块计算的hash值作为基准值存储在PCR值中。
S510,CPU计算度量对象hash值。
由于度量对象的PCR值不为预设值,且度量对象的度量策略也未发生变化,因此通过CPU对度量对象的完整性进行验证。
S511,CPU调用可信模块PCR基准值,验证比对度量对象完整性。
CPU调用可信模块计算得到的PCR基准值,与CPU计算得到的hash进行比对,从而对度量对象进行完整性的验证。
S512,判断比对验证是否通过,如果通过,则进入步骤S513;否则,进入步骤S514。
S513,信任链往下传或设备启动。
S514,报警,设备安全模式启动或禁止设备启动。
目前TPM和TPCM存在如下不足:无论是第一次启动,还是后续启动,TPM和TPCM在OSLoader之后的可信启动度量相关的计算均由CPU完成(需无条件相信CPU可信),因此存在校验基准值计算有误的可能,从而导致漏报误报的风险。无论是第一次启动,还是后续启动,TPCM将可信启动OS Loader之前度量计算由TPCM完成,虽然安全性有所提升,但度量计算能力不如CPU,这会影响到启动的速度。
本申请上述实施例引入设备启动状态及策略变更状态指标来决策度量主体是由可信模块完成还是由CPU完成,从而保证可信度量的校验基准值是正确的,也避免误报及漏报的风险,同时保证第一次设备启动之外的每次启动能快速安全启动。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述获取安全启动的度量方法的获取安全启动的度量装置,图6是根据本申请实施例2的一种获取安全启动的度量装置的示意图,如图6所示,该装置600包括:
计算模块602,用于安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统。
保存模块604,用于安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
此处需要说明的是,上述计算模块602和保存模块604对应于实施例1中的步骤S41至步骤S43,两级与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
作为一种可选的实施例,上述装置还包括:检测模块,用于在安全芯片计算度量对象的第一可信值之前,安全芯片检测当前存储的可信模块PCR的基准值是否为预设值,其中,所述预设值为设备首次启动时PCR的值;第一进入模块,用于如果为预设值,安全芯片进入计算并保存度量对象的第一可信值的步骤;启动模块,用于如果不为预设值,安全芯片如果判定针对度量对象的度量策略没有变更,启动中央处理器CPU度量对象的完整性。
作为一种可选的实施例,装置还包括:第二进入模块,用于在不为预设值的情况下,安全芯片如果判定针对度量对象的度量策略有变更,则进入安全芯片计算并保存度量对象的第一可信值的步骤。
作为一种可选的实施例,上述装置还包括:检测模块,用于在所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存之后,并在设备启动之后,检测所述度量对象的风险参数;第一确定模块,用于如果所述度量对象的风险参数大于预设风险参数阈值,则确定所述执行度量的主体为所述安全芯片;第二确定模块,用于如果所述度量对象的风险参数小于或等于所述预设风险参数阈值,则确定所述执行度量的主体为所述中央处理器CPU。
作为一种可选的实施例,上述装置还包括:第二可信值计算模块,用于在安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存之后,在设备启动的过程中,中央处理器CPU启动计算度量对象的第二可信值;调取模块,用于安全芯片从可信模块PCR中调取当前的基准值;验证模块,用于安全芯片通过比对度量对象的第二可信值和当前的基准值,来验证度量对象的完整性。
作为一种可选的实施例,上述方法还包括:下传模块,用于在验证度量对象的完整性通过的情况下,信任链下传或启动设备;禁止模块,用于在验证度量对象的完整性不通过的情况下,设备进入安全模式或禁止启动。
作为一种可选的实施例,验证模块包括:第三确定模块,用于如果度量对象的第二可信值和当前的基准值相同,则确定验证度量对象的完整性通过;第四确定模块,用于如果度量对象的第二可信值和当前的基准值不相同,则确定验证度量对象的完整性不通过。
作为一种可选的实施例,启动模块包括:调用子模块,用于中央处理器CPU调用可信模块PCR中预存的基准值;验证子模块,用于中央处理器CPU根据可信模块PCR中预存的基准值验证度量对象的完整性。
作为一种可选的实施例,上述装置还包括:设置模块,用于在安全芯片检测当前存储的可信模块PCR的基准值是否为预设值之后,安全芯片根据检测结果设置设备状态标志位。
作为一种可选的实施例,如果不为预设值,上述方法还包括:判定模块,用于安全芯片判定针对度量对象的度量策略是否变更,其中,判定模块包括:检测子模块,用于安全芯片检测度量对象策略状态位;确定子模块,用于安全芯片根据度量对象策略状态位确定度量对象的度量策略没有变更。
作为一种可选的实施例,安全芯片为TPM或TPCM。
作为一种可选的实施例,平台系统包括设备的至少一个硬件。
实施例3
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行获取安全启动的度量方法中以下步骤的程序代码:安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统;安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
可选地,图7是根据本发明实施例3的一种计算机终端的结构框图。如图7所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器702、存储器704、以及外设接口706。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的获取安全启动的度量方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的获取安全启动的度量方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统;安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
可选的,上述处理器还可以执行如下步骤的程序代码:在安全芯片计算度量对象的第一可信值之前,安全芯片检测当前存储的可信模块PCR的基准值是否为预设值,其中,所述预设值为设备首次启动时PCR的值;如果为预设值,安全芯片进入计算并保存度量对象的第一可信值的步骤;如果不为预设值,安全芯片如果判定针对度量对象的度量策略没有变更,启动中央处理器CPU度量度量对象的完整性。
可选的,上述处理器还可以执行如下步骤的程序代码:在不为预设值的情况下,安全芯片如果判定针对度量对象的度量策略有变更,则进入安全芯片计算并保存度量对象的第一可信值的步骤。
可选的,上述处理器还可以执行如下步骤的程序代码:在所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存之后,在设备启动之后,检测所述度量对象的风险参数;如果所述度量对象的风险参数大于预设风险参数阈值,则确定所述执行度量的主体为所述安全芯片;如果所述度量对象的风险参数小于或等于所述预设风险参数阈值,则确定所述执行度量的主体为所述中央处理器CPU。
可选的,上述处理器还可以执行如下步骤的程序代码:在安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存之后,在设备启动的过程中,中央处理器CPU启动计算度量对象的第二可信值;安全芯片从可信模块PCR中调取当前的基准值;安全芯片通过比对度量对象的第二可信值和当前的基准值,来验证度量对象的完整性。
可选的,上述处理器还可以执行如下步骤的程序代码:在验证度量对象的完整性不通过的情况下,设备进入安全模式或禁止启动。
可选的,上述处理器还可以执行如下步骤的程序代码:如果度量对象的第二可信值和当前的基准值相同,则确定验证度量对象的完整性通过;如果度量对象的第二可信值和当前的基准值不相同,则确定验证度量对象的完整性不通过。
可选的,上述处理器还可以执行如下步骤的程序代码:中央处理器CPU调取可信模块PCR中预存的基准值;中央处理器CPU根据可信模块PCR中预存的基准值验证度量对象的完整性。
可选的,上述处理器还可以执行如下步骤的程序代码:在安全芯片检测当前存储的可信模块PCR的基准值是否为预设值之后,安全芯片根据检测结果设置设备状态标志位。
可选的,上述处理器还可以执行如下步骤的程序代码:如果不为预设值,方法还包括:安全芯片判定针对度量对象的度量策略是否变更,其中,安全芯片判定针对度量对象的度量策略是否变更的步骤包括:安全芯片检测度量对象策略状态位;安全芯片根据度量对象策略状态位确定度量对象的度量策略没有变更。
可选的,安全芯片为TPM或TPCM。
可选的,平台系统包括设备的至少一个硬件。
采用本发明实施例,提供了一种获取安全启动的度量方法的方案。安全芯片在自检通过的情况下,计算度量对象的第一可信值,并将该第一可信值作为基准值存储在PCR中,中央处理器CPU根据该基准值对度量对象进行完整性待验证。由于对度量对象进行完整性验证的基准值是由自检通过的安全芯片计算得到的,因此保证了基准值的准确性。由此,本申请上述实施例解决了现有技术在可信计算中,为了保证设备的启动速度,度量等相关运算均由CPU执行,导致设备的安全性不足的技术问题。进一步地,由于完整性验证是由中央处理器CPU执行的,因此还可以保证设备的启动速度。
本领域普通技术人员可以理解,图7示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,计算机终端70还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图70所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的获取安全启动的度量方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:安全芯片自检通过的情况下,安全芯片计算度量对象的第一可信值,其中,度量对象包括如下至少之一:平台系统、操作系统和应用系统;安全芯片将计算得到的度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,可信模块PCR的基准值用于执行度量的主体验证度量对象的完整性,执行度量的主体包括:中央处理器CPU或安全芯片。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种获取安全启动的度量方法,其特征在于,包括:
安全芯片自检通过的情况下,所述安全芯片计算度量对象的第一可信值,其中,所述度量对象包括如下至少之一:平台系统、操作系统和应用系统;
所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,所述可信模块PCR的基准值用于执行度量的主体验证所述度量对象的完整性,所述执行度量的主体包括:中央处理器CPU或所述安全芯片。
2.根据权利要求1所述的方法,其特征在于,在所述安全芯片计算度量对象的第一可信值之前,所述方法还包括:
所述安全芯片检测当前存储的所述可信模块PCR的基准值是否为预设值,其中,所述预设值为设备首次启动时所述PCR的值;
如果为所述预设值,所述安全芯片进入计算并保存所述度量对象的第一可信值的步骤;
如果不为所述预设值,所述安全芯片如果判定针对所述度量对象的度量策略没有变更,启动所述中央处理器CPU度量所述度量对象的完整性。
3.根据权利要求2所述的方法,其特征在于,在不为所述预设值的情况下,所述安全芯片如果判定针对所述度量对象的度量策略有变更,则进入所述安全芯片计算并保存所述度量对象的第一可信值的步骤。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,在所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存之后,所述方法还包括:
在设备启动之后,检测所述度量对象的风险参数;
如果所述度量对象的风险参数大于预设风险参数阈值,则确定所述执行度量的主体为所述安全芯片;
如果所述度量对象的风险参数小于或等于所述预设风险参数阈值,则确定所述执行度量的主体为所述中央处理器CPU。
5.根据权利要求1至3中任意一项所述的方法,其特征在于,在所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存之后,所述方法还包括:
在设备启动的过程中,所述中央处理器CPU启动计算所述度量对象的第二可信值;
所述安全芯片从所述可信模块PCR中调取当前的基准值;
所述安全芯片通过比对所述度量对象的第二可信值和所述当前的基准值,来验证所述度量对象的完整性。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在验证所述度量对象的完整性通过的情况下,信任链下传或启动设备;
在验证所述度量对象的完整性不通过的情况下,所述设备进入安全模式或禁止启动。
7.根据权利要求5所述的方法,其特征在于,所述安全芯片通过比对所述度量对象的第二可信值和所述当前的基准值,来验证所述度量对象的完整性,包括:
如果所述度量对象的第二可信值和所述当前的基准值相同,则确定验证所述度量对象的完整性通过;
如果所述度量对象的第二可信值和所述当前的基准值不相同,则确定验证所述度量对象的完整性不通过。
8.根据权利要求2所述的方法,其特征在于,如果不为预设值,所述安全芯片如果判定针对所述度量对象的度量策略没有变更,启动所述中央处理器CPU度量所述度量对象的完整性,包括:
所述中央处理器CPU调取所述可信模块PCR中预存的基准值;
所述中央处理器CPU根据所述可信模块PCR中预存的基准值验证所述度量对象的完整性。
9.根据权利要求2所述的方法,其特征在于,在所述安全芯片检测当前存储的所述可信模块PCR的基准值是否为预设值之后,所述方法还包括:
所述安全芯片根据检测结果设置设备状态标志位。
10.根据权利要求2所述的方法,其特征在于,如果不为预设值,所述方法还包括:所述安全芯片判定针对所述度量对象的度量策略是否变更,其中,所述安全芯片判定针对所述度量对象的度量策略是否变更的步骤包括:
所述安全芯片检测所述度量对象的策略状态位;
所述安全芯片根据所述度量对象的策略状态位确定所述度量对象的度量策略是否变更。
11.根据权利要求1所述的方法,其特征在于,所述安全芯片为TPM或TPCM。
12.根据权利要求1所述的方法,其特征在于,所述平台系统包括设备的至少一个硬件。
13.一种获取安全启动的度量装置,其特征在于,包括:
计算模块,用于安全芯片自检通过的情况下,所述安全芯片计算度量对象的第一可信值,其中,所述度量对象包括如下至少之一:平台系统、操作系统和应用系统;
保存模块,用于所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,所述可信模块PCR的基准值用于执行度量的主体验证所述度量对象的完整性,所述执行度量的主体包括:中央处理器CPU或所述安全芯片。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如下步骤:安全芯片自检通过的情况下,所述安全芯片计算度量对象的第一可信值,其中,所述度量对象包括如下至少之一:平台系统、操作系统和应用系统;所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,所述可信模块PCR的基准值用于执行度量的主体验证所述度量对象的完整性,所述执行度量的主体包括:中央处理器CPU或所述安全芯片。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如下步骤:安全芯片自检通过的情况下,所述安全芯片计算度量对象的第一可信值,其中,所述度量对象包括如下至少之一:平台系统、操作系统和应用系统;
所述安全芯片将计算得到的所述度量对象的第一可信值作为可信模块PCR的基准值进行保存,其中,所述可信模块PCR的基准值用于执行度量的主体验证所述度量对象的完整性,所述执行度量的主体包括:中央处理器CPU或所述安全芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910161668.7A CN111651769B (zh) | 2019-03-04 | 2019-03-04 | 获取安全启动的度量方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910161668.7A CN111651769B (zh) | 2019-03-04 | 2019-03-04 | 获取安全启动的度量方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651769A true CN111651769A (zh) | 2020-09-11 |
CN111651769B CN111651769B (zh) | 2023-05-09 |
Family
ID=72344449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910161668.7A Active CN111651769B (zh) | 2019-03-04 | 2019-03-04 | 获取安全启动的度量方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651769B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199682A (zh) * | 2020-11-03 | 2021-01-08 | 上海思赞博微信息科技有限公司 | 一种基于可信计算的白名单库文件保护方法 |
CN114428963A (zh) * | 2022-04-06 | 2022-05-03 | 浪潮(山东)计算机科技有限公司 | 一种服务器启动方法、装置、设备及存储介质 |
WO2023179745A1 (zh) * | 2022-03-24 | 2023-09-28 | 华为技术有限公司 | 可信验证方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038556A (zh) * | 2007-04-30 | 2007-09-19 | 中国科学院软件研究所 | 可信引导方法及其系统 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
WO2015090196A1 (zh) * | 2013-12-18 | 2015-06-25 | 国家电网公司 | 一种在配电终端中建立可信环境的方法 |
CN105205401A (zh) * | 2015-09-30 | 2015-12-30 | 中国人民解放军信息工程大学 | 基于安全密码芯片的可信计算机系统及其可信引导方法 |
CN106127057A (zh) * | 2016-06-23 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种基于tpm构建可信启动控制的方法 |
WO2017133559A1 (zh) * | 2016-02-05 | 2017-08-10 | 中兴通讯股份有限公司 | 安全启动方法及装置 |
-
2019
- 2019-03-04 CN CN201910161668.7A patent/CN111651769B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038556A (zh) * | 2007-04-30 | 2007-09-19 | 中国科学院软件研究所 | 可信引导方法及其系统 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
WO2015090196A1 (zh) * | 2013-12-18 | 2015-06-25 | 国家电网公司 | 一种在配电终端中建立可信环境的方法 |
CN105205401A (zh) * | 2015-09-30 | 2015-12-30 | 中国人民解放军信息工程大学 | 基于安全密码芯片的可信计算机系统及其可信引导方法 |
WO2017133559A1 (zh) * | 2016-02-05 | 2017-08-10 | 中兴通讯股份有限公司 | 安全启动方法及装置 |
CN106127057A (zh) * | 2016-06-23 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种基于tpm构建可信启动控制的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199682A (zh) * | 2020-11-03 | 2021-01-08 | 上海思赞博微信息科技有限公司 | 一种基于可信计算的白名单库文件保护方法 |
CN112199682B (zh) * | 2020-11-03 | 2022-08-02 | 上海思赞博微信息科技有限公司 | 一种基于可信计算的白名单库文件保护方法 |
WO2023179745A1 (zh) * | 2022-03-24 | 2023-09-28 | 华为技术有限公司 | 可信验证方法及装置 |
CN114428963A (zh) * | 2022-04-06 | 2022-05-03 | 浪潮(山东)计算机科技有限公司 | 一种服务器启动方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111651769B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492378B (zh) | 一种基于设备识别码的身份验证方法、服务器及介质 | |
CN111259401B (zh) | 可信度量方法、装置、系统、存储介质及计算机设备 | |
KR20160130790A (ko) | 신뢰 커널 시작 방법 및 장치 | |
US11379586B2 (en) | Measurement methods, devices and systems based on trusted high-speed encryption card | |
CN111158767A (zh) | 基于bmc的服务器安全启动方法及装置 | |
US20090125716A1 (en) | Computer initialization for secure kernel | |
CN110875819B (zh) | 密码运算处理方法、装置及系统 | |
TW201935234A (zh) | Bios刷寫方法及bios鏡像檔案的處理方法 | |
CN111651769A (zh) | 获取安全启动的度量方法和装置 | |
CN110334515B (zh) | 一种基于可信计算平台生成度量报告的方法及装置 | |
US9928367B2 (en) | Runtime verification | |
CN110674494B (zh) | 进程的保护方法、系统及数据处理方法 | |
WO2022028057A1 (zh) | 一种基于tpm服务器资产信息多层保护的装置及方法 | |
EP3185166B1 (en) | Trusted metric method and device | |
EP4184367A1 (en) | Integrity measurement method and integrity measurement device | |
CN111967016B (zh) | 基板管理控制器的动态监控方法及基板管理控制器 | |
CN113806811A (zh) | 一种被篡改固件自动恢复方法、装置及存储介质 | |
CN113448681B (zh) | 一种虚拟机监控器公钥的注册方法、设备和存储介质 | |
CN115618360A (zh) | 一种服务器防篡改安全启动方法及装置 | |
CN111858114B (zh) | 设备启动异常处理,设备启动控制方法、装置及系统 | |
US20200244461A1 (en) | Data Processing Method and Apparatus | |
CN110781517B (zh) | 一种bios与bmc沟通实现数据交互的方法 | |
CN111625831B (zh) | 可信安全的度量方法和装置 | |
CN111332149A (zh) | 一种充电控制系统及其启动控制和充电控制方法 | |
CN111814205B (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 |