CN103701607A - 一种虚拟机环境下可信平台模块的虚拟化方法 - Google Patents

一种虚拟机环境下可信平台模块的虚拟化方法 Download PDF

Info

Publication number
CN103701607A
CN103701607A CN201310728458.4A CN201310728458A CN103701607A CN 103701607 A CN103701607 A CN 103701607A CN 201310728458 A CN201310728458 A CN 201310728458A CN 103701607 A CN103701607 A CN 103701607A
Authority
CN
China
Prior art keywords
vaik
cert
authkey
tcm
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310728458.4A
Other languages
English (en)
Inventor
徐震
于爱民
汪丹
周晓湄
赵保华
王志皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Zhejiang Electric Power Co Ltd
China Electric Power Research Institute Co Ltd CEPRI
Institute of Information Engineering of CAS
Original Assignee
State Grid Corp of China SGCC
State Grid Zhejiang Electric Power Co Ltd
China Electric Power Research Institute Co Ltd CEPRI
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Zhejiang Electric Power Co Ltd, China Electric Power Research Institute Co Ltd CEPRI, Institute of Information Engineering of CAS filed Critical State Grid Corp of China SGCC
Priority to CN201310728458.4A priority Critical patent/CN103701607A/zh
Publication of CN103701607A publication Critical patent/CN103701607A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种虚拟机环境下可信平台模块的虚拟化方法,包括以下步骤:对虚拟平台配置寄存器vPCR进行保存、恢复和迁移;生成且迁移虚拟身份认证密钥vAIK,并进行虚拟机身份认证。本发明提供一种虚拟机环境下可信平台模块的虚拟化方法,模拟传统可信平台模块的平台配置寄存器功能,为虚拟机的迁移、保存和恢复等操作提供支持。在虚拟机迁移或恢复时,它保证存储在虚拟平台配置寄存器vPCR中的完整性测试结果代表虚拟机之前的状态。支持平台间虚拟机迁移时平台身份的建立与认证,便于用户基于远程证明等技术对自己的虚拟机状态进行检查与验证。

Description

