Processing

Please wait...

Settings

Settings

Goto Application

1. WO2011000323 - METHOD, APPARATUS AND SYSTEM FOR VIRTUAL MACHINE MIGRATION DECISION

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ ZH ]
一种虚拟机迁移决策方法、装置及系统

技术领域

本发明实施例涉及通信技术领域,特别是涉及一种虚拟机迁移决策方法、 装置及系统。

背景技术

虚拟化技术是在软件和硬件之间引入一个虚拟层,将底层物理设备虚拟 成多个虚拟设备,通过每个虚拟计算机(筒称为虚拟机)对虚拟设备的调度 来实现对物理设备的多路复用。它可以在一个硬件平台上运行多个虚拟机, 虚拟机对硬件资源的操作和虚拟机之间的交互大多通过虚拟层相互协调 , 在 虚拟机层没有过多的交互 , 虚拟机之间的关系和两台物理计算机之间的关系 相似,实现强隔离;由于虚拟机的强隔离性,一台虚拟机的故障对平台上其 它虚拟机几乎不会造成影响。虚拟机所在的平台在充分利用硬件资源的同时, 为应用软件提供独立、隔离的运行环境,从而在最大程度上限制了应用程序 的安全风险的扩散范围 , 维护了系统平台的稳定性。

虚拟可信平台以底层可信硬件为信任根,保证平台能如实地记录并报告 其当前所处状态。该硬件通常指可信平台模块(Trus ted Platform Module, TPM ) 的可信芯片。在平台启动引导过程中, TPM作为保证可信属性的起点, 验证下一个启动组件的完整性,并将可信关系延伸到该组件。通过逐层验证, 平台最终将可信关系扩展到应用程序,从而构筑一条从 BIOS ( Bas ic

Input/Output Sys tem, 基本输入 /输出系统)、 OS ( Operat ing Sys tem, 操 作系统)引导程序、 OS内核程序、最后到应用程序的完整信任链,以保证应 用软件可信属性。

随着虚拟化技术的广泛应用 , 在信息安全技术领域也开始考虑将可信计 算技术引入到虚拟化应用领域,保证虚拟机的可信属性。虚拟可信平台在使 用虚拟化技术的基础上保证信任链的有效扩展,把信任链的概念延伸到运行

在虚拟平台上的虚拟机之上 , 保证虚拟机中的操作系统也运行在一个可信环 境中。客体操作系统之上运行的应用程序可以像在传统的平台中一样地使用

TPM功能。

虚 4以机迁移 ( Vi rtua l Machine Migrat ion )是虚 4以 4匕技术一项重要优势, 目前业界存在越来越多的虚拟机安全迁移的应用需求,例如:通过虚拟机的 迁移来保证系统平台的负载均衡,把负载比较重的平台上正在运行的虚拟机 迁移到负载比较轻的平台上,保证不同平台的硬件资源充分利用,提高系统 工作效率。或者,通过虚拟机的迁移来减小应用程序对底层硬件资源的依赖 性,缩短宕机时间。又或者,如果底层硬件出现出现故障需要维护,通过把 正在运行的虚拟机迁移到正常工作的系统平台之上以实现避免平台下层资源 的故障不会对虚拟机的正常运行产生太大的影响,等等。

发明人在实现本发明的过程中,发现:随着将可信计算技术引入到虚拟 化应用领域,业界急需一种虚拟可信平台中确保虚拟机迁移安全性的虚拟机 迁移决策方案。

发明内容

本发明实施例提供一种虚拟机迁移决策方法、迁移决策装置和通信系统, 以提高虚拟机迁移的安全性。

本发明实施例提供如下技术方案:

一种通信系统, 包括:待迁移虚拟机的源宿主平台、迁移授权方和待迁 移虚拟机的目标宿主平台,其中:

所述源宿主平台用于向所述迁移授权方发送迁移请求, 并根据收到的迁 移决策结果将所述待迁移虚拟机迁移到所述目标宿主平台;

所述迁移授权方用于根据该迁移请求对所述源宿主平台和所述目标宿主 平台进行安全检查,得到源宿主平台的第一评估结果和目标宿主平台的第二 评估结果;并获得待迁移虚拟机的第三评估结果;根据所述第一评估结果、

第二评估结果和第三评估结果,向所述源宿主平台返回相应的迁移决策结果; 所述目标宿主平台用于接收所述待迁移虚拟机。

以及,一种虚拟机迁移决策方法,该方法包括:

接收待迁移虚拟机的源宿主平台发来的迁移请求;

才艮据该迁移请求对待迁移虚拟机的源宿主平台和待迁移虚拟机的目标宿 主平台进行安全检查,得到源宿主平台的第一评估结果和目标宿主平台的第 二评估结果;

获得待迁移虚拟机的第三评估结果;

才艮据所述第一评估结果、第二评估结果和第三评估结果,向所述源宿主 平台返回相应的迁移决策结果。

以及,一种迁移决策装置,包括:

第一接收单元,用于接收待迁移虚拟机的源宿主平台发来的迁移请求; 第一检查单元, 用于根据该迁移请求对待迁移虚拟机的源宿主平台和待 迁移虚拟机的目标宿主平台进行安全检查,得到源宿主平台的第一评估结果 和目标宿主平台的第二评估结果;

获得单元,用于获得待迁移虚拟机的第三评估结果;

迁移决策单元, 用于才艮据所述第一评估结果、第二评估结果和第三评估 结果,向所述源宿主平台返回相应的迁移决策结果。

可见,本发明实施例中,在对源宿主平台和目标宿主平台进行安全检查 得到对应的评估结果的基础之上,进一步增加获得待迁移虚拟机的第三评估 结果的过程,相应的,迁移决策依据不仅包括源宿主平台的第一评估结果、 目标平台的第二评估结果,还包括待迁移虚拟机的第三评估结果,即充分考 虑虚拟机迁移决策依据,根据源宿主平台的第一评估结果、目标平台的第二 评估结果及待迁移虚拟机的第三评估结果,返回是否允许该虚拟机迁移到目 标平台的迁移决策结果,从而在增强决策依据完备性的同时,满足目标平台 评估要求(即获得待迁移虚拟机的第三评估结果)的基础上允许迁移,可以 保证迁移结果对目标平台的影响最小化,防止迁移后虚拟机对目标平台造成 安全威胁或者其它影响,增强了迁移决策的正确性,从而不仅保证虚拟机迁 移到目标平台上之后虚拟机的安全,还保证了目标平台接收虚拟机之后目标 平台的安全。

附图说明

施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地,下面 描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图 1为本发明实施例涉及的虚拟可信平台的逻辑结构示意图;

图 2为本发明实施例的一种虚拟机迁移决策方法的流程示意图; 图 3为本发明实施例的一种虚拟机迁移决策方法的交互示意图; 图 4为图 3中步驟 S306的流程示意图;

图 5为本发明实施例的一种虚拟机迁移决策方法的交互示意图; 图 6为图 5中步驟 S405的流程示意图;

图 7为本发明实施例的一种虚拟机迁移决策方法的交互示意图; 图 8为图 7中步驟 S508的流程示意图;

图 9为本发明实施例的另一种虚拟机迁移决策方法的交互示意图; 图 10为本发明实施例的另一种虚拟机迁移决策方法的交互示意图; 图 11为本发明实施例的一种迁移决策装置的结构示意图;

图 12为本发明实施例的一种通信系统的结构示意图。

具体实施方式

为使本发明实施例的目的、 技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例 , 本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。

请参阅图 1 , 为本发明实施例涉及的虚拟平台(Vi rtua l Platform )架构 的逻辑结构示意图,虚拟平台架构包括物理硬件资源层(可以理解为物理层)、 运行在物理层之上的轻量级的虚拟化管理程序层(通常称为 Hypervi sor或者 称为虚拟机监控器层,可以理解为虚拟层)、以及运行在在虚拟化管理程序 层之上的虚拟机层。其中虚拟化管理程序对下层物理资源多路化调度,承载 上层的虚拟机。虚拟机层中的相互独立虚拟机可以同时运行,并且在虚拟机 中可以装载不同的操作系统和应用程序。虚拟机对物理层资源的使用需要通 过虚拟化管理程序层的统一调度管理,管理员通过宿主虚拟机管理和控制平 台配置以及其它虚拟机;需要说明的是,虚拟可信平台就是把可信计算的技 术引入到虚拟平台,底层配置有可信平台模块(Trus t Platform Module, TPM ), 通过虚拟平台中的管理程序将 TPM虚拟化,创建不同的 TPM实例,为不同的 虚拟机提供可信计算服务。

均衡、硬件故障或者安全等原因需要在另外一个平台上运行,这就涉及到虚 拟机从源宿主平台迁移到目标宿主平台。其中,虚拟机迁移的安全性包括: 虚拟机迁移到目标宿主平台上之后虚拟机的安全性和目标宿主平台接收(或 承载)虚拟机之后目标平台的安全性。

本发明实施例中, 不仅对待迁移虚拟机的源宿主平台(简称源平台)和 待迁移虚拟机的目标宿主平台 (简称目标平台)进行评估,而且还对待迁移 虚拟机本身进行检查和评估,并根据源平台的评估结果、目标平台的评估结

