中国科技核心期刊      中国指挥与控制学会会刊     军事装备类重点期刊
Engineering & Application

Trusted Migration Method for Virtual Machine Based on Trusted Chain

  • HOU Jie 1 ,
  • XUE Liang 1 ,
  • WANG Yang 2
Expand
  • 1. Naval Research Academy, Beijing 100063
  • 2. Jiangsu Automation Research Institute, Lianyungang 222061, China

Received date: 2019-03-11

  Revised date: 2019-05-27

  Online published: 2022-05-05

Abstract

Aiming at the problem that the trusted chain cannot be migrated during migration process of virtual machines between different physical platforms, a trusted migration method based on the trusted chain is proposed. This method adds a vTPM management center on the virtual layer to create and manage multiple vTPMs, builds a complete trusted chain from the hardware TPM to the virtual machine applications through vTPMs. During the VM migration process, we disconnects the complete trusted chain and migrated the VM trusted chain together with the VM to the target platform, and realizes the trusted migration of the VM and rapid recovery of the trusted chain. The method solves the problem well during the cross-physical platform migration process. Comparing with the original VM migration method, this method can ensure the security of the whole migration process, and high confidence and fast recovery characteristics.

Cite this article

HOU Jie , XUE Liang , WANG Yang . Trusted Migration Method for Virtual Machine Based on Trusted Chain[J]. Command Control and Simulation, 2019 , 41(6) : 120 -124 . DOI: 10.3969/j.issn.1673-3819.2019.06.022

随着云计算技术的发展,应用场景愈加广泛,云计算在极大提升资源利用率的同时,还能够大幅度降低使用成本,且能够根据需求弹性扩展。但是,云计算技术在带来便利的同时,也引入了诸多的安全风险,其中以云计算核心技术—虚拟化技术为主要针对目标,虚拟化存在的安全隐患,是目前企业与个人最为关心的云安全问题。
目前,已有的针对虚拟化技术的破坏手段包括虚拟机逃逸攻击与Rootkit攻击,针对多租户模式的攻击手段包括租户间攻击窃取数据,与租户共谋攻击造成信息泄露。国内外的主要研究方向在云计算的虚拟化安全、数据安全、应用安全与基础设施安全等方面,主要研究热点包含数据机密性保护[1]、隐私保护[2]、存在性证明[3]、访问控制与安全认证[4]、虚拟化安全[5]等。为了解决虚拟化安全问题,Santos 等人给出了解决方案——TCCP[6]。文献[7-8]分别利用可信计算技术来构建类似的虚拟可信平台。该类可信解决方案的弊端在于平台的安全性集中在TC上,无法抵御TC与用户或可信节点的共谋攻击。
采用可信计算思想构建的可信链为云环境下解决虚拟化安全问题提供全新的方向。目前已有的虚拟机可信链解决方案多采用构建两条可信链(宿主机可信链、虚拟机可信链)的方式,二者之间缺少安全保护措施保护其可信性,且无法实现虚拟机可信链的跨物理主机迁移。
本文为了解决虚拟机在不同物理平台迁移过程中的可信链无法迁移问题,在Hypervisor与虚拟机VM之间增加了vTPM管理中心,通过该管理中心建立从硬件TPM出发到虚拟机上层应用的完整可信链。在虚拟机迁移时断开两条链,将虚拟机可信链同虚拟机一起迁移到目标平台,虚拟机可信链与新的目标平台可信链一起重新构成完整可信链,完成虚拟机的可信迁移。

1 总体技术方案

基于可信链的虚拟机可信迁移方法,核心技术在于可信链的构建以及可信链的跨物理主机迁移。为了解决可信链构建问题需要Hypervisor之上增加一个vTPM管理中心,用于可信存储vTPM度量列表与vTPM实例。使用硬件TPM中的PCR组密封vTPM度量列表,如若对虚拟机进行操作,均需要宿主机硬件信息的完整才能进行解密封操作。从TPM出发,TPM度量vTPM,vTPM度量上层操作系统以及运行在操作系统之上的程序,从而构建了一条从TPM到虚拟机上层应用的完整可信链。
为了解决可信链无法跨物理主机迁移问题,可信链迁移解决方案将原有完整可信链断开,只迁移虚拟机可信链,主要包含平台可信性认证与可信链的迁移和恢复。可信链迁移过程涉及两种底层硬件TPM,因此需要在迁移过程前断开完整的可信链,将虚拟机可信链随虚拟机一起迁移,迁移后再重新建立可信链。