一种虚拟机环境下可信平台模块的虚拟化方法
技术领域
本发明涉及一种虚拟化方法,具体涉及一种虚拟机环境下可信平台模块的虚拟化方法。背景技术
可信平台模块(Trusted Platform Modules,TPM)嵌入到PC平板的安全芯片,存储了平台配置信息和加密密钥,并内置加密引擎和用于产生密钥的随机数发生器;是独立、被隔离的硬件,只有通过特定的访问方式、经验证授权后,外部实体才可以访问TPM的功能和数据;具有防范物理攻击的能力,为系统的安全存储和认证功能提供了硬件支持。可信密码模块(Trusted Cryptography Module,TCM)是一种使能控存储安全数据的微控制器的规格,与上述的TPM功能类似。Xen系统为开放源代码虚拟机系统,在该系统中,管理程序作为虚拟机(VM)监视器并将运行在其上的VM地址空间隔开,把每个虚拟机成为domainU,Dom0是负责管理其它domaniU的特权VM,Dom0通过调用由多个超级调用组成的控制面板实现管理任务。平台配置寄存器(Platform Configuration Register,PCR)可扩展但不能被重置,平台所有者无法隐藏被执行的恶意部件的完整性度量结果。身份认证密钥(Attestation IdentityKey,AIK)只能用于签署TPM的内部数据如PCR,阻止验证者利用AIK篡改验证。
云计算由一系列可动态升级和被虚拟化的资源组成,这些资源被云计算的用户共享且方便地通过网络访问。用户无需掌握云计算的技术,只需要按照个人或者团体的需要租赁云计算的资源即可。继个人计算机变革、互联网变革之后,云计算被看作第三次IT浪潮,是中国战略性新兴产业的重要组成部分。它将带来生活、生产方式和商业模式的根本性改变,云计算将成为当前全社会关注的热点之一。目前,虽然云计算在中国行业的应用还仅仅是“冰山一角”,但随着云计算技术产品、解决方案的不断成熟,云计算理念的迅速推广普及,云计算必将成为未来中国重要行业领域的主流IT应用模式,为重点行业用户的信息化建设与IT运维管理工作奠定核心基础。未来,在医药医疗、制造业、金融与能源、电子政务、教育科研、电信等多个领域,云计算将更好地发挥作用,有效地促进产业的发展与进步。然而,因云计算付费即可使用的特点,安全性成为云计算服务的一个瓶颈。如何保证某虚拟机即是用户所租赁的、如何保证虚拟机上各资源未被攻击者盗取或更改,这些都是云计算必须解决的问题。攻击者非法访问虚拟机,会涉及到个人隐私、财产等敏感信息,从而严重威胁用户终端安全,损害用户个人利益。
目前,vTPM主要有IBM设计的vTPM和微软设计的半虚拟化TPM技术。vTPM为虚拟机提供一个前端和后端驱动。domaniU访问TPM时,访问命令从前端传到后端,再传给运行在管理域Dom0中的vTPM管理程序,该程序为其分派相应的vTPM后台程序,后台程序利用相应的物理TPM执行访问命令。半虚拟化TPM为domaniU提供TPM的访问接口,并负责调解domaniU对TPM的访问。
然而,上述各机制存在很多不安全因素。vTPM的安全性主要依赖硬件、运行在管理域Dom0中的vTPM管理程序和Dom0。如果Dom0由恶意管理员控制,则无法保证vTPM的安全性。半虚拟化TPM在设计时假设所有账户安全地共享存储根密钥(Storage Root Key,SRK)和签署密钥(Endorsement Key,EK),授权用户都可以创建并利用AIK,这使得用户无法通过该AIK识别唯一的虚拟机,从而导致恶意用户可能滥用AIK,实现虚拟机平台身份的伪造,所以,半虚拟化TPM同样存在很多安全性问题。
发明内容
为了克服上述现有技术的不足,本发明提供一种虚拟机环境下可信平台模块的虚拟化方法,模拟传统可信平台模块的平台配置寄存器功能,为虚拟机的迁移、保存和恢复等操作提供支持。在虚拟机迁移或恢复时,它保证存储在虚拟平台配置寄存器vPCR中的完整性测试结果代表虚拟机之前的状态。
为了实现上述发明目的,本发明采取如下技术方案:
本发明提供一种虚拟机环境下可信平台模块的虚拟化方法,所述方法包括以下步骤:
步骤1:对虚拟平台配置寄存器vPCR进行保存、恢复和迁移;
步骤2:生成且迁移虚拟身份认证密钥vAIK,并进行虚拟机身份认证。
所述步骤1中,domainU保存、恢复和迁移时,Xen系统完成对vPCR进行保存、恢复和迁移,以保证vPCR完整性度量结果的一致性。
所述步骤1具体包括以下步骤:
步骤1-1:domainU保存时,对其vPCR进行保存;
步骤1-1-1:Xen系统保存domainU时,管理域Dom0运行调用程序,启动vPCR的保存;
步骤1-1-2:Xen系统中的管理程序计算所有属于domainU存储页的哈希值;
步骤1-1-3:管理程序利用可信存储保存计算的哈希值和vPCR的当前值;
步骤1-2:domainU恢复时,对其vPCR进行恢复;
步骤1-2-1:domainU恢复时,管理域Dom0在内存空间恢复之后、且domainU插入任务列表之前,运行调用程序启动vPCR的恢复;
步骤1-2-2:管理程序根据可信存储中的哈希值,对domainU现有的存储空间的安全性进行验证;
步骤1-2-3:验证通过后,恢复vPCR之前的存储值;
步骤1-3:domainU迁移时,对其vPCR进行迁移;
步骤1-3-1:系统迁移domainU时,管理域Dom0运行调用程序启动vPCR的迁移;
步骤1-3-2:管理程序用vAIK签署vPCR的当前值和可信存储中的哈希值;
步骤1-3-3:Xen系统将签名发送到管理程序;
步骤1-3-4:管理程序检验该签名是否由要被迁移的虚拟机的vAIK签署并检测vPCR,验证通过后进行存储。
所述步骤2包括以下步骤:
步骤2-1:用户从云端租赁虚拟机时生成vAIK;
步骤2-2:虚拟机从一个平台迁移到另一个平台时,进行vAIK迁移;
步骤2-3:用户要验证domainU是否为自己租赁的虚拟机时,进行虚拟机身份认证。
所述步骤2-1包括以下步骤:
步骤2-1-1:用户生成用户证书certuser和随机数nonce,发送给管理程序;
步骤2-1-2:管理程序调用TCM生成密钥AuthKey和vAIK,其实现方法为:
AuthKey=TCM_CreateWrapKey(non-migratable,PCR0-8,locality0);
vAIK=TCM_CreateWrapKey(migratable,PCR0-8,locality0);
其中,TCM_CreateWrapKey(non-migratable,PCR0-8,locality0)表示可信密码模块TCM生成不可迁移的AuthKey,并把AuthKey与locality0和PCR0-8绑定;TCM_CreateWrapKey(migratable,PCR0-8,locality0)表示TCM生成可迁移的vAIK,并把vAIK与locality0、PCR0-8绑定;
步骤2-1-3:管理程序把vAIK和certuser保存在可信平台模块中的可信存储器上;
步骤2-1-4:管理程序使用平台AuthKey和平台AIK验证vAIK和AuthKey的属性,生成证书CertvAIK和CertAuthKey,其实现方法为:
CertvAIK=TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce));
CertAuthKey=TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce));
其中,TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce))表示使用平台AuthKey验证vAIK的属性,生成相应的CertvAIK,TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce))表示使用平台AIK验证AuthKey的属性,生成相应的CertAuthKey
步骤2-1-5:管理程序将CertvAIK和CertAuthKey发送给用户。
所述步骤2-2包括以下步骤:
步骤2-2-1:初始操作平台的管理程序向目标操作平台的管理程序发送随机数nonce;
步骤2-2-2:目标操作平台的管理程序生成仅能被管理程序访问的密钥ExgKey,同时用AIK验证ExgKey,生成密钥CertExgKey,其实现方法是:
ExgKey=TCM_CreateWrapKey(non-migratable,PCR0-8,locality0);
CertExgKey=TCM_CertifyKey(AIK,ExgKey,nonce);
其中,TCM_CreateWrapKey(non-migratable,PCR0-8,locality0)表示可信密码模块TCM生成不可迁移的AuthKey,并把AuthKey与locality0和PCR0-8绑定;TCM_CertifyKey(AIK,ExgKey,nonce)表示用AIK验证ExgKey。
步骤2-2-3:目标操作平台的管理程序将CertExgKey发送给初始操作平台的管理程序;
步骤2-2-4:初始操作平台的管理程序检验ExgKey的属性,确保它只能被可信的管理程序访问,同时用ExgKey加密要迁移的虚拟机的vAIK和certuser,生成密钥BlobvAIK,其实现方法为:
BlobvAIK=TCM_CreateMigrationBlob((vAIK,certuser),ExgKey);
其中,TCM_CreateMigrationBlob((vAIK,certuser),ExgKey)表示用ExgKey加密vAIK和certuser
步骤2-2-5:初始操作平台的管理程序从可信存储器删除vAIK和certuser
步骤2-2-6:初始操作平台的管理程序向目标操作平台的管理程序发送BlobvAIK,并删除vAIK和certuser的认证,目标操作平台的管理程序解密vAIK和certuser,同时将vAIK和certuser放在可信存储器上,其实现方法为:
(vAIK,certuser)=TCM_ConvertMigrationBlob(BlobvAIK,ExgKey);
其中,TCM_ConvertMigrationBlob(BlobvAIK,ExgKey)表示用ExgKey解密BlobvAIK
所述2-3包括以下步骤:
步骤2-3-1:验证者向虚拟机发送nonce;
步骤2-3-2:虚拟机请求管理程序为其建立验证;
步骤2-3-3:管理程序收到请求,为虚拟机下载相应的vAIK和certuser,用vAIK签署vPCR,为vAIK和AuthKey的安全属性建立证书,生成Attestation、CertvAIK和CertAuthKey;其实现方法为:
Attestation=TCM_Sign(vPCR,nonce,vAIK);
CertvAIK=TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce));
CertAuthKey=TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce));
其中,TCM_Sign(vPCR,nonce,vAIK)表示用vAIK签署vPCR;TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce))表示用平台AuthKey验证vAIK的属性,TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce))表示用平台AIK验证AuthKey的属性;
步骤2-3-4:管理程序将attestation、CertvAIK和CertAuthKey发送给虚拟机,虚拟机把attestation、CertvAIK和CertAuthKey建成测试列表即(Measure_list,Attestion,CertvAIK、CertAuthKey)并发给验证者;
步骤2-3-5:验证者对(Measure_list,Attestion,CertvAIK、CertAuthKey)进行验证,验证步骤为:
(1)验证certuser保证vAIK只能被单个可信的管理程序访问,而且只属于它自己的虚拟机;
(2)验证签名保证由上述vAIK签署;
(3)通过扩展测试列表计算验证vPCR;
(4)根据参考数据验证测试列表。
与现有技术相比,本发明的有益效果在于:
(1)虚拟平台配置寄存器由位于管理程序地址空间的内部数据表示,管理程序的安全性保证了虚拟平台配置寄存器的安全性;
(2)管理域Dom0负责虚拟平台配置寄存器的恢复,虚拟机的存储空间根据先前状态的哈希值进行验证,避免了攻击者在虚拟机恢复时对虚拟平台配置寄存器的恶意修改;
(3)虚拟身份认证密钥vAIK由TCM产生,TCM的安全性有效防止攻击者破坏其机密性;
(4)管理程序将虚拟机和vAIK绑定并存储在管理程序的内部地址空间中,管理程序的安全性避免了攻击者对其的篡改;
(5)用户证书与vAIK的绑定并存储在可信存储中,可信存储机制的安全性避免了攻击者对其的篡改。
附图说明
图1是本发明实施例中vAIK生成流程图;
图2是本发明实施例中vAIK迁移流程图;
图3是本发明实施例中虚拟机身份认证流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明提供一种虚拟机环境下可信平台模块的虚拟化方法,所述方法包括以下步骤:
步骤1:对虚拟平台配置寄存器vPCR进行保存、恢复和迁移;
步骤2:生成且迁移虚拟身份认证密钥vAIK,并进行虚拟机身份认证。
所述步骤1中,domainU保存、恢复和迁移时,Xen系统完成对vPCR进行保存、恢复和迁移,以保证vPCR完整性度量结果的一致性。
所述步骤1具体包括以下步骤:
步骤1-1:domainU保存时,对其vPCR进行保存;
步骤1-1-1:Xen系统保存domainU时,管理域Dom0运行调用程序,启动vPCR的保存;
步骤1-1-2:Xen系统中的管理程序计算所有属于domainU存储页的哈希值;
步骤1-1-3:管理程序利用可信存储保存计算的哈希值和vPCR的当前值;
步骤1-2:domainU恢复时,对其vPCR进行恢复;
步骤1-2-1:domainU恢复时,管理域Dom0在内存空间恢复之后、且domainU插入任务列表之前,运行调用程序启动vPCR的恢复;
步骤1-2-2:管理程序根据可信存储中的哈希值,对domainU现有的存储空间的安全性进行验证;
步骤1-2-3:验证通过后,恢复vPCR之前的存储值;
步骤1-3:domainU迁移时,对其vPCR进行迁移;
步骤1-3-1:系统迁移domainU时,管理域Dom0运行调用程序启动vPCR的迁移;
步骤1-3-2:管理程序用vAIK签署vPCR的当前值和可信存储中的哈希值;
步骤1-3-3:Xen系统将签名发送到管理程序;
步骤1-3-4:管理程序检验该签名是否由要被迁移的虚拟机的vAIK签署并检测vPCR,验证通过后进行存储。
所述步骤2包括以下步骤:
步骤2-1:用户从云端租赁虚拟机时生成vAIK;
所述步骤2-1包括以下步骤:
步骤2-1-1:用户生成用户证书certuser和随机数nonce,发送给管理程序;
步骤2-1-2:管理程序调用TCM生成密钥AuthKey和vAIK,其实现方法为:
AuthKey=TCM_CreateWrapKey(non-migratable,PCR0-8,locality0);
vAIK=TCM_CreateWrapKey(migratable,PCR0-8,locality0);
其中,TCM_CreateWrapKey(non-migratable,PCR0-8,locality0)表示可信密码模块TCM生成不可迁移的AuthKey,并把AuthKey与locality0和PCR0-8绑定;TCM_CreateWrapKey(migratable,PCR0-8,locality0)表示TCM生成可迁移的vAIK,并把vAIK与locality0、PCR0-8绑定;
步骤2-1-3:管理程序把vAIK和certuser保存在可信平台模块中的可信存储器上;
步骤2-1-4:管理程序使用平台AuthKey和平台AIK验证vAIK和AuthKey的属性,生成证书CertvAIK和CertAuthKey,其实现方法为:
CertvAIK=TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce));
CertAuthKey=TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce));
其中,TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce))表示使用平台AuthKey验证vAIK的属性,生成相应的CertvAIK,TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce))表示使用平台AIK验证AuthKey的属性,生成相应的CertAuthKey
步骤2-1-5:管理程序将CertvAIK和CertAuthKey发送给用户。
用户证书和随机数的哈希在认证过程中被加入,因此用户可以保证vAIK与他的请求相对应;AuthKey只产生一次,在随后其他虚拟平台身份建立过程中,系统仍使用该AuthKey。vAIK创建后,管理程序把它与DomainU绑定,同时vAIK与虚拟机用户的证书绑定。用户关闭虚拟机需重启时,他须先向管理程序验证自己的身份,管理程序根据用户证书从可信存储器下载vAIK,并把它与虚拟机再次绑定。为保证vAIK的唯一性,VM在快速复制时,vAIK不会同步复制,同样地,VM状态恢复时,vAIK不会随之恢复。
步骤2-2:虚拟机从一个平台迁移到另一个平台时,进行vAIK迁移;
所述步骤2-2包括以下步骤:
步骤2-2-1:初始操作平台的管理程序向目标操作平台的管理程序发送随机数nonce;
步骤2-2-2:目标操作平台的管理程序生成仅能被管理程序访问的密钥ExgKey,同时用AIK验证ExgKey,生成密钥CertExgKey,其实现方法是:
ExgKey=TCM_CreateWrapKey(non-migratable,PCR0-8,locality0);
CertExgKey=TCM_CertifyKey(AIK,ExgKey,nonce);
其中,TCM_CreateWrapKey(non-migratable,PCR0-8,locality0)表示可信密码模块TCM生成不可迁移的AuthKey,并把AuthKey与locality0和PCR0-8绑定;TCM_CertifyKey(AIK,ExgKey,nonce)表示用AIK验证ExgKey。
步骤2-2-3:目标操作平台的管理程序将CertExgKey发送给初始操作平台的管理程序;
步骤2-2-4:初始操作平台的管理程序检验ExgKey的属性,确保它只能被可信的管理程序访问,同时用ExgKey加密要迁移的虚拟机的vAIK和certuser,生成密钥BlobvAIK,其实现方法为:
BlobvAIK=TCM_CreateMigrationBlob((vAIK,certuser),ExgKey);
其中,TCM_CreateMigrationBlob((vAIK,certuser),ExgKey)表示用ExgKey加密vAIK和certuser
步骤2-2-5:初始操作平台的管理程序从可信存储器删除vAIK和certuser
步骤2-2-6:初始操作平台的管理程序向目标操作平台的管理程序发送BlobvAIK,并删除vAIK和certuser的认证,目标操作平台的管理程序解密vAIK和certuser,同时将vAIK和certuser放在可信存储器上,其实现方法为:
(vAIK,certuser)=TCM_ConvertMigrationBlob(BlobvAIK,ExgKey);
其中,TCM_ConvertMigrationBlob(BlobvAIK,ExgKey)表示用ExgKey解密BlobvAIK
步骤2-3:用户要验证domainU是否为自己租赁的虚拟机时,进行虚拟机身份认证。
所述2-3包括以下步骤:
步骤2-3-1:验证者向虚拟机发送nonce;
步骤2-3-2:虚拟机请求管理程序为其建立验证;
步骤2-3-3:管理程序收到请求,为虚拟机下载相应的vAIK和certuser,用vAIK签署vPCR,为vAIK和AuthKey的安全属性建立证书,生成Attestation、CertvAIK和CertAuthKey;其实现方法为:
Attestation=TCM_Sign(vPCR,nonce,vAIK);
CertvAIK=TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce));
CertAuthKey=TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce));
其中,TCM_Sign(vPCR,nonce,vAIK)表示用vAIK签署vPCR;TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce))表示用平台AuthKey验证vAIK的属性,TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce))表示用平台AIK验证AuthKey的属性;
步骤2-3-4:管理程序将attestation、CertvAIK和CertAuthKey发送给虚拟机,虚拟机把attestation、CertvAIK和CertAuthKey建成测试列表即(Measure_list,Attestion,CertvAIK、CertAuthKey)并发给验证者;
步骤2-3-5:验证者对(Measure_list,Attestion,CertvAIK、CertAuthKey)进行验证,验证步骤为:
(1)验证certuser保证vAIK只能被单个可信的管理程序访问,而且只属于它自己的虚拟机;
(2)验证签名保证由上述vAIK签署;
(3)通过扩展测试列表计算验证vPCR;
(4)根据参考数据验证测试列表。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。

