CN112000935B - 远程认证方法、装置、***、存储介质及计算机设备 - Google Patents
远程认证方法、装置、***、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN112000935B CN112000935B CN201910447430.0A CN201910447430A CN112000935B CN 112000935 B CN112000935 B CN 112000935B CN 201910447430 A CN201910447430 A CN 201910447430A CN 112000935 B CN112000935 B CN 112000935B
- Authority
- CN
- China
- Prior art keywords
- pcr value
- value
- current
- platform system
- trusted platform
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 173
- 230000008569 process Effects 0.000 claims abstract description 98
- 238000005259 measurement Methods 0.000 claims abstract description 71
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 10
- 230000005540 biological transmission Effects 0.000 description 17
- 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 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 101100217298 Mus musculus Aspm gene Proteins 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
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000003752 polymerase chain 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/305—Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
-
- 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/44—Program or device 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种远程认证方法、装置、***、存储介质及计算机设备。其中,该方法包括:将当前平台配置寄存器PCR值与远程认证方存储的基准PCR值进行比对,其中,当前PCR值为可信平台***当前启动过程的度量值;在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,得到比对结果,其中,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;根据比对结果,确定对可信平台***的证明结果。本发明解决了相关技术在对可信平台***进行认证时,存在认证误报和漏报的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种远程认证方法、装置、***、存储介质及计算机设备。
背景技术
可信计算是在计算和通信***中使用基于硬件安全模块支持下的计算,以提高***整体的安全性。可信计算基于国际可信计算组(Trusted Computing Group,简称为TCG)/可信平台模块(Trusted Platform Model,简称为TPM)的可信标准完成。TCG/TPM可信标准是:以TPM为可信根,***启动时逐级对***所包括的设备或者应用进行度量,所有的度量值,均被忠实地记录在TPM硬件内部的平台配置寄存器(Platform ConfigurationRegisters,简称为 PCR)中。
可信远程认证,即是指可信平台***(或称为本地的可信服务器)将记录在自身TPM内部的PCR值,忠实地报告给远程认证方(Challenger),由远程认证方通过和正确的PCR基准值(Refrerence PCR)进行比较,如和基准值相等,则远程认证通过,可信服务器是可信的;如不等,则远程认证失败,说明可信服务器TPM内部记录的PCR值不对,也就是指,可信服务器在***启动环节中被度量的模块被人篡改过,可信服务器是不可信。(远程认证方Challenger通常是专用的认证中心,一个认证中心可以管理很多个可信服务器的远程认证)。
在远程认证的过程中,远程认证方(Challenger)的PCR基准值是保存在远程认证方自身的,而可信服务器的PCR值是保存在可信服务器自身的TPM中的。当PCR基准值需要更新时(也包括首次的PCR基准值生成),远程认证方实际上是不知道正确的基准值是什么;它需要可信服务器将当前的PCR值上报给远程认证方,而远程认证方将此时上报的PCR值,作为PCR基准值保存:通常,可信服务器第一次启动一般假定是可信的,并将此时的PCR值作为基准值上报给远程认证方。
可信服务器的PCR基准值是需要更新的,例如,需要更新的情况有:BIOS更新、OS装载器(bootloader)更新、OS更新、平台硬件更新等等。此时,均需要可信服务器将更新后的PCR上报给远程认证方,由远程认证方作为新的PCR基准值保存。在新的PCR基准值尚未保存在远程认证方时,有两种情况发生:如果此时仍然使用旧的PCR基准值,那么其它合法的服务器远程认证请求,由于与旧PCR基准值不符,会被判定为不合法,这就产生了误报;如果此时停用旧的PCR基准值,那么其它不合法的服务器远程认证请求,由于无PCR基准值可以用来比较,不能判定为不合法,这就产生了漏报。因此,在相关技术在对可信平台***进行认证时,存在认证误报和漏报的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种远程认证方法、装置、***、存储介质及计算机设备,以至少解决相关技术在对可信平台***进行认证时,存在认证误报和漏报的技术问题。
根据本发明实施例的一个方面,提供了一种远程认证方法,包括:将当前平台配置寄存器PCR值与远程认证方存储的基准PCR值进行比对,其中,所述当前PCR值为可信平台***当前启动过程的度量值;在所述当前PCR值与所述基准PCR值不一致的情况下,将上一次PCR值与所述基准PCR值进行比对,得到比对结果,其中,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;根据所述比对结果,确定对所述可信平台***的证明结果。
根据本发明实施例的另一方面,还提供了一种远程认证方法,包括:读取可信平台***存储的当前平台配置寄存器PCR值,以及上一次PCR值,其中,所述当前PCR值为可信平台***当前启动过程的度量值,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;将所述当前PCR值和所述上一次PCR值上报给远程认证方;接收到所述远程认证方反馈的证明结果。
根据本发明实施例的还一方面,还提供了一种远程认证方法,包括:可信平台***读取当前平台配置寄存器PCR值,以及上一次PCR值,其中,所述当前PCR值为所述可信平台***当前启动过程的度量值,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;所述可信平台***将所述当前PCR值和所述上一次PCR值上报给远程认证方;所述远程认证方将所述当前PCR值与远程认证方存储的基准PCR值进行比对,在所述当前PCR值与所述基准PCR值不一致的情况下,将上一次PCR值与所述基准PCR值进行比对,确定对所述可信平台***的证明结果。
根据本发明实施例的一方面,还提供了一种远程认证装置,包括:第一比对模块,用于将当前平台配置寄存器PCR值与远程认证方存储的基准PCR值进行比对,其中,所述当前PCR值为可信平台***当前启动过程的度量值;第二比对模块,用于在所述当前PCR值与所述基准PCR值不一致的情况下,将上一次PCR值与所述基准PCR值进行比对,得到比对结果,其中,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;确定模块,用于根据所述比对结果,确定对所述可信平台***的证明结果。
根据本发明实施例的另一方面,还提供了一种远程认证装置,包括:读取模块,用于读取可信平台***存储的当前平台配置寄存器PCR值,以及上一次PCR值,其中,所述当前PCR值为可信平台***当前启动过程的度量值,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;上报模块,用于将所述当前PCR值和所述上一次PCR值上报给远程认证方;接收模块,用于接收到所述远程认证方反馈的证明结果。
根据本发明实施例的还一方面,还提供了一种远程认证***,包括:可信平台***和远程认证方,其中,所述可信平台***,用于读取当前平台配置寄存器PCR值,以及上一次PCR值,并将所述当前PCR值和所述上一次PCR值上报给所述远程认证方,其中,所述当前PCR值为所述可信平台***当前启动过程的度量值,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;所述远程认证方,用于将所述当前PCR值与远程认证方存储的基准PCR值进行比对,确定对所述可信平台***的证明结果。
根据本发明实施例的一方面,还提供了一种存储介质,所述存储介质存储有程序,其中,在所述程序被处理器运行时控制所述处理器执行上述任意一项所述的远程认证方法。
根据本发明实施例的另一方面,还提供了一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序;所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行上述任意一项所述的远程认证方法。
在本发明实施例中,采用依据当前PCR值以及上一次PCR值的方式,通过将当前PCR值以及上一次PCR值分别与基准PCR值进行比较,达到了能够确定基准PCR值是否更新及时的目的,从而实现了能够准确对可信平台***进行认证,避免误报和漏报的技术效果,进而解决了相关技术在对可信平台***进行认证时,存在认证误报和漏报的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现远程认证方法的计算机终端的硬件结构框图;
图2是本发明实施例所基于的TCG/TPM可信标准的信任链传递流程图;
图3是本发明实施例所基于的TPM远程认证的简单流程图;
图4是根据本发明实施例1的远程认证方法一的流程图;
图5是根据本发明实施例1的远程认证方法二的流程图;
图6是根据本发明实施例1的远程认证方法三的流程图;
图7是根据本发明优选实施方式的双PCR值上报的可信远程认证的流程图;
图8是根据本发明优选实施方式的可信基准值更新的流程图;
图9是根据本发明实施例的远程认证装置一的结构框图;
图10是根据本发明实施例的远程认证装置二的结构框图;
图11是根据本发明实施例的远程认证***的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
可信计算(Trusted Computing): 国际可信计算组(Trusted Computing Group,简称为TCG)开发和推广的技术,在计算和通信***中使用基于硬件安全模块支持下的可信计算平台,以提高***整体的安全性。使用可信计算,计算机将一直以预期的方式运行,这些行为将由计算机硬件和程序共同保证,通过使用***其余部分无法访问的硬件安全模块来实现此行为。
可信平台模块(TPM, Trusted Platform Model): TPM是一种安全密码处理器的国际标准,由TCG撰写,通过专门的微控制器将加密密钥集成到设备中来保护硬件。TPM安全芯片是指符合TPM标准的安全芯片,一般通过物理方式被强绑定到计算平台,它能有效地保护PC、防止非法用户访问。
可信平台控制模块(TPCM, Trusted Platform Control Model): TPCM作为中国国内自主可控的可信节点植入可信源根,在TPM基础上加以信任根控制功能,实现了以密码为基础的主动控制和度量;TPCM先于CPU启动并对BIOS进行验证,由此改变了TPM作为被动设备的传统思路,实现了TPCM对整个平台的主动控制。
PCR(Platform Configuration Registers): 由可信安全芯片提供的非永久性安全存储空间。用于存放度量扩展值,向外证明平台完整性,同时可用于证明度量日志的完整性。
实施例1
根据本发明实施例,还提供了一种远程认证方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现远程认证方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:传输模块、显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的远程认证方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的远程认证方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述传输模块用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在相关技术中,TPM/TPCM的现有远程认证机制中,平台完整性(PCR值)的基准值需要保存在远程认证服务器中,本地机器(可信服务器)将自身的平台完整性(PCR值)报告给远程认证方(远程认证服务器),然后由远程认证方将本地机器的报告值同基准值进行比较,来证明本地机器的平台完整性是否合法并给出告警。如何在远程认证方上同步实现平台完整性的基准值更新,减少远程认证的误报与漏报,是需要考虑的关键问题之一。
在上述运行环境下,本发明实施例提供一种远程认证方法,该远程认证方法可以基于以下的认证流程进行,需要说明的是,以下认证流程仅为一种举例,并不限于此。
图2是本发明实施例所基于的TCG/TPM可信标准的信任链传递流程图,如图2所示,TCG/TPM可信标准是:以TPM为可信根,***启动时逐级对***所包括的设备或者应用进行度量,***启动时由基本输入输出***(Base Input Output System,简称为BIOS)中的可信度量根开始,度量BIOS初始引导模块,接着由BIOS初始引导模块度量BIOS主引导模块,BIOS主引导模块度量BIOS其余部分及操作***(Operation System,简称为OS)装载器,之后由OS装载器对OS内核进行度量,以此类推,从而最终完成从起点到应用、网络的信任传递过程。所有的度量值,均被忠实地记录在TPM硬件内部的平台配置寄存器(PlatformConfiguration Registers,简称为 PCR)中。
图3是本发明实施例所基于的TPM远程认证的简单流程图,如图3所示,该流程包括:
1. 远程认证方(Challenger)使用随机数生产器RNG,生成随机数Nonce,并发送到可信平台*** (Trusted Platform)。
2. 可信平台***收到随机数Nonce后,读取存放在TPM中的PCR值,计算Nonce+PCR的Hash值;用TPM的签名密钥(Signature Key)加签该Hash值(调用TPM_Quote指令即可),并发送回远程认证方。
3. 远程认证方计算Nonce+PCR基准值(Reference PCR)的Hash值(ReferenceHash),此处的PCR基准值事先需要保存在远程认证方;同时,远程认证方使用可信平台***的TPM签名公钥,验签可信平台***的Hash值;最后,比较Reference Hash与Hash是否相等,以此来判断可信平台***是否合法。
基于上述信任链传递及认证流程,在本发明实施例中提供了如图4所示的远程认证方法。图4是根据本发明实施例1的远程认证方法一的流程图,如图4所示,该流程包括如下步骤:
步骤S402,将当前平台配置寄存器PCR值与远程认证方存储的基准PCR值进行比对,其中,当前PCR值为可信平台***当前启动过程的度量值;
作为一种可选的实施例,执行主体可以是远程认证方。该远程认证方可以是服务器、台式机等。该远程认证方可以是专用的认证中心,其中,一个认证中心可以管理很多个可信平台***的远程认证。
作为一种可选的实施例,当前PCR值可以为可信平台***当前启动过程的所有度量值,也可以为可信平台***当前启动过程的部分度量值,还可以是平台***当前启动过程的指定的一些度量值。
作为一种可选的实施例,将当前PCR值与远程认证方存储的基准PCR值进行比对时,可以采用多种方式,例如,可以直接将该当前PCR值与远程认证方存储的基准PCR值进行比对,从而直接获得比对结果。但当前PCR值一般存储于可信平台***本地,而基准PCR值一般存储于远程认证方,因此,在远程认证方进行认证时,需要当前PCR值由可信平台***传输至远程认证方。采用直接传输当前PCR值的方式,可能会造成PCR值的不安全。因此,在本实施例中,提供了一种对当前PCR值采用预定的算法进行运算,将该当前PCR值存储于对应的运算结果中,通过传输运算结果实现当前PCR值的安全传输。
作为一种可选的实施例,对当前PCR值进行运算时,可以采用多种方式,例如,可以采用哈希运算。当对当前PCR值进行哈希运算时,可以依据运算得到的哈希运算结果来对当前PCR值与基准PCR值进行比对。举例来说,将当前PCR值与远程认证方存储的基准PCR值进行比对可以包括:将当前哈希值与基准哈希值进行比对,其中,当前哈希值依据随机数与当前PCR值运算得到,基准哈希值依据随机数与基准PCR值运算得到;在当前哈希值与基准哈希值相等的情况下,确定当前PCR值与基准PCR值一致;和/或,在当前哈希值与基准哈希值不相等的情况下,确定当前PCR值与基准PCR值不一致。
步骤S404,在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,得到比对结果,其中,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;
作为一种可选的实施例,基于与上述当前PCR值与远程认证方存储的基准PCR值比对情况类似,将上一次PCR值与基准PCR值进行比对时,也可以对上一次PCR值进行哈希运算时,依据运算得到的哈希运算结果来对当前PCR值与基准PCR值进行比对。举例来说,将上一次PCR值与基准PCR值进行比对可以包括:将上一次哈希值与基准哈希值进行比对,其中,上一次哈希值依据随机数与上一次PCR值运算得到;在上一次哈希值与基准哈希值相等的情况下,确定上一次PCR值与基准PCR值一致;和/或,在上一次哈希值与基准哈希值不相等的情况下,确定上一次PCR值与基准PCR值不一致。
作为一种可选的实施例,在对当前PCR值进行哈希运算以及对上一次PCR值进行哈希运算时,可以采用不同的运算方式,例如,简单地,可以直接将当前PCR值与一个随机数进行相加,得到作为当前摘要值的运算结果;也可以直接将上一次PCR值与该随机数进行相加,得到作为上一次摘要值的运算结果。其中,该随机数可以由远程认证方使用随机数生成器生成随机数,并将随机数发送给可信平台***。
步骤S406,根据比对结果,确定对可信平台***的证明结果。
作为一种可选的实施例,根据比对结果,确定对可信平台***的证明结果时,可以包括多种,例如,在当前PCR值与基准PCR值不一致,而上一次PCR值也与基准PCR值一致的情况下,确定在远程认证方存储的基准PCR值没有及时更新,还是使用的是可信平台***上一次启动时的度量值,因此,确定基准PCR值需要更新,并确定可信平台***合法。
作为一种可选的实施例,在确定基准PCR值需要更新之后,还可以包括:获取当前PCR值;将当前PCR值替换基准PCR值存储在远程认证方。即从可信平台***获取最新的***启动时的度量值:当前PCR值,并将该当前PCR值作为更新后的PCR值用于更新远程认证方存储的旧的基准PCR值,使得基准值及时得到更新,便于后续的可信认证。
作为一种可选的实施例,为保证获取当前PCR值过程的安全,在获取当前PCR值时,可以先对当前PCR值进行加密,而后传输加密的当前PCR值,例如,接收可信平台***发送的密文,其中,密文由会话密钥对当前PCR值进行加密获得;采用会话密钥对密文进行解密,得到当前PCR。
作为一种可选的实施例,为进一步保证当前PCR值传输的安全,还可以对用于对当前PCR值进行加密的会话密钥进行加密,例如,先是由权威的远程认证方生成会话密钥,并采用可信平台***的签名公钥对会话密钥进行加密,获得密钥密文;将密钥密文发送给可信平台***,其中,可信平台***对密钥密文采用可信平台***的签名私钥进行解密得到会话密钥。
作为一种可选的实施例,在将当前PCR值与远程认证方存储的基准PCR值进行比对之后,在当前PCR值与基准PCR值一致的情况下,确定可信平台***合法。针对这种情况:前PCR值与基准PCR值一致,不仅能够确定可信平台***合法,而且可以确定在远程认证方存储的基准PCR值也是最新的,即基准PCR值的更新是及时的。
作为一种可选的实施例,在上一次PCR值与基准PCR值不一致的情况下,确定可信平台***不合法。即在当前PCR值与基准PCR值不一致,并且上一次PCR值与基准PCR值也不一致的情况下,确定可信平台***是被篡改过的,是不合法的,是不安全的。
作为一种可选的实施例,为了进一步地实现当前PCR值以及上一次PCR值的安全,可以对当前PCR值进行哈希运算得到的当前哈希值,以及对上一次PCR值进行哈希运算得到的上一次哈希值分别进行加密传输。例如,对于远程认证方而言,可以接收到可信平台***发送的当前签名文件和上一次签名文件,其中,当前签名文件由可信平台的签名私钥对当前哈希值进行加密签名操作得到,上一次签名文件由签名私钥对上一次哈希值进行加密签名操作得到;采用可信平台***的签名公钥对当前签名文件进行解密验签操作,得到当前哈希值,采用签名公钥对上一次签名文件进行解密验签操作,得到上一次哈希值。先对PCR值进行哈希运算得到当前哈希值,对上一次PCR值进行哈希运算得到上一次哈希值;之后再对当前哈希值进行加密,对上一次哈希值进行加密;将加密后的当前哈希值以及加密后的上一次哈希值传输给远程认证方,相当于采用了双层的保护,确保了传输的安全,保证了***的可信。
在本发明实施例中,针对远程认证方一侧而言,采用双PCR上报机制,新增基准值更新***,不仅能够解决相关技术中的TPM/TPCM的远程认证,无法有效地避免误报与漏报的问题,而且能够实现:当可信平台***当前启动的PCR值与基准PCR值不符时,额外比较上一次启动的上一次PCR值与基准PCR值,可以减少误报的发生;当前PCR基准值不准确时,及时更新新的基准值,可以减少漏报的发生。
图5是根据本发明实施例1的远程认证方法二的流程图,如图5所示,该流程包括如下步骤:
步骤S502,读取可信平台***存储的当前平台配置寄存器PCR值,以及上一次PCR值,其中,当前PCR值为可信平台***当前启动过程的度量值,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;
作为一种可选的实施例,执行主体可以是可信平台***。该可信平台***可以是服务器、台式机等。该可信平台***可以包括多个硬件设备和软件应用,在该可信平台***启动时,对***所包括的多个硬件设备和软件应用进行度量得到度量值,并将得到的度量值存储在平台配置寄存器PCR中,存储于该PCR中的值称为PCR值。
作为一种可选的实施例,当前PCR值可以为可信平台***当前启动过程的所有度量值,也可以为可信平台***当前启动过程的部分度量值,还可以是平台***当前启动过程的指定的一些度量值。上一次PCR值可以为可信平台***上一次启动过程的所有度量值,也可以为可信平台***上一次启动过程的部分度量值,还可以是平台***上一次启动过程的指定的一些度量值。
步骤S504,将当前PCR值和上一次PCR值上报给远程认证方;
作为一种可选的实施例,采用直接传输当前PCR值和上一次PCR值的方式,可能会造成当前PCR值和上一次PCR值的不安全。因此,在本实施例中,提供了一种对当前PCR值和上一次PCR值采用预定的算法进行运算,将该当前PCR值和上一次PCR值存储于对应的运算结果中,通过传输运算结果实现当前PCR值和上一次PCR值的安全传输。例如,对当前PCR值和上一次PCR值进行运算时,可选地,可以进行哈希运算。因此,可以通过上报当前哈希值和上一次哈希值的方式,将当前PCR值和上一次PCR值上报给远程认证方,其中,当前哈希值依据随机数与当前PCR值运算得到,上一次哈希值依据随机数与上一次PCR值运算得到。
作为一种可选的实施例,为保证当前PCR值和上一次PCR值的传输安全,同时双层保护当前PCR值和上一次PCR值的安全,还可以对得到的当前哈希值和上一次哈希值进行加密传输。举例来说,可以通过将当前签名文件和上一次签名文件发送给远程认证方的方式,将当前哈希值和上一次哈希值上报给远程认证方,其中,当前签名文件由可信平台的签名私钥对当前哈希值进行加密签名操作得到,上一次签名文件由签名私钥对上一次哈希值进行加密签名操作得到。
步骤S506,接收到远程认证方反馈的证明结果。
作为一种可选的实施例,接收到远程认证方反馈的证明结果包括以下至少之一:,当前PCR值与远程认证方存储的基准PCR值不一致,并且上一次PCR值与基准PCR值一致, 基准PCR值需要更新,可信平台***合法;当前PCR值与基准PCR值一致,可信平台***合法,在这种情况下,在远程认证方存储的基准PCR值是进行过及时更新的,是可信的;上一次PCR值与基准PCR值不一致,可信平台***不合法,在这种情况下,可信平台***可能是经过篡改的,是不合法的。
作为一种可选的实施例,在接收到远程认证方反馈的证明结果为基准PCR值需要更新时,可以及时获取可信平台***当前启动过程中的当前PCR值,并将该最新的PCR值发送给远程认证方。在将当前PCR值发送给远程认证方时,为保证当前PCR值传输的安全,采用会话密钥对当前PCR值进行加密,得到密文;将密文发送给远程认证方,以使远程认证方采用会话密钥对密文进行解密,得到当前PCR,以及将当前PCR替换远程认证方存储的基准PCR值。
作为一种可选的实施例,为进一步保证传输的安全,可以先接收远程认证方发送的密钥密文,其中,密钥密文采用可信平台***的签名公钥对会话密钥进行加密获得;采用可信平台***的签名私钥对密钥密文进行解密得到会话密钥。采用对用于对当前PCR值进行加密的会话密钥进行加密,采用双重加密的方式,最终保证当前PCR值传输的安全。
在本发明实施例中,从可信平台***一侧来说,采用双PCR上报机制,新增基准值更新***,不仅能够解决相关技术中的TPM/TPCM的远程认证,无法有效地避免误报与漏报的问题,而且能够实现:当可信平台***当前启动的PCR值与基准PCR值不符时,额外比较上一次启动的上一次PCR值与基准PCR值,可以减少误报的发生;当前PCR基准值不准确时,及时更新新的基准值,可以减少漏报的发生。
图6是根据本发明实施例1的远程认证方法三的流程图,如图6所示,该流程包括如下步骤:
步骤S602,可信平台***读取当前平台配置寄存器PCR值,以及上一次PCR值,其中,当前PCR值为可信平台***当前启动过程的度量值,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;
作为一种可选的实施例,当前PCR值可以为可信平台***当前启动过程的所有度量值,也可以为可信平台***当前启动过程的部分度量值,还可以是平台***当前启动过程的指定的一些度量值。上一次PCR值可以为可信平台***上一次启动过程的所有度量值,也可以为可信平台***上一次启动过程的部分度量值,还可以是平台***上一次启动过程的指定的一些度量值。
步骤S604,可信平台***将当前PCR值和上一次PCR值上报给远程认证方;
步骤S606,远程认证方将当前PCR值与远程认证方存储的基准PCR值进行比对,在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,确定对可信平台***的证明结果。
作为一种可选的实施例,远程认证方还可以在将当前PCR值与远程认证方存储的基准PCR值进行比对之后,确定对可信平台***的证明结果可以包括多种,例如,在上一次PCR值与基准PCR值一致的情况下,确定对可信平台***的证明结果为:基准PCR值需要更新,并确定可信平台***合法,并将确定的证明结果反馈给可信平台***;在当前PCR值与基准PCR值一致的情况下,确定对可信平台***的证明结果为:可信平台***合法,并将确定的证明结果反馈给可信平台***;远程认证方在将当前PCR值与远程认证方存储的基准PCR值进行比对之后,在上一次PCR值与基准PCR值不一致的情况下,确定对可信平台***的证明结果为:可信平台***不合法,并将确定的证明结果反馈给可信平台***。
作为一种可选的实施例,在可信平台***读取当前平台配置寄存器PCR值,以及上一次PCR值之前,远程认证方生成随机数,并将生成的随机数发送给可信平台***,以触发对可信平台***的认证。
作为一种可选的实施例,可信平台***将当前PCR值和上一次PCR值上报给远程认证方可以包括:可信平台***依据随机数和当前PCR值进行运算得到当前哈希值,依据随机数和上一次PCR值进行运算得到上一次哈希值;之后,可信平台***将当前哈希值和上一次哈希值发送给远程认证方。
作为一种可选的实施例,远程认证方将当前PCR值与远程认证方存储的基准PCR值进行比对可以包括:远程认证方依据随机数和基准PCR值进行运算得到基准哈希值,将当前哈希值与基准哈希值进行比对,在当前哈希值与基准哈希值相等的情况下,确定当前PCR值与基准PCR值一致;和/或,在当前哈希值与基准哈希值不相等的情况下,确定当前PCR值与基准PCR值不一致。
作为一种可选的实施例,远程认证方将上一次PCR值与基准PCR值进行比对包括:在上一次哈希值与基准哈希值相等的情况下,确定上一次PCR值与基准PCR值一致;和/或,在上一次哈希值与基准哈希值不相等的情况下,确定上一次PCR值与基准PCR值不一致。
作为一种可选的实施例,在远程认证方确定对可信平台***的证明结果为:基准PCR值需要更新时,可信平台***将当前PCR值发送给远程认证方;远程认证方将当前PCR值替换基准PCR值存储在远程认证方。
作为一种可选的实施例,可信平台***将当前PCR值发送给远程认证方时,为保证当前PCR值的传输安全,可以采用以下方式:可信平台***采用会话密钥对当前PCR值进行加密,得到密文,并将密文发送给远程认证方;远程认证方采用会话密钥对密文进行解密,得到当前PCR值。
在本发明实施例中,采用双PCR上报机制,新增基准值更新***,不仅能够解决相关技术中的TPM/TPCM的远程认证,无法有效地避免误报与漏报的问题,而且能够实现:当可信平台***当前启动的PCR值与基准PCR值不符时,额外比较上一次启动的上一次PCR值与基准PCR值,可以减少误报的发生;当前PCR基准值不准确时,及时更新新的基准值,可以减少漏报的发生。
基于上述实施例及优选实施例,提供了一种优选实施方式,下面对该优选实施方式进行说明。
图7是根据本发明优选实施方式的双PCR值上报的可信远程认证的流程图,如图7所示,该流程包括如下步骤:
S1,远程认证方Challenger使用随机数生成器(Random Number Generation,简称为RNG),生成一个真随机数Nonce。
S2,远程认证方Challenger将随机数Nonce,发送给可信平台***TrustedPlatform。
S3,可信平台***收到随机数Nonce后,从可信平台***中的可信安全芯片(TPM/TPCM)中读取当前启动过程的PCR_now值,以及最近上次启动过程的PCR_last值。此处,需要可信安全芯片提供记录两次启动PCR值的能力。
S4,可信平台***将Nonce与PCR_now相加,计算其摘要值Hash_now;同理,计算Nonce+PCR_last的摘要值,Hash_last。此处,使用的Hash算法包括但不限于SHA1,SHA256,SM3等等。
S5,可信平台***调用可信安全芯片(TPM/TPCM)中的签名私钥,对摘要值Hash_now和Hash_last进行加密签名操作,生成签名文件Signature_now和Signature_last。
S6,可信平台***将Signature_now和Signature_last,回复给远程认证方。
S7,远程认证方将Nonce与PCR基准值Reference_PCR相加,计算其摘要值Reference_Hash。此处,使用的Hash算法包括但不限于SHA1,SHA256,SM3等等。此处,Reference_PCR预先安全地保存在远程认证方。
S8,远程认证方收到Signature_now和Signature_last后,使用可信平台***的签名公钥,对Signature_now和Signature_last进行解密验签操作,得到原摘要值Hash_now和Hash_last。此处,可信平台***需要预先将自己的签名公钥,公开给远程认证方。
S9,远程认证方将Hash_now同Reference_Hash进行比对(Verification),若两者相等,则远程证明通过,可信平台***是合法的;若两者不相等,则进一步将Hash_last同Reference_Hash进行比对(Verification),若两者相等,则当前的基准值Reference_Hash需要更新,转下一节的可信基准值更新流程,同时远程证明通过,可信平台***是合法的;若两者不相等,则远程证明失败,可信平台***是不合法的。
图8是根据本发明优选实施方式的可信基准值更新的流程图,如图8所示,该流程包括如下步骤:
当可信平台***的Hash_now同Reference_Hash不相等,同时Hash_last同Reference_Hash相等时,说明此时的Reference_Hash已经过期失效,需要使用当前的PCR_now更新原基准值。
S1,注册远程认证方Challenger使用随机数生成器RNG,生成一个随机数作为会话密钥Key_session。
S2,远程认证方使用可信平台***的签名公钥,对Key_session进行加密操作,生成密钥密文Key_cipher。
S3,远程认证方将Key_cipher,发送回可信平台***。
S4,可信平台***收到Key_cipher后,调用可信安全芯片(TPM/TPCM)中的签名私钥,对Key_cipher进行解密操作,得到Key_session。
S5,可信平台***读取当前启动过程的PCR_now值,使用Key_session对其进行加密操作,生成密文PCR_cipher。
S6,可信平台***将PCR_cipher,发送给远程认证方。
S7,远程认证方收到PCR_cipher后,使用第1步生成的Key_session,对其进行解密操作,获取PCR_now。
S8,远程认证方使用PCR_now,替换原PCR基准值,成为新的Reference_PCR。
在本优选实施方式中,采用双PCR上报机制,新增基准值更新***,不仅能够解决相关技术中的TPM/TPCM的远程认证,无法有效地避免误报与漏报的问题,而且能够实现:当可信平台***当前启动的PCR值与基准PCR值不符时,额外比较上一次启动的上一次PCR值与基准PCR值,可以减少误报的发生;当前PCR基准值不准确时,及时更新新的基准值,可以减少漏报的发生。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述实施例1中的远程认证方法一的装置,图9是根据本发明实施例的远程认证装置一的结构框图,如图9所示,该装置包括:第一比对模块92,第二比对模块94和确定模块96,下面对该装置进行说明。
第一比对模块92,用于将当前平台配置寄存器PCR值与远程认证方存储的基准PCR值进行比对,其中,当前PCR值为可信平台***当前启动过程的度量值;第二比对模块94,连接至上述第一比对模块92,用于在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,得到比对结果,其中,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;确定模块96,连接至上述第二比对模块94,用于根据比对结果,确定对可信平台***的证明结果。
此处需要说明的是,上述第一比对模块92,第二比对模块94和确定模块96对应于实施例1中远程认证方法一的步骤S402至步骤S406,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例3
根据本发明实施例,还提供了一种用于实施上述实施例1中的远程认证方法二的装置,图10是根据本发明实施例的远程认证装置二的结构框图,如图10所示,该装置包括:读取模块1002,上报模块1004和接收模块1006,下面对该装置进行说明。
读取模块1002,用于读取可信平台***存储的当前平台配置寄存器PCR值,以及上一次PCR值,其中,当前PCR值为可信平台***当前启动过程的度量值,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;上报模块1004,连接至上述读取模块1002,用于将当前PCR值和上一次PCR值上报给远程认证方;接收模块1006,连接至上述上报模块1004,用于接收到远程认证方反馈的证明结果。
此处需要说明的是,上述读取模块1002,上报模块1004和接收模块1006对应于实施例1中远程认证方法二的步骤S502至步骤S506,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例4
根据本发明实施例,还提供了一种用于实施上述实施例1中的远程认证方法三的***,图11是根据本发明实施例的远程认证***的结构框图,如图11所示,该***包括:可信平台***112和远程认证方114,下面对该***进行说明。
可信平台***112,用于读取当前平台配置寄存器PCR值,以及上一次PCR值,并将当前PCR值和上一次PCR值上报给远程认证方,其中,当前PCR值为可信平台***当前启动过程的度量值,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;远程认证方114,与上述可信平台***112通信,用于将当前PCR值与远程认证方存储的基准PCR值进行比对,在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,确定对可信平台***的证明结果。
此处需要说明的是,上述可信平台***112和远程认证方114对应于实施例1中的步骤S602至步骤S606,上述结构与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例5
本发明的实施例可以提供一种计算机终端(或称计算机设备),该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,该计算机设备可以包括:存储器和处理器,存储器存储有计算机程序;处理器,用于执行存储器中存储的计算机程序,计算机程序运行时使得处理器执行上述任意一项的远程认证方法。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的远程认证方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的远程认证方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:将当前平台配置寄存器PCR值与远程认证方存储的基准PCR值进行比对,其中,当前PCR值为可信平台***当前启动过程的度量值;在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,得到比对结果,其中,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;根据比对结果,确定对可信平台***的证明结果。
可选地,上述处理器还可以执行如下步骤的程序代码:根据比对结果,确定对可信平台***的证明结果包括以下至少之一:在上一次PCR值与基准PCR值一致的情况下,确定基准PCR值需要更新,并确定可信平台***合法;在当前PCR值与基准PCR值一致的情况下,确定可信平台***合法;在上一次PCR值与基准PCR值不一致的情况下,确定可信平台***不合法。
可选地,上述处理器还可以执行如下步骤的程序代码:将当前PCR值与远程认证方存储的基准PCR值进行比对包括:将当前哈希值与基准哈希值进行比对,其中,当前哈希值依据随机数与当前PCR值运算得到,基准哈希值依据随机数与基准PCR值运算得到;在当前哈希值与基准哈希值相等的情况下,确定当前PCR值与基准PCR值一致;和/或,在当前哈希值与基准哈希值不相等的情况下,确定当前PCR值与基准PCR值不一致。
可选地,上述处理器还可以执行如下步骤的程序代码:将上一次PCR值与基准PCR值进行比对包括:将上一次哈希值与基准哈希值进行比对,其中,上一次哈希值依据随机数与上一次PCR值运算得到;在上一次哈希值与基准哈希值相等的情况下,确定上一次PCR值与基准PCR值一致;和/或,在上一次哈希值与基准哈希值不相等的情况下,确定上一次PCR值与基准PCR值不一致。
可选地,上述处理器还可以执行如下步骤的程序代码:接收到可信平台***发送的当前签名文件和上一次签名文件,其中,当前签名文件由可信平台的签名私钥对当前哈希值进行加密签名操作得到,上一次签名文件由签名私钥对上一次哈希值进行加密签名操作得到;采用可信平台***的签名公钥对当前签名文件进行解密验签操作,得到当前哈希值,采用签名公钥对上一次签名文件进行解密验签操作,得到上一次哈希值。
可选地,上述处理器还可以执行如下步骤的程序代码:使用随机数生成器生成随机数,并将随机数发送给可信平台***。
可选地,上述处理器还可以执行如下步骤的程序代码:在确定基准PCR值需要更新之后,还包括:获取当前PCR值;将当前PCR值替换基准PCR值存储在远程认证方。
可选地,上述处理器还可以执行如下步骤的程序代码:获取当前PCR值包括:接收可信平台***发送的密文,其中,密文由会话密钥对当前PCR值进行加密获得;采用会话密钥对密文进行解密,得到当前PCR。
可选地,上述处理器还可以执行如下步骤的程序代码:生成会话密钥,并采用可信平台***的签名公钥对会话密钥进行加密,获得密钥密文;将密钥密文发送给可信平台***,其中,对密钥密文采用可信平台***的签名私钥进行解密得到会话密钥。
处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:读取可信平台***存储的当前平台配置寄存器PCR值,以及上一次PCR值,其中,当前PCR值为可信平台***当前启动过程的度量值,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;将当前PCR值和上一次PCR值上报给远程认证方;接收到远程认证方反馈的证明结果。
可选地,上述处理器还可以执行如下步骤的程序代码:接收到远程认证方反馈的证明结果包括以下至少之一:当前PCR值与远程认证方存储的基准PCR值不一致,并且上一次PCR值与基准PCR值一致, 基准PCR值需要更新,可信平台***合法;当前PCR值与基准PCR值一致,可信平台***合法;上一次PCR值与基准PCR值不一致,可信平台***不合法。
可选地,上述处理器还可以执行如下步骤的程序代码:将当前PCR值和上一次PCR值上报给远程认证方包括:通过上报当前哈希值和上一次哈希值的方式,将当前PCR值和上一次PCR值上报给远程认证方,其中,当前哈希值依据随机数与当前PCR值运算得到,上一次哈希值依据随机数与上一次PCR值运算得到。
可选地,上述处理器还可以执行如下步骤的程序代码:通过上报当前哈希值和上一次哈希值的方式,将当前PCR值和上一次PCR值上报给远程认证方包括:通过将当前签名文件和上一次签名文件发送给远程认证方的方式,将当前哈希值和上一次哈希值上报给远程认证方,其中,当前签名文件由可信平台的签名私钥对当前哈希值进行加密签名操作得到,上一次签名文件由签名私钥对上一次哈希值进行加密签名操作得到。
可选地,上述处理器还可以执行如下步骤的程序代码:采用会话密钥对当前PCR值进行加密,得到密文;将密文发送给远程认证方,以使远程认证方采用会话密钥对密文进行解密,得到当前PCR,以及将当前PCR替换远程认证方存储的基准PCR值。
可选地,上述处理器还可以执行如下步骤的程序代码:接收远程认证方发送的密钥密文,其中,密钥密文采用可信平台***的签名公钥对会话密钥进行加密获得;采用可信平台***的签名私钥对密钥密文进行解密得到会话密钥。
处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:可信平台***读取当前平台配置寄存器PCR值,以及上一次PCR值,其中,当前PCR值为可信平台***当前启动过程的度量值,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;可信平台***将当前PCR值和上一次PCR值上报给远程认证方;远程认证方将当前PCR值与远程认证方存储的基准PCR值进行比对,在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,确定对可信平台***的证明结果。
可选地,上述处理器还可以执行如下步骤的程序代码:确定对可信平台***的证明结果包括以下至少之一:在上一次PCR值与基准PCR值一致的情况下,确定对可信平台***的证明结果为:基准PCR值需要更新,并确定可信平台***合法,并将确定的证明结果反馈给可信平台***;在当前PCR值与基准PCR值一致的情况下,确定对可信平台***的证明结果为:可信平台***合法,并将确定的证明结果反馈给可信平台***;在上一次PCR值与基准PCR值不一致的情况下,确定对可信平台***的证明结果为:可信平台***不合法,并将确定的证明结果反馈给可信平台***。
可选地,上述处理器还可以执行如下步骤的程序代码:远程认证方生成随机数,并将生成的随机数发送给可信平台***;可信平台***依据随机数和当前PCR值进行运算得到当前哈希值,依据随机数和上一次PCR值进行运算得到上一次哈希值;可信平台***将当前PCR值和上一次PCR值上报给远程认证方包括:可信平台***将当前哈希值和上一次哈希值发送给远程认证方;远程认证方将当前PCR值与远程认证方存储的基准PCR值进行比对包括:远程认证方依据随机数和基准PCR值进行运算得到基准哈希值,将当前哈希值与基准哈希值进行比对,在当前哈希值与基准哈希值相等的情况下,确定当前PCR值与基准PCR值一致;和/或,在当前哈希值与基准哈希值不相等的情况下,确定当前PCR值与基准PCR值不一致;远程认证方将上一次PCR值与基准PCR值进行比对包括:在上一次哈希值与基准哈希值相等的情况下,确定上一次PCR值与基准PCR值一致;和/或,在上一次哈希值与基准哈希值不相等的情况下,确定上一次PCR值与基准PCR值不一致。
可选地,上述处理器还可以执行如下步骤的程序代码:可信平台***将当前PCR值发送给远程认证方;远程认证方将当前PCR值替换基准PCR值存储在远程认证方。
可选的,上述处理器还可以执行如下步骤的程序代码:可信平台***将当前PCR值发送给远程认证方包括:可信平台***采用会话密钥对当前PCR值进行加密,得到密文,并将密文发送给远程认证方;远程认证方采用会话密钥对密文进行解密,得到当前PCR值。
采用本发明实施例,采用依据当前PCR值以及上一次PCR值的方式,通过将当前PCR值以及上一次PCR值分别与基准PCR值进行比较,达到了能够确定基准PCR值是否更新及时的目的,从而实现了能够准确对可信平台***进行认证,避免误报和漏报的技术效果,进而解决了相关技术在对可信平台***进行认证时,存在认证误报和漏报的技术问题。
本领域普通技术人员可以理解,计算机终端也可以是智能手机(如Android 手机、iOS 手机 等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。本发明实施例并不对上述电子装置的结构造成限定。例如,上述计算机设备还可包括更多或者更少的组件(如网络接口、显示装置等),或者具有不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例6
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的任意远程认证方法所对应的程序代码,在程序代码被处理器运行时控制处理器执行上述任意一项的远程认证方法。。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将当前平台配置寄存器PCR值与远程认证方存储的基准PCR值进行比对,其中,当前PCR值为可信平台***当前启动过程的度量值;在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,得到比对结果,其中,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;根据比对结果,确定对可信平台***的证明结果。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:根据比对结果,确定对可信平台***的证明结果包括以下至少之一:在上一次PCR值与基准PCR值一致的情况下,确定基准PCR值需要更新,并确定可信平台***合法;在当前PCR值与基准PCR值一致的情况下,确定可信平台***合法;在上一次PCR值与基准PCR值不一致的情况下,确定可信平台***不合法。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:将当前PCR值与远程认证方存储的基准PCR值进行比对包括:将当前哈希值与基准哈希值进行比对,其中,当前哈希值依据随机数与当前PCR值运算得到,基准哈希值依据随机数与基准PCR值运算得到;在当前哈希值与基准哈希值相等的情况下,确定当前PCR值与基准PCR值一致;和/或,在当前哈希值与基准哈希值不相等的情况下,确定当前PCR值与基准PCR值不一致。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:将上一次PCR值与基准PCR值进行比对包括:将上一次哈希值与基准哈希值进行比对,其中,上一次哈希值依据随机数与上一次PCR值运算得到;在上一次哈希值与基准哈希值相等的情况下,确定上一次PCR值与基准PCR值一致;和/或,在上一次哈希值与基准哈希值不相等的情况下,确定上一次PCR值与基准PCR值不一致。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:接收到可信平台***发送的当前签名文件和上一次签名文件,其中,当前签名文件由可信平台的签名私钥对当前哈希值进行加密签名操作得到,上一次签名文件由签名私钥对上一次哈希值进行加密签名操作得到;采用可信平台***的签名公钥对当前签名文件进行解密验签操作,得到当前哈希值,采用签名公钥对上一次签名文件进行解密验签操作,得到上一次哈希值。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:使用随机数生成器生成随机数,并将随机数发送给可信平台***。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在确定基准PCR值需要更新之后,还包括:获取当前PCR值;将当前PCR值替换基准PCR值存储在远程认证方。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:获取当前PCR值包括:接收可信平台***发送的密文,其中,密文由会话密钥对当前PCR值进行加密获得;采用会话密钥对密文进行解密,得到当前PCR。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:生成会话密钥,并采用可信平台***的签名公钥对会话密钥进行加密,获得密钥密文;将密钥密文发送给可信平台***,其中,对密钥密文采用可信平台***的签名私钥进行解密得到会话密钥。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:读取可信平台***存储的当前平台配置寄存器PCR值,以及上一次PCR值,其中,当前PCR值为可信平台***当前启动过程的度量值,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;将当前PCR值和上一次PCR值上报给远程认证方;接收到远程认证方反馈的证明结果。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:接收到远程认证方反馈的证明结果包括以下至少之一:当前PCR值与远程认证方存储的基准PCR值不一致,并且上一次PCR值与基准PCR值一致, 基准PCR值需要更新,可信平台***合法;当前PCR值与基准PCR值一致,可信平台***合法;上一次PCR值与基准PCR值不一致,可信平台***不合法。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:将当前PCR值和上一次PCR值上报给远程认证方包括:通过上报当前哈希值和上一次哈希值的方式,将当前PCR值和上一次PCR值上报给远程认证方,其中,当前哈希值依据随机数与当前PCR值运算得到,上一次哈希值依据随机数与上一次PCR值运算得到。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:通过上报当前哈希值和上一次哈希值的方式,将当前PCR值和上一次PCR值上报给远程认证方包括:通过将当前签名文件和上一次签名文件发送给远程认证方的方式,将当前哈希值和上一次哈希值上报给远程认证方,其中,当前签名文件由可信平台的签名私钥对当前哈希值进行加密签名操作得到,上一次签名文件由签名私钥对上一次哈希值进行加密签名操作得到。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:采用会话密钥对当前PCR值进行加密,得到密文;将密文发送给远程认证方,以使远程认证方采用会话密钥对密文进行解密,得到当前PCR,以及将当前PCR替换远程认证方存储的基准PCR值。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:接收远程认证方发送的密钥密文,其中,密钥密文采用可信平台***的签名公钥对会话密钥进行加密获得;采用可信平台***的签名私钥对密钥密文进行解密得到会话密钥。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:可信平台***读取当前平台配置寄存器PCR值,以及上一次PCR值,其中,当前PCR值为可信平台***当前启动过程的度量值,上一次PCR为可信平台***当前启动过程的上一次启动过程的度量值;可信平台***将当前PCR值和上一次PCR值上报给远程认证方;远程认证方将当前PCR值与远程认证方存储的基准PCR值进行比对,在当前PCR值与基准PCR值不一致的情况下,将上一次PCR值与基准PCR值进行比对,确定对可信平台***的证明结果。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:确定对可信平台***的证明结果包括以下至少之一:在上一次PCR值与基准PCR值一致的情况下,确定对可信平台***的证明结果为:基准PCR值需要更新,并确定可信平台***合法,并将确定的证明结果反馈给可信平台***;在当前PCR值与基准PCR值一致的情况下,确定对可信平台***的证明结果为:可信平台***合法,并将确定的证明结果反馈给可信平台***;在上一次PCR值与基准PCR值不一致的情况下,确定对可信平台***的证明结果为:可信平台***不合法,并将确定的证明结果反馈给可信平台***。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:远程认证方生成随机数,并将生成的随机数发送给可信平台***;可信平台***依据随机数和当前PCR值进行运算得到当前哈希值,依据随机数和上一次PCR值进行运算得到上一次哈希值;可信平台***将当前PCR值和上一次PCR值上报给远程认证方包括:可信平台***将当前哈希值和上一次哈希值发送给远程认证方;远程认证方将当前PCR值与远程认证方存储的基准PCR值进行比对包括:远程认证方依据随机数和基准PCR值进行运算得到基准哈希值,将当前哈希值与基准哈希值进行比对,在当前哈希值与基准哈希值相等的情况下,确定当前PCR值与基准PCR值一致;和/或,在当前哈希值与基准哈希值不相等的情况下,确定当前PCR值与基准PCR值不一致;远程认证方将上一次PCR值与基准PCR值进行比对包括:在上一次哈希值与基准哈希值相等的情况下,确定上一次PCR值与基准PCR值一致;和/或,在上一次哈希值与基准哈希值不相等的情况下,确定上一次PCR值与基准PCR值不一致。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:可信平台***将当前PCR值发送给远程认证方;远程认证方将当前PCR值替换基准PCR值存储在远程认证方。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:可信平台***将当前PCR值发送给远程认证方包括:可信平台***采用会话密钥对当前PCR值进行加密,得到密文,并将密文发送给远程认证方;远程认证方采用会话密钥对密文进行解密,得到当前PCR值。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (22)
1.一种远程认证方法,其特征在于,包括:
远程认证方将当前平台配置寄存器PCR值与所述远程认证方存储的基准PCR值进行比对,其中,所述当前PCR值为可信平台***当前启动过程的度量值;
所述远程认证方在所述当前PCR值与所述基准PCR值不一致的情况下,将上一次PCR值与所述基准PCR值进行比对,得到比对结果,其中,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;
所述远程认证方根据所述比对结果,确定对所述可信平台***的证明结果;
其中,所述远程认证方根据所述比对结果,确定对所述可信平台***的证明结果包括以下至少之一:
在所述上一次PCR值与所述基准PCR值一致的情况下,确定所述基准PCR值需要更新,并确定所述可信平台***合法;
在所述当前PCR值与所述基准PCR值一致的情况下,确定所述可信平台***合法;
在所述上一次PCR值与所述基准PCR值不一致的情况下,确定所述可信平台***不合法。
2.根据权利要求1所述的方法,其特征在于,将所述当前PCR值与所述远程认证方存储的所述基准PCR值进行比对包括:
将当前哈希值与基准哈希值进行比对,其中,所述当前哈希值依据随机数与所述当前PCR值运算得到,所述基准哈希值依据所述随机数与所述基准PCR值运算得到;
在所述当前哈希值与所述基准哈希值相等的情况下,确定所述当前PCR值与所述基准PCR值一致;和/或,在所述当前哈希值与所述基准哈希值不相等的情况下,确定所述当前PCR值与所述基准PCR值不一致。
3.根据权利要求2所述的方法,其特征在于,将所述上一次PCR值与所述基准PCR值进行比对包括:
将上一次哈希值与所述基准哈希值进行比对,其中,所述上一次哈希值依据所述随机数与所述上一次PCR值运算得到;
在所述上一次哈希值与所述基准哈希值相等的情况下,确定所述上一次PCR值与所述基准PCR值一致;和/或,在所述上一次哈希值与所述基准哈希值不相等的情况下,确定所述上一次PCR值与所述基准PCR值不一致。
4.根据权利要求3所述的方法,其特征在于,还包括:
接收到所述可信平台***发送的当前签名文件和上一次签名文件,其中,所述当前签名文件由所述可信平台的签名私钥对所述当前哈希值进行加密签名操作得到,所述上一次签名文件由所述签名私钥对所述上一次哈希值进行加密签名操作得到;
采用所述可信平台***的签名公钥对所述当前签名文件进行解密验签操作,得到所述当前哈希值,采用所述签名公钥对所述上一次签名文件进行解密验签操作,得到所述上一次哈希值。
5.根据权利要求4所述的方法,其特征在于,还包括:
使用随机数生成器生成所述随机数,并将所述随机数发送给所述可信平台***。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在确定所述基准PCR值需要更新之后,还包括:
获取所述当前PCR值;
将所述当前PCR值替换所述基准PCR值存储在所述远程认证方。
7.根据权利要求6所述的方法,其特征在于,获取所述当前PCR值包括:
接收所述可信平台***发送的密文,其中,所述密文由会话密钥对所述当前PCR值进行加密获得;
采用所述会话密钥对所述密文进行解密,得到所述当前PCR。
8.根据权利要求7所述的方法,其特征在于,还包括:
生成所述会话密钥,并采用所述可信平台***的签名公钥对所述会话密钥进行加密,获得密钥密文;
将所述密钥密文发送给所述可信平台***,其中,对所述密钥密文采用所述可信平台***的签名私钥进行解密得到所述会话密钥。
9.一种远程认证方法,其特征在于,包括:
可信平台***读取所述可信平台***存储的当前平台配置寄存器PCR值,以及上一次PCR值,其中,所述当前PCR值为可信平台***当前启动过程的度量值,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;
所述可信平台***将所述当前PCR值和所述上一次PCR值上报给远程认证方;
所述可信平台***接收到所述远程认证方反馈的证明结果;
其中,所述可信平台***接收到所述远程认证方反馈的证明结果包括以下至少之一:
所述当前PCR值与所述远程认证方存储的基准PCR值不一致,并且所述上一次PCR值与所述基准PCR值一致, 所述基准PCR值需要更新,所述可信平台***合法;
所述当前PCR值与所述基准PCR值一致,所述可信平台***合法;
所述上一次PCR值与所述基准PCR值不一致,所述可信平台***不合法。
10.根据权利要求9所述的方法,其特征在于,将所述当前PCR值和所述上一次PCR值上报给远程认证方包括:
通过上报当前哈希值和上一次哈希值的方式,将所述当前PCR值和所述上一次PCR值上报给所述远程认证方,其中,所述当前哈希值依据随机数与所述当前PCR值运算得到,所述上一次哈希值依据所述随机数与所述上一次PCR值运算得到。
11.根据权利要求10所述的方法,其特征在于,通过上报当前哈希值和上一次哈希值的方式,将所述当前PCR值和所述上一次PCR值上报给所述远程认证方包括:
通过将当前签名文件和上一次签名文件发送给所述远程认证方的方式,将所述当前哈希值和所述上一次哈希值上报给所述远程认证方,其中,所述当前签名文件由所述可信平台的签名私钥对所述当前哈希值进行加密签名操作得到,所述上一次签名文件由所述签名私钥对所述上一次哈希值进行加密签名操作得到。
12.根据权利要求9至11中任一项所述的方法,其特征在于,还包括:
采用会话密钥对所述当前PCR值进行加密,得到密文;
将所述密文发送给所述远程认证方,以使所述远程认证方采用所述会话密钥对所述密文进行解密,得到所述当前PCR,以及将所述当前PCR替换所述远程认证方存储的基准PCR值。
13.根据权利要求12所述的方法,其特征在于,还包括:
接收所述远程认证方发送的密钥密文,其中,所述密钥密文采用所述可信平台***的签名公钥对所述会话密钥进行加密获得;
采用所述可信平台***的签名私钥对所述密钥密文进行解密得到所述会话密钥。
14.一种远程认证方法,其特征在于,包括:
可信平台***读取当前平台配置寄存器PCR值,以及上一次PCR值,其中,所述当前PCR值为所述可信平台***当前启动过程的度量值,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;
所述可信平台***将所述当前PCR值和所述上一次PCR值上报给远程认证方;
所述远程认证方将所述当前PCR值与远程认证方存储的基准PCR值进行比对,在所述当前PCR值与所述基准PCR值不一致的情况下,将上一次PCR值与所述基准PCR值进行比对,确定对所述可信平台***的证明结果;
其中,确定对所述可信平台***的证明结果包括以下至少之一:
在所述上一次PCR值与所述基准PCR值一致的情况下,确定对所述可信平台***的证明结果为:所述基准PCR值需要更新,并确定所述可信平台***合法,并将确定的证明结果反馈给所述可信平台***;
在所述当前PCR值与所述基准PCR值一致的情况下,确定对所述可信平台***的证明结果为:所述可信平台***合法,并将确定的证明结果反馈给所述可信平台***;
在所述上一次PCR值与所述基准PCR值不一致的情况下,确定对所述可信平台***的证明结果为:所述可信平台***不合法,并将确定的证明结果反馈给所述可信平台***。
15.根据权利要求14所述的方法,其特征在于,
所述远程认证方生成随机数,并将生成的随机数发送给所述可信平台***;
所述可信平台***依据所述随机数和所述当前PCR值进行运算得到当前哈希值,依据所述随机数和所述上一次PCR值进行运算得到上一次哈希值;
所述可信平台***将所述当前PCR值和所述上一次PCR值上报给远程认证方包括:所述可信平台***将所述当前哈希值和所述上一次哈希值发送给所述远程认证方;
所述远程认证方将所述当前PCR值与远程认证方存储的基准PCR值进行比对包括:所述远程认证方依据所述随机数和所述基准PCR值进行运算得到基准哈希值,将所述当前哈希值与所述基准哈希值进行比对,在所述当前哈希值与所述基准哈希值相等的情况下,确定所述当前PCR值与所述基准PCR值一致;和/或,在所述当前哈希值与所述基准哈希值不相等的情况下,确定所述当前PCR值与所述基准PCR值不一致;
所述远程认证方将上一次PCR值与所述基准PCR值进行比对包括:在所述上一次哈希值与所述基准哈希值相等的情况下,确定所述上一次PCR值与所述基准PCR值一致;和/或,在所述上一次哈希值与所述基准哈希值不相等的情况下,确定所述上一次PCR值与所述基准PCR值不一致。
16.根据权利要求14至15中任一项所述的方法,其特征在于,还包括:
所述可信平台***将所述当前PCR值发送给所述远程认证方;
所述远程认证方将所述当前PCR值替换所述基准PCR值存储在所述远程认证方。
17.根据权利要求16所述的方法,其特征在于,所述可信平台***将所述当前PCR值发送给所述远程认证方包括:
所述可信平台***采用会话密钥对所述当前PCR值进行加密,得到密文,并将所述密文发送给所述远程认证方;
所述远程认证方采用所述会话密钥对所述密文进行解密,得到所述当前PCR值。
18.一种远程认证装置,其特征在于,应用于远程认证方,包括:
第一比对模块,用于将当前平台配置寄存器PCR值与远程认证方存储的基准PCR值进行比对,其中,所述当前PCR值为可信平台***当前启动过程的度量值;
第二比对模块,用于在所述当前PCR值与所述基准PCR值不一致的情况下,将上一次PCR值与所述基准PCR值进行比对,得到比对结果,其中,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;
确定模块,用于根据所述比对结果,确定对所述可信平台***的证明结果;
其中,所述确定模块,还用于根据所述比对结果,确定对所述可信平台***的证明结果包括以下至少之一:
在所述上一次PCR值与所述基准PCR值一致的情况下,确定所述基准PCR值需要更新,并确定所述可信平台***合法;
在所述当前PCR值与所述基准PCR值一致的情况下,确定所述可信平台***合法;
在所述上一次PCR值与所述基准PCR值不一致的情况下,确定所述可信平台***不合法。
19.一种远程认证装置,其特征在于,应用于可信平台***,包括:
读取模块,用于读取可信平台***存储的当前平台配置寄存器PCR值,以及上一次PCR值,其中,所述当前PCR值为可信平台***当前启动过程的度量值,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;
上报模块,用于将所述当前PCR值和所述上一次PCR值上报给远程认证方;
接收模块,用于接收到所述远程认证方反馈的证明结果;
其中,所述接收模块,还用于接收到所述远程认证方反馈的证明结果包括以下至少之一:
所述当前PCR值与所述远程认证方存储的基准PCR值不一致,并且所述上一次PCR值与所述基准PCR值一致, 所述基准PCR值需要更新,所述可信平台***合法;
所述当前PCR值与所述基准PCR值一致,所述可信平台***合法;
所述上一次PCR值与所述基准PCR值不一致,所述可信平台***不合法。
20.一种远程认证***,其特征在于,包括:可信平台***和远程认证方,其中,
所述可信平台***,用于读取当前平台配置寄存器PCR值,以及上一次PCR值,并将所述当前PCR值和所述上一次PCR值上报给所述远程认证方,其中,所述当前PCR值为所述可信平台***当前启动过程的度量值,所述上一次PCR为所述可信平台***当前启动过程的上一次启动过程的度量值;
所述远程认证方,用于将所述当前PCR值与远程认证方存储的基准PCR值进行比对,在所述当前PCR值与所述基准PCR值不一致的情况下,将上一次PCR值与所述基准PCR值进行比对,确定对所述可信平台***的证明结果;
其中,确定对所述可信平台***的证明结果包括以下至少之一:
在所述上一次PCR值与所述基准PCR值一致的情况下,确定对所述可信平台***的证明结果为:所述基准PCR值需要更新,并确定所述可信平台***合法,并将确定的证明结果反馈给所述可信平台***;
在所述当前PCR值与所述基准PCR值一致的情况下,确定对所述可信平台***的证明结果为:所述可信平台***合法,并将确定的证明结果反馈给所述可信平台***;
在所述上一次PCR值与所述基准PCR值不一致的情况下,确定对所述可信平台***的证明结果为:所述可信平台***不合法,并将确定的证明结果反馈给所述可信平台***。
21.一种存储介质,其特征在于,所述存储介质存储有程序,其中,在所述程序被处理器运行时控制所述处理器执行权利要求1至17中任意一项所述的远程认证方法。
22.一种计算机设备,其特征在于,包括:存储器和处理器,
所述存储器存储有计算机程序;
所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行权利要求1至17中任意一项所述的远程认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910447430.0A CN112000935B (zh) | 2019-05-27 | 2019-05-27 | 远程认证方法、装置、***、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910447430.0A CN112000935B (zh) | 2019-05-27 | 2019-05-27 | 远程认证方法、装置、***、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000935A CN112000935A (zh) | 2020-11-27 |
CN112000935B true CN112000935B (zh) | 2024-06-14 |
Family
ID=73461716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910447430.0A Active CN112000935B (zh) | 2019-05-27 | 2019-05-27 | 远程认证方法、装置、***、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000935B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114021106B (zh) * | 2021-11-03 | 2022-07-19 | 海光信息技术股份有限公司 | 一种可信度量的远程认证方法、装置及*** |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046752A1 (en) * | 2006-08-09 | 2008-02-21 | Stefan Berger | Method, system, and program product for remotely attesting to a state of a computer system |
KR100912532B1 (ko) * | 2006-12-01 | 2009-08-18 | 한국전자통신연구원 | 신뢰 컴퓨팅 환경에서 각 참여자가 상호 보증 기능을 갖는인터넷 전자투표 방법 및 시스템 |
US7853804B2 (en) * | 2007-09-10 | 2010-12-14 | Lenovo (Singapore) Pte. Ltd. | System and method for secure data disposal |
CN101458743A (zh) * | 2007-12-12 | 2009-06-17 | 中国长城计算机深圳股份有限公司 | 一种保护计算机***安全的方法 |
GB2466071B (en) * | 2008-12-15 | 2013-11-13 | Hewlett Packard Development Co | Associating a signing key with a software component of a computing platform |
CN102063591B (zh) * | 2011-01-07 | 2012-08-08 | 北京工业大学 | 基于可信平台的平台配置寄存器参考值的更新方法 |
CN103501303B (zh) * | 2013-10-12 | 2017-02-22 | 武汉大学 | 一种针对云平台虚拟机度量的主动远程证明方法 |
CN105227319A (zh) * | 2015-10-23 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | 一种验证服务器的方法及装置 |
CN106127057A (zh) * | 2016-06-23 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种基于tpm构建可信启动控制的方法 |
CN107563186A (zh) * | 2017-08-30 | 2018-01-09 | 浪潮(北京)电子信息产业有限公司 | 一种安全启动方法和装置 |
CN109586920A (zh) * | 2018-12-05 | 2019-04-05 | 大唐高鸿信安(浙江)信息科技有限公司 | 一种可信验证方法及装置 |
-
2019
- 2019-05-27 CN CN201910447430.0A patent/CN112000935B/zh active Active
Non-Patent Citations (2)
Title |
---|
可信计算技术及其进展研究;王群;李馥娟;;信息安全研究;20160905(09);72-81 * |
基于可信计算的远程证明的研究;黄秀文;;武汉纺织大学学报;20151215(06);88-93 * |
Also Published As
Publication number | Publication date |
---|---|
CN112000935A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109313690B (zh) | 自包含的加密引导策略验证 | |
CN107077574B (zh) | 用于客户端设备的信任服务 | |
US10437985B2 (en) | Using a second device to enroll a secure application enclave | |
CN109714168B (zh) | 可信远程证明方法、装置和*** | |
US10474823B2 (en) | Controlled secure code authentication | |
EP3362936B1 (en) | Trusted platforms using minimal hardware resources | |
CN106416121B (zh) | 用于签名产生和加密/解密的共模rsa密钥对 | |
US8479000B2 (en) | Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit | |
JP7113123B2 (ja) | デバイス、及び方法 | |
CN110874494B (zh) | 密码运算处理方法、装置、***及度量信任链构建方法 | |
CN110874478B (zh) | 密钥处理方法及装置、存储介质和处理器 | |
EP3362939A1 (en) | Migrating secrets using hardware roots of trust for devices | |
EP1763721A1 (en) | Systems and methods for performing secure communications between an authorized computing platform and a hardware component | |
CN111371726B (zh) | 安全代码空间的认证方法、装置、存储介质及处理器 | |
KR20110035573A (ko) | 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법 | |
EP3641219A1 (en) | Puf based securing of device update | |
CN112966254B (zh) | 用于主机与可信密码模块的安全通信方法及*** | |
CN111901304B (zh) | 移动安全设备的注册方法和装置、存储介质、电子装置 | |
CN112000935B (zh) | 远程认证方法、装置、***、存储介质及计算机设备 | |
US10404718B2 (en) | Method and device for transmitting software | |
CN110858246B (zh) | 安全代码空间的认证方法和***、及其注册方法 | |
US20220131856A1 (en) | Remote Attestation Method and Apparatus | |
CN113711532A (zh) | 分布式或云计算***信息 | |
CN117914490A (zh) | 多节点可信执行环境构建方法及装置 | |
Uzunay et al. | Trust-in-the-middle: towards establishing trustworthiness of authentication proxies using trusted computing |
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 |