果和待迁移虚拟机的评估结果做出是否允许虚拟机迁移的决策结果, 从而不 仅保证虚拟机迁移到目标平台上之后虚拟机的安全性 (即保证虚拟机迁移到 目标平台上之后不会影响虚拟机的正常运行) ,而且保证目标平台接收(或 承载)虚拟机之后目标平台的安全性 (即保证虚拟机迁移之后不会影响或者 危及目标平台的安全状态或者正常运转)。

下面结合附图来详细描述本发明实施例:

请参阅图 2 , 为本发明实施例的一种虚拟机迁移决策方法的流程示意图, 可以应用于基于虚拟可信平台的系统架构中的迁移决策装置, 这里的迁移决 策实体可以是待迁移虚拟机所处的源平台,或者可以是待迁移虚拟机的目标 平台,或者,也可以是在虚拟机迁移过程中承担可信第三方的角色的迁移授 权方设备,包括但不限于,其中该方法可以包括:

S101、接收待迁移虚拟机的源宿主平台(简称为源平台)发来的迁移请 求;

具体的, 该迁移请求携带有源宿主平台(可选的,和待迁移虚拟机)对 待迁移虚拟机的目标宿主平台的评估要求;

S 102、 居该迁移请求对待迁移虚拟机的源宿主平台和待迁移虚拟机的 目标宿主平台 (简称为目标平台)进行安全检查,得到源平台的第一评估结 果和目标平台的第二评估结果;

5103、获得待迁移虚拟机的第三评估结果;

具体的可以是,当源平台和目标平台的评估结果表示两者均评估通过后 , 获得待迁移虚拟机的第三评估结果,包括但不限于这种情况。

5104、根据源平台的第一评估结果,目标平台的第二评估结果和待迁移 虚拟机的第三评估结果,向源平台返回相应的迁移决策结果。

具体可以是, 根据源平台的第一评估结果,目标平台的第二评估结果和 待迁移虚拟机的第三评估结果,及迁移策略,向源平台返回相应的迁移决策 结果,可选的,还可以向目标平台返回相应的迁移决策结果。

这里的迁移策略可以为如果源平台的第一评估结果、 目标平台的的第二 评估结果和待迁移虚拟机的状态信息评估结果、完整性证实结果均表示评估 通过,则允许迁移虚拟机;反之,不允许迁移虚拟机。

在一种实现下, S103中获得待迁移虚拟机的第三评估结果的步驟包括: 对待迁移虚拟机的状态信息进行评估,得到状态信息评估结果;和 /或, 对源平台上待迁移虚拟机进行完整性证实,得到待迁移虚拟机的第一完整性 证实结果;

或者,在另一种实现下, S103 中获得待迁移虚拟机的第三评估结果的步 骤包括:

接收目标平台或源平台发送的待迁移虚拟机的状态信息评估结果和 /或 待迁移虚拟机的第一完整性证实结果;

或者,在另一种实现下, S103 中获得待迁移虚拟机的第三评估结果的步 驟包括:

对待迁移虚拟机的状态信息进行评估, 得到状态信息评估结果;和,接 收源平台或目标平台发送的待迁移虚拟机的第一完整性证实结果;

或者,在又一种实现下, S103 中获得待迁移虚拟机的第三评估结果的步 骤包括:

接收源平台或目标平台发送的待迁移虚拟机的状态信息评估结果; 和, 对源平台上待迁移虚拟机进行完整性证实,得到待迁移虚拟机的第一完整性 证实结果;

相应的, S104具体为:根据源平台的第一评估结果,目标平台的第二评 估结果,以及待迁移虚拟机的状态信息评估结果和 /或第一完整性证实结果做 出相应的决策,并且向源平台返回相应的迁移决策结果。具体的是,当源平 台的第一评估结果、目标平台的第二评估结果,及待迁移虚拟机的状态信息 评估结果和 /或第一完整性证实结果均表示评估通过时,得到允许虚拟机迁移 的决策结果,反之,得到不允许虚拟机迁移的决策结果;并向源平台返回相 应的迁移决策结果。

其中,对待迁移虚拟机的状态信息进行评估,得到状态信息评估结果的 步驟具体可以是:根据目标平台对待迁移虚拟机的评估要求,对待迁移虚拟 机的状态信息进行评估 , 得到状态信息评估结果。

在一种实现方式下, 根据目标平台对待迁移虚拟机的评估要求对待迁移 虚拟机的状态信息进行评估,具体可以包括:

接收该目标平台发送的评估请求, 所述评估请求携带有目标平台对待迁 移虚拟机的评估要求,该评估要求包括:必选项评估属性,其中所述必选项 评估属性包括:虚拟机的属主、虚拟机的用途和虚拟机的历史宿主平台相关 信息;或者,所述评估要求包括:必选项评估属性和扩展项评估属性,其中 所述必选项评估属性包括:虚拟机的属主、虚拟机的用途和虚拟机的历史宿 主平台相关信息;所述扩展项评估属性包括:虚拟机的虚拟设备要求和对物 理硬件资源使用要求要求、虚拟机内所使用的操作系统详细信息和所运行的 主要应用程序、虚拟机的时间日志和虚拟机内部的安全策略中的一个或多个。

根据该评估请求中所携带的评估要求, 从待迁移虚拟机及其源宿主平台 获得需要评估的属性信息;

根据获得的需要评估的属性信息与对应的评估标准的比较结果, 得到状 态信息评估结果。具体过程可以包括,

判断待迁移虚拟机的属主与目标平台上运行的虚拟机的属主是否属于同 一属主集合,当是时,该必选项评估属性评估通过(可简述为:该必选项评 估通过);反之,该必选项评估没有通过;

将从源平台或待迁移虚拟机获得的待迁移虚拟机承担的任务与目标平台 承载的任务种类进行匹配, 当相匹配时,该必选项评估属性的评估通过;反 之,该必选项评估属性的评估没有通过;

将从源平台获得的待迁移虚拟机的第一历史宿主平台相关信息与迁移授 权方存储的安全事件时间日志进行匹配, 当待迁移虚拟机在各个历史宿主平 台上运行时均无安全事件发生或者发生的安全事件的安全级别在目标平台的 安全事件级别范畴内时,该必选项评估属性的评估通过;反之,该必选项评 估属性的评估没有通过;

如果所有必选项评估属性的评估均通过, 则状态信息评估通过;反之, 状态信息评估没有通过。

其中,所述对源平台上待迁移虚拟机进行完整性证实,具体可以包括: 从待迁移的虚拟机获取第一扩展值和度量信息;

根据所述度量信息计算第二扩展值, 根据第二扩展值和第一扩展值的比 较结果以及所述度量信息与获得的标准值的比较结果,得到待迁移虚拟机的 第一完整性证实结果。

进一步的, 为了实现完整性的迭代证实,所述对源平台上待迁移虚拟机 进行完完整性证实的步驟之后,所述方法进一步包括:

对所述源宿主平台进行完整性证实, 得到源宿主平台的第二完整性证实 结果;

相应的, S1 04具体为:根据源平台的第一评估结果、目标平台的第二评 估结果,及待迁移虚拟机的状态信息评估结果和 /或第一完整性证实结果和第 二完整性证实结果,向源平台(可选的,和目标平台)返回相应的迁移决策 结果。具体的是,当源平台的第一评估结果、目标平台的第二评估结果,及 待迁移虚拟机的状态信息评估结果和 /或第一完整性证实结果和第二完整性 证实结果均表示评估通过时,得到允许虚拟机迁移的决策结果,反之,得到 不允许虚拟机迁移的决策结果;并向源平台(可选的,和目标平台)返回相 应的迁移决策结果。

可见, 本发明实施例方法中,在对源平台和目标平台进行安全检查的基 础之上,进一步增加根据目标平台对待迁移虚拟机的评估要求,对待迁移虚 拟机的状态信息进行评估和 /或对待迁移虚拟机进行完整性证实的过程,并根 据源平台的第一评估结果、 目标平台的第二评估结果,及相应的待迁移虚拟 机的状态信息评估结果和 /或第一完整性证实结果,做出并返回是否允许该虚 拟机迁移到目标平台的决策结果,由于充分考虑了允许虚拟机迁移决策依据, 即在增强决策依据完备性的同时,满足目标平台评估要求的基础上允许迁移, 可以保证迁移结果对目标平台的影响最小化,防止迁移后虚拟机对目标平台 造成安全威胁或者其它影响,增强了迁移决策的正确性,从而不仅保证虚拟 机迁移到目标平台上之后虚拟机的安全,还保证了目标平台接收虚拟机之后 目标平台的安全。

请参阅图 3, 为本发明实施例的一种虚拟机迁移决策方法的交互示意图, 其中,本发明实施例中,由迁移授权方完成对虚拟机的评估,其中包括对虚 拟机的状态信息评估和完整性证实;该方法可以包括:

5301、源平台向迁移授权方发送建立连接请求消息,其中,该建立连接 请求消息携带有连接建立目的,即该源虚拟平台上的虚拟机迁移请求;

