一种虚拟机的虚拟可信根实例的整体动态迁移方法转让专利

申请号 : CN201910003503.7

文献号 : CN109710386B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张建标李国栋黄浩翔王晓冯星伟

申请人 : 北京工业大学

摘要 :

一种虚拟机VM的虚拟可信根vTPCM实例的整体动态迁移方法,属于系统运行状态信息的可信安全迁移技术领域,其特征在于,这是一种在按控制节点管理员指令式应计算节点的请求而确定的由作为迁出节点的源平台、迁入节点的目标平台以及控制节点基于已知可信平台控制模块TPCM的迁移系统中实现的vTPCM实例整体动态迁移方法,是迁出、迁入双方在各自可信平台控制模块TPCM及控制节点CPU共同控制下,用对称和非对称加密算法、散列算法以及mkImage工具的影像值形成方法按被控制系统在整个运行过程中不同状态下采集的运行状态数据为基准值用可信计算方法实现的,与现有的vTPCM实例整体动态迁移方法相比,具有更加安全、更为简捷且迁移效率高的优点。

权利要求 :

1.一种虚拟机VM的虚拟可信根vTPCM实例的动态整体迁移方法,其特征是在一个虚拟可信根vTPCM实例,简称vTPCM实例迁移系统中依次按以下步骤实现的:步骤(1),构建vTPCM实例迁移系统,包括:一个共享存储控制器,简称控制节点以及与所述控制节点分别无线连接的一组计算机,简称计算节点群,其中:控制节点,设有:CPU以及分别与所述CPU互连的无线收发模块,共享数据动态存储模块,简称共享数据存储器,以及共享数据库,其中:共享数据存储器,内设有:被控制系统在一个完整运行过程中按时间顺序在不同采样周期内采集到的系统全部运行状态数据,共享数据库中,设有:

各计算节点的IP,编号及其按具体技术作用而区别的功能标识DP,

各计算节点在对用于不同运行状态的不同采样周期内采集到的不同运行状态数据及其虚拟可信根绑定而成的vTPCM实例,所述vTPCM实例包括:对各种不同的运行状态数据分别用同一种散列算法扩展而得到的各种不同的可信数据链,对各种不同的可信数据链,用mkImage工具得到的各种不同的影像值,用同一种对称加密算法得到的各种不同的基准值,此外还有用以恢复vTPCM实例运行状态的逻辑操作序列文件logFile,计算节点,设有:物理芯片可信平台控制模块、简称TPCM,无线收发模块,虚拟机VM组,以及本地计算节点所有的vTPCM实例的暂存器组,其中:TPCM,设有:至少内置有:对称加密算法、非对称加密算法、散列算法以及mkImage工具中的影像值形成算法的算法存储模块,还有CPU,虚拟机VM组,用数组{VM1,VM2,…,VMn,…,VMN}表示,N为虚拟机个数,以无线方式从所述控制节点中接收能实现本地计算节点的具体技术作用的系统运行状态数据,所述TPCM、虚拟机VM组、vTPCM实例暂存器组分别通过所述无线收发模块与控制节点相连,各虚拟机VMn分别与相对应的vTPCM实例暂存器vTPCMn互连,n=1,2,…,n,…,N,步骤(2),vTPCM实例迁移系统依次按以下步骤实现:步骤(2.1),系统初始化:

步骤(2.1.1),控制节点的CPU为各计算节点设定IP、DP及编号,同时统一设定虚拟机VM组内的虚拟机实例个数、vTPCM实例暂存器组内的虚拟机实例个数均为N个,步骤(2.1.2),控制节点把被控制系统在一个完整的运行过程中按时间顺序在不同采样周期内采集并输入到共享数据库的系统全部运行状态数据按所述功能标识DP分类,以无线方式输入到各计算节点的虚拟机VM组的各虚拟机VMn所在的内存空间中,完成了初始时刻t0对所述全部运行状态数据的分配;