2 可信链构建方法

完整的可信链由宿主机可信链与虚拟机可信链组成,如图1所示,其分别是基于TPM的宿主机可信链和基于vTPM的虚拟机可信链。
图1 完整的可信链

2.1 基于vTPM建立虚拟机可信链

当虚拟层开始创建虚拟机时,虚拟层首先向vTPM管理中心发送创建vTPM 实例的指令,创建一个空白的实例,如图2所示。然后创建虚拟机,虚拟层将虚拟机的模拟硬件信息、系统软件信息与敏感信息等传入vTPM空白实例,模拟软硬件信息写入对应的PCR0-PCR7与PCR8-PCR15寄存器中,敏感信息、标示信息安全存储在vTPM内部,然后在vTPM度量表中注册vTPM实例完整性信息。在VM、vTPM创建完成后,需要初始化vTPM,实现vTPM到VM的点对点可信链接。虚拟机的安全可信由vTPM可信链提供。
图2 VM-vTPM可信链接

2.2 基于硬件TPM建立宿主机可信链接

可信封装是节点可信存储数据的一种方式,使用可信节点内部可信根中生成的非对称不可迁移密钥的公钥加密,只有回到该可信节点内才可以用私钥解密。
vTPM的可信性需要使用硬件TPM来保护。因此需要构建硬件TPM与vTPM之间可信关联。图3描述了构建过程。
图3 TPM-vTPM可信链接
在vTPM管理中心内部,生成一个非对称且不可迁移密钥K,通过K公钥加密vTPM度量表,实现可信封装,同时选择PCR0-PCR7寄存器对封装状态进行度量。选择PCR0-PCR7寄存器组的原因是因为这八个寄存器存放度量硬件的内容,在系统启动过程中就把数据写入进去,系统启动以后无法被重置,只能够扩展,如表1所示。该特性使得硬件条件一旦被修改,则寄存器内容被改变且无法复原,可信封装无法解封。因此,只有在硬件条件不变时,PCR组的值保持不变,才允许能进行解密封(unseal)。此外,任何vTPM实例的操作,包含修改、增加、开启与关闭,均需要对度量列表文件进行解密封操作,而物理主机上硬件完整性破坏时,其硬件TPM中PCR组值产生变化,解密封操作则无法完成,这样就构建起可信关联,保证了可信虚拟机运行环境的安全可信。
表1 硬件PCR组
PCR索引值 PCR用途
0 BIOS中的可信度量根,BIOS和平台扩展
1 平台配置
2 可选的ROM代码
3 可选的ROM配置和数据
4 引导代码(通常为MBR),系统启动时载入并允许
5 引导代码的配置和数据,有引导代码使用
6 状态转换和唤醒事件
7 预留待使用

3 基于可信链的虚拟机可信迁移

云计算一个显著的特点就是业务可以依据负载随时进行均衡调度,因此,经常涉及虚拟机跨平台迁移操作。在本方案中,迁移部分包含虚拟机迁移与可信链迁移两部分。若迁移目标主机已建立可信运行环境,则迁移流程为:1)认证双方平台的可信性;2)迁移可信虚拟机及可信链;3)恢复可信虚拟机,同时在目标主机上恢复可信链。为保障迁移过程的安全,需要确保可信虚拟机迁移的目标主机是可信主机,这需要第三方认证中心CA的介入。由于本地可信计算平台和远程可信计算平台的可信硬件基础(TPM)不同,虚拟机迁移必然破坏原主机平台的可信基础,因此要在虚拟机可信迁移之前,解除本地可信计算平台的vTPM与TPM 的关联。在虚拟机可信迁移之后,在远程可信计算平台上恢复vTPM与TPM的关联,重构可信链,完成可信链的跨物理主机迁移。

