本技术涉及虚拟化和可信计算技术领域,公开了一种基于TPCM的虚拟机全生命周期实例静态度量方法。定义了一种新型的虚拟机全生命周期模型,并基于该模型在虚拟机各个生命阶段处理函数中,添加请求实例度量模块,用于实现度量请求发起功能;构建位于本地防护部件的策略文件,用于规定如何组织用作度量的实例核心数据,并调用位于防护部件中的硬件可信密码模块,对实例核心数据进行哈希操作。本发明解决了现有虚拟机实例静态度量方案存在的以下三个问题:(1)虚拟机实例静态度量操作未能覆盖虚拟机全生命周期;(2)虚拟机实例膨胀所带来的度量开销过大;(3)TPM提供的可信度量服务存在被绕开的风险,难以保证度量操作本身的安全性。
背景技术
可信计算技术以不可篡改的物理芯片作为硬件可信根,通过逐级度量与信任链条地传递,构建了一条从计算机加电到计算机运行的信任链条。特别的以可信计算2.0为例,其以可信平台模块(Trusted Platform Module,TPM)为物理可信根,至底向上地进行信任链条构建,最终确保整个计算系统的可信性。然而在其设计理念中,TPM本身是作为一种计算系统的挂载部件,其被动调用的方式存在着被恶意绕过的风险,缺乏对计算平台的主动控制能力。由此,我国提出了可信计算3.0的理念——将计算系统划分为计算部件与防护部件,二者完全分离,由TPCM作为防护部件先于计算部件启动,并通过边度量边启动的方式对计算部件进行安全防护与控制,两者通过位于计算部件的共享内存区域进行通信——这解决了上述TPM存在的安全隐患,同时也更加符合我国自主可控的信创理念。
QCOW2(Qemu Copy On Write Version 2,写时复制机制)虚拟磁盘格式是一种QEMU(Quick Emulator,虚拟操作系统模拟器)/KVM(Kernel-based Virtual Machine,基于内核的虚拟机)常用的虚拟机实例格式。其内部的数据是以固定大小的数据簇组成,结构可分为:QCOW2文件头簇、分区表簇、数据簇。
云管理中心是整个云平台的控制中心,其负责的一项重要任务即是策略文件的下发——策略文件下发至计算系统中的防护部件,防护部件则根据该策略文件的具体规定对计算部件作出精细化的管理行为。
虚拟机生命周期模型定义了虚拟机当前可能所处的各个阶段,现有的对于生命周期模型的定义一般包括虚拟机的启动、运行以及关闭状态,并未将虚拟机的创建、挂起、挂起恢复等状态囊括在内。特别的,上述虚拟机状态又可分为动态与静态两类。动态是指虚拟机占用宿主机CPU、内存等资源执行诸如磁盘读写、数学计算等操作的状态;相对的,静态是指虚拟机让出CPU、内存等宿主机资源,停止一切操作的状态。由此,虚拟机的状态变化又可分为动态转为静态以及静态转为动态。
基于虚拟机生命状态切换的虚拟机实例静态度量被定义为:在虚拟机生命状态从静态切换至动态时,利用哈希函数对虚拟机实例文件进行度量,并将获取到的度量值与存放在安全区域的基准值进行对比验证,从而确认该文件是否遭到破坏的过程;特别的,当虚拟机生命状态是由动态转为静态之时,新生成的度量值不执行基准值比对操作,而是进行基准值的更新,即是用新的度量值替换原始的基准值。虚拟机实例初始的基准值一般是由云服务提供商提供。
现有公开的关于虚拟机实例文件的静态度量防护方案中,主要存在以下问题:
(1)目前的虚拟机实例防护方案仅在虚拟机处于启动和关闭状态时对其进行静态度量操作,忽略了虚拟机的创建、运行、挂起、恢复、销毁等生命状态,未能实现基于全生命周期的虚拟机实例度量与防护。
(2)现有虚拟机实例文件静态度量方案所采用的度量操作,大多是基于TPM2.0的密码模块或者是调用宿主机操作系统提供的哈希函数进行实现。存在哈希操作过程易受劫持的问题。
(3)现有的虚拟机实例静态度量方案中采用的是一种对于虚拟机实例文件的整体度量方式,该方式并未考虑到虚拟机长时间运行所导致的实例文件体积快速膨胀的实际情况,并且由此产生的度量效率低下及度量操作所耗系统资源过高等问题。
实现思路