发明内容
本发明实施例提供虚拟可信根的迁移方法及相关设备,以解决现有vTPM迁移产生短命无效证书,造成资源浪费的问题。
为解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种虚拟可信根的迁移方法,应用于第一设备,所述方法包括:
向第二设备发送迁移请求;
接收所述迁移请求对应的第一签名,其中,所述第一签名对应第一目标虚拟可信根DvTPM的身份信息;
获取所述第二设备的目标物理可信根DpTPM的身份信息;
基于所述DpTPM的身份信息,从区块链上获取第二签名,其中,所述第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息,且所述第二签名绑定所述DpTPM的身份信息,所述第二目标物理可信根DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
可选的,所述在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备,包括:
解密所述第一签名和第二签名,分别得到第一解密信息和第二解密信息,其中,所述第一解密信息包括第一目标虚拟可信根DvTPM的身份信息,所述第二解密信息包括所述第二目标虚拟可信根DvTPM的身份信息;
判断所述第一解密信息和第二解密信息是否匹配;
若匹配,则将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
可选的,所述第二目标物理可信根DvTPM包括第二AIK私钥、第二AIK公钥和第二平台配置寄存器信息;
所述第二签名由第二设备利用DpTPM的AIK私钥签名所述第二AIK公钥和第二平台配置寄存器信息得到。
可选的,所述DpTPM的身份信息包括DpTPM的AIK公钥;
所述基于所述DpTPM的身份信息,从区块链上获取第二签名,包括:
基于所述DpTPM的AIK公钥,在所述区块链上读取所述第二签名。
可选的,所述第一目标物理可信根DvTPM包括第一AIK私钥、第一AIK公钥和第一平台配置寄存器信息;
所述第一签名是利用所述第一AIK私钥签名所述第一AIK公钥和第一平台配置寄存器信息得到;
所述解密所述第一签名和第二签名,分别得到第一解密信息和第二解密信息,包括:
利用所述DpTPM的AIK公钥解密所述第二签名,得到包括所述第二AIK公钥和第二平台配置寄存器信息的第二解密信息;
利用所述第二AIK公钥解密所述第一签名,得到包括所述第一AIK公钥和第一平台配置寄存器信息的第一解密信息。
可选的,所述判断所述第一解密信息和第二解密信息是否匹配,包括:
若第一AIK公钥与第二AIK公钥匹配,且第一平台配置寄存器信息与第二平台配置寄存器信息匹配,则判断所述第一解密信息和第二解密信息匹配。
第二方面,本发明实施例提供了一种虚拟可信根的迁移方法,应用于第二设备,所述方法包括:
所述第二设备的目标物理可信根DpTPM对第二设备的目标虚拟可信根DvTPM的身份信息签名,生成第二签名,所述第二签名绑定所述DpTPM的身份信息;
将所述第二签名挂载至区块链;
接收第一设备发送的迁移请求;
基于所述迁移请求向所述第一设备发送的第一签名,其中,所述第一签名对应所述第二设备的DvTPM的身份信息;所述DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
接收所述第一设备的源虚拟可信根SvTPM迁移信息。
可选的,所述DvTPM包括DvTPM的AIK私钥、DvTPM的AIK公钥和平台配置寄存器信息;
所述DpTPM包括DpTPM的AIK私钥和DpTPM的AIK公钥;
所述目标物理可信根DpTPM对第二设备的第二目标虚拟可信根DvTPM的身份信息签名,生成第二签名,包括:
所述DpTPM利用DpTPM的AIK私钥对所述DvTPM的AIK公钥和第二平台配置寄存器信息签名得到所述第二签名。
可选的,所述DpTPM的身份信息包括DpTPM的AIK公钥。
可选的,所述第一签名由所述第二设备利用所述DvTPM的AIK私钥签名所述DvTPM的AIK公钥和平台配置寄存器信息得到。
可选的,所述第二设备的目标物理可信根DpTPM对第二设备的目标虚拟可信根DvTPM的身份信息签名,生成第二签名步骤之前,所述方法,还包括:
通过所述第二设备的目标虚拟机管理器DVMM创建目标虚拟可信根DvTPM,得到目标虚拟可信根DvTPM的所述DvTPM的AIK私钥和DvTPM的AIK公钥。
第三方面,本发明实施例提供了一种虚拟可信根的迁移装置,应用于第一设备,所述装置包括:
第一发送模块,用于向第二设备发送迁移请求;
第一接收模块,用于接收所述迁移请求对应的第一签名,其中,所述第一签名对应第一目标虚拟可信根DvTPM的身份信息;
第一获取模块,用于获取所述第二设备的目标物理可信根DpTPM的身份信息;
第二获取模块,用于基于所述DpTPM的身份信息,从区块链上获取第二签名,其中,所述第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息,且所述第二签名绑定所述DpTPM的身份信息,所述第二目标物理可信根DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
迁移发送模块,用于在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
第四方面,本发明实施例提供了一种电子设备,包括收发机和处理器,
所述收发机,用于:
向第二设备发送迁移请求;
接收所述迁移请求对应的第一签名,其中,所述第一签名对应第一目标虚拟可信根DvTPM的身份信息;
所述处理器,用于:
获取所述第二设备的目标物理可信根DpTPM的身份信息;
基于所述DpTPM的身份信息,从区块链上获取第二签名,其中,所述第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息,且所述第二签名绑定所述DpTPM的身份信息,所述第二目标物理可信根DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
第五方面,本发明实施例提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述第一方面所述的虚拟可信根的迁移方法的步骤。
第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的虚拟可信根的迁移方法的步骤。
第七方面,本发明实施例提供了一种虚拟可信根的迁移装置,应用于第二设备,所述装置包括:
第二签名生成模块,用于利用所述第二设备的目标物理可信根DpTPM对第二设备的目标虚拟可信根DvTPM的身份信息签名,生成第二签名,所述第二签名绑定所述DpTPM的身份信息;
第二签名上传模块,用于将所述第二签名挂载至区块链;
第二接收模块,用于接收第一设备发送的迁移请求;
第二发送模块,用于基于所述迁移请求向所述第一设备发送的第一签名,其中,所述第一签名对应所述第二设备的DvTPM的身份信息;所述DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
迁移接收模块,接收所述第一设备的源虚拟可信根SvTPM迁移信息。
第八方面,本发明实施例提供了一种电子设备,包括收发机和处理器,
所述处理器,用于:
利用所述第二设备的目标物理可信根DpTPM对第二设备的目标虚拟可信根DvTPM的身份信息签名,生成第二签名,所述第二签名绑定所述DpTPM的身份信息;
将所述第二签名挂载至区块链;
所述收发机,用于:接收第一设备发送的迁移请求;
所述处理器,还用于:基于所述迁移请求向所述第一设备发送的第一签名,其中,所述第一签名对应所述第二设备的DvTPM的身份信息;所述DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
所述收发机,还用于:接收所述第一设备的源虚拟可信根SvTPM迁移信息。
第九方面,本发明实施例提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述第二方面所述的虚拟可信根的迁移方法的步骤。
第十方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面所述的虚拟可信根的迁移方法的步骤。
本发明实施例的上述技术方案,向第二设备发送迁移请求;接收所述迁移请求对应的第一签名,其中,所述第一签名对应第一目标虚拟可信根DvTPM的身份信息;获取所述第二设备的目标物理可信根DpTPM的身份信息;基于所述DpTPM的身份信息,从区块链上获取第二签名,其中,所述第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息,且所述第二签名绑定所述DpTPM的身份信息,所述第二目标物理可信根DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。本发明实施例利用区块链,能够以去中心化的逻辑结构替代CA实现vTPM的迁移,当虚拟机频繁迁移时,避免产生短命无效证书和中心化的性能瓶颈节点,简化了可信计算虚拟化的部署和使用。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,提出了一种虚拟可信根的迁移方法,以解决现有vTPM迁移产生短命无效证书,造成资源浪费的问题。
参见图1,图1是本发明实施例提供的一种虚拟可信根的迁移方法,应用于第一设备,如图1所示,所述方法包括以下步骤:
步骤101、向第二设备发送迁移请求。
当虚拟机需要从一个物理主机迁移到另一个物理主机时,相应的vTPM也要进行迁移。本发明实施例中,上述第一设备可以理解为待迁移vTPM的源(S)物理主机,第二设备可以理解为vTPM迁移后的目的(D)物理主机。当上述第一设备需要进行vTPM迁移时,所述第一设备的源虚拟机管理器SVMM向第二设备的目的虚拟机管理器DVMM发送迁移请求。
步骤102、接收所述迁移请求对应的第一签名,其中,所述第一签名对应第一目标虚拟可信根DvTPM的身份信息。
本发明实施例中,上述第一设备向第二设备发送迁移请求后,接收所述迁移请求对应的第一签名。其中,上述第一签名,可能是上述第二设备(请求对象设备)接收到所述迁移请求后,通过其DVMM向上述第一设备的SVMM发送的第一签名,也可能是其他第三设备(非请求对象设备)向上述第一设备的SVMM发送的第一签名。上述第一签名对应第一目标虚拟可信根DvTPM的身份信息。
步骤103、获取所述第二设备的目标物理可信根DpTPM的身份信息;
所述第一设备的源虚拟机管理器SVMM向第二设备的目的虚拟机管理器DVMM发送迁移请求;第一设备和第二设备选择由云计算负载均衡器、OpenStack等云计算平台发起,在迁移之前,云平台已知SVMM和DVMM的身份信息,例如,AIK公钥,并将这些信息交给SVMM和DVMM。
可选的,所述获取所述第二设备的目标物理可信根DpTPM的身份信息,包括,第一设备从云平台获取所述第二设备的目标物理可信根DpTPM的身份信息。可选的,其中,所述DpTPM的身份信息包括DpTPM的AIK公钥。
步骤104、基于所述DpTPM的身份信息,从区块链上获取第二签名,其中,所述第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息,且所述第二签名绑定所述DpTPM的身份信息,所述第二目标物理可信根DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM。
在第一设备进行迁移请求前,上述第二设备预先创建了区块链系统,所述区块链系统可以由多个pTPM共同创建,通过MSP(Membership ServiceProvider)加密,确保该区块链的访问权限只有参与创建了区块链的pTPM的VMM能够获得,从而进一步加强了vTMP迁移的安全性。
第二设备的DVMM创建目的虚拟机DVM和DvTPM实例,所述第二设备基于所述迁移请求为所述第一设备分配第二目标虚拟可信根DvTPM,对第二目标虚拟可信根DvTPM的身份信息进行签名得到第二签名,将上述第二签名与DpTPM的身份信息绑定上链。
上述第二签名用于描述第二目标虚拟可信根DvTPM的身份,并证明第二目标虚拟可信根DvTPM属于DpTPM,第二目标虚拟可信根DvTPM是DpTPM虚拟出来的。上述第一设备的SVMM基于所述DpTPM的身份信息,从区块链上获取对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息的第二签名。
步骤105、在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
其中,所述第一签名对应第一目标虚拟可信根DvTPM的身份信息,所述第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息,所述第一签名和第二签名匹配,即第一目标虚拟可信根DvTPM的身份信息与第二目标虚拟可信根DvTPM的身份信息匹配,则认为迁移请求发送给了正确的DVMM,的确要迁移到这个DVMM管理下的DvTPM上,此时可以执行SvTPM的迁移操作。
可选的,所述步骤105,包括:
解密所述第一签名和第二签名,分别得到第一解密信息和第二解密信息,其中,所述第一解密信息包括第一目标虚拟可信根DvTPM的身份信息,所述第二解密信息包括所述第二目标虚拟可信根DvTPM的身份信息。
根据签名方式,解密所述第一签名和第二签名,分别得到第一解密信息和第二解密信息。其中所述第一签名对应第一目标虚拟可信根DvTPM的身份信息,第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息;第一解密信息相应地包括第一目标虚拟可信根DvTPM的身份信息,第二解密信息相应地包括所述第二目标虚拟可信根DvTPM的身份信息。
判断所述第一解密信息和第二解密信息是否匹配。
所述第一解密信息包括第一目标虚拟可信根DvTPM的身份信息,所述第二解密信息包括所述第二目标虚拟可信根DvTPM的身份信息,判断所述第一解密信息和第二解密信息是否匹配,即判断第一签名解密后的第一目标虚拟可信根DvTPM的身份信息和第二签名解密后的第二目标虚拟可信根DvTPM的身份信息,是否匹配。
若匹配,则将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
在匹配情况下,则认为迁移请求发送给了正确的DVMM,的确要迁移到这个DVMM管理下的DvTPM上,此时可以执行SvTPM的迁移操作。
可选的,所述目标虚拟可信根DvTPM包括AIK私钥和AIK公钥。DVMM创建DvTPM得到AIK’公私钥对和EK’,所述AIK’公私钥对包括所述AIK私钥和AIK公钥。所述第二目标物理可信根DvTPM包括第二AIK私钥和第二AIK公钥;所述第一目标物理可信根DvTPM包括第一AIK私钥和第一AIK公钥。
可选的,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备,具体包括:
通过后SVMM将第二AIK公钥发送给SvTPM对应的源虚拟机SVM;
上述SVM读取SvTPM;
上述SVM利用上述第二AIK公钥对SvTPM信息加密,得到加密后的SvTPM信息;
上述SVM向DVM发送加密后的SvTPM信息,以使得DVM通过第二AIK私钥对加密后的SvTPM信息进行解密,并将解密后的SvTPM信息载入DvTPM,完成SvTPM的迁移。
TPM的平台配置寄存器(platform configuration register,PCR)可以存储安全度量的信息,以便OS内的可信软件进行可信校验检查,用来判断当前的计算机设备是否安全可信。可选的,所述第二目标物理可信根DvTPM包括第二AIK私钥、第二AIK公钥和第二平台配置寄存器信息PCR’。所述第二签名由第二设备利用DpTPM的AIK私钥签名所述第二AIK公钥和第二平台配置寄存器信息得到。所述第二签名可以记为signature。
可选的,所述第一目标物理可信根DvTPM包括第一AIK私钥、第一AIK公钥和第一平台配置寄存器信息。所述第一签名是利用所述第一AIK私钥签名所述第一AIK公钥和第一平台配置寄存器信息得到,所述第一签名可以记为info。
可选的,所述DpTPM的身份信息包括DpTPM的AIK公钥;所述步骤104,包括:基于所述DpTPM的AIK公钥,在所述区块链上读取所述第二签名。
其中,绑定所述DpTPM的AIK公钥的所述第二签名是由所述第二设备的DpTPM挂载在所述区块链上的,且所述第二签名为所述DpTPM利用DpTPM的AIK私钥对所述第二AIK公钥和第二平台配置寄存器信息签名得到,其中,所述DpTPM的AIK公钥和DpTPM的AIK私钥为所述DpTPM的公私钥对。
可选的,DpTPM利用quote函数引用DvTPM的第二AIK公钥和第二PCR信息,DpTPM利用DpTPM的AIK私钥对quote函数引用的第二AIK公钥和第二PCR信息签名,产生第二签名,将该第二签名与DpTPM的AIK公钥绑定上链。从而在区块链上实现了DpTPM和DvTPM关于AIK’的绑定。
本实施例中,DpTPM将DpTPM的AIK公钥与第二签名绑定上链,SVMM收到第一签名后,基于从云平台读取的DpTPM的AIK公钥,在区块链读取第二签名。
可选的,所述解密所述第一签名和第二签名,分别得到第一解密信息和第二解密信息,包括,具体包括:
利用所述DpTPM的AIK公钥解密所述第二签名,得到包括所述第二AIK公钥和第二平台配置寄存器信息的第二解密信息;
利用所述第二AIK公钥解密所述第一签名,得到包括所述第一AIK公钥和第一平台配置寄存器信息的第一解密信息。
本实施例中,SVMM利用DpTPM的AIK公钥验签第二签名,获得第二AIK公钥(AIK’公钥1)和第二平台配置寄存器信息(PCR’信息1);
SVMM通过获得的第二AIK公钥(AIK’公钥1)对第一签名解密,获得第一AIK公钥(AIK’公钥2)和第一平台配置寄存器信息(PCR’信息2)。
可选的,所述判断所述第一解密信息和第二解密信息是否匹配,包括,具体包括:
若第一AIK公钥与第二AIK公钥匹配,且第一平台配置寄存器信息与第二平台配置寄存器信息匹配,则判断所述第一解密信息和第二解密信息匹配。
判断AIK’公钥1和AIK’公钥2是否匹配,并判断PCR’信息1和PCR’信息2是否匹配,若均匹配,则证明DVM和DvTPM为正确的迁移地址。
本实施例,通过对比匹配防止仿冒攻击,利用AIK’私钥加密,再用AIK’公钥解密,才能真正确定DvTPM身份。
本实施例中利用区块链实现vTPM的迁移的具体步骤可以参考附图2。
本实施例中的指示方法,该实施例中取消vTPM的AIK’证书创建流程,不通过CA创建AIK’证书,利用区块链判断DvTPM身份,能够以去中心化的逻辑结构替代CA实现vTPM的迁移,当虚拟机频繁迁移时,避免产生短命无效证书和中心化的性能瓶颈节点,简化了可信计算虚拟化的部署和使用。
参见图3,图3是本发明实施例提供的另一种虚拟可信根的迁移方法的流程图,用于第二设备设备,如图3所示,所述方法包括以下步骤:
步骤301、所述第二设备的目标物理可信根DpTPM对第二设备的目标虚拟可信根DvTPM的身份信息签名,生成第二签名,所述第二签名绑定所述DpTPM的身份信息;
步骤302、将所述第二签名挂载至区块链;
步骤303、接收第一设备发送的迁移请求;
步骤304、基于所述迁移请求向所述第一设备发送的第一签名,其中,所述第一签名对应所述第二设备的DvTPM的身份信息;所述DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
步骤305、接收所述第一设备的源虚拟可信根SvTPM迁移信息。
需要说明的是,本实施例作为与图1所示的实施例中对应的虚拟可信根的迁移方法应用于第二设备的实施方式,其具体的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
可选的,所述DvTPM包括DvTPM的AIK私钥、DvTPM的AIK公钥和平台配置寄存器信息;
所述DpTPM包括DpTPM的AIK私钥和DpTPM的AIK公钥;
所述目标物理可信根DpTPM对第二设备的第二目标虚拟可信根DvTPM的身份信息签名,生成第二签名,包括:
所述DpTPM利用DpTPM的AIK私钥对所述DvTPM的AIK公钥和第二平台配置寄存器信息签名得到所述第二签名。
可选的,所述DpTPM的身份信息包括DpTPM的AIK公钥。
可选的,所述第一签名由所述第二设备利用所述DvTPM的AIK私钥签名所述DvTPM的AIK公钥和平台配置寄存器信息得到。
可选的,所述第二设备的目标物理可信根DpTPM对第二设备的目标虚拟可信根DvTPM的身份信息签名,生成第二签名步骤之前,所述方法,还包括:
通过所述第二设备的目标虚拟机管理器DVMM创建目标虚拟可信根DvTPM,得到目标虚拟可信根DvTPM的所述DvTPM的AIK私钥和DvTPM的AIK公钥。
上述可选的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
本实施例中的虚拟可信根的迁移方法,该实施例中取消vTPM的AIK’证书创建流程,不通过CA创建AIK’证书,利用区块链判断DvTPM身份,能够以去中心化的逻辑结构替代CA实现vTPM的迁移,当虚拟机频繁迁移时,避免产生短命无效证书和中心化的性能瓶颈节点,简化了可信计算虚拟化的部署和使用。
参见图4,图4是本发明实施例提供的一种虚拟可信根的迁移装置的结构示意图,如图4所示,一种虚拟可信根的迁移装置400,应用于第一设备,包括:
第一发送模块401,用于向第二设备发送迁移请求;
第一接收模块402,用于接收所述迁移请求对应的第一签名,其中,所述第一签名对应第一目标虚拟可信根DvTPM的身份信息;
第一获取模块403,用于获取所述第二设备的目标物理可信根DpTPM的身份信息;
第二获取模块404,用于基于所述DpTPM的身份信息,从区块链上获取第二签名,其中,所述第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息,且所述第二签名绑定所述DpTPM的身份信息,所述第二目标物理可信根DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
迁移发送模块405,用于在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
可选的,所述迁移发送模块405,具体包括:
解密单元,用于解密所述第一签名和第二签名,分别得到第一解密信息和第二解密信息,其中,所述第一解密信息包括第一目标虚拟可信根DvTPM的身份信息,所述第二解密信息包括所述第二目标虚拟可信根DvTPM的身份信息;
判断单元,用于判断所述第一解密信息和第二解密信息是否匹配;
迁移发送单元,用于若匹配,则将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
可选的,所述第二目标物理可信根DvTPM包括第二AIK私钥、第二AIK公钥和第二平台配置寄存器信息;
所述第二签名由第二设备利用DpTPM的AIK私钥签名所述第二AIK公钥和第二平台配置寄存器信息得到。
可选的,所述DpTPM的身份信息包括DpTPM的AIK公钥;所述第二获取模块,具体用于:
基于所述DpTPM的AIK公钥,在所述区块链上读取所述第二签名。
可选的,所述第一目标物理可信根DvTPM包括第一AIK私钥、第一AIK公钥和第一平台配置寄存器信息;
所述第一签名是利用所述第一AIK私钥签名所述第一AIK公钥和第一平台配置寄存器信息得到;
所述解密单元,具体用于:
利用所述DpTPM的AIK公钥解密所述第二签名,得到包括所述第二AIK公钥和第二平台配置寄存器信息的第二解密信息;
利用所述第二AIK公钥解密所述第一签名,得到包括所述第一AIK公钥和第一平台配置寄存器信息的第一解密信息。
可选的,所述判断单元,具体用于:
若第一AIK公钥与第二AIK公钥匹配,且第一平台配置寄存器信息与第二平台配置寄存器信息匹配,则判断所述第一解密信息和第二解密信息匹配。
需要说明的是,本发明实施例提供的装置是能够执行上述虚拟可信根的迁移方法的装置,则上述虚拟可信根的迁移方法实施例中的所有实现方式均适用于该装置,且均能达到相同或相似的有益效果。
参见图5所示,本发明实施例还提供了一种电子设备,应用于第一设备,包括总线501、收发机502、天线503、总线接口504、处理器505和存储器506。
收发机502,用于:
向第二设备发送迁移请求;
接收所述迁移请求对应的第一签名,其中,所述第一签名对应第一目标虚拟可信根DvTPM的身份信息。
进一步地,处理器505,用于获取所述第二设备的目标物理可信根DpTPM的身份信息;
基于所述DpTPM的身份信息,从区块链上获取第二签名,其中,所述第二签名对应所述第二设备的第二目标虚拟可信根DvTPM的身份信息,且所述第二签名绑定所述DpTPM的身份信息,所述第二目标物理可信根DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
可选的,所述在所述第一签名和第二签名匹配的情况下,将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备,包括:
解密所述第一签名和第二签名,分别得到第一解密信息和第二解密信息,其中,所述第一解密信息包括第一目标虚拟可信根DvTPM的身份信息,所述第二解密信息包括所述第二目标虚拟可信根DvTPM的身份信息;
判断所述第一解密信息和第二解密信息是否匹配;
若匹配,则将所述第一设备的源虚拟可信根SvTPM迁移至所述第二设备。
可选的,所述第二目标物理可信根DvTPM包括第二AIK私钥、第二AIK公钥和第二平台配置寄存器信息;
所述第二签名由第二设备利用DpTPM的AIK私钥签名所述第二AIK公钥和第二平台配置寄存器信息得到。
可选的,所述DpTPM的身份信息包括DpTPM的AIK公钥;
所述基于所述DpTPM的身份信息,从区块链上获取第二签名,包括:
基于所述DpTPM的AIK公钥,在所述区块链上读取所述第二签名。
可选的,所述第一目标物理可信根DvTPM包括第一AIK私钥、第一AIK公钥和第一平台配置寄存器信息;
所述第一签名是利用所述第一AIK私钥签名所述第一AIK公钥和第一平台配置寄存器信息得到;
所述解密所述第一签名和第二签名,分别得到第一解密信息和第二解密信息,包括:
利用所述DpTPM的AIK公钥解密所述第二签名,得到包括所述第二AIK公钥和第二平台配置寄存器信息的第二解密信息;
利用所述第二AIK公钥解密所述第一签名,得到包括所述第一AIK公钥和第一平台配置寄存器信息的第一解密信息。
可选的,所述判断所述第一解密信息和第二解密信息是否匹配,包括:
若第一AIK公钥与第二AIK公钥匹配,且第一平台配置寄存器信息与第二平台配置寄存器信息匹配,则判断所述第一解密信息和第二解密信息匹配。
在图5中,总线架构(用总线501来代表),总线501可以包括任意数量的互联的总线和桥,总线501将包括由处理器505代表的一个或多个处理器和存储器506代表的存储器的各种电路链接在一起。总线501还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口504在总线501和收发机502之间提供接口。收发机502可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器505处理的数据通过天线503在无线介质上进行传输,进一步,天线503还接收数据并将数据传送给处理器505。
处理器505负责管理总线501和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器506可以被用于存储处理器505在执行操作时所使用的数据。
可选的,处理器505可以是CPU、ASIC、FPGA或CPLD。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的虚拟可信根的迁移方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述虚拟可信根的迁移方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
参见图6所示,本发明实施例还提供了一种虚拟可信根的迁移装置,应用于第二设备,所述装置包括:
第二签名生成模块601,用于利用所述第二设备的目标物理可信根DpTPM对第二设备的目标虚拟可信根DvTPM的身份信息签名,生成第二签名,所述第二签名绑定所述DpTPM的身份信息;
第二签名上传模块602,用于将所述第二签名挂载至区块链;
第二接收模块603,用于接收第一设备发送的迁移请求;
第二发送模块604,用于基于所述迁移请求向所述第一设备发送的第一签名,其中,所述第一签名对应所述第二设备的DvTPM的身份信息;所述DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM;
迁移接收模块605,接收所述第一设备的源虚拟可信根SvTPM迁移信息。
可选的,所述DvTPM包括DvTPM的AIK私钥、DvTPM的AIK公钥和平台配置寄存器信息;
所述DpTPM包括DpTPM的AIK私钥和DpTPM的AIK公钥;
所述第二签名生成模块601,具体用于:
所述DpTPM利用DpTPM的AIK私钥对所述DvTPM的AIK公钥和第二平台配置寄存器信息签名得到所述第二签名。
可选的,所述DpTPM的身份信息包括DpTPM的AIK公钥。
可选的,所述第一签名由所述第二设备利用所述DvTPM的AIK私钥签名所述DvTPM的AIK公钥和平台配置寄存器信息得到。
可选的,所述装置还包括:
DvTPM创建模块,通过所述第二设备的目标虚拟机管理器DVMM创建目标虚拟可信根DvTPM,得到目标虚拟可信根DvTPM的所述DvTPM的AIK私钥和DvTPM的AIK公钥。
需要说明的是,本发明实施例提供的装置是能够执行上述虚拟可信根的迁移方法的装置,则上述虚拟可信根的迁移方法实施例中的所有实现方式均适用于该装置,且均能达到相同或相似的有益效果。
参见图7所示,本发明实施例还提供了一种电子设备,应用于第二设备,包括总线701、收发机702、天线703、总线接口704、处理器705和存储器706。
处理器705,用于利用所述第二设备的目标物理可信根DpTPM对第二设备的目标虚拟可信根DvTPM的身份信息签名,生成第二签名,所述第二签名绑定所述DpTPM的身份信息;
将所述第二签名挂载至区块链;
收发机702,用于接收第一设备发送的迁移请求。
进一步地,处理器705,还用于
基于所述迁移请求向所述第一设备发送的第一签名,其中,所述第一签名对应所述第二设备的DvTPM的身份信息;所述DvTPM为所述第二设备基于所述迁移请求为所述第一设备分配的DvTPM。
所述收发机702,还用于:接收所述第一设备的源虚拟可信根SvTPM迁移信息。
可选的,所述DvTPM包括DvTPM的AIK私钥、DvTPM的AIK公钥和平台配置寄存器信息;
所述DpTPM包括DpTPM的AIK私钥和DpTPM的AIK公钥;
所述目标物理可信根DpTPM对第二设备的第二目标虚拟可信根DvTPM的身份信息签名,生成第二签名,包括:
所述DpTPM利用DpTPM的AIK私钥对所述DvTPM的AIK公钥和第二平台配置寄存器信息签名得到所述第二签名。
可选的,所述DpTPM的身份信息包括DpTPM的AIK公钥。
可选的,所述第一签名由所述第二设备利用所述DvTPM的AIK私钥签名所述DvTPM的AIK公钥和平台配置寄存器信息得到。
可选的,所述处理器,还用于:通过所述第二设备的目标虚拟机管理器DVMM创建目标虚拟可信根DvTPM,得到目标虚拟可信根DvTPM的所述DvTPM的AIK私钥和DvTPM的AIK公钥。
在图7中,总线架构(用总线701来代表),总线701可以包括任意数量的互联的总线和桥,总线701将包括由处理器705代表的一个或多个处理器和存储器706代表的存储器的各种电路链接在一起。总线701还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口704在总线701和收发机702之间提供接口。收发机702可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器705处理的数据通过天线703在无线介质上进行传输,进一步,天线703还接收数据并将数据传送给处理器705。
处理器705负责管理总线701和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器706可以被用于存储处理器705在执行操作时所使用的数据。
可选的,处理器705可以是CPU、ASIC、FPGA或CPLD。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的虚拟可信根的迁移方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上所述虚拟可信根的迁移方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。