3.1 平台身份认证

平台身份认证需要一个双方都认可的CA作为可信第三方认证中心,认证中心存储每一个可信计算平台的EK公钥,用于后续的用户身份认证。本地与远程平台均有CA公钥证书,使用CA公钥证书本地和远程平台均可验证CA签发证书的合法性。本地可信计算平台身份验证如图4所示,同理可以验证远程可信计算平台的身份。
图4 本地计算平台身份验证
1) 本地平台生成与身份相对应的AIK,AIK作为非对称密钥,私钥存放在可信根中且不可迁移。平台用户使用AIK生成可信报告,向外界证明当前可信根的寄存器状态以及可信根中密钥的相关信息。
2) 本地可信计算平台申请AIK证书,CA使用EK公钥加密发放的AIK证书,证书包含AIK公钥信息以及AIK绑定的用户与平台信息。
3) 远程平台使用CA公钥证书验证AIK公钥证书的合法性,验证以后提取里面包含的AIK公钥、用户与平台信息,并确认三者的绑定关系。
4) 本地可信平台发送可信报告,里面包含AIK签发的本地可信根生成密钥公钥的报告,远程平台使用AIK证书验证,确认PCR数值与密钥的可信性,PCR数值与可信度量值进行比对,让远程用户能够判断本地平台当前的可信状态;密钥的可信性让远程用户确认该密钥由可信根生成且私钥无法取出,从而让远程用户信任基于该密钥的加密/签名行为。

3.2 密钥可信性证明

可信根内部生成一个非对称加密的可迁移密钥K,为了让远程用户相信该密钥K为可信根内部生成且私钥仅存在于可信根内部,需要对该密钥K进行可信证明,证明过程如图5所示。
图5 密钥可信性证明
在可信根内部生成关于K的可信报告,报告中含有K公钥摘要值以及其他一些属性。因为是在可信根内部生成,即使可信根属主也无法篡改。
报告由AIK密钥签名,将签名与证明发送至远程可信计算平台。
可迁移密钥K的公钥无法明文导出,只可以密文方式导出,因此,需要远程可信计算平台可信根生成非对称加密密钥K1,将K1的公钥使用签名发送给本地可信计算平台,本地可信计算平台验证签名的完整性并提取出公钥K1。
远程用户使用AIK公钥验证签名的完整性,确认报告的出处与可信性;对比报告中的摘要值与实际获得的公钥K摘要值,确认公钥K与可信证明的一致性。

3.3 虚拟机可信迁移

在虚拟机及vTPM跨物理主机迁移过程时,容易遭受攻击者通过伪造目标主机实施的主机欺骗攻击。针对上述安全隐患,同时为了保护vTPM的完整性和新鲜性,设计了图6所示的虚拟机(VM)可信迁移示意图。
图6 虚拟机与vTPM可信迁移
经过一、二两步,本地可信计算平台获得了远程可信计算平台TPM内部生成的可迁移密钥K的公钥以及密钥K的可信证明,并且确信K的私钥仅存在于远程可信计算平台的硬件TPM内部,无法导出,因此解密操作只能在TPM内部完成。
1) 验证本地可信计算平台TPM的PCR0-PCR7寄存器的值,解封(unseal)vTPM度量表。
2) 锁定VM示例、vTPM实例,对VM做摘要,与vTPM度量表中的摘要、本地时间戳组合一起使用带有身份信息的AIK密钥签名作为Token,传送给远程可信计算平台。
3) 将VM、vTPM实例使用公钥K加密,传送给远程可信计算平台。
4) 远程可信计算平台使用AIK公钥验证签名Token,获得VM、vTPM摘要值以及时间戳;使用私钥K解密数据包获得VM、vTPM实例。验证时间戳可以保证可信迁移的时效性;验证签名保证数据来源的可靠性;验证摘要值保证数据传输的安全性与一致性。

