CN114021106A - 一种可信度量的远程认证方法、装置及系统 - Google Patents
一种可信度量的远程认证方法、装置及系统 Download PDFInfo
- Publication number
- CN114021106A CN114021106A CN202111294752.XA CN202111294752A CN114021106A CN 114021106 A CN114021106 A CN 114021106A CN 202111294752 A CN202111294752 A CN 202111294752A CN 114021106 A CN114021106 A CN 114021106A
- Authority
- CN
- China
- Prior art keywords
- trusted
- dynamic
- measurement
- register
- preset
- 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/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
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开一种可信度量的远程认证方法、装置及系统,涉及计算机技术领域,能够有效简化动态可信度量的远程认证的部署。所述方法包括:接收远程认证服务端发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息;利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。本发明适用于计算机安全技术中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种可信度量的远程认证方法、装置及系统。
背景技术
度量是可信计算里使用广泛的一项关键技术。所谓度量就是通过某种方法提取目标程序或数据的特征值,该特征值具有唯一性,通过特征值判断目标的状态,例如可以通过目标程序或数据的特征值相对于基准值是否发生变化,来判断目标程序或数据是否被篡改。
随着计算机和网络技术的发展,可信度量不仅可以用于验证本地目标程序是否可信,还可以借助于网络认证远程目标程序是否可信。例如,集群式服务器需要调度某一台计算机执行某个计算任务时,可以通过对该计算机中的程序进行可信度量,远程认证该计算机是否被非法入侵,是否可以执行该计算任务。
相关技术中的可信度量大多基于TPM(Trusted Platform Module,可信平台模块)技术。TPM是由TCG(Trusted Computing Group,国际可信计算组)制定的支持可信计算的底层模块标准,TPM中设置有PCR(Platform Configuration Register,虚拟平台配置寄存器)组件以支持可信计算中最重要的度量功能。与此同时,TPM标准还支持对读取的PCR信息进行签名保护,形成不可篡改的可信度量报告(签名使用TPM内置的非对称签名密钥),以支持远程实体在通信通道不可信的情况下依然能够验证报告的真实性及根据报告内容判断主机的身份真实性和完整性,从而实现远程认证。
然而,TPM的度量对要度量的目标(代码或数据)来说是一种一次性度量,即在某个时机,比如系统启动或程序加载时,对目标进行一次度量并将度量值Hash扩展到对应PCR,后续在目标运行阶段则不会再次度量,所以TPM PCR内保存的度量值只反映了程序或数据在装载时刻的完整性,是静态的。
为了能够进一步保护程序在运行时的完整性,TDM(Trusted Dynamic Measuring,可信动态度量)应运而生,然而由于TDM还处在发展早期,目前尚无专门为TDM设计的远程认证方案。由于远程认证涉及一整套完整的认证机制,既包括远程认证服务端RA又包括TDM本地端,且TDM还需内置签名密钥,工作量大,影响广泛,因此TDM的远程认证实际部署较为困难。
发明内容
有鉴于此,本发明实施例提供一种可信度量的远程认证方法、装置、系统、电子设备及计算机可读存储介质,能够有效简化动态可信度量的远程认证的部署。
第一方面,本发明的实施例提供一种可信度量的远程认证方法,基于终端,所述方法包括:接收远程认证服务端发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息,其中所述可信动态度量服务及所述可信平台模块TPM均处于可信环境中;
利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。
可选的,所述利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告包括:
根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值;
根据所述第一特征值以及所述目标寄存器中除所述预设寄存器之外的其他寄存器中的第二特征值,生成所述可信度量报告。
可选的,所述在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息包括:在所述目标寄存器包括至少两个不同的所述预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从所述可信动态度量服务分别获取每个所述预设寄存器对应的所述动态度量信息;
所述根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值包括:根据所述可信平台模块TPM中预设的可信算法,对每个所述预设寄存器对应的所述动态度量信息分别执行相应的运算操作,得到对应的第一特征值。
可选的,每个所述预设寄存器对应的所述动态度量信息的数量为一条或多条。
可选的,所述根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作包括:
确定所述预设寄存器是否被配置为所述可信动态度量服务的专用寄存器;
响应于所述预设寄存器被配置为所述可信动态度量服务的专用寄存器,基于第一预设值对所述动态度量信息执行哈希hash扩展运算;
响应于所述预设寄存器被配置为非所述可信动态度量服务的专用寄存器,基于所述预设寄存器中存储的特征值,对所述动态度量信息执行哈希hash扩展运算。
可选的,所述可信动态度量服务及所述可信平台模块TPM均设置在安全处理器中,所述预设安全通道仅对所述可信动态度量服务及所述可信平台模块TPM开放。
可选的,所述利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告之后,所述方法还包括:
向所述远程认证服务端发送所述可信度量报告;
向所述远程认证服务端提供与所述可信度量报告对应的待审计度量信息,以供所述远程认证服务端审计,所述待审计度量信息包括所述动态度量信息。
第二方面,本发明的实施例提供一种可信度量的远程认证方法,基于远程认证服务端,所述方法包括:
向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为所述终端的可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证,其中,所述可信度量报告由所述终端利用动态度量信息及所述目标寄存器中存储的信息生成,并由所述可信平台模块TPM签名,所述动态度量信息由所述终端中运行的可信动态度量服务提供。
可选的,所述对所述终端返回的可信度量报告进行远程认证之后,所述方法包括:
响应于所述远程认证未通过,从所述终端获取与所述可信度量报告对应的待审计度量信息,所述待审计度量信息包括所述动态度量信息;
基于在所述终端的可信平台模块TPM中预设的可信算法,对所述待审计度量信息执行相应运算,得到各所述目标寄存器对应的重放值;
在各所述重放值与所述可信度量报告中的各特征值一致的情况下,对所述待审计度量信息进行审计。
第三方面,本发明的实施例提供一种可信度量的远程认证装置,设置于终端中,所述装置包括:
接收单元,用于接收远程认证服务端发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
触发单元,用于在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息,其中所述可信动态度量服务及所述可信平台模块TPM均处于可信环境中;
生成单元,用于利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。
可选的,所述生成单元包括:
运算子单元,用于根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值;
生成子单元,用于根据所述第一特征值以及所述目标寄存器中除所述预设寄存器之外的其他寄存器中的第二特征值,生成所述可信度量报告。
可选的,所述触发单元具体用于:在所述目标寄存器包括至少两个不同的所述预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从所述可信动态度量服务分别获取每个所述预设寄存器对应的所述动态度量信息;
所述运算子单元具体用于:根据所述可信平台模块TPM中预设的可信算法,对每个所述预设寄存器对应的所述动态度量信息分别执行相应的运算操作,得到对应的第一特征值。
可选的,每个所述预设寄存器对应的所述动态度量信息的数量为一条或多条。
可选的,所述运算子单元具体用于:
确定所述预设寄存器是否被配置为所述可信动态度量服务的专用寄存器;
响应于所述预设寄存器被配置为所述可信动态度量服务的专用寄存器,基于第一预设值对所述动态度量信息执行哈希hash扩展运算;
响应于所述预设寄存器被配置为非所述可信动态度量服务的专用寄存器,基于所述预设寄存器中存储的特征值,对所述动态度量信息执行哈希hash扩展运算。
可选的,所述可信动态度量服务及所述可信平台模块TPM均设置在安全处理器中,所述预设安全通道仅对所述可信动态度量服务及所述可信平台模块TPM开放。
可选的,所述装置还包括:
报告发送单元,用于在利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告之后,向所述远程认证服务端发送所述可信度量报告;
提供单元,用于向所述远程认证服务端提供与所述可信度量报告对应的待审计度量信息,以供所述远程认证服务端审计,所述待审计度量信息包括所述动态度量信息。
第四方面,本发明的实施例提供一种可信度量的远程认证装置,设置于远程认证服务端中,所述装置包括:
请求发送单元,用于向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为所述终端的可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
远程认证单元,用于根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证,其中,所述可信度量报告由所述终端利用动态度量信息及所述目标寄存器中存储的信息生成,并由所述可信平台模块TPM签名,所述动态度量信息由所述终端中运行的可信动态度量服务提供。
可选的,所述装置还包括:
获取单元,用于在对所述终端返回的可信度量报告进行远程认证之后,响应于所述远程认证未通过,从所述终端获取与所述可信度量报告对应的待审计度量信息,所述待审计度量信息包括所述动态度量信息;
运算单元,用于基于在所述终端的可信平台模块TPM中预设的可信算法,对所述待审计度量信息执行相应运算,得到各所述目标寄存器对应的重放值;
审计单元,用于在各所述重放值与所述可信度量报告中的各特征值一致的情况下,对所述待审计度量信息进行审计。
第五方面,本发明的实施例还提供一种可信度量的远程认证系统,所述可信度量的远程认证系统包括终端以及与所述终端通信连接的远程认证服务端;其中,所述终端用于执行本发明实施例提供的任一种基于终端的可信度量的远程认证方法,所述远程认证服务端用于执行本发明实施例提供的任一种基于远程认证服务端的可信度量的远程认证方法。
第六方面,本发明的实施例还提供一种电子设备,所述电子设备包括:处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明实施例提供的任一种可信度量的远程认证方法。
第七方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明实施例提供的任一种可信度量的远程认证方法。
本发明的实施例提供的可信度量的远程认证方法、装置、系统、电子设备及存储介质,能够接收RA(Remote Attestation,远程认证服务端)发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,在所述目标寄存器包括预设寄存器的情况下,可以触发TPM通过预设安全通道从可信动态度量服务获取动态度量信息,利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。这样一来,就通过动态度量信息与TPM中的预设寄存器的关联,将动态度量信息包裹在TPM的远程认证机制中,复用了TPM和RA之间的远程认证机制,既有效保证了动态可信度量远程认证的安全性,又无需改变TPM对外标准命令接口及TPM远程认证流程,因此在有效实现动态可信度量的同时,大大简化了动态可信度量的部署。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的可信度量的远程认证方法的一种流程图;
图2为本发明的实施例中的动态度量方法的一种应用场景示意图;
图3为本发明的实施例提供的可信度量的远程认证方法的一种应用场景示意图;
图4为本发明的实施例提供的可信度量的远程认证方法的另一种流程图;
图5为本发明的实施例提供的可信度量的远程认证方法的另一种应用场景示意图;
图6为本发明的实施例提供的可信度量的远程认证方法的一种详细流程图;
图7为本发明的实施例提供的可信度量的远程认证装置的一种结构示意图;
图8为本发明的实施例提供的可信度量的远程认证装置的另一种结构示意图;
图9为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面,本发明的实施例提供一种可信度量的远程认证方法,该方法基于终端,能够有效简化动态可信度量的远程认证的部署。
如图1所示,本发明的实施例提供的可信度量的远程认证方法,基于终端,该方法可以包括:
S11,接收远程认证服务端发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
TPM是一项由TCG推动和开发的技术,其核心目标之一是保证系统和应用的完整性,从而确定系统或软件运行在期望的可信状态,可信和安全是相辅相成的,可信是安全的基础。可信度量实际采用的方法是完整性度量,可以用哈希函数计算代码的哈希值(即特征值)并将该哈希值写入PCR。在进行认证时,认证端可以获取PCR中记录的哈希值,通过将该哈希值与基准值对比确定被度量的代码是否改变。
本发明的实施例中,TPM可以指实现了TPM标准的芯片,这类芯片可以是物理实体的也可以是其它芯片模拟的,或以固件方式实现的,只要实现了TPM标准即可。具体的,一个典型TPM中可以有24个PCR,每个PCR可用于存储相应的哈希值,例如,在本发明的一个实施例中,PCR0~PCR7用于记录系统启动的状态,PCR8~PCR15记录操作系统以及其上层应用状态,PCR16~PCR23用于动态可信根的建立等。当然,也可以根据需要对PCR的使用情况进行调整,本发明的实施例对此不做限定。可选的,其中每个PCR可以存储一个或多个特征值,同一个PCR中的各特征值可以通过hash扩展(Hash Extend)的方式存入。其中,Hash扩展是一种针对多段数据信息进行Hash运算的方法,也是TPM规范中规定的将多个度量值记录到PCR的方式,能够保证任何一个度量值发生变化,则PCR的值必定发生变化。
当需要进行远程认证时,远程认证服务端RA可以向终端发送可信度量认证请求,在该可信度量认证请求中携带目标寄存器的标识,即携带需要认证的内容所在的PCR的标识,相应的,终端可以接收该可信度量认证请求并获知目标寄存器的标识。可选的,RA可以根据需要自由选择或指定目标寄存器的标识,被选择或指定的目标寄存器既可以为一个(例如PCR3),也可以为多个(例如PCR12、PCR17、PCR18、PCR20),还可以为TPM中的全部PCR(例如PCR0-PCR23)。
本步骤中,终端接收到的可信度量认证请求是基于TPM的,可信度量认证请求中携带的目标寄存器的标识也是用于指定终端在认证报告中需要提供TPM中哪个PCR存储的特征值的,因此,步骤S11复用了TPM的远程认证机制。如何利用TPM的远程认证机制实现对TDM的远程认证,将在下面的步骤中实现。
S12,在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息,其中所述可信动态度量服务及所述可信平台模块TPM均处于可信环境中;
接收到可信度量认证请求后,终端可以从可信度量认证请求中获取其携带的目标寄存器的标识,从而获知需要将哪些PCR中的特征值写入可信度量报告。本步骤中,为了使TDM的远程认证能够复用TPM的远程认证机制,可以预先在TPM的PCR中指定预设寄存器作为与TDM关联的寄存器。当可信度量认证请求中指定的目标寄存器包括该预设寄存器时,即可触发TPM从TDM服务中获取动态度量信息,动态度量信息可以用于动态确定度量目标的完整性,而当可信度量认证请求中指定的目标寄存器不包括该预设寄存器时,则按照正常的TPM认证流程提供可信度量报告即可。这样就通过目标寄存器中是否包含预设寄存器,将TDM的远程认证嵌入到TPM的认证机制中。举例而言,在本发明的一个实施例中,预设寄存器为PCR0,若接收到的可信度量认证请求中携带有PCR0、PCR7的标识,则会触发TPM从TDM服务中获取动态度量信息,而若接收到的可信度量认证请求中携带有PCR5、PCR18、PCR19的标识而未携带PCR0的标识,则按照正常的TPM认证流程提供可信度量报告即可。
可选的,本发明的实施例中,预设寄存器可以为PCR中的任意一个或任意多个寄存器。
如图2所示,本发明的一个实施例中,TDM服务可以运行在一个可信执行环境TEE中,外部无法干扰它的运行。外部可以通过规定的接口给TDM发送度量命令,TDM接受后执行命令,可以对指定的系统目标(通常为内存中的代码或数据,如操作系统内核,安全基础模块(指提供安全保障的基础服务或模块,例如防火墙、杀毒软件等)等)进行周期性或持续不断的度量,每次度量后比较度量值与设定的基准值确定目标是否被篡改。
与TDM类似,TPM也可以部署在可信执行环境中。考虑到TPM会调用TDM中的动态度量信息,为了保证整个过程的安全可信,本发明实施例中的TPM与TDM均处于可信环境中,两者通过可信环境中的安全通道进行信息交互,从而保证TPM和TDM之间的交互不受外部影响,比如,TPM和TDM可以以固件的方式实现在CPU内置的安全处理器中,对CPU来说,安全处理器是一个可信执行环境,TPM和TDM之间属于内部交互,外部不可见。
举例而言,如图3所示,在本发明的一个实施例中,所述可信动态度量服务(TDM服务)及所述可信平台模块TPM均可以设置在安全处理器中,二者之间的预设安全通道也仅对所述可信动态度量服务及所述可信平台模块TPM开放,从而保证两者之间的通信内容不被篡改,提升安全性。
具体的,图3中的步骤①表示RA向TPM发送可信度量认证请求,步骤②表示TPM向TDM请求获取与预设寄存器相对应的动态度量信息,步骤③表示TDM向TPM提供与预设寄存器相对应的动态度量信息。从图3中可以看到,步骤②和步骤③实现时被加了锁,表示其他外部模块无权使用TPM和TDM之间的预设安全通道。步骤④表示TPM根据动态度量信息及目标寄存器中存储的信息,生成可信度量报告,步骤⑤表示TPM向RA发送可信度量报告。步骤④和步骤⑤将在后续步骤中进行详细说明。
当然,在本发明的其他实施例中,TPM和TDM之间也可以以其他方式设置在可信环境中,例如TPM和TDM可以分别位于两个硬件模块中,且CPU无法访问TPM和TDM,在TPM与TDM之间设置有二者的专用通道等。
本发明的实施例中,与TDM服务相关的动态度量信息可以存储于TDM服务中,并可以通过预设安全通道传输到TPM中,以便对TDM复用TPM的远程认证机制。可选的,这些动态度量信息可以包括与动态度量相关的任意内容,例如度量目标的度量值、度量频率、度量周期、度量策略等,其中,度量目标的度量值是动态度量信息的必备内容,而度量频率、度量周期、度量策略等则是动态度量信息的可选内容。
S13,利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。
在步骤S12中触发TPM从TDM服务中获取了动态度量信息后,本步骤中,可以利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告。例如,接收到的远程认证报告中指定目标寄存器为PCR0和PCR5,其中,PCR0为预设寄存器,则TPM从TDM获取到PCR0对应的动态度量信息之后,可以根据该动态度量信息以及PCR0和PCR5中存储的信息,生成可信度量报告。
可信度量报告可由TPM进行数字签名,例如,将可信度量报告的哈希值采用TPM的私钥进行加密,即可获得数字签名。相应的,RA存储有相应的公钥,用于进行解密。采用数字签名的方式,如果可信度量报告有任何改动,再次哈希计算出的哈希值就会和改动前的哈希值不一致,因此可以确定传输的内容已经被篡改,因此采用数字签名的方式能够提高信息传输的安全性,即使TPM和RA之间的通信环境并不可信,也能够保证可信度量报告的传输安全性。
本发明的实施例提供的可信度量的远程认证方法,终端能够接收RA发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,在所述目标寄存器包括预设寄存器的情况下,可以触发TPM通过预设安全通道从可信动态度量服务获取动态度量信息,利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。这样一来,就通过动态度量信息(或TDM服务)与TPM中的预设寄存器的关联,将动态度量信息包裹在TPM的远程认证机制中,复用了TPM和RA之间的远程认证机制,既有效保证了动态可信度量远程认证的安全性,又无需改变TPM对外标准命令接口及TPM远程认证流程,因此在有效实现动态可信度量的同时,大大简化了动态可信度量的部署。
本发明的实施例中,步骤S11接收远程认证报告的过程可以与TPM的远程认证机制相同,都在可信度量认证请求中携带目标寄存器的标识,而与TPM的远程认证机制不同的是,步骤S12中可以进一步确定这些目标寄存器是否包括预设寄存器,以便确定此次远程认证是否涉及可信动态度量TDM的相关认证。在目标寄存器包括预设寄存器的情况下,则启动可信动态度量的相关操作,触发TPM从TDM中获取动态度量信息,在目标寄存器不包括预设寄存器的情况下,继续按照普通TPM的远程认证流程处理。步骤S13中,在目标寄存器包括预设寄存器的情况下,则可以根据获取到的动态度量信息以及目标寄存器中存储的信息生成可信度量报告。
可选的,生成可信度量报告的具体方法可以多种多样,只要能够将获取到的动态度量信息以及目标寄存器中存储的信息包含在可信度量报告中即可。例如,在本发明的一个实施例中,步骤S13中,利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告可以包括:根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值;根据所述第一特征值以及所述目标寄存器中除所述预设寄存器之外的其他寄存器中的第二特征值,生成所述可信度量报告。
举例而言,在本发明的一个实施例中,可信度量认证请求中指定的目标寄存器为PCR0、PCR7、PCR11,其中PCR0为预设寄存器,基于该预设寄存器从TDM中获取了动态度量信息,则为了使TDM的远程认证与TPM兼容,可以采用TPM中预设的可信算法对动态度量信息进行运算操作,得到第一特征值,该第一特征值与PCR0对应,再结合PCR7、PCR11中存储的第二特征值,生成可信度量报告。由于第一特征值与预设寄存器对应,在生成可信度量报告时,使用第一特征值顶替了该预设寄存器中存储的数值,因此,对于TPM而言,仅仅是预设寄存器中的数值的变化,并不会对TPM的认证机制产生实质影响,也因此,TDM可以复用TPM的远程认证机制,而无需另外搭建自己的远程认证平台。这样,根据第一特征值和第二特征值生成的可信度量报告一方面包括了动态度量信息,另一方面也与TPM的远程认证机制兼容,从而有效避免了大量的TDM认证部署工作。
采用上述可信算法对动态度量信息进行运算操作,本质上也是进行一种哈希运算。哈希运算是指将任意长度的二进制值串映射为固定长度的二进制值串,而通过原始数据映射之后得到的二进制值串就是哈希值。哈希运算对输入数据非常敏感,哪怕原始数据只修改了一个比特,最后得到的哈希值也大不相同,因此虽然在可信度量报告中并未包含PCR0对应的具体动态度量信息,但是包括动态度量信息的哈希值,在动态度量信息发生变化时,其哈希值也会发生相应变化,根据该哈希值即可实现对终端进行可信度量。
需要说明的是,本发明的实施例中,第一特征值是对动态度量信息运用TPM中预设的可信算法得到的数值,该数值并没有实际存储到某一个PCR中,只是运用该可信算法以便与TPM的认证机制保持兼容。为了更形象地模拟TPM,在本发明地一个实施例中,也可以设置一个变量性质的vPCR,模拟性地将得到的第一特征值“存入”该vPCR。
具体的,TPM中预设的可信算法可以指在TPM中,对动态度量信息进行了怎样的运算从而得到第一特征值。由于需要与TPM的认证机制相兼容,该预设的可信算法可以与TPM中计算PCR内的第二特征值的核心算法相同,进一步地,在保证兼容的前提下,预设的可信算法也可以对该核心算法进行相应的变通或修改。例如,在本发明的一个实施例中,TPM中计算PCR内的第二特征值的核心算法为MD5散列算法,则预设的可信算法可以以该MD5算法为基础,对进行hash扩展运算的初值进行不同的约定。
举例而言,在本发明的一个实施例中,所述根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作具体可以包括:确定所述预设寄存器是否被配置为所述可信动态度量服务的专用寄存器;响应于所述预设寄存器被配置为所述可信动态度量服务的专用寄存器,基于第一预设值对所述动态度量信息执行哈希hash扩展运算;响应于所述预设寄存器被配置为非所述可信动态度量服务的专用寄存器,基于所述预设寄存器中存储的特征值,对所述动态度量信息执行哈希hash扩展运算。
也即是说,在对动态度量信息进行运算前,先根据与动态度量信息对应的预设寄存器的配置情况,对动态度量信息进行分类处理。如果所述预设寄存器被配置为所述可信动态度量服务的专用寄存器,则其他应用程序无法使用该预设寄存器存储基于TPM计算的特征值,该预设寄存器中存储的值可能是随机值或其他值,具体并没有实际意义,因此,在对动态度量信息进行运算时,可以以预设值为基础,对动态度量信息进行hash扩展,例如,以全“1”或全“0”的预设值为基础,对动态度量信息进行hash扩展,从而避免计算结果的不确定性。具体的,可以根据公式PCRnew=Halg(PCRold|Digest)进行hash扩展,其中,PCRnew为第一特征值,Halg为Hash函数,PCRold为预设值,|为拼接符号,Digest为要扩展的动态度量信息的哈希值。
可选的,如果所述预设寄存器被配置为非所述可信动态度量服务的专用寄存器,则其他应用程序也可以使用该预设寄存器存储基于TPM计算的特征值,该预设寄存器中存储的值代表了这些应用程序的特征值,因此,在对动态度量信息进行运算时,可以以该预设寄存器中存储的特征值为基础,对动态度量信息进行hash扩展,这样得到的第一特征值既包括动态度量信息的特征值,也包括上述其他应用程序的特征值。例如,预设寄存器中存储的特征值为“FE049B83”,则可以以特征值为“FE049B83”为基础,对动态度量信息进行hash扩展。可选的,可以根据公式PCRnew=Halg(PCRold|Digest)进行hash扩展,其中,PCRnew为第一特征值,Halg为Hash函数,PCRold为特征值为“FE049B83”,|为拼接符号,Digest为要扩展的动态度量信息的哈希值。
前述实施例中,终端接收到的可信度量认证请求中目标寄存器可以包括一个预设寄存器,但本发明的实施例不限于此,在本发明的其他实施例中,目标寄存器中也可以包括多个不同的预设寄存器,其中每个预设寄存器可以具有自己对应的动态度量信息。
举例而言,可选的,在本发明的一个实施例中,所述在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息可以包括:在所述目标寄存器包括至少两个不同的所述预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从所述可信动态度量服务分别获取每个所述预设寄存器对应的所述动态度量信息;基于此,所述根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值可以包括:根据所述可信平台模块TPM中预设的可信算法,对每个所述预设寄存器对应的所述动态度量信息分别执行相应的运算操作,得到对应的第一特征值。
具体而言,在目标寄存器可以包括多个预设寄存器的情况下,可以同时获取以上多个预设寄存器对应的动态度量信息,例如分别获取PCR0和PCR1对应的动态度量信息,对动态度量信息执行相应的哈希算法,获取PCR0对应的第一特征值以及PCR1对应的第一特征值,从而实现了同时对不同度量目标进行可信度量。第一特征值的详细计算方法可以参考前述实施例中的说明,此处不再赘述。
前文已经提及,目标寄存器中的每个预设寄存器可以具有自己对应的动态度量信息,而每个所述预设寄存器对应的所述动态度量信息的数量可以为一条或多条。例如,预设寄存器PCR0对应动态度量信息TM2、TM3、TM4,预设寄存器PCR9对应动态度量信息TM7等。
在一个预设寄存器对应多条动态度量信息的情况下,可以按照预设顺序,将各条动态度量信息依次按照TPM中预设的可信算法计算,每次得到的第一特征值再与下一条动态度量信息的哈希值进行hash扩展,得到更新的第一特征值。当最后一条动态度量信息也进行运算后,得到了最后的第一特征值,该最后的第一特征值中包含了前述各条动态度量信息的特征。前述任一动态度量信息发生变化,都会引起该最后的第一特征值的变化。
通过上述各种方式,利用预设的可信算法对动态度量信息进行运算,得到了第一特征值后,可以在步骤S13中利用该第一特征值,以及目标寄存器中除预设寄存器外的其他寄存器中存储的第二特征值生成可信度量报告。由于第一特征值与预设寄存器对应,在生成可信度量报告时,实质上是使用第一特征值顶替了该预设寄存器中存储的数值,因此,对于TPM而言,仅仅是预设寄存器中的数值的变化,并不会对TPM的认证机制产生实质影响,也因此,TDM可以复用TPM的远程认证机制,而无需另外搭建自己的远程认证平台。
进一步地,为了完成远程认证,在本发明的一个实施例中,步骤S13的利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告之后,本发明的实施例提供的可信度量的远程认证方法还可以包括:向所述远程认证服务端发送所述可信度量报告。而且,当远程认证服务端解析可信度量报告后,如果发现报告中的某些特征值异常,则终端还可以向所述远程认证服务端提供与所述可信度量报告对应的待审计度量信息,以供所述远程认证服务端审计,所述待审计度量信息可以包括所述动态度量信息。
本发明的实施例中,可信度量报告中的特征值是一种哈希算法得到的哈希值,可以通过特征值是否变化认证终端的安全性,但如果特征值发生了变化,则无法通过特征值直接确定原因,要分析出现该变化的原因,可以对该特征值对应的度量信息进行详细审计。
可选的,终端向远程认证服务端提供的待审计度量信息既可以为可信度量报告对应的全部度量信息,也可以仅仅为异常特征值对应的度量信息。当待审计度量信息包括动态度量信息的情况下,动态度量信息可以直接从可信动态度量服务的专用接口中导出,发送或拷贝给远程认证服务端。传输动态度量信息的方式可以为可信的,也可以为非可信的。当待审计度量信息包括TPM的度量信息时,可以从操作系统中获取相应的待审计度量信息,发送或拷贝给远程认证服务端。
第二方面,本发明的实施例提供另一种可信度量的远程认证方法,该方法基于远程认证服务端,能够有效简化动态可信度量的远程认证的部署。
如图4所示,本发明的实施例提供的可信度量的远程认证方法,基于远程认证服务端,该方法可以包括:
S21,向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为所述终端的可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
远程认证服务端可以根据需要向终端发送可信度量认证请求,需要认证哪个寄存器就可以在该请求中添加上该寄存器的标识,该寄存器即为目标寄存器,目标寄存器可以为一个或多个。
可选的,在本发明的一个实施例中,远程认证服务端也可以通过预先与终端进行约定,获知终端TPM中的预设寄存器为TDM服务对应的寄存器,以便在需要对TDM服务进行远程认证时,可以将该预设寄存器作为目标寄存器,将该预设寄存器的标识携带在可信度量认证请求中。
S22,根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证,其中,所述可信度量报告由所述终端利用动态度量信息及所述目标寄存器中存储的信息生成,并由所述可信平台模块TPM签名,所述动态度量信息由所述终端中运行的可信动态度量服务提供。
步骤S21远程认证服务端向终端发送可信度量认证请求后,本步骤中,终端可以针对该可信度量认证请求,提供对应的可信度量报告并发送给远程认证服务端。远程认证服务端接收到该可信度量报告后,可以解析该报告,并基于报告中的内容认证终端是否安全。例如,远程认证服务端可以将报告中提供的特征值与对应的、自身预先保存的基准值相比较,如果二者相同,则确定终端的真实性和完整性,也就是终端是安全的,如果二者不同,则确定终端的真实性和完整性被破坏,即终端是不安全的。
具体的,可信度量报告是基于终端中的TDM提供的动态度量信息及目标寄存器中存储的信息生成的,例如,可以是根据动态度量信息及目标寄存器中存储的信息的特征值生成的,其中,动态度量信息的特征值可以携带在可信度量报告中的至少一个目标寄存器所对应的特征值中。如果远程认证服务端已经通过与终端的约定,获知预设寄存器为TDM服务对应的寄存器,则动态度量信息的特征值可以携带在可信度量报告中该预设寄存器所对应的特征值中。例如,如果远程认证服务端已经获知TPM中的PCR7为TDM对应的寄存器,当远程认证服务端需要对终端的TDM服务进行远程认证时,可以向终端发送可信度量认证请求,并将PCR7作为目标寄存器的标识携带在可信度量认证请求中,相应的,远程认证服务端接收到的可信度量报告中,动态度量信息的特征值也携带在PCR7对应的特征值中。
本发明的实施例提供的可信度量的远程认证方法,远程认证服务端能够向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证,其中,所述可信度量报告由所述终端利用动态度量信息及所述目标寄存器中存储的信息生成,并由所述可信平台模块TPM签名,所述动态度量信息由所述终端中运行的可信动态度量服务提供。这样一来,就将动态度量信息包裹在TPM的远程认证机制中,复用了TPM和RA之间的远程认证机制,既有效保证了认证的安全性,又无需改变TPM对外标准命令接口及TPM远程认证流程,因此在有效实现动态可信度量的同时,大大简化了动态可信度量的部署。
进一步地,在本发明的一个实施例中,步骤S22中,对所述终端返回的可信度量报告进行远程认证之后,本发明的实施例提供的可信度量的远程认证方法还可以包括:响应于所述远程认证未通过,从所述终端获取与所述可信度量报告对应的待审计度量信息,所述待审计度量信息包括所述动态度量信息;基于在所述终端的可信平台模块TPM中预设的可信算法,对所述待审计度量信息执对行相应运算,得到各所述目标寄存器对应的重放值;在各所述重放值与所述可信度量报告中的各特征值一致的情况下,对所述待审计度量信息进行审计。
具体而言,可信度量报告基于动态度量信息以及目标寄存器中存储的信息生成,但是并未包括具体的动态度量信息,例如仅包括动态度量信息的哈希值,因此,在远程认证未通过的情况下,仅仅依据可信度量报告无法对具体原因做出分析。为了解决该问题,如图5所示,在本发明的一个实施例中,可以从TDM中导出动态度量信息提供给远程认证服务端,远程认证服务端可以对动态度量信息采用在所述终端的TPM中预设的可信算法进行运算,得到重放值,并将重放值与可信度量报告中对应的特征值进行比较,如果两者相同,则说明导出的动态度量信息未被篡改,可以进一步根据导出的动态度量信息对远程认证未通过的原因进行详细分析。如果两者不相同,则说明导出的动态度量信息已经被篡改,该动态度量信息不可用于分析远程认证未通过的原因。由于对导出的动态度量信息进行了重放,因此,动态度量信息的导出及传递过程可以是可信过程,也可以是非可信过程。
下面通过具体实施例对本发明的实施例提供的可信度量的远程认证方法进行详细说明。
如图6所示,本发明的实施例提供的可信度量的远程认证方法可以包括:
S301、远程认证服务端向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为所述终端的可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
例如目标寄存器的标识为PCR3、PCR5;
S302、终端根据目标寄存器的标识,确定目标寄存器是否包括预设寄存器,例如,预设寄存器为PCR3;若是,执行步骤S303,若否,执行步骤S309;
S303、终端触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息,其中所述可信动态度量服务及所述可信平台模块TPM均处于可信环境中;
S304、终端确定所述预设寄存器是否被配置为所述可信动态度量服务的专用寄存器;若是,执行步骤S305,若否,执行步骤S306;
S305、基于第一预设值对所述动态度量信息执行哈希hash扩展运算,得到第一特征值;执行S307;
例如,PCR3被配置为所述可信动态度量服务的专用寄存器,则基于第一预设值“FFFFFFFF”对所述动态度量信息执行哈希hash扩展运算,得到第一特征值;
S306、响应于所述预设寄存器被配置为非所述可信动态度量服务的专用寄存器,基于所述预设寄存器中存储的特征值,对所述动态度量信息执行哈希hash扩展运算,得到第一特征值;执行S307;
例如,PCR3被配置为非所述可信动态度量服务的专用寄存器,则基于PCR3中存储的特征值“1F00934A”对所述动态度量信息执行哈希hash扩展运算,得到第一特征值;
S307、获取目标寄存器中处预设寄存器之外的其他寄存器中的存储的信息,得到第二特征值;
例如,获取PCR5中存储的信息,得到第二特征值;
S308、根据第一特征值和第二特征值,生成可信度量报告,TPM对该可信度量报告进行签名;执行步骤S310;
S309、进入普通的TPM流程,根据目标寄存器中存储的信息生成可信度量报告;
S310、终端向所述远程认证服务端发送所述可信度量报告;
S311、远程认证服务端根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证;
S312、响应于所述远程认证未通过,从所述终端获取与所述可信度量报告对应的待审计度量信息,所述待审计度量信息包括所述动态度量信息;
S313、基于在所述终端的可信平台模块TPM中预设的可信算法,对所述待审计度量信息执行相应运算,得到各所述目标寄存器对应的重放值;
S314、在各所述重放值与所述可信度量报告中的各特征值一致的情况下,对所述待审计度量信息进行审计。
第三方面,本发明的实施例还提供一种可信度量的远程认证装置,该装置设置于终端中,能够有效简化动态可信度量的远程认证的部署。
如图7所示,本发明的实施例提供的可信度量的远程认证装置5,设置于终端中,装置5可以包括:
接收单元51,用于接收远程认证服务端发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
触发单元52,用于在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息,其中所述可信动态度量服务及所述可信平台模块TPM均处于可信环境中;
生成单元53,用于利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。
本发明的实施例提供的可信度量的远程认证装置,终端能够接收RA发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,在所述目标寄存器包括预设寄存器的情况下,可以触发TPM通过预设安全通道从可信动态度量服务获取动态度量信息,利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。这样一来,就通过动态度量信息(或TDM服务)与TPM中的预设寄存器的关联,将动态度量信息包裹在TPM的远程认证机制中,复用了TPM和RA之间的远程认证机制,既有效保证了动态可信度量远程认证的安全性,又无需改变TPM对外标准命令接口及TPM远程认证流程,因此在有效实现动态可信度量的同时,大大简化了动态可信度量的部署。
可选的,生成单元53包括:
运算子单元,用于根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值;
生成子单元,用于根据所述第一特征值以及所述目标寄存器中除所述预设寄存器之外的其他寄存器中的第二特征值,生成所述可信度量报告。
可选的,触发单元52具体用于:在所述目标寄存器包括至少两个不同的所述预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从所述可信动态度量服务分别获取每个所述预设寄存器对应的所述动态度量信息;
所述运算子单元具体用于:根据所述可信平台模块TPM中预设的可信算法,对每个所述预设寄存器对应的所述动态度量信息分别执行相应的运算操作,得到对应的第一特征值。
可选的,每个所述预设寄存器对应的所述动态度量信息的数量为一条或多条。
可选的,所述运算子单元具体用于:
确定所述预设寄存器是否被配置为所述可信动态度量服务的专用寄存器;
响应于所述预设寄存器被配置为所述可信动态度量服务的专用寄存器,基于第一预设值对所述动态度量信息执行哈希hash扩展运算;
响应于所述预设寄存器被配置为非所述可信动态度量服务的专用寄存器,基于所述预设寄存器中存储的特征值,对所述动态度量信息执行哈希hash扩展运算。
可选的,所述可信动态度量服务及所述可信平台模块TPM均设置在安全处理器中,所述预设安全通道仅对所述可信动态度量服务及所述可信平台模块TPM开放。
可选的,装置5还包括:
报告发送单元,用于在利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告之后,向所述远程认证服务端发送所述可信度量报告;
提供单元,用于向所述远程认证服务端提供与所述可信度量报告对应的待审计度量信息,以供所述远程认证服务端审计,所述待审计度量信息包括所述动态度量信息。
第四方面,本发明的实施例还提供另一种可信度量的远程认证装置,该装置设置于远程认证服务端中,能够有效简化动态可信度量的远程认证的部署。
如图8所示,本发明的实施例提供的可信度量的远程认证装置6,设置于远程认证服务端中,装置6可以包括:
请求发送单元61,用于向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为所述终端的可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
远程认证单元62,用于根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证,其中,所述可信度量报告由所述终端利用动态度量信息及所述目标寄存器中存储的信息生成,并由所述可信平台模块TPM签名,所述动态度量信息由所述终端中运行的可信动态度量服务提供。
本发明的实施例提供的可信度量的远程认证装置,远程认证服务端能够向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证,其中,所述可信度量报告由所述终端利用动态度量信息及所述目标寄存器中存储的信息生成,并由所述可信平台模块TPM签名,所述动态度量信息由所述终端中运行的可信动态度量服务提供。这样一来,就将动态度量信息包裹在TPM的远程认证机制中,复用了TPM和RA之间的远程认证机制,既有效保证了认证的安全性,又无需改变TPM对外标准命令接口及TPM远程认证流程,因此在有效实现动态可信度量的同时,大大简化了动态可信度量的部署。
可选的,装置6还包括:
获取单元,用于在对所述终端返回的可信度量报告进行远程认证之后,响应于所述远程认证未通过,从所述终端获取与所述可信度量报告对应的待审计度量信息,所述待审计度量信息包括所述动态度量信息;
运算单元,用于基于在所述终端的可信平台模块TPM中预设的可信算法,对所述待审计度量信息执行相应运算,得到各所述目标寄存器对应的重放值;
审计单元,用于在各所述重放值与所述可信度量报告中的各特征值一致的情况下,对所述待审计度量信息进行审计。
第五方面,本发明的实施例还提供一种可信度量的远程认证系统,所述可信度量的远程认证系统包括终端以及与所述终端通信连接的远程认证服务端;其中,所述终端用于执行本发明实施例提供的任一种基于终端的可信度量的远程认证方法,所述远程认证服务端用于执行本发明实施例提供的任一种基于远程认证服务端的可信度量的远程认证方法,前文已经进行了详细的说明,此处不再赘述。
第六方面,如图9所示,本发明的实施例还提供一种电子设备,包括:壳体100、至少一个处理器110、存储器120、电路板130和电源电路140,其中,电路板130安置在壳体100围成的空间内部,处理器110和存储器120设置在电路板130上;电源电路140,用于为上述服务器的各个电路或器件供电;存储器120用于存储可执行程序代码;处理器110通过读取存储器120中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任一种的可信度量的远程认证方法。处理器110对上述步骤的具体执行过程以及处理器110通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
第七方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种的可信度量的远程认证方法。处理器对上述步骤的具体执行过程以及处理器通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (21)
1.一种可信度量的远程认证方法,其特征在于,基于终端,所述方法包括:
接收远程认证服务端发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息,其中所述可信动态度量服务及所述可信平台模块TPM均处于可信环境中;
利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。
2.根据权利要求1所述的方法,其特征在于,所述利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告包括:
根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值;
根据所述第一特征值以及所述目标寄存器中除所述预设寄存器之外的其他寄存器中的第二特征值,生成所述可信度量报告。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息包括:在所述目标寄存器包括至少两个不同的所述预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从所述可信动态度量服务分别获取每个所述预设寄存器对应的所述动态度量信息;
所述根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值包括:根据所述可信平台模块TPM中预设的可信算法,对每个所述预设寄存器对应的所述动态度量信息分别执行相应的运算操作,得到对应的第一特征值。
4.根据权利要求3所述的方法,其特征在于,每个所述预设寄存器对应的所述动态度量信息的数量为一条或多条。
5.根据权利要求2所述的方法,其特征在于,所述根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作包括:
确定所述预设寄存器是否被配置为所述可信动态度量服务的专用寄存器;
响应于所述预设寄存器被配置为所述可信动态度量服务的专用寄存器,基于第一预设值对所述动态度量信息执行哈希hash扩展运算;
响应于所述预设寄存器被配置为非所述可信动态度量服务的专用寄存器,基于所述预设寄存器中存储的特征值,对所述动态度量信息执行哈希hash扩展运算。
6.根据权利要求1所述的方法,其特征在于,所述可信动态度量服务及所述可信平台模块TPM均设置在安全处理器中,所述预设安全通道仅对所述可信动态度量服务及所述可信平台模块TPM开放。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告之后,所述方法还包括:
向所述远程认证服务端发送所述可信度量报告;
向所述远程认证服务端提供与所述可信度量报告对应的待审计度量信息,以供所述远程认证服务端审计,所述待审计度量信息包括所述动态度量信息。
8.一种可信度量的远程认证方法,其特征在于,基于远程认证服务端,所述方法包括:
向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为所述终端的可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证,其中,所述可信度量报告由所述终端利用动态度量信息及所述目标寄存器中存储的信息生成,并由所述可信平台模块TPM签名,所述动态度量信息由所述终端中运行的可信动态度量服务提供。
9.根据权利要求8所述的方法,其特征在于,所述对所述终端返回的可信度量报告进行远程认证之后,所述方法还包括:
响应于所述远程认证未通过,从所述终端获取与所述可信度量报告对应的待审计度量信息,所述待审计度量信息包括所述动态度量信息;
基于在所述终端的可信平台模块TPM中预设的可信算法,对所述待审计度量信息执行相应运算,得到各所述目标寄存器对应的重放值;
在各所述重放值与所述可信度量报告中的各特征值一致的情况下,对所述待审计度量信息进行审计。
10.一种可信度量的远程认证装置,其特征在于,设置于终端中,所述装置包括:
接收单元,用于接收远程认证服务端发送的可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
触发单元,用于在所述目标寄存器包括预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从可信动态度量服务获取动态度量信息,其中所述可信动态度量服务及所述可信平台模块TPM均处于可信环境中;
生成单元,用于利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告,所述可信度量报告由所述可信平台模块TPM签名。
11.根据权利要求10所述的装置,其特征在于,所述生成单元包括:
运算子单元,用于根据所述可信平台模块TPM中预设的可信算法,对所述动态度量信息执行相应的运算操作,得到第一特征值;
生成子单元,用于根据所述第一特征值以及所述目标寄存器中除所述预设寄存器之外的其他寄存器中的第二特征值,生成所述可信度量报告。
12.根据权利要求11所述的装置,其特征在于,所述触发单元具体用于:在所述目标寄存器包括至少两个不同的所述预设寄存器的情况下,触发所述可信平台模块TPM通过预设安全通道从所述可信动态度量服务分别获取每个所述预设寄存器对应的所述动态度量信息;
所述运算子单元具体用于:根据所述可信平台模块TPM中预设的可信算法,对每个所述预设寄存器对应的所述动态度量信息分别执行相应的运算操作,得到对应的第一特征值。
13.根据权利要求12所述的装置,其特征在于,每个所述预设寄存器对应的所述动态度量信息的数量为一条或多条。
14.根据权利要求11所述的装置,其特征在于,所述运算子单元具体用于:
确定所述预设寄存器是否被配置为所述可信动态度量服务的专用寄存器;
响应于所述预设寄存器被配置为所述可信动态度量服务的专用寄存器,基于第一预设值对所述动态度量信息执行哈希hash扩展运算;
响应于所述预设寄存器被配置为非所述可信动态度量服务的专用寄存器,基于所述预设寄存器中存储的特征值,对所述动态度量信息执行哈希hash扩展运算。
15.根据权利要求10所述的装置,其特征在于,所述可信动态度量服务及所述可信平台模块TPM均设置在安全处理器中,所述预设安全通道仅对所述可信动态度量服务及所述可信平台模块TPM开放。
16.根据权利要求10至15中任一项所述的装置,其特征在于,所述装置还包括:
报告发送单元,用于在利用所述动态度量信息及所述目标寄存器中存储的信息,生成可信度量报告之后,向所述远程认证服务端发送所述可信度量报告;
提供单元,用于向所述远程认证服务端提供与所述可信度量报告对应的待审计度量信息,以供所述远程认证服务端审计,所述待审计度量信息包括所述动态度量信息。
17.一种可信度量的远程认证装置,其特征在于,设置于远程认证服务端中,所述装置包括:
请求发送单元,用于向终端发送可信度量认证请求,所述可信度量认证请求中携带目标寄存器的标识,所述目标寄存器为所述终端的可信平台模块TPM中,需要进行远程认证的特征值所在的虚拟平台配置寄存器PCR;
远程认证单元,用于根据所述终端返回的可信度量报告,对所述终端的安全性进行远程认证,其中,所述可信度量报告由所述终端利用动态度量信息及所述目标寄存器中存储的信息生成,并由所述可信平台模块TPM签名,所述动态度量信息由所述终端中运行的可信动态度量服务提供。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
获取单元,用于在对所述终端返回的可信度量报告进行远程认证之后,响应于所述远程认证未通过,从所述终端获取与所述可信度量报告对应的待审计度量信息,所述待审计度量信息包括所述动态度量信息;
运算单元,用于基于在所述终端的可信平台模块TPM中预设的可信算法,对所述待审计度量信息执行相应运算,得到各所述目标寄存器对应的重放值;
审计单元,用于在各所述重放值与所述可信度量报告中的各特征值一致的情况下,对所述待审计度量信息进行审计。
19.一种可信度量的远程认证系统,其特征在于,包括终端以及与所述终端通信连接的远程认证服务端;其中,所述终端用于执行权利要求1-7中任一项所述的可信度量的远程认证方法,所述远程认证服务端用于执行权利要求8-9中任一项所述的可信度量的远程认证方法。
20.一种电子设备,其特征在于,包括:壳体、至少一个处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述服务器的各个电路或器件供电;存储器用于存储可执行程序代码;所述至少一个处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-7或8-9中任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1-7或8-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111294752.XA CN114021106B (zh) | 2021-11-03 | 2021-11-03 | 一种可信度量的远程认证方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111294752.XA CN114021106B (zh) | 2021-11-03 | 2021-11-03 | 一种可信度量的远程认证方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114021106A true CN114021106A (zh) | 2022-02-08 |
CN114021106B CN114021106B (zh) | 2022-07-19 |
Family
ID=80060359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111294752.XA Active CN114021106B (zh) | 2021-11-03 | 2021-11-03 | 一种可信度量的远程认证方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114021106B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666103A (zh) * | 2022-03-04 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 可信度量装置、设备、系统及可信身份认证方法 |
CN114697107A (zh) * | 2022-03-29 | 2022-07-01 | 杭州安恒信息技术股份有限公司 | 通信方法、装置、计算机设备和可读存储介质 |
CN118051917A (zh) * | 2024-04-11 | 2024-05-17 | 南京汇荣信息技术有限公司 | 一种基于可信计算平台度量报告验证方法及系统 |
CN118503956A (zh) * | 2024-07-16 | 2024-08-16 | 浙江网商银行股份有限公司 | 一种软件保护系统、方法、存储介质、设备及程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477602A (zh) * | 2009-02-10 | 2009-07-08 | 浪潮电子信息产业股份有限公司 | 一种可信计算环境中远程证明的方法 |
CN110334515A (zh) * | 2019-07-05 | 2019-10-15 | 北京可信华泰信息技术有限公司 | 一种基于可信计算平台生成度量报告的方法及装置 |
CN112000935A (zh) * | 2019-05-27 | 2020-11-27 | 阿里巴巴集团控股有限公司 | 远程认证方法、装置、系统、存储介质及计算机设备 |
-
2021
- 2021-11-03 CN CN202111294752.XA patent/CN114021106B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477602A (zh) * | 2009-02-10 | 2009-07-08 | 浪潮电子信息产业股份有限公司 | 一种可信计算环境中远程证明的方法 |
CN112000935A (zh) * | 2019-05-27 | 2020-11-27 | 阿里巴巴集团控股有限公司 | 远程认证方法、装置、系统、存储介质及计算机设备 |
CN110334515A (zh) * | 2019-07-05 | 2019-10-15 | 北京可信华泰信息技术有限公司 | 一种基于可信计算平台生成度量报告的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666103A (zh) * | 2022-03-04 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 可信度量装置、设备、系统及可信身份认证方法 |
CN114666103B (zh) * | 2022-03-04 | 2023-08-15 | 阿里巴巴(中国)有限公司 | 可信度量装置、设备、系统及可信身份认证方法 |
CN114697107A (zh) * | 2022-03-29 | 2022-07-01 | 杭州安恒信息技术股份有限公司 | 通信方法、装置、计算机设备和可读存储介质 |
WO2023184619A1 (zh) * | 2022-03-29 | 2023-10-05 | 杭州安恒信息技术股份有限公司 | 通信方法、装置、计算机设备和可读存储介质 |
CN118051917A (zh) * | 2024-04-11 | 2024-05-17 | 南京汇荣信息技术有限公司 | 一种基于可信计算平台度量报告验证方法及系统 |
CN118503956A (zh) * | 2024-07-16 | 2024-08-16 | 浙江网商银行股份有限公司 | 一种软件保护系统、方法、存储介质、设备及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN114021106B (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114021106B (zh) | 一种可信度量的远程认证方法、装置及系统 | |
US11861372B2 (en) | Integrity manifest certificate | |
US9674183B2 (en) | System and method for hardware-based trust control management | |
KR101066727B1 (ko) | 컴퓨팅 장치의 보안 부팅 | |
CN110263545B (zh) | 一种基于Android系统的启动过程完整性度量检测方法 | |
US9288155B2 (en) | Computer system and virtual computer management method | |
JP4855679B2 (ja) | サーバ管理コプロセッササブシステム内部のtcpaによる信頼性の高いプラットフォームモジュール機能のカプセル化 | |
JP5530460B2 (ja) | セキュアブート方法およびセキュアブート装置 | |
JP5745061B2 (ja) | 起動プロセスの際の対話型コンポーネントの使用の認証 | |
US20170257365A1 (en) | System and method for hardware-based trust control management | |
EP3317875B1 (en) | Keyless signature infrastructure based virtual machine integrity | |
US20130125244A1 (en) | Platform integrity verification system and information processing device | |
CN113468535B (zh) | 可信度量方法及相关装置 | |
WO2011146305A2 (en) | Extending an integrity measurement | |
JP2011511331A (ja) | セキュアブート方法及びセキュアブート装置 | |
US8732444B2 (en) | Information processing device and information processing method | |
US20100037065A1 (en) | Method and Apparatus for Transitive Program Verification | |
CN113448681B (zh) | 一种虚拟机监控器公钥的注册方法、设备和存储介质 | |
CN113127873A (zh) | 堡垒机的可信度量系统及电子设备 | |
US12019752B2 (en) | Security dominion of computing device | |
CN117494232B (zh) | 固件的执行方法和装置、系统、存储介质及电子设备 | |
Lioy et al. | and Antonio Pastor | |
CN118551376A (zh) | 操作系统可信状态证明方法、装置、计算机及存储介质 | |
Weiping et al. | Runtime-Based Boot Components Re-measurement Scheme for Trusted Platform | |
Installation | Network-Based Root of Trust for Installation |
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 |