System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及虚拟化和可信计算,具体为一种基于tpcm(trustedplatform control module可信平台控制模块)的虚拟机全生命周期实例静态度量方法。
技术介绍
1、可信计算技术以不可篡改的物理芯片作为硬件可信根,通过逐级度量与信任链条地传递,构建了一条从计算机加电到计算机运行的信任链条。特别的以可信计算2.0为例,其以可信平台模块(trusted platform module,tpm)为物理可信根,至底向上地进行信任链条构建,最终确保整个计算系统的可信性。然而在其设计理念中,tpm本身是作为一种计算系统的挂载部件,其被动调用的方式存在着被恶意绕过的风险,缺乏对计算平台的主动控制能力。由此,我国提出了可信计算3.0的理念——将计算系统划分为计算部件与防护部件,二者完全分离,由tpcm作为防护部件先于计算部件启动,并通过边度量边启动的方式对计算部件进行安全防护与控制,两者通过位于计算部件的共享内存区域进行通信——这解决了上述tpm存在的安全隐患,同时也更加符合我国自主可控的信创理念。
2、qcow2(qemu copy on write version 2,写时复制机制)虚拟磁盘格式是一种qemu(quick emulator,虚拟操作系统模拟器)/kvm(kernel-based virtual machine,基于内核的虚拟机)常用的虚拟机实例格式。其内部的数据是以固定大小的数据簇组成,结构可分为:qcow2文件头簇、分区表簇、数据簇。
3、云管理中心是整个云平台的控制中心,其负责
4、虚拟机生命周期模型定义了虚拟机当前可能所处的各个阶段,现有的对于生命周期模型的定义一般包括虚拟机的启动、运行以及关闭状态,并未将虚拟机的创建、挂起、挂起恢复等状态囊括在内。特别的,上述虚拟机状态又可分为动态与静态两类。动态是指虚拟机占用宿主机cpu、内存等资源执行诸如磁盘读写、数学计算等操作的状态;相对的,静态是指虚拟机让出cpu、内存等宿主机资源,停止一切操作的状态。由此,虚拟机的状态变化又可分为动态转为静态以及静态转为动态。
5、基于虚拟机生命状态切换的虚拟机实例静态度量被定义为:在虚拟机生命状态从静态切换至动态时,利用哈希函数对虚拟机实例文件进行度量,并将获取到的度量值与存放在安全区域的基准值进行对比验证,从而确认该文件是否遭到破坏的过程;特别的,当虚拟机生命状态是由动态转为静态之时,新生成的度量值不执行基准值比对操作,而是进行基准值的更新,即是用新的度量值替换原始的基准值。虚拟机实例初始的基准值一般是由云服务提供商提供。
6、现有公开的关于虚拟机实例文件的静态度量防护方案中,主要存在以下问题:
7、(1)目前的虚拟机实例防护方案仅在虚拟机处于启动和关闭状态时对其进行静态度量操作,忽略了虚拟机的创建、运行、挂起、恢复、销毁等生命状态,未能实现基于全生命周期的虚拟机实例度量与防护。
8、(2)现有虚拟机实例文件静态度量方案所采用的度量操作,大多是基于tpm2.0的密码模块或者是调用宿主机操作系统提供的哈希函数进行实现。存在哈希操作过程易受劫持的问题。
9、(3)现有的虚拟机实例静态度量方案中采用的是一种对于虚拟机实例文件的整体度量方式,该方式并未考虑到虚拟机长时间运行所导致的实例文件体积快速膨胀的实际情况,并且由此产生的度量效率低下及度量操作所耗系统资源过高等问题。
技术实现思路
1、本专利技术的目的在于提供一种基于tpcm的虚拟机全生命周期实例静态度量方法,解决虚拟机实例文件静态度量未能实现虚拟机全生命周期覆盖、度量操作易受劫持以及对于整个文件进行哈希操作带来的效率低下与系统性能损失的问题。技术方案如下:
2、一种基于tpcm的虚拟机全生命周期实例静态度量方法,包括以下步骤:
3、步骤1:在虚拟机生命周期的各阶段的处理函数中,添加发起实例度量的功能模块;所述功能模块用于实现包括虚拟机的创建、启动、运行、挂起、挂起恢复和关闭在内的全生命周期的虚拟机实例请求度量的功能;
4、步骤2:生成与维护一个位于本地防护部件中的策略文件,用于规定虚拟机实例文件的数据读取与组织规则;
5、步骤3:根据本地防护部件中的策略文件的规定,组织好待度量的实例核心数据,将其放置于共享内存中,并调用防护部件中硬件可信密码模块的sm3算法对位于共享内存区域中的数据进行度量操作并生成度量值;
6、步骤4:将生成的度量值按照虚拟机所处生命周期的动态、静态转换情况,分别执行基准值比对或是度量值更新操作,并根据比对结果对当前虚拟机进行控制。
7、进一步的,所述步骤1具体为:
8、步骤1.1:在执行虚拟机创建的函数逻辑之前,添加请求虚拟机实例度量的功能模块,用于在虚拟机创建之前对实例发起度量请求;
9、步骤1.2:在执行虚拟机启动的函数逻辑之前,添加请求虚拟机实例度量的功能模块,用于在虚拟机启动之前对实例发起度量请求;
10、步骤1.3:在执行虚拟机挂起恢复的函数逻辑之前,添加请求虚拟机实例度量的功能模块,用于在虚拟机挂起恢复之前对实例发起度量请求;
11、步骤1.4:在执行虚拟机挂起函数逻辑之后,添加请求虚拟机实例度量的功能模块,用于在虚拟机挂起之后对实例发起度量请求;
12、步骤1.5:在执行虚拟机关闭函数逻辑之后,添加请求虚拟机实例度量的功能模块,用于在虚拟机执行完成关闭操作的工作之后对实例发起度量请求。
13、更进一步的,所述步骤2中,策略文件包括:
14、由云管理中心下发的,用于规定虚拟机实例文件中的数据簇部分,能够被划分成多少个组的参数cluster_num;
15、由本地防护部件中的可信密码模块tcm生成的随机数n,其用于规定从每组中选取第几个簇组成度量数据;
16、根据参数cluster_num和随机数n进行随机簇选取的算法。
17、更进一步的,所述步骤2具体为:
18、步骤2.1:云管理中心下发策略文件至计算系统的防护部件,策略文件中携带有控制qcow2格式的虚拟机实例解析的参数cluster_num;
19、步骤2.2:位于防护部件中的硬件可信密码模块tcm生成一个随机数n,并将所述随机数n扩展到步骤2.1中的策略文件中;
20、步骤2.3:确定如何读取随机n个簇并用作度量的实例核心数据的算法,其中输入参数分别为步骤2.1及步骤2.2中生成的参数cluster_num和随机数n,算法输出为待选取簇在实例文件的起始地址;该算法也将会被扩展到策略文件中。
21、更进一步的,所述步骤2.3中算法的具体步骤分为:
22、步骤2.3.1:接受由步骤2.1和步骤本文档来自技高网...
【技术保护点】
1.一种基于TPCM的虚拟机全生命周期实例静态度量方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于TPCM的虚拟机全生命周期实例静态度量方法,其特征在于,所述步骤1具体为:
3.根据权利要求1所述的基于TPCM的虚拟机全生命周期实例静态度量方法,其特征在于,所述步骤2中,策略文件包括:
4.根据权利要求2所述的基于TPCM的虚拟机全生命周期实例静态度量方法,其特征在于,所述步骤2具体为:
5.根据权利要求4所述的基于TPCM的虚拟机全生命周期实例静态度量方法,其特征在于,所述步骤2.3中算法的具体步骤分为:
6.根据权利要求4所述的基于TPCM的虚拟机全生命周期实例静态度量方法,其特征在于,所述步骤3具体为:
7.根据权利要求6所述的基于TPCM的虚拟机全生命周期实例静态度量方法,其特征在于,所述步骤4具体为:
【技术特征摘要】
1.一种基于tpcm的虚拟机全生命周期实例静态度量方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于tpcm的虚拟机全生命周期实例静态度量方法,其特征在于,所述步骤1具体为:
3.根据权利要求1所述的基于tpcm的虚拟机全生命周期实例静态度量方法,其特征在于,所述步骤2中,策略文件包括:
4.根据权利要求2所述的基于tpcm的虚拟机全生命周期实例静态度量...
【专利技术属性】
技术研发人员:陈兴蜀,陈洪海,杨苗苗,张航瑞,杨映雷,金鑫,
申请(专利权)人:四川大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。