步骤(2.2),在t1时刻,控制节点的CPU在全部计算节点中确定源平台A和目标平台B,所述源平台A是指执行vTPCM实例动态整体迁移任务的计算节点,目标平台B是指接收vTPCM实例动态迁移任务的计算节点:步骤(2.2.1),在t1时刻,控制节点的CPU判断:所收到的vTPCM实例整体动态迁移指令是控制节点管理人员出于被控系统控制方案的改变或硬件结构的改变而下达的,则执行步骤(2.2.2.1),所收到的vTPCM实例整体动态迁移请求是某一个计算节点管理人员出于对本地计算节点功能的扩展或计算节点硬件结构的改变而请求的,则执行步骤(2.2.3),步骤(2.2.2.1),控制节点的CPU为本地管理人员指定的源平台A从全部计算节点中选择一个功能标识DP相同或相似的但内存空间又充足的目标平台B,同时下令对应的虚拟机组VM A、vTPCM实例A暂存器组以及相应的虚拟机组VM B、vTPCM实例B暂存器组停机,步骤(2.2.2.2),在源平台A上,可信平台控制模块TPCM A使用对称加密算法SM4得到的对称加密密钥对被控制系统的一个完整运行过程中采集得到的不同运行状态下存储在虚拟机VM组内的运行状态数据,对应的各种不同运行状态下的基准值以及操作序列文件logFile进行加密,步骤(2.2.2.3),在目标平台B上,可信平台控制模块TPCM B用非对称加密算法SM2创建保护操作密钥,然后把所述保护操作密钥的公钥发送到源平台A上,步骤(2.2.2.4),在源平台A上,使用目标平台B发送过来的保护操作密钥的公钥对步骤(2.2.2.2)得到的对称加密密钥进行加密,步骤(2.2.2.5),在源平台A上,可信平台控制模块TPCM A将加密好的运行状态数据、对称加密密钥以及可信根实例进行打包,发送到目标平台B上,步骤(2.2.2.6),目标平台B使用所述的保护操作密钥的私钥解密源平台A发送过来的全部数据,得到对称加密密钥然后再用所述的对称加密密钥解密步骤(2.2.2.5)所述的运行状态数据得到源平台A上vTPCM实例的运行状态数据以及操作序列文件logFile,步骤(2.2.2.7),在目标平台B上,依据所述操作序列文件logFile对从源平台A迁移过来的vTPCM实例进行状态恢复,步骤(2.2.2.8),在源平台A上,删除vTPCM实例;

所述源平台A和目标平台B之间的数据交换是通过控制节点无线方式一一对应整体同步动态实现的,控制节点已备份;

步骤(2.2.3),控制节点的CPU对提出整体动态迁移的计算节点的IP、DP以及编号验证无误后,为提出所述整体动态迁移的计算节点选择一个功能标识相同或相似的计算节点作为目标平台,执行步骤(2.2.2.2)~步骤(2.2.2.8)。

说明书 :

一种虚拟机的虚拟可信根实例的整体动态迁移方法

技术领域

[0001] 一种虚拟机VM的虚拟可信根vTPCM实例的整体动态迁移方法,属于系统运行状态信息的可信安全迁移技术领域。

背景技术

[0002] 随着计算机和互联网的飞速发展,人们对于计算机上应用软件的安全性要求越来越高,安全问题日渐突出。在这种背景下,可信计算应运而生,而可信平台模块(Trusted Platform Module,TPM)、可信平台控制模块(Trusted Platform Control Module,TPCM)和可信密码模块(Trusted Cryptography Module,TCM)则是可信计算领域的核心部件。
[0003] 可信平台控制模块TPCM是我国自主研制的集成在可信平台上的安全芯片,是主动免疫可信体系的可信根,主要用于建立信任起点,为物理平台提供安全存储、可信报告、密码服务以及主动完整性度量等可信计算服务。可信平台控制模块TPCM除了包括可信密码模块TCM的密码服务之外,还包括了可信主动控制逻辑单元,为物理平台提供安全保证。
[0004] 可信计算起初用于单个物理机,每个物理机上只有一个物理TPCM芯片,在云计算环境中,一台物理机上需要部署多个虚拟机,如果想要让一个物理TPCM芯片为多个虚拟机提供可信服务,就必须实现硬件TPCM芯片的可信复用。为了保证虚拟机的安全,当创建一个新的虚拟机的时候,同时创建一个与之绑定的虚拟可信根vTPCM(virtual Trusted Cryptography Module)实例,该虚拟可信根vTPCM实例为虚拟机提供的功能与TPCM芯片为物理机提供的服务与功能相同。
[0005] 虚拟化技术的实现使得物理机的硬件资源得到了充分利用。但是由于物理机硬件系统的维护、升级以及负载均衡等多种原因,虚拟机需要迁移到其他物理机上。
[0006] 因为虚拟可信根vTPCM实例是与虚拟机绑定的,且虚拟可信根vTPCM实例存储了虚拟机VM的秘密信息,所以虚拟机运行状态信息迁移的时候,虚拟可信根vTPCM实例要随着虚拟机运行状态信息一起迁移到目标平台,继续保证虚拟机的安全运行。
[0007] 专利CN101405694A提出了一种虚拟可信平台模块vTPM实例迁移的方法,该迁移方法只迁移了虚拟可信根vTPM实例,并没有保留虚拟机的运行状态,而本发明提出了一种虚拟机VM的虚拟可信根vTPCM实例的整体动态迁移方法,并且在动态迁移前后维护了虚拟可信根vTPCM实例的运行状态的一致性。相比专利CN101405694A,本发明实现起来更为简单,并且容错率更高。