5302、迁移授权方对源平台进行安全检查,如对源平台的身份合法性检 查,或者,对源平台的完整性进行验证,得到源平台的安全检查结果(如身 份合法性检查结果或完整性证实结果) 。可选地,源平台还可以对迁移授权 方做检查(主要是针对迁移授权方的身份合法性做检查) ;如果对源平台的 检查通过或者双方检查通过,则执行 S303; 如果没有通过,则不允许迁移, 停止执行,流程结束;

5303、源平台向迁移授权方发送第一迁移请求,该第一迁移请求携带有 待迁移虚拟机对目标平台的第一要求信息,其中第一要求信息可以包括源平 台对目标平台的属性要求,可选的,还可以包括目标平台标识; 需要说明的是, 这里的第一迁移请求视不同的应用场景所携带的第一要 求信息的具体内容可以不同;例如:在实际场景中,源平台发出第一迁移请 求时,如果已确定待迁移的目标平台以及对目标平台的属性要求,则第一迁 移请求携带有源平台对目标平台的属性要求和目标平台标识; 如果确定对目 标平台的属性要求,但是没有具体的目标平台,这种场景下需要迁移授权方 根据对源平台以及整个系统架构内的相关策略为待迁移的虚拟机选择一个合 适的目标平台;

5304、迁移授权方根据第一迁移请求携带的第一要求信息,对目标平台 进行安全检查,具体可以包括:对目标平台进行属性匹配检查,和 /或对目标 平台的完整性进行验证 (即完整性证实) , 得到目标平台的安全检查结果 (如 属性匹配检查结果和 /或完整性证实结果);如果属性匹配检查通过,对目标 平台进行完整性证实,如果属性匹配检查没有通过,则不允许迁移,停止执 行。如果完整性证实通过,执行步驟 S305; 如果完整性证实没有通过,则不 允许迁移,停止执行,可选的,还可以向源平台发送不允许迁移原因;

5305、目标平台向迁移授权方发送评估请求,其中该评估请求携带有目 标平台对待迁移虚拟机的评估要求,这里的评估要求包括:必选项评估属性, 其中,必选项评估属性包括:虚拟机的属主(属主指控制该虚拟机的用户)、 虚拟机的用途,虚拟机的历史宿主平台相关信息,其可以包括虚拟机的宿主 历史(即该虚拟机从创建到目前不断迁移过程中宿主过的所有虚拟平台) 以 及在各个宿主平台上的时间日志 , 主要涉及迁入迁出时间;

目标平台根据本地需求、状态和配置策略的不同,还可以可选的包括如 下扩展项评估属性中的一个或多个,如虚拟机的虚拟设备要求(如虚拟 CPU 数量、虚拟内存容量等)和对物理硬件资源使用要求;虚拟机内所使用的操 作系统详细信息和所运行的主要应用程序等;虚拟机的时间日志,其中包括 虚拟机的生命周期和创建时间、休眠时间、启动时间、注销时间等;或者, 虚拟机内部的安全策略,如虚拟机所使用的访问控制,是自主访问控制策略 还是强制访问控制策略(如果是强制访问控制策略,具体包括安全标签和安 全级别的设置依据、方式)、虚拟机安全保证所使用的安全模型、安全保证的 侧重点 (完整性、机密性、或者两者都需要保证);

其中所述目标平台的本地状态和配置策略是事先平台的属主或者系统管 理员对目标平台的设置,比如,如果事先定义目标平台需要有较强的可审计 性,则评估要求应该包括该虚拟机详细的日志信息(不仅包括该虚拟机的宿 主历史日志信息,也应该包括虚拟机生命周期的时间日志);如果目标平台 所承载的虚拟机有动态变化大的特点,则在对待迁移虚拟机的评估要求中就 应该检查该虚拟机对虚拟设备和物理资源的使用状况。

另外还有两个需要注意的是:其一,目标平台根据本地状态和配置的策 略提出评估要求的同时,需要定义出达到这些要求的标准,并且这些标准尽 量是可以量化的,如目标平台当前可以提供的最大内存容量,虚拟机内所运 行的操作系统 Linux内核版本应该在 2. 6 以上等;其二,虽然目标平台的评 估要求根据目标平台的本地需求的不同而变化,但是一旦作为评估要求由目 标平台提出,则就需要作为状态信息评估中必须的评估项。

S 306、迁移授权方对待迁移虚拟机的状态信息进行评估,得到待迁移虚 拟机的状态信息评估结果, S 306的评估过程如图 4所示,可以包括:

3061.迁移授权方根据该评估请求中所携带的评估要求,从待迁移虚拟机 以及其源宿主平台获得需要评估的属性信息,所述需要评估的属性信息至少 包括:必选项评估属性;

3062.根据获得的需要评估的属性信息与迁移授权方处保存的对应的评 估标准的比较结果,得到状态信息评估结果。

具体的,根据迁移授权方处的评估标准,从必选项评估属性开始评估, 只有所有必选项评估属性的评估均通过才算状态信息评估通过; 否则即为状 态信息评估没有通过;如果状态信息评估通过,或者经过等待或者特定处理 后通过,执行步驟 S307,如果评估没有通过,则不允许迁移,停止执行,可 选的还可以返回不允许迁移的原因;

下面——针对每个必选项评估属性进行说明:

( 1 )比较待迁移虚拟机的属主和目标平台上运行的虚拟机的属主,检查 两者是否属于利益相冲突实体;具体过程包括:

1. 1预先由系统管理员对虚拟机的属主进行分类,把不同类型的属主归为 不同的集合,其中分类原则是这些属主属于不同的利益冲突实体,迁移授权 方也存储这些分类信息。

1. 2在评估过程中,迁移授权方从源平台得到待迁移虚拟机的第一属主信 息,从目标平台得到其上面运行的虚拟机的第二属主信息;

1. 3 判断第一属主信息所属的属主集合与第二属主信息所述的属主集合 是否属于同一属主集合,如果是,则确定虚拟机属主的必选项评估属性评估 通过;如果双方属主属于不同的属主集合,则该项必选项评估属性的评估没 有通过。

( 2 )检查待迁移虚拟机的用途,确定是否符合目标平台可以承载的任务 种类;

具体过程包括:

2. 1 预先由系统管理员定义所管理范围内的虚拟平台可承载的任务的种 类,根据所定义的这些类型对虚拟平台进行分类。迁移授权方处保存虚拟平 台所属的承载功能类别。

2. 2在评估过程中,迁移授权方从源平台或者待迁移的虚拟机处获得待迁 移虚拟机承担的任务,从迁移授权方本地获得作为目标平台的虚拟平台可以 承载的任务种类;

2. 3判断两者是否匹配,如果待迁移的虚拟机承担的任务和目标平台可以 承载的任务种类相匹配,则虚拟机用途的必选项评估属性评估通过;如果两 者不相匹配,则该必选项评估属性的评估没有通过。

( 3 )检查待迁移虚拟机的历史宿主平台相关信息是否满足目标平台相对 应的要求;具体过程包括:

3. 1 迁移授权方保存有系统管理员所管理范围内的虚拟平台的安全事件 时间日志、事件分析摘要日志,同时迁移授权方处配置的策略中定义这些安 全事件的安全级别和不同虚拟平台能够容忍的安全事件的级别。

3. 2 迁移授权方从源平台获得待迁移虚拟机的第一历史宿主平台相关信

3. 3 通过第一历史宿主相关信息与迁移授权方存储的安全事件时间日志

如果在所有宿主平台上都没有安全事件发生, 则该必选项评估属性的评 估通过;如果在某历史平台上运行时有安全事件发生,则进一步确定该安全 事件的安全级别,对比目标平台能够容忍的安全事件级别,如果该安全事件 的安全级别在目标平台能够容忍的安全事件级别范畴内, 则该必选项评估属 性的评估通过;否则该必选项评估属性的评估没有通过。

可选的, 如果目标平台发送的评估请求中包括扩展项评估属性,则进一 步包括如下的一种或多种:

( 4 )评估虚拟机的虚拟设备要求和对物理资源的使用要求,具体过程包 括:

将获得的待迁移虚拟机所需要的虚拟设备要求和对物理资源的使用要求 和目标平台可以提供的虚拟设备要求和对物理资源的使用要求进行比较, 如 果目标平台暂时无法满足 "虚拟机的虚拟设备要求和对物理资源的使用要求" (例如,待迁移虚拟机对内存的要求,而目标平台因其上已经运行很多程序 占用了太多内存导致当前无法满足),则迁移授权方向虚拟机的源宿主平台返 回响应消息,通知虚拟机推迟迁移或者在源宿主平台对配置做出更改后再请 求迁移;

( 5 )评估虚拟机内装载的操作系统、主要应用程序和时间日志,如果迁 移授权方获得的虚拟机内装载的操作系统、主要应用程序和时间日志不满足 目标平台所要求的评估内容(例如,待迁移虚拟机操作系统的内核版本和目 标平台所要求的不匹配),则可以向源平台和待迁移虚拟机返回响应消息,以 请求补充所需要的完整信息;