Claims (7)

1.一种虚拟机环境下可信平台模块的虚拟化方法,其特征在于:所述方法包括以下步骤:
步骤1:对虚拟平台配置寄存器vPCR进行保存、恢复和迁移;
步骤2:生成且迁移虚拟身份认证密钥vAIK,并进行虚拟机身份认证。
2.根据权利要求1所述的虚拟机环境下可信平台模块的虚拟化方法,其特征在于:所述步骤1中,domainU保存、恢复和迁移时,Xen系统完成对vPCR进行保存、恢复和迁移,以保证vPCR完整性度量结果的一致性。
3.根据权利要求2所述的虚拟机环境下可信平台模块的虚拟化方法,其特征在于:所述步骤1具体包括以下步骤:
步骤1-1:domainU保存时,对其vPCR进行保存;
步骤1-1-1:Xen系统保存domainU时,管理域Dom0运行调用程序,启动vPCR的保存;
步骤1-1-2:Xen系统中的管理程序计算所有属于domainU存储页的哈希值;
步骤1-1-3:管理程序利用可信存储保存计算的哈希值和vPCR的当前值;
步骤1-2:domainU恢复时,对其vPCR进行恢复;
步骤1-2-1:domainU恢复时,管理域Dom0在内存空间恢复之后、且domainU插入任务列表之前,运行调用程序启动vPCR的恢复;
步骤1-2-2:管理程序根据可信存储中的哈希值,对domainU现有的存储空间的安全性进行验证;
步骤1-2-3:验证通过后,恢复vPCR之前的存储值;
步骤1-3:domainU迁移时,对其vPCR进行迁移;
步骤1-3-1:系统迁移domainU时,管理域Dom0运行调用程序启动vPCR的迁移;
步骤1-3-2:管理程序用vAIK签署vPCR的当前值和可信存储中的哈希值;
步骤1-3-3:Xen系统将签名发送到管理程序;
步骤1-3-4:管理程序检验该签名是否由要被迁移的虚拟机的vAIK签署并检测vPCR,验证通过后进行存储。
4.根据权利要求1所述的虚拟机环境下可信平台模块的虚拟化方法,其特征在于:所述步骤2包括以下步骤:
步骤2-1:用户从云端租赁虚拟机时生成vAIK;
步骤2-2:虚拟机从一个平台迁移到另一个平台时,进行vAIK迁移;
步骤2-3:用户要验证domainU是否为自己租赁的虚拟机时,进行虚拟机身份认证。
5.根据权利要求4所述的虚拟机环境下可信平台模块的虚拟化方法,其特征在于:所述步骤2-1包括以下步骤:
步骤2-1-1:用户生成用户证书certuser和随机数nonce,发送给管理程序;
步骤2-1-2:管理程序调用TCM生成密钥AuthKey和vAIK,其实现方法为:
AuthKey=TCM_CreateWrapKey(non-migratable,PCR0-8,locality0);
vAIK=TCM_CreateWrapKey(migratable,PCR0-8,locality0);
其中,TCM_CreateWrapKey(non-migratable,PCR0-8,locality0)表示可信密码模块TCM生成不可迁移的AuthKey,并把AuthKey与locality0和PCR0-8绑定;TCM_CreateWrapKey(migratable,PCR0-8,locality0)表示TCM生成可迁移的vAIK,并把vAIK与locality0、PCR0-8绑定;
步骤2-1-3:管理程序把vAIK和certuser保存在可信平台模块中的可信存储器上;
步骤2-1-4:管理程序使用平台AuthKey和平台AIK验证vAIK和AuthKey的属性,生成证书CertvAIK和CertAuthKey,其实现方法为:
CertvAIK=TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce));
CertAuthKey=TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce));
其中,TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce))表示使用平台AuthKey验证vAIK的属性,生成相应的CertvAIK,TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce))表示使用平台AIK验证AuthKey的属性,生成相应的CertAuthKey
步骤2-1-5:管理程序将CertvAIK和CertAuthKey发送给用户。
6.根据权利要求4所述的虚拟机环境下可信平台模块的虚拟化方法,其特征在于:所述步骤2-2包括以下步骤:
步骤2-2-1:初始操作平台的管理程序向目标操作平台的管理程序发送随机数nonce;
步骤2-2-2:目标操作平台的管理程序生成仅能被管理程序访问的密钥ExgKey,同时用AIK验证ExgKey,生成密钥CertExgKey,其实现方法是:
ExgKey=TCM_CreateWrapKey(non-migratable,PCR0-8,locality0);
CertExgKey=TCM_CertifyKey(AIK,ExgKey,nonce);
其中,TCM_CreateWrapKey(non-migratable,PCR0-8,locality0)表示可信密码模块TCM生成不可迁移的AuthKey,并把AuthKey与locality0和PCR0-8绑定;TCM_CertifyKey(AIK,ExgKey,nonce)表示用AIK验证ExgKey。
步骤2-2-3:目标操作平台的管理程序将CertExgKey发送给初始操作平台的管理程序;
步骤2-2-4:初始操作平台的管理程序检验ExgKey的属性,确保它只能被可信的管理程序访问,同时用ExgKey加密要迁移的虚拟机的vAIK和certuser,生成密钥BlobvAIK,其实现方法为:
BlobvAIK=TCM_CreateMigrationBlob((vAIK,certuser),ExgKey);
其中,TCM_CreateMigrationBlob((vAIK,certuser),ExgKey)表示用ExgKey加密vAIK和certuser
步骤2-2-5:初始操作平台的管理程序从可信存储器删除vAIK和certuser
步骤2-2-6:初始操作平台的管理程序向目标操作平台的管理程序发送BlobvAIK,并删除vAIK和certuser的认证,目标操作平台的管理程序解密vAIK和certuser,同时将vAIK和certuser放在可信存储器上,其实现方法为:
(vAIK,certuser)=TCM_ConvertMigrationBlob(BlobvAIK,ExgKey);
其中,TCM_ConvertMigrationBlob(BlobvAIK,ExgKey)表示用ExgKey解密BlobvAIK
7.根据权利要求4所述的虚拟机环境下可信平台模块的虚拟化方法,其特征在于:所述2-3包括以下步骤:
步骤2-3-1:验证者向虚拟机发送nonce;
步骤2-3-2:虚拟机请求管理程序为其建立验证;
步骤2-3-3:管理程序收到请求,为虚拟机下载相应的vAIK和certuser,用vAIK签署vPCR,为vAIK和AuthKey的安全属性建立证书,生成Attestation、CertvAIK和CertAuthKey;其实现方法为:
Attestation=TCM_Sign(vPCR,nonce,vAIK);
CertvAIK=TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce));
CertAuthKey=TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce));
其中,TCM_Sign(vPCR,nonce,vAIK)表示用vAIK签署vPCR;TCM_CertifyKey(AuthKey,vAIK,hash(certuser|nonce))表示用平台AuthKey验证vAIK的属性,TCM_CertifyKey(AIK,AuthKey,hash(certuser|nonce))表示用平台AIK验证AuthKey的属性;
步骤2-3-4:管理程序将attestation、CertvAIK和CertAuthKey发送给虚拟机,虚拟机把attestation、CertvAIK和CertAuthKey建成测试列表即(Measure_list,Attestion,CertvAIK、CertAuthKey)并发给验证者;
步骤2-3-5:验证者对(Measure_list,Attestion,CertvAIK、CertAuthKey)进行验证,验证步骤为:
(1)验证certuser保证vAIK只能被单个可信的管理程序访问,而且只属于它自己的虚拟机;
(2)验证签名保证由上述vAIK签署;
(3)通过扩展测试列表计算验证vPCR;
(4)根据参考数据验证测试列表。
CN201310728458.4A 2013-12-25 2013-12-25 一种虚拟机环境下可信平台模块的虚拟化方法 Pending CN103701607A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310728458.4A CN103701607A (zh) 2013-12-25 2013-12-25 一种虚拟机环境下可信平台模块的虚拟化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310728458.4A CN103701607A (zh) 2013-12-25 2013-12-25 一种虚拟机环境下可信平台模块的虚拟化方法

