论文部分内容阅读
云计算将大规模的计算资源虚拟化共享后,通过互联网以服务的方式按需提供给外部用户。然而,云平台的管理权由用户自身享有转向为云服务商控制,云计算的多租户特点可能造成虚拟基础软件的安全管理隐患。因此,需要建立有效的安全机制,使云服务器的执行具有可信性。本文对云环境中具有代表性的开源虚拟机监控系统Xen进行深入研究,发现目前的Xen系统存在以下问题:特权域功能冗杂,数据有被篡改的风险;缺少符合TCG规范的虚拟可信证书生成方法;客户虚拟机信任链完整性不足。有鉴于此,本文从系统架构层面提出了基于可信虚拟域Domain T的Xen的改进方案,同时配合该架构设计了Domain T的异常检测方法,以及vTPM的虚拟可信证书生成方法和客户虚拟机的完整性度量方法,并分别对以上系统和方法进行了实现。本文主要研究内容如下:首先,本文在对相关领域研究进行综述的基础上详细分析了Xen的TPM虚拟化方案存在的风险与隐患,针对特权域TCB过大、vTPM计算性能受限以及数据安全风险的问题,设计了独立的可信虚拟域Domain T。Domain T中包含vTPM manager模块与vTPM实例模块,并在模块迁移过程中对vTPM请求调度机制进行了优化。一般情况下,Xen的虚拟机资源隔离机制能够保障独立后的Domain T内部数据不被恶意篡改,然而这一机制实际存在被绕过的可能。因此,本文提出一种基于软件可信性分析和有限自动机的软件行为检测方案,避免了Domain T中的函数被其他虚拟域恶意调用导致可信计算数据遭到破坏。其次,本文对现有vTPM虚拟证书链构建方法展开研究,发现普遍存在使用AIK密钥对TPM外部数据进行签名的合规性问题以及依赖AIK证书而导致的vAIK证书时效性差问题。因此,本文引入Domain T域身份密钥tEK,提出CA向Domain T签发tEK证书、Domain T向vTPM签发vEK证书的虚拟证书链扩展方案,保证了vAIK证书的合法性。同时,本文为解决Xen环境下客户虚拟机与一般物理机的启动流程差异所造成的信任链完整性不足问题,在对比分析现有客户机完整性度量方法的基础上,对不同类型的虚拟机启动流程展开研究,分别设计并优化了针对PV虚拟机和HVM虚拟机的虚拟信任链构建方案,从而实现了硬件信任链的延伸。最后,本文基于对Xen的改进建立起Domain T系统架构,并对Domain T的异常检测方法以及虚拟证书链与信任链的构建方案进行了实现。通过系统运行实验、Domain T异常检测实验、vTPM信任链延伸实验、客户机系统远程证明实验以及vTPM性能测试实验,证明本方案在增强可信虚拟域安全性、提高vTPM计算性能的同时,相比现有方法提供了更有效的客户虚拟机证书生成和身份认证的能力,并且能够对客户虚拟机的完整性进行精准度量。