S 307、迁移授权方对源平台上要迁移的虚拟机进行完整性证实,得到待 迁移虚拟机的完整性证实结果,具体过程包括;

( 1 )迁移授权方从待迁移的虚拟机获取两方面的数据信息:可信芯片(如 TPM ) 内保存的虚拟机内部所启动的固件、软件的 Hash扩展计算结果;虚拟 机内部从开机到当前状态所启动的固件、组件的度量日志信息(名称、版本、 时间等)。

一般情况下, 上述两者用可信芯片的密钥加密,即还需要从待迁移虚拟 机处获取加密密钥证书;

( 2 ) 迁移授权方根据度量日志信息重新计算这些软件、固件的 Hash扩 展值,对比重新计算得到的 hash扩展值和从待迁移虚拟机处获得的 Hash扩 展计算结果,如果两者一致,则确定待迁移虚拟机如实记录其所运行的程序。

( 3 )进一步的,迁移授权方对比度量日志信息中保存的相关数据信息和 迁移授权方处保存的标准值(或迁移授权方获取的标准值),如果两者一致, 则可以确定待迁移的虚拟机为可信系统平台,即得到表示待迁移虚拟机的完 整性证实通过的完整性证实结果。

需要说明的是,在一种实现下,迁移授权方保存有特定数据库,在该特 定数据库中存储待迁移虚拟机所运行的程序的 Hash计算结果,该特定数据库 的数据信息是业界公开发布的(称其为标准值);在另一种实现下,迁移授权 方通过 URL访问特定的网站获得标准值。

5308、迁移授权方根据源平台的安全检查结果、目标平台的安全检查结 果和待迁移虚拟机的状态信息评估结果、完整性证实结果,做出是否允许虚 拟机迁移的决策结果。

迁移决策的依据包括:源平台的身份合法性检查结果,必要情况下的完 整性证实结果;目标平台的属性匹配检查结果和 /或完整性证实结果;虚拟机 的状态信息评估结果以及对虚拟机的完整性证实结果。

5309、迁移授权方将相应的迁移决策结果分别发送给源平台和目标平台: a) 向源平台发送是否允许虚拟机迁移的决策结果,如果允许迁移,执 行步驟 S310; 如果不允许迁移,停止执行,可选的返回不允许迁 移的原因;

b) 向目标平台发送是否允许虚拟机迁移的决策结果,如果允许迁移, 执行步驟 S310; 如果不允许迁移,停止执行,可选的返回不允许 迁移的原因;需要说明的是,这里仅是为了方便描述, a )和 b ) 之间没有先后顺序之分。需要说明的是, b )是可选的。

5310、源平台和目标平台建立连接,实施具体迁移,需要说明的是,其 中虚拟机迁移包括虚拟机内存信息迁移、虚拟机物理存储信息迁移等,即需 要保证虚拟机的迁移对上层的应用程序是透明的,换句话说,就是要求在不 影响或者尽量小地影响上层应用程序正常运行的情况下改变其运行的底层平 台。由于属于现有技术,故不再赘述。需要说明的是, S306和 S307没有明确 的先后顺序之分。并且, S302 中的源平台的安全检查结果可以理解为源平台 的第一评估结果,这里的源平台的安全检查结果优选的不包括源平台的完整 性证实结果。 S304 中的目标平台的安全检查结果可以理解为目标平台的第二 评估结果。

综上所述,本发明实施例中,在对源平台和目标平台进行安全检查的基 础之上 , 进一步增加对待迁移虚拟机的状态信息进行评估和对待迁移虚拟机 进行完整性证实的过程,并根据源平台、目标平台的安全检查结果和待迁移 虚拟机的状态信息评估结果和完整性证实结果,作出是否允许该虚拟机迁移 到目标平台的决策结果,即在增强决策依据完备性 (充分考虑了允许虚拟机 迁移决策依据)的同时,满足目标平台评估要求的基础上允许迁移,可以保 证迁移结果对目标平台的影响最小化,防止迁移后虚拟机对目标平台造成安 全威胁或者其它影响,增强了迁移决策的正确性,从而不仅保证虚拟机迁移 到目标平台上之后虚拟机的安全,还保证了目标平台接收虚拟机之后目标平 台的安全;

进一步的,对于不同评估内容的评估结果返回不允许迁移、暂緩迁移、 补充信息后再请求迁移等不同反馈消息,防止决策的武断性,增大迁移请求 和决策的灵活性,使决策结果更加全面,有利于虚拟机迁移操作的有效进行; 进一步的,增加对待迁移虚拟机的完整性证实,保证虚拟机迁移时的可 信属性。

请参阅图 5 , 为本发明实施例的另一种虚拟机迁移决策方法的交互示意 图,其中,本发明实施例中,由目标平台完成对虚拟机的评估,其中包括对 虚拟机的状态信息评估和完整性证实;应当理解的是,也可以由迁移授权方 辅助进行状态信息评估,由目标平台进行完整性评估。该方法可以包括:

5401、源平台向迁移授权方发送建立连接请求消息,其中,该建立连接 请求消息携带有连接建立目的,即该源虚拟平台上的虚拟机迁移请求;

5402、迁移授权方对源平台进行安全检查,如源平台的身份合法性检查, 或者,对源平台的完整性进行证实,得到源平台的安全检查结果(如身份合 法性检查结果或完整性证实结果)。可选地,源平台还可以对迁移授权方做 检查(主要是针对迁移授权方的身份合法性做检查) ;如果对源平台的检查 通过或者双方检查通过,则执行 S403; 如果没有通过,则不允许迁移,停止 执行,流程结束;

5403、源平台向迁移授权方发送第一迁移请求,该第一迁移请求携带有 待迁移虚拟机对目标平台的第一要求信息,其中第一要求信息可以包括源平 台对目标平台的属性要求,可选的,还可以包括目标平台标识;

5404、迁移授权方根据第一迁移请求携带的第一要求信息,对目标平台 进行安全检查,具体可以包括:对目标平台进行属性匹配检查,和 /或对目标 平台的完整性进行验证 (即完整性证实),得到目标平台的安全检查结果 (如 属性匹配检查结果和 /或完整性证实结果);如果属性匹配检查通过,对目标 平台进行完整性证实,如果属性匹配检查没有通过,则不允许迁移,停止执 行。如果完整性证实通过,执行步驟 S405; 如果完整性证实没有通过,则不 允许迁移,停止执行,可选的,还可以向源平台发送不允许迁移原因;

5405、目标平台对源平台上待迁移到本地平台的虚拟机进行状态信息评 估,得到状态信息评估结果, S405的具体过程,如图 6所示,可以包括:

4051.目标平台获取待迁移虚拟机的标识,其中该标识是指能够使目标平 台可以与该虚拟机建立连接的参数,如虚拟机的 IP地址、虚拟机名等;目标 平台可以从迁移授权方获得待迁移虚拟机的标识;也可以直接和源平台建立 连接,从源平台获得待迁移虚拟机的标识。

4052.目标平台根据获得的待迁移虚拟机的标识与待迁移虚拟机建立连 接;

4053.基于该连接,目标平台根据自身对待迁移虚拟机的评估要求,从待 迁移虚拟机以及其源宿主平台获得需要评估的属性信息,所述评估要求包括: 必选项评估属性,其中,必选项评估属性包括:虚拟机的属主、虚拟机的用 途、虚拟机的历史宿主平台相关信息,其可以包括虚拟机的宿主历史以及在 各个宿主平台上的时间日志,主要涉及迁入迁出时间;可选的还可以包括如 下扩展项评估属性中的一个或多个,如虚拟机的虚拟设备要求和对物理硬件 资源使用要求;虚拟机内所使用的操作系统详细信息和所运行的主要应用程 序等;虚拟机的时间日志,其中包括虚拟机的生命周期和创建时间、休眠时 间、启动时间、注销时间等;或者,虚拟机内部的安全策略,等等;

需要说明的是,如果目标平台与待迁移虚拟机之间预先已经建立好了连 接,则步骤 4051 - 4052可省略。

4054.将获得的需要评估的属性信息与目标平台保存的对应的评估标准 进行匹配,才艮据匹配结果(可选的,和安全策略)得到状态信息评估结果。 如果状态信息评估通过,或者经过等待或者特定处理后通过,执行步骤 S406 , 如果状态信息评估没有通过,则不允许迁移,停止执行,可选的还可以返回 不允许迁移的原因;

这里的安全策略为对于评估要求的必选项评估属性, 只有所有必选项评 估属性的评估均通过才算状态信息评估通过; 否则即为状态信息评估没有通 过。

5406、目标平台对源平台上待迁移虚拟机进行完整性证实,得到待迁移 虚拟机的完整性证实结果;具体过程参考 S307;

完整性证实的对象是虚拟机内部运行的软件、固件、操作系统、也可以 到应用程序。

5407、目标平台向迁移授权方返回对虚拟机的状态信息评估结果和完整 性证实结果;

