CN103701607A - 一种虚拟机环境下可信平台模块的虚拟化方法 - Google Patents
一种虚拟机环境下可信平台模块的虚拟化方法 Download PDFInfo
- 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
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)根据参考数据验证测试列表。
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)
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)
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 |
-
2013
- 2013-12-25 CN CN201310728458.4A patent/CN103701607A/zh active Pending
Patent Citations (2)
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)
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)
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 |