Publications (1)

Publication Number Publication Date
CN103701607A true CN103701607A (zh) 2014-04-02

Family

ID=50363013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310728458.4A Pending CN103701607A (zh) 2013-12-25 2013-12-25 一种虚拟机环境下可信平台模块的虚拟化方法

Country Status (1)

Country Link
CN (1) CN103701607A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991809A (zh) * 2015-06-18 2015-10-21 浪潮电子信息产业股份有限公司 一种基于可信计算的虚拟机准入方法及装置
CN105912953A (zh) * 2016-05-11 2016-08-31 北京北信源软件股份有限公司 一种基于可信启动的虚拟机数据保护方法
CN105930199A (zh) * 2016-04-14 2016-09-07 浪潮集团有限公司 一种虚拟机监控器本地完整性检测的系统及实现方法
CN106790064A (zh) * 2016-12-20 2017-05-31 北京工业大学 可信根服务器‑云计算服务器模型中双方进行通信的方法
CN107294710A (zh) * 2017-06-30 2017-10-24 浪潮(北京)电子信息产业有限公司 一种vTPM2.0的密钥迁移方法及装置
CN107623683A (zh) * 2017-09-07 2018-01-23 西安电子科技大学 一种通过动态的安全的云资源防止信息公开的方法
CN107844362A (zh) * 2017-11-14 2018-03-27 浪潮(北京)电子信息产业有限公司 虚拟化tpm设备的系统、方法、虚拟机及可读存储介质
CN108292337A (zh) * 2015-12-24 2018-07-17 英特尔公司 虚拟化环境下安全堡垒区域的可信开启
CN109062662A (zh) * 2018-07-12 2018-12-21 浪潮(北京)电子信息产业有限公司 一种虚拟可信根迁移方法、系统及电子设备和存储介质
CN109101319A (zh) * 2018-08-09 2018-12-28 郑州云海信息技术有限公司 一种在qemu上实现tpcm全虚拟化的平台及其工作方法
CN109753345A (zh) * 2018-12-18 2019-05-14 北京可信华泰信息技术有限公司 一种云环境下的安全管理方法
CN111310173A (zh) * 2020-03-11 2020-06-19 青岛科技大学 一种可信芯片的终端虚拟机身份认证方法及系统
CN111698091A (zh) * 2020-05-26 2020-09-22 东南大学 一种基于可信计算的Docker平台动态防护方法
CN113158178A (zh) * 2021-04-06 2021-07-23 支付宝(杭州)信息技术有限公司 一种可信执行环境的构建方法、装置及设备
WO2021152383A1 (en) * 2020-01-29 2021-08-05 International Business Machines Corporation Binding secure objects of security module to secure guest

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599025A (zh) * 2009-07-07 2009-12-09 武汉大学 可信密码模块安全虚拟化方法
US20120117614A1 (en) * 2007-12-31 2012-05-10 Ravi Sahita System and method for high performance secure access to a trusted platform module on a hardware virtualization platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117614A1 (en) * 2007-12-31 2012-05-10 Ravi Sahita System and method for high performance secure access to a trusted platform module on a hardware virtualization platform
CN101599025A (zh) * 2009-07-07 2009-12-09 武汉大学 可信密码模块安全虚拟化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AIMIN YU,ET.AL: "Obtaining the Integrity of Your Virtual Machine in the Cloud", 《CLOUD COMPUTING TECHNOLOGY AND SCIENCE (CLOUDCOM), 2011 IEEE THIRD INTERNATIONAL CONFERENCE ON》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991809A (zh) * 2015-06-18 2015-10-21 浪潮电子信息产业股份有限公司 一种基于可信计算的虚拟机准入方法及装置
CN108292337A (zh) * 2015-12-24 2018-07-17 英特尔公司 虚拟化环境下安全堡垒区域的可信开启
CN108292337B (zh) * 2015-12-24 2023-07-04 英特尔公司 虚拟化环境下安全堡垒区域的可信开启
CN105930199A (zh) * 2016-04-14 2016-09-07 浪潮集团有限公司 一种虚拟机监控器本地完整性检测的系统及实现方法
CN105912953A (zh) * 2016-05-11 2016-08-31 北京北信源软件股份有限公司 一种基于可信启动的虚拟机数据保护方法
CN105912953B (zh) * 2016-05-11 2019-04-30 北京北信源软件股份有限公司 一种基于可信启动的虚拟机数据保护方法
CN106790064B (zh) * 2016-12-20 2019-11-29 北京工业大学 可信根服务器-云计算服务器模型中双方进行通信的方法
CN106790064A (zh) * 2016-12-20 2017-05-31 北京工业大学 可信根服务器‑云计算服务器模型中双方进行通信的方法
CN107294710A (zh) * 2017-06-30 2017-10-24 浪潮(北京)电子信息产业有限公司 一种vTPM2.0的密钥迁移方法及装置
CN107294710B (zh) * 2017-06-30 2020-12-04 浪潮(北京)电子信息产业有限公司 一种vTPM2.0的密钥迁移方法及装置
CN107623683A (zh) * 2017-09-07 2018-01-23 西安电子科技大学 一种通过动态的安全的云资源防止信息公开的方法
CN107623683B (zh) * 2017-09-07 2020-12-18 西安电子科技大学 一种通过动态的安全的云资源防止信息公开的方法
CN107844362A (zh) * 2017-11-14 2018-03-27 浪潮(北京)电子信息产业有限公司 虚拟化tpm设备的系统、方法、虚拟机及可读存储介质
CN107844362B (zh) * 2017-11-14 2021-10-15 浪潮(北京)电子信息产业有限公司 虚拟化tpm设备的系统、方法、虚拟机及可读存储介质
CN109062662A (zh) * 2018-07-12 2018-12-21 浪潮(北京)电子信息产业有限公司 一种虚拟可信根迁移方法、系统及电子设备和存储介质
CN109101319B (zh) * 2018-08-09 2021-07-27 郑州云海信息技术有限公司 一种在qemu上实现tpcm全虚拟化的平台的工作方法
CN109101319A (zh) * 2018-08-09 2018-12-28 郑州云海信息技术有限公司 一种在qemu上实现tpcm全虚拟化的平台及其工作方法
CN109753345A (zh) * 2018-12-18 2019-05-14 北京可信华泰信息技术有限公司 一种云环境下的安全管理方法
WO2021152383A1 (en) * 2020-01-29 2021-08-05 International Business Machines Corporation Binding secure objects of security module to secure guest
GB2607794A (en) * 2020-01-29 2022-12-14 Ibm Binding secure objects of security module to secure guest
US11533174B2 (en) 2020-01-29 2022-12-20 International Business Machines Corporation Binding secure objects of a security module to a secure guest
CN111310173A (zh) * 2020-03-11 2020-06-19 青岛科技大学 一种可信芯片的终端虚拟机身份认证方法及系统
CN111698091B (zh) * 2020-05-26 2022-08-19 东南大学 一种基于可信计算的Docker平台动态防护方法
CN111698091A (zh) * 2020-05-26 2020-09-22 东南大学 一种基于可信计算的Docker平台动态防护方法
CN113158178A (zh) * 2021-04-06 2021-07-23 支付宝(杭州)信息技术有限公司 一种可信执行环境的构建方法、装置及设备
CN113158178B (zh) * 2021-04-06 2022-06-28 支付宝(杭州)信息技术有限公司 一种可信执行环境的构建方法、装置及设备