5408、迁移授权方根据源平的安全检查结果、目标平台的安全检查结果 和待迁移虚拟机的状态信息评估结果、完整性证实结果,做出是否允许虚拟 机迁移的决策结果。

5409、迁移授权方将相应的迁移决策结果分别发送给源平台和目标平台: C) 向源平台发送是否允许迁移的决策结果,如果允许迁移,执行步驟

S410;如果不允许迁移,停止执行,可选的返回不允许迁移的原因; d) 向目标平台发送是否允许迁移的决策结果,如果允许迁移,执行步 驟 S410; 如果不允许迁移,停止执行,可选的返回不允许迁移的 原因;需要说明的是,这里仅是为了方便描述, c )和 d )之间没 有先后顺序之分。 d )是可选的步驟。

S410、源平台和目标平台建立连接,实施具体迁移,由于属于现有技术, 故不再赘述。需要说明的是, S405和 S406没有明确的先后顺序之分。并且, S402 中的源平台的安全检查结果可以理解为源平台的第一评估结果,优选的 是,这里的源平台的安全检查结果中不包括源平台的完整性证实结果。 S404 中的目标平台的安全检查结果可以理解为目标平台的第二评估结果。

综上所述,本发明实施例中,在对源平台和目标平台进行安全检查的基 础之上,进一步增加对待迁移虚拟机的状态信息进行评估和对待迁移虚拟机 进行完整性证实的过程,并根据源平台、目标平台的安全检查结果和待迁移 虚拟机的状态信息评估结果和完整性证实结果,做出是否允许该虚拟机迁移 到目标平台的决策结果,即在增强决策依据完备性(充分考虑允许虚拟机迁 移决策依据)的同时,满足目标平台评估要求的基础上允许迁移,可以保证 迁移结果对目标平台的影响最小化,防止迁移后虚拟机对目标平台造成安全 威胁或者其它影响,增强了迁移决策的正确性,从而不仅保证虚拟机迁移到 目标平台上之后虚拟机的安全,还保证了目标平台接收虚拟机之后目标平台 的安全。

请参阅图 7 , 为本发明实施例的另一种虚拟机迁移决策方法的交互示意 图, TCG的虚拟平台工作组在虚拟平台中针对虚拟机完整性的证实提出迭代性 ( I terat ive ) 完整性证实的思路,即远程 4兆战方(Remote Cha l lenger )对 虚拟机 #丈完整性证实,在发现证实对象是虚拟机之后,需要对该虚拟机的宿 主平台做完整性证实。根据该思路,本发明实施例中,将对虚拟机的完整性 证实和对源平台的完整性证实放在一起完成。本实施例在针对这种应用场景, 并且对虚拟机状态信息的评估和完整性证实交由迁移授权方来完成。 该方法 可以包括:

5501、源平台向迁移授权方发送建立连接请求,其中,该建立连接请求 携带有连接建立目的,即该源虚拟平台上的虚拟机迁移请求;

5502、迁移授权方对源平台进行安全检查,如对源平台的身份合法性检 查,得到源平台的安全检查结果(如身份合法性检查结果)。可选地,源平 台还可以对迁移授权方做检查 (主要是针对迁移授权方的身份合法性做检 查);如果对源平台的检查通过或者双方检查通过,则执行 S503; 如果没有 通过,则不允许迁移,停止执行,流程结束;需要说明的是,在本步驟不对 源平台进行完整性证实;

5503、源平台向迁移授权方发送第一迁移请求,该第一迁移请求携带有 待迁移虚拟机对目标平台的第一要求信息,其中第一要求信息可以包括源平 台对目标平台的属性要求,可选的,还可以包括目标平台标识;

5504、迁移授权方根据第一迁移请求携带的第一要求信息,对目标平台 进行安全检查,具体可以包括:对目标平台进行属性匹配检查和 /或完整性证 实,得到目标平台的安全检查结果(如属性匹配检查结果和 /或完整性证实结 果);如果属性匹配检查通过,对目标平台进行完整性证实,如果属性匹配 检查没有通过,则不允许迁移,停止执行。如果完整性证实通过,执行步骤 S505 , 如果完整性证实没有通过,则不允许迁移,停止执行,可选的,还可 向源平台发送不允许迁移原因;

5505、目标平台向迁移授权方发送评估请求,其中该评估请求携带有目 标平台对待迁移虚拟机的评估要求,这里的评估要求包括:必选项评估属性, 可选的,还可以包括扩展项评估属性。具体参考 S305。

5506、迁移授权方对待迁移虚拟机的状态信息进行评估,得到待迁移虚 拟机的状态信息评估结果,具体的,如果所有必选项评估属性的评估均通过 才算状态信息评估通过;否则即为状态信息评估没有通过;如果状态信息评 估通过,或者经过等待或者特定处理后通过,执行步驟 S5G7 , 如果评估没有 通过,则不允许迁移,停止执行,可选的还可以返回不允许迁移的原因;具 体参考 S306。

5507、迁移授权方对源平台上待迁移虚拟机进行完整性证实,得到待迁 移虚拟机的完整性证实结果,具体过程参考 S307。

5508、当发现 S507中的证实对象是虚拟机时,迁移授权方对待迁移虚拟 机的源宿主平台进行完整性证实,得到源宿主平台的完整性证实结果,具体 的 , 迁移授权方可以通过用来加密的密钥证书中得到证实对象是虚拟机的信 息。 S508的具体过程,如图 8所示,可以包括:

5081.迁移授权方向待迁移虚拟机发送对虚拟机的源宿主平台完整性证 实的请求;

5082. 待迁移虚拟机向迁移授权方返回其源宿主平台的标识,即迁移授 权方接收待迁移虚拟机返回的其源宿主平台的标识; 该标识是指可以使迁移 授权方能够和该源宿主平台建立连接的信息,如源宿主平台的 IP地址、名称, 也可以是虚拟机和源宿主平台 (即源平台)之间必要的关联参数;

5083.迁移授权方根据所获得的待迁移虚拟机的源宿主平台的标识,与对 应的虚拟平台建立连接;

5084.基于该连接,对虚拟机的源宿主平台进行完整性证实,得到源宿主 平台的完整性证实结果;具体参考现有技术,故不再赘述。

5509、迁移授权方根据源平台的安全检查结果、目标平台的安全检查结 果和待迁移虚拟机的状态信息评估结果、待迁移虚拟机的完整性证实结果和 源平台的完整性证实结果,作出是否允许虚拟机迁移的决策结果。

551 0、迁移授权方将相应的迁移决策结果分别发送给源平台和目标平台: e) 向源平台发送是否允许虚拟机迁移的决策结果,如果允许迁移,执 行步驟 S511 ; 如果不允许迁移,停止执行,可选的返回不允许迁 移的原因;

f) 向目标平台发送是否允许虚拟机迁移的决策结果,如果允许迁移, 执行步骤 S511 ; 如果不允许迁移,停止执行,可选的返回不允许 迁移的原因;需要说明的是,这里仅是为了方便描述, e )和 f ) 之间没有先后顺序之分。 f )是可选步驟。

5511、源平台和目标平台建立连接,实施具体迁移,由于属于现有技术, 故不再赘述。需要说明的是, S502 中的源平台的安全检查结果可以理解为源 平台的第一评估结果,这里的源平台的安全检查结果中不包括源平台的完整 性证实结果。 S504 中的目标平台的安全检查结果可以理解为目标平台的第二 评估结果。

综上所述,本发明实施例方法中,在对源平台和目标平台进行安全检查 的基础之上,进一步增加对待迁移虚拟机的状态信息进行评估和对待迁移虚 拟机进行完整性证实的过程,并根据源平台、目标平台的安全检查结果和待 迁移虚拟机的状态信息评估结果和完整性证实结果,做出是否允许该虚拟机 迁移到目标平台的决策结果, , 即在增强决策依据完备性 (充分考虑允许虚拟 机迁移决策依据)的同时,满足目标平台评估要求的基础上允许迁移,可以 保证迁移结果对目标平台的影响最小化,防止迁移后虚拟机对目标平台造成 安全威胁或者其它影响,增强了迁移决策的正确性,从而不仅保证虚拟机迁 移到目标平台上之后虚拟机的安全,还保证了目标平台接收虚拟机之后目标 平台的安全。

请参阅图 9 , 为本发明实施例的另一种虚拟机迁移决策方法的交互示意 图,本发明实施例中,对待迁移虚拟机及其源宿主平台进行迭代完整性证实, 由目标平台承担远程挑战方的角色,即由目标平台完成对待迁移虚拟机状态 信息评估和对待迁移虚拟机及其源宿主平台进行迭代完整性证实, 该方法可 以包括:

5601、源平台向迁移授权方发送建立连接请求,其中,该建立连接请求 携带有连接建立目的,即该源虚拟平台上的虚拟机迁移请求;

5602、迁移授权方对源平台进行安全检查,如源平台的身份合法性检查, 得到源平台的安全检查结果(如身份合法性检查结果) 。可选地,源平台还 可以对迁移授权方做检查(主要是针对迁移授权方的身份合法性做检查) ; 如果对源平台的检查通过或者双方检查通过,则执行 S603; 如果没有通过, 则不允许迁移,停止执行,流程结束;需要说明的是,在本步驟不对源平台 进行完整性证实;