发明内容

[0008] 本发明提供了一种虚拟可信根vTPCM实例的迁移方法。其目的是维护虚拟可信根vTPCM实例迁移前后的运行状态信息。要实现虚拟可信根vTPCM实例的迁移,只需要迁移虚拟可信根vTPCM实例及系统运行状态数据,然后在目标平台依据系统运行状态数据进行恢复来完成虚拟可信根vTPCM实例的迁移。
[0009] 本发明的迁移思路是:
[0010] 假设要将在源平台A上运行的虚拟可信根vTPCM实例迁移到目标平台B上,迁移步骤如下:
[0011] 1构建一个由控制节点和一组计算节点组成的虚拟可信根vTPCM实例迁移系统;
[0012] 2虚拟可信根vTPCM实例迁移系统初始化,将不同采样周期内采集的运行状态数据按照功能标识分配到各计算节点的虚拟机VMN中;
[0013] 3控制节点按照功能标识DP相同或相似并且剩余内存空间充足的条件寻找一个计算节点作为迁移的目标平台B;
[0014] 4目标平台B使用SM2非对称加密算法创建保护操作密钥,把公钥发送到源平台上,用于加密对称加密密钥;
[0015] 5源平台A使用SM4对称加密算法产生的对称加密密钥对运行状态数据和操作序列文件进行加密;
[0016] 6源平台把加密好的运行状态数据、对称加密密钥及虚拟可信根vTPCM实例打包,发送到目标平台B上;
[0017] 7目标平台B使用保护操作密钥的私钥解密源平台A发送过来的全部数据,得到对称加密密钥,在使用对称加密密钥解密运行状态数据,得到虚拟可信根vTPCM实例的运行状态数据和操作序列文件logFile,依据操作序列文件的操作顺序进行虚拟可信根vTPCM实例的状态恢复;
[0018] 8在源平台A上将虚拟可信根vTPCM实例删除。
[0019] 本发明的特征在于:
[0020] 一个虚拟可信根vTPCM实例,简称vTPCM实例迁移系统中依次按以下步骤实现的:
[0021] 步骤(1),构建vTPCM实例迁移系统,包括:一个共享存储控制器,简称控制节点以及与所述控制节点分别无线连接的一组计算机,简称计算节点群,其中:
[0022] 控制节点,设有:CPU以及分别与所述CPU互连的无线收发模块,共享数据动态存储模块,简称共享数据存储器,以及共享数据库,其中:
[0023] 共享数据存储器,内设有:被控制系统在一个完整运行过程中按时间顺序在不同采样周期内采集到的系统全部运行状态数据,
[0024] 共享数据库中,设有:
[0025] 各计算节点的IP,编号及其按具体技术作用而区别的功能标识DP,
[0026] 各计算节点在对用于不同运行状态的不同采样周期内采集到的不同运行状态数据及其虚拟可信根绑定而成的vTPCM实例,所述vTPCM实例包括:对各种不同的运行状态数据分别用同一种散列算法扩展而得到的各种不同的可信数据链,对各种不同的可信数据链,用mkImage工具得到的各种不同的影像值,用同一种对称加密算法得到的各种不同的基准值,此外还有用以恢复vTPCM实例运行状态的逻辑操作序列文件logFile,
[0027] 计算节点,设有:物理芯片可信平台控制模块、简称TPCM,无线收发模块,虚拟机VM组,以及本地计算节点所有的vTPCM实例的暂存器组,其中:
[0028] TPCM,设有:至少内置有:对称加密算法、非对称加密算法、散列算法以及mkImage工具中的影像值形成算法的算法存储模块,还有CPU,
[0029] 虚拟机VM组,用数组{VM1,VM2,…,VMn,…,VMN}表示,N为虚拟机个数,以无线方式从所述控制节点中接收能实现本地计算节点的具体技术作用的系统运行状态数据,[0030] 所述TPCM、虚拟机VM组,vTPCM实例暂存器组内分别通过所述无线收发模块与控制节点相连,各虚拟机VMn分别与相对应的vTPCM实例暂存器vTPCMn互连,n=1,2,…,n,…,N,[0031] 步骤(2),vTPCM实例迁移系统依次按以下步骤实现:
[0032] 步骤(2.1),系统初始化:
[0033] 步骤(2.1.1),控制节点的CPU为各计算节点设定IP、DP及编号,同时统一设定虚拟机VM组内的虚拟机实例个数、vTPCM实例暂存器组内的虚拟机实例个数均为N个,[0034] 步骤(2.1.2),控制节点把被控制系统在一个完整的运行过程中按时间顺序在不同采样周期内采集并输入到共享数据库的系统全部运行状态数据按所述功能标识DP分类,以无线方式输入到各计算节点的虚拟机VM组的各虚拟机VMn所在的内存空间中,完成了初始时刻t0对所述全部运行状态数据的分配;
[0035] 步骤(2.2),在t1时刻,控制节点的CPU在全部计算节点中确定源平台A和目标平台B,所述源平台A是指执行vTPCM实例动态整体迁移任务的计算节点,目标平台B是指接收vTPCM实例动态迁移任务的计算节点:
[0036] 步骤(2.2.1),在t1时刻,控制节点的CPU判断:所收到的vTPCM实例整体动态迁移指令是控制节点管理人员出于被控系统控制方案的改变或硬件结构的改变而下达的,则执行步骤(2.2.2.1),
[0037] 所收到的vTPCM实例整体动态迁移请求是某一个计算节点管理人员出于对本地计算节点功能的扩展或计算节点硬件结构的改变而请求的,则执行步骤(2.2.3),[0038] 步骤(2.2.2.1),控制节点的CPU为本地管理人员指定的源平台A从全部计算节点中选择一个功能标识DP相同或相似的但内存空间又充足的目标平台B,同时下令对应的虚拟机组VM A、vTPCM实例A暂存器组以及相应的虚拟机组VM B、vTPCM实例B暂存器组停机,[0039] 步骤(2.2.2.2),在源平台A上,可信平台控制模块TPCM A使用对称加密算法SM4得到的对称加密密钥对被控制系统的一个完整运行过程中采集得到的不同运行状态下存储在虚拟机VM组内的运行状态数据,对应的各种不同运行状态下的基准值以及操作序列文件logFile进行加密,
[0040] 步骤(2.2.2.3),在目标平台B上,可信平台控制模块TPCM B用非对称加密算法SM2创建保护操作密钥,然后把所述保护操作密钥的公钥发送到源平台A上,
[0041] 步骤(2.2.2.4),在源平台A上,使用目标平台B发送过来的保护操作密钥的公钥对步骤(2.2.2.2)得到的对称加密密钥进行加密,
[0042] 步骤(2.2.2.5),在源平台A上,可信平台控制模块TPCM A将加密好的运行状态数据、对称加密密钥以及可信根实例进行打包,发送到目标平台B上,
[0043] 步骤(2.2.2.6),目标平台B使用所述的保护操作密钥的私钥解密源平台A发送过来的全部数据,得到对称加密密钥然后再用所述的对称加密密钥解密步骤(2.2.2.5)所述的运行状态数据得到源平台A上vTPCM实例的运行状态数据以及操作序列文件logFile,[0044] 步骤(2.2.2.7),在目标平台B上,依据所述操作序列文件logFile对从源平台A迁移过来的vTPCM实例进行状态恢复,
[0045] 步骤(2.2.2.8),在源平台A上,删除vTPCM实例;
[0046] 所述源平台A和目标平台B之间的数据交换是通过控制节点无线方式一一对应整体同步动态实现的,控制节点已备份;
[0047] 步骤(2.2.3),控制节点的CPU对提出整体动态迁移的计算节点的IP、DP以及编号验证无误后,为提出所述整体动态迁移的计算节点选择一个功能标识相同或相似的计算节点作为目标平台,执行步骤(2.2.2.2)~步骤(2.2.2.8)。
[0048] 按照上述步骤进行虚拟机VM的虚拟可信根vTPCM实例的整体动态迁移,整体迁移过程中,能够满足动态迁移不影响用户使用虚拟机的原则,与虚拟可信密码模块vTCM相比,发挥出了虚拟可信根vTPCM实例的主动安全防护的特性,克服了虚拟可信密码模块vTCM只能被动提供密码服务的缺点,系统运行状态数据与虚拟可信根vTPCM实例迁移到目标平台之后,成功恢复了虚拟可信根vTPCM实例与虚拟机的运行,并且恢复了虚拟可信根vTPCM实例的运行状态。