3.4 可信链迁移与重构

虚拟机迁移后,需要迁移可信链至远程可信计算平台,同时在远程可信计算平台重构可信链,如图7所示。本地可信计算平台的vTPM度量表删除对应注册值,删除对应的vTPM实例,且使用PCR寄存器重新加密密封vTPM度量表。远程可信计算平台完成对Token的签名验证,提取的摘要值加入vTPM度量表,使用密钥解密数据包并验证VM与vTPM信息的完整性与可信性。vTPM加入实例列表,VM完成迁移,三者之间一一对应的关系没有改变,完成可信链的迁移,下一步则需要完成可信链重构,从而保障一条完整的可信链。使用远程可信计算平台的PCR寄存器组实现对更新以后的vTPM度量列表可信封装与密封操作。新的从硬件TPM-vTPM-VM可信链完成。
图7 可信链迁移与重构

4 结束语

云计算采用的虚拟化技术,使得传统的安全边界消失,以及服务的动态性等特点,使得传统的安全措施难以解决现有问题。可信计算的寻根溯源、从根出发的理念,能够很好地解决一些云计算虚拟化技术带来的诸多安全问题。随着可信计算3.0的提出,可信计算不再是一项具体的产品,而是一种理念和新兴计算模式。本文在虚拟机迁移方面引入可信计算,做出相关研究,但虚拟机迁移仅仅是虚拟化安全的一小部分,如果全方位保护虚拟化安全,还需要构建一套可信虚拟机的全生命周期防护体系,建立一个可信虚拟机全生命周期的防护,从虚拟机创建开始,到存储、运行、迁移、撤出、销毁,整个过程中都有相应的可信安全机制去保证虚拟机状态的安全可信。
[1]
Jensen M, Schäge S, Schwenk J. Towards an Anonymous Access Control and Accountability Scheme for Cloud Computing[C]. Proc. of the 3rd International Conference on Cloud Computing. Piscataway: IEEE Computer Society, 2010: 540-541

[2]
Roy I, Setty S.T.V, Kilzer A, et al. Airavat: Security and privacy for MapReduce[C]. Proc. of the 7th USENIX Symposium on Networked Systems Design and Implementation. Berkeley: USENIX Association, 2010: 297-312

[3]
Ateniese G, Pietro R.D, Mancini L.V, et al. Scalable and Efficient Provable Data Possession[C]. Proc. of the 4th International Conference on Security and Privacy in Communication Networks. New York: ACM, 2008

[4]
Yu Shu-Cheng, Wang Cong, Ren Kui, et al. Achieving Secure, Scalable, and Fine-grained Data Access Control in Cloud Computing[C]. Proc. of the 29th IEEE Conference on Information Communications. Piscataway: IEEE Computer Society, 2010: 534-542

[5]
Azab A.M., Ning P., et al. HyperSentry: Enabling Stealthy In-context Measurement of Hypervisor Integrity[C]. Proc. of the 17th ACM Conference on Computer and Communications Security. New York: ACM, 2010: 38-49

[6]
Santos N., Gummadi K.P., Rodrigues R.. Towards Trusted Cloud Computing[C]. Proc. Of the 2009 Workshop on Hot Topics in Cloud Computing. Berkeley: USENIX Association, 2009: 3

[7]
Murray D.G., Milos G., Hand S.. Improving Xen Security Through Disaggregation[C]. Proc. of the 4th International Conference on Virtual Execution Environments. New York: ACM, 2008: 151-160

[8]
Liu Qian, Weng Chuliang, Li Minglu, et al. An in-VM Measuring Framework for Increasing Virtual Machine security in clouds[J]. IEEE Security & Privacy, 2010, 8(6):56-62

[9]
张焕国, 赵波. 可信计算[M]. 武汉: 武汉大学出版社, 2011:20.

[10]
冯登国. 可信计算--理论与实践[M]. 北京: 清华大学出版社, 2013:53-62.

Outlines

/