5603、源平台向迁移授权方发送第一迁移请求,该第一迁移请求携带有 待迁移虚拟机对目标平台的第一要求信息,其中第一要求信息可以包括源平 台对目标平台的属性要求,可选的,还可以包括目标平台标识;

5604、迁移授权方根据第一迁移请求携带的第一要求信息,对目标平台 进行安全检查,具体可以包括:对目标平台进行属性匹配检查和 /或完整性证 实,得到目标平台的安全检查结果(如属性匹配检查结果和 /或完整性证实结 果);如果属性匹配检查通过,对目标平台进行完整性证实,如果属性匹配 检查没有通过,则不允许迁移,停止执行。如果完整性证实通过,执行步骤 S605 , 如果完整性证实没有通过,则不允许迁移,停止执行,可选的,还可 以向源平台发送不允许迁移原因;

5605、目标平台对源平台上待迁移到本地平台的虚拟机进行状态信息评 估,得到状态信息评估结果,具体过程参考 S405;

5606、目标平台对源平台上待迁移虚拟机进行完整性证实,得到待迁移 虚拟机的完整性证实结果;具体过程参考 S307;

5607、当发现 S606中的证实对象是虚拟机时,目标平台对待迁移虚拟机 的源宿主平台进行完整性证实,得到源宿主平台的完整性证实结果; S607具 体过程,续参考图 8 , 可以包括:

6071. 目标平台向待迁移虚拟机发送对该虚拟机的源宿主平台完整性证 实的请求;

6072. 待迁移虚拟机向目标平台返回源宿主平台的标识;该标识是指可 以使目标平台能够和源宿主平台建立连接的信息,如源宿主平台的 IP地址、 名称,也可以是目标平台和源宿主平台(即源平台)之间必要的关联参数;

6073. 目标平台根据所获得待迁移虚拟机的源宿主平台的标识,与该源 宿主平台建立连接;

6074.基于该连接,目标平台对待迁移虚拟机的源宿主平台进行完整性证 实,得到源宿主平台的完整性证实结果;具体参考现有技术,故不再赘述。

5608、目标平台完成对待迁移虚拟机的状态信息评估和待迁移虚拟机及 源宿主平台迭代的完整性证实之后 , 向迁移授权方发送待迁移虚拟机的状态 信息评估结果以及待迁移虚拟机及源宿主平台的完整性证实结果;

5609、迁移授权方根据源平台的安全检查结果、目标平台的安全检查结 果和接收到的待迁移虚拟机的状态信息评估结果、待迁移虚拟机的完整性证 实结果及源宿主平台的完整性证实结果,做出是否允许虚拟机迁移的决策结 果。

5610、迁移授权方将相应的迁移决策结果分别发送给源平台和目标平台: g) 向源平台发送是否允许虚拟机迁移的决策结果,如果允许迁移,执 行步骤 S611 ; 如果不允许迁移,停止执行,可选的返回不允许迁 移的原因;

h) 向目标平台发送是否允许虚拟机迁移的决策结果,如果允许迁移, 执行步骤 S611 ; 如果不允许迁移,停止执行,可选的返回不允许 迁移的原因;需要说明的是,这里仅是为了方便描述, g )和 h ) 之间没有先后顺序之分。 h )是可选步驟。

S611、源平台和目标平台建立连接,实施具体迁移,由于属于现有技术, 故不再赘述。需要说明的是, S602中的源平台的安全检查结果可以理解为源 平台的第一评估结果,这里的源平台的安全检查结果不包括源平台的完整性 证实结果。 S604 中的目标平台的安全检查结果可以理解为目标平台的第二评 估结果。

综上所述,本发明实施例方法中,在对源平台和目标平台进行安全检查 的基 之上,进一步增加对待迁移虚拟机的状态信息进行评估和对待迁移虚 拟机进行完整性证实的过程,并根据源平台的安全检查结果、目标平台的安 全检查结果、待迁移虚拟机的状态信息评估结果、待迁移虚拟机的完整性证 实结果和源宿主平台的完整性证实结果,做出是否允许该虚拟机迁移到目标 平台的决策结果,即在增强决策依据完备性(充分考虑允许虚拟机迁移决策 依据)的同时,满足目标平台评估要求的基础上允许迁移,可以保证迁移结 果对目标平台的影响最小化,防止迁移后虚拟机对目标平台造成安全威胁或 者其它影响,增强了迁移决策的正确性,从而不仅保证虚拟机迁移到目标平 台上之后虚拟机的安全,还保证了目标平台接收虚拟机之后目标平台的安全。

由不同的主体承担对待迁移虚拟机的评估和完整性证实 , 在流程上有区 别,如由目标平台做评估的话,就需要目标平台先获得源平台上虚拟机的标 识参数;由迁移授权方做评估,就需要目标平台把需要评估的要求发送给迁 移授权方;由源平台做评估,在对源平台检查中,完整性证实就是必须的,以 信息评估和完整性证实的过程中 , 其能够如实地提供对虚拟机的检查结果。 请参阅图 10, 为本发明实施例的另一种虚拟机迁移决策方法的交互示意 图,本发明实施例中,由源平台完成对待迁移虚拟机的状态信息评估和完整 性证实,该方法可以包括:

5701、源平台向迁移授权方发送建立连接请求,其中,该建立连接请求 携带有连接建立目的,即该源虚拟平台上的虚拟机迁移请求;

5702、迁移授权方对源平台进行安全检查,得到源平台的安全检查结果, 具体可以包括:

a.迁移授权方对源平台进行身份合法性检查。 源平台可选地对迁移授权 方做检查(主要是针对迁移授权方的身份合法性做检查);如果对源平台的身 份合法性检查通过或者双方检查通过,执行步驟 b, 如果没有通过,则不允许 迁移,停止执行,流程结束;

b.迁移授权方对源平台做完整性证实;如果完整性证实结果满足可信属 性,执行步驟 S703; 如果不满足可信属性,则不允许迁移,停止执行;

5703、源平台向迁移授权方发送第一迁移请求,该第一迁移请求携带有 待迁移虚拟机对目标平台的第一要求信息,其中第一要求信息可以包括源平 台对目标平台的属性要求,可选的,还可以包括目标平台标识;

5704、迁移授权方根据第一迁移请求携带的第一要求信息,对目标平台 进行安全检查,具体可以包括:对目标平台进行属性匹配检查和 /或完整性证 实,得到目标平台的安全检查结果(如属性匹配检查结果和 /或完整性证实结 果);如果属性匹配检查通过,对目标平台进行完整性证实,如果属性匹配 检查没有通过,则不允许迁移,停止执行。如果完整性证实通过,执行步驟 S705 , 如果完整性证实没有通过,则不允许迁移,停止执行,可选的,还可 以向源平台发送不允许迁移原因;

5705、目标平台向源平台发送评估请求,其中该评估请求携带有目标平 台对待迁移虚拟机的评估要求,这里的评估要求包括:必选项评估属性,可 选的,还包括扩展项评估属性。

5706、源平台根据该评估请求中所携带的评估要求,对待迁移虚拟机的 状态信息进行评估,具体可以包括:源平台根据该评估请求中所携带的评估 要求,将从待迁移虚拟机以及本虚拟平台获得的需要评估的属性信息与从迁 移授权方处获得的对应的评估标准进行比较,根据比较结果,得到状态信息 评估结果。如果状态信息评估结果表示评估通过,执行步骤 S707 , 如果状态 信息评估结果表示评估没有通过,不允许迁移,停止执行,可选的,还可以 返回不允许迁移的原因;

5707、源平台对待迁移的虚拟机进行完整性证实,得到待迁移虚拟机的 完整性证实结果,具体过程参考 S307;

5708、源平台返回对待迁移虚拟机的状态信息评估结果和完整性证实结 果:

a) 向迁移授权方发送对待迁移虚拟机的状态信息评估结果和完整性 证实结果;

b) 向目标平台发送对待迁移虚拟机的状态信息评估结果和完整性证 实结果;

5709、迁移授权方根据源平台的安全检查结果、目标平台的安全检查结 果和待迁移虚拟机的状态信息评估结果、完整性证实结果,做出是否允许虚 拟机迁移的决策结果。

5710、迁移授权方将相应的迁移决策结果分别发送给源平台和目标平台: c) 向源平台发送是否允许虚拟机迁移的迁移结果,如果允许迁移,则 执行步驟 S711; 如果不允许迁移,停止执行,返回不允许决策原 因;

d) 向目标平台发送是否允许虚拟机迁移的迁移结果,如果允许迁移, 则执行步驟 S711 ; 如果不允许迁移,停止执行,返回不允许决策 原因;需要说明的是,这里仅是为了方便描述, c )和 d )之间没 有先后顺序之分。 d )是可选步驟。

S711、源平台和目标平台建立连接,实施具体迁移,由于属于现有技术, 故不再赘述。需要说明的是,并且, S702 中的源平台的安全检查结果可以理 解为源平台的第一评估结果, S704中的目标平台的安全检查结果可以理解为 目标平台的第二评估结果。