附图说明

[0049] 图1是未发生虚拟机VM的虚拟可信根vTPCM实例迁移时的迁移系统结构框图;
[0050] 图2是虚拟可信根vTPCM实例发生整体动态迁移时的迁移系统框图;
[0051] 图3是本发明的程序流程框图。

具体实施方式

[0052] 为使本发明实施例的目的、优点以及所采用的技术方案更加清晰,下面将结合附图,对本发明实施例的技术方案进行清楚完整的描述。
[0053] 本发明提出了一种虚拟机VM的虚拟可信根vTPCM实例的整体动态迁移方法,如图1所示是未发生虚拟机VM的虚拟可信根vTPCM实例迁移时的迁移系统结构框图,控制节点用于向计算节点发送虚拟机VM的虚拟可信根vTPCM实例的创建、迁移和删除命令等。
[0054] 图2是虚拟可信根vTPCM实例发生整体动态迁移时的迁移系统框图。控制节点与源平台A或目标平台B通过无线收发模块进行命令的发送与接收,控制节点的中央控制器CPU对计算节点群中各个计算节点的负载状态进行统计调度,共享数据库中存储了各计算节点的网络地址IP、功能标识DP和编号,源平台A和目标平台B上的可信平台控制模块TPCM中的算法存储模块为源平台A或目标平台B提供可信密码服务。
[0055] 图3是本发明的程序流程框图。
[0056] 现在要将运行在源平台A上的虚拟可信根vTPCM实例和系统运行状态数据迁移到目标平台B上,具体迁移步骤如下:
[0057] 1首先构建一个由控制节点和一组计算节点构成的虚拟可信根vTPCM实例迁移系统,控制节点部署了共享数据存储器和共享数据库,共享数据库存储了计算节点的网络地址IP、功能标识DP和编号等;
[0058] 2虚拟可信根vTPCM实例迁移系统进行初始化,完成初始时刻t0时控制节点把一个完整的运行过程中按时间顺序在不同采样周期内采集的不同运行状态数据组成的系统全部运行状态数据按功能标识DP分配到各计算节点的虚拟机VMN中去;
[0059] 3控制节点的CPU按照管理员下达的指令或迁移系统的源平台A的管理员发出的请求,在计算节点群中按照功能标识DP相同或相似以及剩余内存空间充足的条件,选取一个计算节点作为迁移操作的目标平台B;
[0060] 4目标平台B使用非对称加密SM2算法创建保护操作密钥,将保护操作密钥的公钥发送到源平台A上,用于加密源平台A上产生的对称加密密钥;
[0061] 5源平台A使用对称加密SM4算法创建对称加密密钥,使用对称加密密钥加密源平台A上的运行状态数据和操作序列文件logFile;
[0062] 6源平台A把使用对称加密密钥加密好的运行状态数据、使用保护操作密钥的公钥加密好的对称加密密钥及可信根实例进行打包,发送到目标平台B上;
[0063] 7目标平台B收到源平台A发送过来的加密的运行状态数据和对称加密密钥,使用保护操作密钥的私钥解密对称加密密钥,使用对称加密密钥解密运行状态数据,得到源平台上虚拟可信根vTPCM实例的运行状态数据和操作序列文件logFile,依据操作序列文件logFile的操作顺序对从源平台A上迁移过来的虚拟可信根vTPCM实例进行状态恢复;
[0064] 8在源平台A上将迁移到目标平台B的虚拟可信根vTPCM实例删除。
[0065] 本发明提出了一种虚拟机VM的虚拟可信根vTPCM实例的整体动态签迁移方法,通过对系统行状态数据和操作序列文件logFile的打包迁移,并在目标平台上依据上述文件进行虚拟可信根与系统运行状态的恢复,完成虚拟可信根vTPCM实例的迁移操作。
[0066] 以上所述仅为本发明的较佳实施例,并不用于限制本发明,凡在本发明的精神原则之内所做的任何修改、替换和改进,均应包含在本发明的保护范围之内。