Similar Documents

Publication Publication Date Title
CN103701607A (zh) 一种虚拟机环境下可信平台模块的虚拟化方法
CN103051451B (zh) 安全托管执行环境的加密认证
CN109313690B (zh) 自包含的加密引导策略验证
Kennell et al. Establishing the genuinity of remote computer systems
CN102208000B (zh) 为虚拟机镜像提供安全机制的方法和系统
RU2619895C1 (ru) Система и способы для шифрования данных
CN104520869B (zh) 可信执行环境虚拟机克隆
Owusu et al. OASIS: On achieving a sanctuary for integrity and secrecy on untrusted platforms
US8151262B2 (en) System and method for reporting the trusted state of a virtual machine
US9720723B2 (en) Protected guests in a hypervisor controlled system
CN108399329A (zh) 一种提高可信应用程序安全的方法
Vasudevan et al. CARMA: A hardware tamper-resistant isolated execution environment on commodity x86 platforms
CN108573144A (zh) 安全的执行上下文数据
CN109327457A (zh) 一种基于区块链的物联网设备身份认证方法及系统
CN105718807B (zh) 基于软tcm和可信软件栈的安卓系统及其可信认证系统与方法
CN109840430A (zh) Plc的安全处理单元及其总线仲裁方法
KR101434860B1 (ko) 해시를 이용한 동적코드의 무결성 검증 방법
CN103049293B (zh) 一种嵌入式可信系统的启动方法
CN107077560A (zh) 用于建立安全工作空间的所有权的系统
CN108595983A (zh) 一种基于硬件安全隔离执行环境的硬件架构、及应用上下文完整性度量方法
CN104794394A (zh) 一种虚拟机启动校验的方法及装置
Wang et al. Survey on key technology development and application in trusted computing
Shi et al. A security-improved scheme for virtual TPM based on KVM
CN102983969B (zh) 一种操作系统的安全登录系统及安全登录方法
CN111310173A (zh) 一种可信芯片的终端虚拟机身份认证方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140402