综上所述, 本发明实施例方法中,在对源平台和目标平台进行安全检查 的基础之上,进一步增加对待迁移虚拟机的状态信息进行评估和对待迁移虚 拟机进行完整性证实的过程,并根据源平台、目标平台的安全检查结果和待 迁移虚拟机的状态信息评估结果和完整性证实结果,做出是否允许该虚拟机 迁移到目标平台的决策结果,即在增强决策依据完备性 (充分考虑允许虚拟 机迁移决策依据)的同时,满足目标平台评估要求的基础上允许迁移,可以 保证迁移结果对目标平台的影响最小化, 防止迁移后虚拟机对目标平台造成 安全威胁或者其它影响,增强了迁移决策的正确性,从而不仅保证虚拟机迁 移到目标平台上之后虚拟机的安全,还保证了目标平台接收虚拟机之后目标 平台的安全。

虽然前述实施例中,对待迁移虚拟机的状态信息评估和完整性证实均由 同一执行主体来完成,但应当理解的是,也可以由不同的执行主体来分别完 成,如可以由迁移授权方进行状态信息评估,由目标平台进行完整性评估; 也例如可以由目标平台进行状态信息评估, 由迁移授权方进行完整性评估, 包括但不限于这些情况。相应的,对待迁移虚拟机的状态信息进行评估和完 整性证实由不同的执行主体完成,可以避免由单一执行主体完成评估和完整 性证实给该执行主体所带来的负担,也可以减少该执行主体遭受拒绝服务攻 击的机会。

请参阅图 11 , 为本发明实施例的一种迁移决策装置的结构示意图,如图 11所示,本发明实施例的迁移决策装置,可以包括:

第一接收单元 21,用于接收待迁移虚拟机的源宿主平台(简称源平台) 发来的迁移请求,具体的,该迁移请求携带有源宿主平台(可选的,和待迁 移虚拟机)对待迁移虚拟机的目标宿主平台 (简称目标平台)的评估要求; 在实际场景中, 源宿主平台发出迁移请求时,如果已确定待迁移的目标 平台以及对目标平台的评估要求,则迁移请求携带有源平台对目标平台的评 估要求和目标平台标识;如果确定对目标平台的评估要求,但是没有具体的 目标平台,这种场景下需要迁移决策装置根据对源平台以及整个系统架构内 的相关策略为待迁移的虚拟机选择一个合适的目标平台;

第一检查单元 22 , 用于用于根据该迁移请求对源宿主平台和目标平台进 行安全检查,得到源宿主平台的第一评估结果和目标平台的第二评估结果; 需要说明的是,这里的对源宿主平台的安全检查可以包括:身份合法性 检查,或完整性证实。这里的对目标平台的安全检查可以包括:属性匹配检 查,或完整性证实。

获得单元 23 , 用于获得待迁移虚拟机的第三评估结果;

迁移决策单元 24,用于根据源平台的第一评估结果,目标平台的第二评 估结果和待迁移虚拟机的第三评估结果,向源平台和目标平台返回相应的迁 移决策结果。具体可以是,根据源平台的第一评估结果,目标平台的第二评 估结果和待迁移虚拟机的第三评估结果,及迁移策略,向源平台返回相应的 迁移决策结果,可选的,还可以向目标平台返回相应的迁移决策结果。这里 的迁移策略,一种实现下,可以为:如果源平台的第一评估结果、目标平台 的的第二评估结果和待迁移虚拟机的第三评估结果均表示评估通过,则允许 迁移虚拟机;反之,不允许迁移虚拟机。

在一种实现下,获得单元 23包括:状态信息评估子单元,用于对待迁移 虚拟机的状态信息进行评估 (具体可以是,根据目标平台对待迁移虚拟机的 评估要求对待迁移虚拟机的状态信息进行评估),得到状态信息评估结果;和 /或,完整性证实子单元,用于对源平台上待迁移虚拟机进行完整性证实,得 到待迁移虚拟机的第一完整性证实结果;

或者,在另一种实现下,获得单元 23为第二接收单元,接收目标平台或 源平台发送的待迁移虚拟机的状态信息评估结果和 /或待迁移虚拟机的第一 完整性证实结果;

或者,在另一种实现下,获得单元 23包括:状态信息评估子单元,用于 对待迁移虚拟机的状态信息进行评估 (具体可以是,根据目标平台对待迁移 虚拟机的评估要求对待迁移虚拟机的状态信息进行评估),得到状态信息评估 结果;第一接收子单元,用于接收源平台或目标平台发送的待迁移虚拟机的 完整性证实结果;

或者,在又一种实现下,获得单元 23包括:第二接收子单元,用于接收 源平台或目标平台发送的待迁移虚拟机的状态信息评估结果; 完整性证实子 单元,用于对源平台上待迁移虚拟机进行完整性证实,得到待迁移虚拟机的 第一完整性证实结果。

贝 'J,所述迁移决策单元具体用于根据第一评估结果、第二评估结果,及 待迁移虚拟机的状态信息评估结果和 /或第一完整性证实结果,向源宿主平台 返回相应的迁移决策结果。

以及,在一种实现下,所述状态信息评估子单元具体用于接收该目标平 台发送的评估请求 , 所述评估请求携带有目标平台对待迁移虚拟机的评估要 求;根据该评估请求中所携带的评估要求,从待迁移虚拟机以及其源宿主平 台获得需要评估属性信息;根据获得的需要评估的属性信息与对应的评估标 准的比较结果,得到状态信息评估结果。该评估要求包括:必选项评估属性, 其中所述必选项评估属性包括:虚拟机的属主、虚拟机的用途和虚拟机的历 史宿主平台相关信息;或者,所述评估要求包括:必选项评估属性和扩展项 评估属性,其中所述必选项评估属性包括:虚拟机的属主、虚拟机的用途和 虚拟机的历史宿主平台相关信息;所述扩展项评估属性包括:虚拟机的虚拟 设备要求和对物理硬件资源使用要求要求、虚拟机内所使用的操作系统详细 信息和所运行的主要应用程序、虚拟机的时间日志和虚拟机内部的安全策略 中的一个或多个。对于评估要求的必选项评估属性,只有所有必选项评估属 性的评估均通过才算状态信息评估通过;否则即为状态信息评估没有通过; 另外还有两个需要注意的是:其一,目标平台根据本地状态和配置的策 略提出评估要求的同时,需要定义出达到这些要求的标准,并且这些标准尽 量是可以量化的,如目标平台当前可以提供的最大内存容量,虚拟机内所运 行的操作系统 Linux内核版本应该在 2. 6以上等;其二,虽然目标平台的评 估要求根据目标平台的本地需求的不同而变化,但是一旦作为评估要求由目 标平台提出,则就需要作为状态信息评估中必须的评估项。

相应的,在一种实现下,迁移决策单元 24具体用于当源平台的第一评估 结果、目标平台的第二评估结果,及待迁移虚拟机的状态信息评估结果和 /或 第一完整性证实结果均表示评估通过时,做出允许虚拟机迁移的决策结果, 反之,做出不允许虚拟机迁移的决策结果;并向源平台返回相应的迁移决策 结果。

本发明实施例的迁移决策装置可以为迁移 4受权方( Migrat ion Author i ty, MA X 迁移授权方在虚拟机迁移过程中承担可信第三方的角色。

本发明实施例装置的各个单元可以集成于一体, 也可以分离部署。上述 单元可以合并为一个单元,也可以进一步拆分成多个子单元。

关于如上功能单元的具体实现可参考方法实施例的描述。

可见, 本发明实施例的迁移决策装置,在对源平台和目标平台进行安全

检查的基础之上,进一步增加对待迁移虚拟机的状态信息进行评估和对待迁 移虚拟机进行完整性证实的过程,并根据源平台的第一评估结果、目标平台 的第二评估结果和待迁移虚拟机的第三评估结果(状态信息评估结果和 /或完 整性证实结果),做出是否允许该虚拟机迁移到目标平台的决策结果,即在增 强决策依据完备性 (充分考虑允许虚拟机迁移决策依据)的同时,满足目标 平台评估要求的基础上允许迁移,可以保证迁移结果对目标平台的影响最小 化,防止迁移后虚拟机对目标平台造成安全威胁或者其它影响,增强了迁移 决策的正确性,从而不仅保证虚拟机迁移到目标平台上之后虚拟机的安全, 还保证了目标平台接收虚拟机之后目标平台的安全。

如图 12所示,本发明实施例提供一种通信系统,可以包括:待迁移虚拟 机的源宿主平台 10、迁移授权方 20和待迁移虚拟机的目标宿主平台(简称为 目标平台) 30, 其中:

源宿主平台 10, 用于向迁移授权方 20发送迁移请求,并根据收到的迁移 决策结果将所述待迁移虚拟机迁移到所述目标宿主平台 30, 具体的,该迁移 请求携带有源宿主平台 (可选的,和待迁移虚拟机)对目标平台的评估要求。 具体如何实现迁移请参考现有技术,故不再赘述。

在实际场景中,源宿主平台 10发出迁移请求时,如果已确定待迁移的目 标平台以及对目标平台的评估要求 , 则迁移请求携带有源平台对目标平台的 评估要求和目标平台标识;如果确定对目标平台的评估要求,但是没有具体 的目标平台,这种场景下需要迁移授权方 20根据对源平台以及整个系统架构 内的相关策略为待迁移的虚拟机选择一个合适的目标平台;

迁移授权方 20, 用于根据该迁移请求对源宿主平台 10和目标宿主平台 30进行安全检查,得到源宿主平台的第一评估结果和目标宿主平台的第二评 估结果;并获得待迁移虚拟机的第三评估结果;根据所述第一评估结果、第 二评估结果和第三评估结果,向所述源宿主平台 10返回相应的迁移决策结果; 可选的,还可以向目标平台 30返回相应的迁移决策结果;

目标宿主平台 30,用于接收所述待迁移虚拟机,应当理解的是,也可以 理解为,接收(或承载)所述待迁移虚拟机。

在一种实现下,目标平台 30,进一步用于向迁移授权方 20发送评估请求, 其中该评估请求携带有目标平台对待迁移虚拟机的评估要求; 这里的评估要 求包括:必选项评估属性,其中,必选项评估属性包括:虚拟机的属主(属 主指控制该虚拟机的用户)、虚拟机的用途,虚拟机的历史宿主平台相关信息, 其可以包括虚拟机的宿主历史(即该虚拟机从创建到目前不断迁移过程中宿 主过的所有虚拟平台)以及在各个宿主平台上的时间日志,主要涉及迁入迁 出时间;

目标平台根据本地需求、状态和配置策略的不同,还可以可选的包括如 下扩展项评估属性中的一个或多个,如虚拟机的虚拟设备要求(如虚拟 CPU 数量、虚拟内存容量等)和对物理硬件资源使用要求;虚拟机内所使用的操 作系统详细信息和所运行的主要应用程序等;虚拟机的时间日志,其中包括 虚拟机的生命周期和创建时间、休眠时间、启动时间、注销时间等;或者, 虚拟机内部的安全策略,如虚拟机所使用的访问控制,是自主访问控制策略 还是强制访问控制策略(如果是强制访问控制策略,具体包括安全标签和安 全级别的设置依据、方式)、虚拟机安全保证所使用的安全模型、安全保证的 侧重点 (完整性、机密性、或者两者都需要保证);

迁移授权方 20具体用于根据该迁移请求对源宿主平台和目标平台进行安 全检查,得到源宿主平台的第一评估结果和目标平台的第二评估结果;并根 据该评估请求中所携带的评估要求,对待迁移虚拟机的状态信息进行评估, 得到状态信息评估结果(具体的,根据该评估请求中所携带的评估要求,从 待迁移虚拟机以及其源宿主平台获得需要评估的属性信息,根据获得的需要 评估的对象与迁移授权方处保存的对应的评估标准的比较结果, 得到状态信 息评估结果,需要说明的是,对于评估要求的必选项评估属性,只有所有必 选项评估属性的评估均通过才算状态信息评估通过; 否则即为状态信息评估 没有通过),和 /或,对源平台上待迁移虚拟机进行完整性证实,得到待迁移 虚拟机的第一完整性证实结果;根据所述第一评估结果、第二评估结果,及 所述状态信息评估结果和 /或第一完整性证实结果,向所述源宿主平台返回相 应的迁移决策结果。

可选的,迁移授权方 20进一步用于在对源平台上的待迁移虚拟机进行完 整性证实后,对所述源宿主平台进行完整性证实,得到源宿主平台的第二完 整性证实结果;具体的是,向待迁移虚拟机发送对其源宿主平台完整性证实 的请求;并接收待迁移虚拟机返回的的源平台标识;根据所述源平台标识, 与对应源平台建立连接 , 基于该连接对待迁移虚拟机的源宿主平台进行完整 性证实,得到源宿主平台的第二完整性证实结果;从而实现完整性的迭代证 实。需要说明的是,完整性迭代证实的情况适用于前面在对源平台的安全检 查的过程中,没有进行源平台的完整性证实的场景。

在另一种实现下, 目标平台 30, 进一步用于根据对待迁移虚拟机的评估 要求,对待迁移虚拟机的状态信息进行评估,得到状态信息评估结果(具体 的,根据对待迁移虚拟机的评估要求,从待迁移虚拟机以及其源宿主平台获 得需要评估的属性信息,将获得的需要评估的属性信息与目标平台本地保存 的对应的评估标准进行匹配,才艮据匹配结果得到状态信息评估结果);

和 /或,用于对源平台 10上待迁移虚拟机进行完整性证实,得到待迁移 虚拟机的第一完整性证实结果,向迁移授权方返回待迁移虚拟机的状态信息 评估结果和 /或第一完整性证实结果;

迁移授权方 20具体用于根据该迁移请求对源宿主平台 10和目标平台 30 进行安全检查,得到源宿主平台的第一评估结果和目标平台的第二评估结果; 并接收所述目标平台发送的待迁移虚拟机的状态信息评估结果和 /或第一完 整性证实结果;根据所述第一评估结果、第二评估结果,及所述状态信息评 估结果和 /或第一完整性证实结果,向所述源宿主平台 10返回相应的迁移决 策结果。

可选的, 目标平台 30进一步用于在对源平台上待迁移虚拟机进行完整性 证实后,对所述源宿主平台进行完整性证实,得到源宿主平台的第二完整性 证实结果;具体可以是,向待迁移虚拟机发送对源平台完整性证实的请求; 并接收待迁移虚拟机返回的源平台标识;才艮据所述源平台标识,与对应源平 台建立连接,基于该连接对待迁移虚拟机的源宿主平台进行完整性证实,得 到第二完整性证实结果;从而实现完整性的迭代证实。需要说明的是,完整 性迭代证实的情况适用于前面在对源平台的安全检查的过程中, 没有进行源 平台的完整性证实的场景。

在又一种实现下, 目标平台 30进一步用于向源平台发送评估请求,其中 该评估请求携带有目标平台对待迁移虚拟机的评估要求;

源平台 10, 进一步用于根据该评估请求中所携带的评估要求,对待迁移 虚拟机的状态信息进行评估,得到状态信息评估结果(具体可以是,根据该 评估请求中所携带的评估要求,将从待迁移虚拟机以及本虚拟平台获得的需 要评估的属性信息与从迁移授权方处获得的对应的评估标准进行比较, 根据 比较结果,得到状态信息评估结果,需要说明的是,对于评估要求的必选项 评估属性,只有所有必选项评估属性的评估均通过才算状态信息评估通过; 否则即为状态信息评估没有通过);和 /或,用于对待迁移虚拟机进行完整性 证实,得到待迁移虚拟机的第一完整性证实结果,向迁移授权方返回待迁移 虚拟机的状态信息评估结果和 /或第一完整性证实结果;

迁移授权方 20具体用于根据该迁移请求对源宿主平台 10和目标平台 30 进行安全检查,得到源宿主平台的第一评估结果和目标平台的第二评估结果; 并接收源宿主平台发送的待迁移虚拟机的状态信息评估结果和 /或第一完整 性证实结果;根据所述第一评估结果、第二评估结果,及所述状态信息评估 结果和 /或第一完整性证实结果,向所述源宿主平台 10返回相应的迁移决策 结果。

应当理解的是, 本发明实施例中的源平台、目标平台,广义可以理解为 能够部署虚拟化技术,然后在其上运行虚拟机的计算平台;狭义可以理解为 互不相同的服务器或者 PC机。

迁移授权方即源平台和目标平台都信任的第三方实体,可以是一台单独 的服务器或者 PC机,也可以是其它的虚拟平台上运行的具有特定功能(在这 里即负责迁移决策)的虚拟机。

可见,本发明实施例系统中,在对源平台和目标平台进行安全检查的基 础之上,进一步增加对待迁移虚拟机的状态信息进行评估和对待迁移虚拟机 进行完整性证实的过程,并根据源平台的第一评估结果、目标平台的第二评 估结果和待迁移虚拟机的第三评估结果(如待迁移虚拟机的状态信息评估结 果和 /或完整性证实结果)作出是否允许该虚拟机迁移到目标平台的决策结 果,即在增强决策依据完备性(充分考虑允许虚拟机迁移决策依据)的同时, 满足目标平台评估要求的基础上允许迁移,可以保证迁移结果对目标平台的 影响最小化,防止迁移后虚拟机对目标平台造成安全威胁或者其它影响,增 强了迁移决策的正确性,从而不仅保证虚拟机迁移到目标平台上之后虚拟机 的安全,还保证了目标平台接收虚拟机之后目标平台的安全。

需要说明的是, 前述实施例描述中所采用的第一、第二、第三的说法, 没有限定顺序的意思,仅为方便区分。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于 一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施 例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体( Read-Only Memory, ROM )或随机存储记忆体 ( Random Acces s Memory, RAM )等。

以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润 饰,这些改进和润饰也应视为本发明的保护范围。