一种云环境可信上下文管理方法与流程

文档序号:18160983发布日期:2019-07-13 09:19阅读:192来源:国知局
一种云环境可信上下文管理方法与流程

本发明涉及虚拟云安全领域,具体涉及一种云环境可信上下文管理方法。



背景技术:

云计算平台结构复杂,提供iaas、paas、saas服务的云计算平台向租户提供虚拟机、存储、网络等计算服务,在虚拟机上租户将部署不同的服务进程,并提供给互联网用户等使用。云计算平台中具有不同类型的角色,包括:云服务提供商的平台管理人员、运维人员,租户的管理人员、运维人员,用户等,云计算平台不同的角色有不同的权限。

虚拟机面临的威胁主要分为两个方面。一是来自互联网的攻击,包括以用户的身份实施攻击,提权获得租户管理权限的攻击、通过恶意程序攻陷虚拟机得到超级用户权限等;二是来自云服务平台的攻击,包括云服务商对客户虚拟机的非授权使用、云服务退出时数据残留等。攻击者可以通过窃取用户身份、暴力破解登录密码或木马病毒的方式攻陷客户虚拟机;一旦获得虚拟机的控制权,攻击者就可以将该虚拟机作为跳板对iaas平台进行更进一步的攻击,包括:旁路攻击同一台物理机上其它虚拟机,通过虚拟机逃逸攻击来攻击hypervisor或宿主机,利用hypervisor的高特权级来攻击同物理机上的其它虚拟机等。攻击者也可以通过身份攻击获得管理平台的访问权限,通过管理平台来攻击客户虚拟机。另外,攻击者还可以通过信道攻击来探测分析虚拟机及其所在的物理机对外通信行为,截获敏感数据;可以利用漏洞造成宿主机的崩溃,导致该宿主机上的所有虚拟机停止服务;甚至可以攻击云平台物理硬件,进行切断电源等物理攻击。

传统的信息安全解决方案在云环境中也面对着诸多困境,这是由云计算自身的技术特点、服务模式严重冲击传统安全方案在人员和技术上的信任基石导致。当前的云安全解决方案的困境主要有如下四点:1)虚拟化技术的大规模使用进一步扩大了相关高危漏洞被利用的危害,传统打补丁防漏洞模式无法建立起主动防御防线,造成可信的云计算应用运行环境缺失;2)云服务的外包化使得云用户的资源管理被交给缺乏相互信任关系的云服务商进行,而可信第三方监控体系严重缺失造成现有方案安全短板无法消除;3)云计算多租户架构使得用户资源可能被不可信的其它租户共享,传统方案提出的隔离机制缺乏信任根,无法深入保障用户不受恶意租户攻击;4)开放式的云环境接口为攻击者打开了入侵之门,传统的防火墙、入侵检测方案无法预料接入服务是否可信。由于现有云安全方案存在上述问题,通过可信计算技术加强云环境安全机制的可信性,保障云安全机制的可靠运行,已经成为国内外云产品开发商、云安全开发商和云架构规范制定者的共识。构建云平台系统的主动免疫可信架构,夯实云平台系统安全的根基,是构建整体云安全防护体系的根本举措。云环境的底层由各种职能物理节点构成各种物理网络,并采用虚拟化技术构建各种虚拟节点和虚拟网络。虚拟节点和虚拟网络建立在物理节点和物理网络的基础上。虚拟网络之间各自独立,并可以与外部网络连接通信,虚拟网络节点也可访问物理网络提供的各种服务。通过物理tpcm和物理机可信基础软件保障物理计算环境可信,物理计算环境可信保障云平台服务和虚拟机运行环境可信。由于物理tpcm要处理来自物理机自身和不同虚拟机的命令,在命令多的情况下容易出现处理错误和处理效率低下等问题,如何实现来自物理机自身和不同虚拟机的命令的并发处理,提高处理效率是目前需要解决的技术问题。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种云环境可信上下文管理方法,可以并发处理来自物理机自身不同会话的命令和来自不同虚拟机的不同会话的命令,提高处理效率,减少命令响应时间。

为实现上述目的,本发明采用的技术方案如下:

一种云环境可信上下文管理方法,包括:

s1、建立云环境系统,所述云环境系统包括:物理机和物理tpcm,以及多个虚拟机,每个虚拟机对应一个vtpcm,其中,所述物理机是虚拟机的运行平台,虚拟机可以运行、迁移到不同的物理机上;

s2、给所述云环境系统添加可信上下文管理机制,包括:

给所述物理tpcm添加上下文管理和任务调度,所述上下文管理包括:给所述物理机设置专用的tpcm上下文并保存在所述物理tpcm中,给每个虚拟机设置一个专用的vtpcm上下文并分别保存在每个虚拟机对应的vtpcm中;

给所述物理机的可信支撑机制添加虚拟机上下文管理和命令发送并发处理;

给每个虚拟机的vtpcm上下文添加命令转发和任务调度。

进一步,如上所述的一种云环境可信上下文管理方法,所述tpcm上下文包括:所述物理机的不同会话的命令的待处理命令队列和所述物理机的已加载密钥,每个vtpcm上下文包括:该vtpcm上下文对应的虚拟机的不同会话的命令的待处理命令队列和该vtpcm上下文对应的虚拟机的已加载密钥。

进一步,如上所述的一种云环境可信上下文管理方法,每个虚拟机的已加载密钥包括:根密钥和用户主动加载的密钥。

进一步,如上所述的一种云环境可信上下文管理方法,所述上下文管理还包括:

给所述tpcm上下文配备一个唯一的上下文认证码并保存在所述物理tpcm中,给每个vtpcm上下文均配备一个唯一的上下文认证码并保存在对应的vtpcm中;

给每个来自所述物理机不同会话的命令和每个来自虚拟机不同会话的命令添加上下文id,用于标识所述tpcm上下文和每个vtpcm上下文;

当虚拟机对应的vtpcm向所述虚拟机转发命令时,给该命令添加预先分配的上下文id;

根据每个虚拟机的状态信息,创建、删除、启动、停止、导出或导入相应的上下文,当创建或导入相应的上下文时分配新的上下文id;

当所述物理tpcm或vtpcm接收命令时,验证该命令中的上下文id对应的上下文的上下文认证码,验证通过后将该命令插入相应的待处理命令队列;

当所述物理tpcm执行命令时,选择该命令中的上下文id对应的上下文执行该命令,执行时只引用该上下文的资源。

进一步,如上所述的一种云环境可信上下文管理方法,所述任务调度包括:

所述物理tpcm接收命令后将该命令插入相应的待处理命令队列,并立即向所述物理机返回第一确认信息;

所述物理tpcm将来自不同虚拟机的命令插入不同的待处理命令队列,进行并发处理;

所述物理tpcm将来自同虚拟机或所述物理机不同会话的命令插入相应的待处理命令队列,进行同步处理,其中,来自同虚拟机或所述物理机的同一会话的命令是同步的,并不会同时发送给该虚拟机对应的vtpcm或所述物理tpcm;

当单一上下文的待处理命令队列达到单一预设范围或整体的待处理命令队列达到整体预设范围时,所述物理tpcm拒绝接收新的命令。

进一步,如上所述的一种云环境可信上下文管理方法,所述虚拟机上下文管理包括:

当每个虚拟机启动、暂停、休眠、关闭、恢复执行、迁移时,相应的vtpcm调用相应的上下文管理接口;

当所述tpcm上下文导出所述物理tpcm时,加密后保存到tpcm上下文离线文件中;

建立待处理命令队列,接收命令后将该命令插入所述待处理命令队列,并立即返回第二确认信息,之后将所述待处理命令队列中的命令发送给所述物理tpcm。

进一步,如上所述的一种云环境可信上下文管理方法,所述命令发送并发处理包括:

在所述虚拟机上下文管理将所述待处理命令队列中的命令发送给所述物理tpcm之后,将该命令插入在处理命令队列,当所述物理tpcm处理完该命令之后通过tpcm驱动通知所述物理机的可信支撑机制,所述物理机的可信支撑机制从所述在处理命令队列中找到并删除该命令,将处理结果返回给该命令对应的虚拟机。

进一步,如上所述的一种云环境可信上下文管理方法,所述命令转发包括:

每个虚拟机的vtpcm通过所述物理机的可信支撑机制将待转发命令转发给所述物理tpcm处理,同时将该待转发命令插入相应的转发队列;

当所述物理tpcm处理完成该待转发命令之后,所述物理机的可信支撑机制通知相应的vtpcm,该vtpcm从相应的转发队列中找到并删除该待转发命令,将处理结果返回给对应的虚拟机。

进一步,如上所述的一种云环境可信上下文管理方法,所述任务调度包括:

每个虚拟机的vtpcm对来自该虚拟机不同会话的命令进行异步处理,其中,来自该虚拟机同一会话的命令是同步的,并不会同时发送给该vtpcm;

每个虚拟机的vtpcm接收命令后将该命令插入相应的待处理命令队列,并立即向对应的虚拟机返回第三确认信息;

当vtpcm上下文的待处理命令队列达到预设范围时,该vtpcm上下文对应的vtpcm拒绝接收新的命令、调整预设范围或者将新的命令迁移至其他上下文的待处理命令队列。

本发明的有益效果在于:本发明所提供的方法,能够并发处理来自物理机自身不同会话的命令和来自不同虚拟机的不同会话的命令;均衡物理机自身命令和虚拟机命令的时间分配,防止某些虚拟机或物理机自身过多占用处理时间而导致其他虚拟机处于饥饿状态。

附图说明

图1为本发明实施例中提供的一种云环境可信上下文管理方法的流程示意图;

图2为本发明实施例中提供的一种云环境可信上下文管理方法的云环境系统的系统框架图。

具体实施方式

下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。

如图1所示,一种云环境可信上下文管理方法,包括:

s1、建立云环境系统,云环境系统包括:物理机和物理tpcm,以及多个虚拟机,每个虚拟机对应一个vtpcm,其中,物理机是虚拟机的运行平台,虚拟机可以运行、迁移到不同的物理机上;

s2、给云环境系统添加可信上下文管理机制,包括:

1)给物理tpcm添加上下文管理和任务调度。

(1)上下文管理,包括:

给物理机设置专用的tpcm上下文并保存在物理tpcm中,给每个虚拟机设置一个专用的vtpcm上下文并分别保存在每个虚拟机对应的vtpcm中。tpcm上下文包括:物理机的不同会话的命令的待处理命令队列和物理机的已加载密钥,每个vtpcm上下文包括:该vtpcm上下文对应的虚拟机的不同会话的命令的待处理命令队列和该vtpcm上下文对应的虚拟机的已加载密钥。每个虚拟机的已加载密钥包括:根密钥和用户主动加载的密钥。由于资源有限,每个上下文(tpcm上下文和vtpcm上下文)的已加载密钥有一个上限,当已加载密钥超过上限时,不活跃的密钥(即最近最少使用)可以被删除或者离线保存。被删除或离线保存的密钥当用户使用时需要重新加载。重新加载密钥可以由可信支撑机制会话管理功能来完成。物理机的可信支撑机制管理来自物理机的密钥重新加载,虚拟机的可信支撑机制管理本虚拟机的密钥重新加载。

给tpcm上下文配备一个唯一的上下文认证码并保存在物理tpcm中,给每个vtpcm上下文均配备一个唯一的上下文认证码并保存在对应的vtpcm中。只有vtpcm知道分配给自己的上下文认证码,从而能保证虚拟机和vtpcm的关联,以及上下文之间的安全隔离。

给每个来自物理机不同会话的命令和每个来自虚拟机不同会话的命令添加上下文id,用于标识tpcm上下文和每个vtpcm上下文。每个命令增加一个字段标识上下文,即上下文id,来自物理机的命令,其上下文id为空值。

当虚拟机对应的vtpcm向虚拟机转发命令时,给该命令添加预先分配的上下文id。

根据每个虚拟机的状态信息,创建、删除、启动、停止、导出或导入相应的上下文,当创建或导入相应的上下文时分配新的上下文id。上下文导出tpcm时会加密,加密密钥只有tpcm自己知道,从而保证已加载密钥的安全。如果需要迁移,可以通过迁移协商,将上下文加密密钥发送给目标宿主机tpcm。这样可在目标宿主机种导入该上下文实现迁移。

当物理tpcm或vtpcm接收命令时,验证该命令中的上下文id对应的上下文的上下文认证码,验证通过后将该命令插入相应的待处理命令队列。

当物理tpcm执行命令时,选择该命令中的上下文id对应的上下文执行该命令,执行时只引用该上下文的资源。

如图2所示,云环境系统的底层是tpcm,tpcm(业务处理部分)具体用于:任务调度、上下文管理、命令处理和主动度量,其中存储有tpcm上下文,各虚拟机的vtpcm上下文。云环境系统的上层是物理机,物理机的上层包括虚拟机、vmm虚拟机监视器、安装在宿主机上的各种应用程序(宿主机app1)、可信支撑机制,底层是tpcm驱动,用于与tpcm通信。虚拟机的上层包括安装在虚拟机上的各种应用程序,中间是可信支撑机制,底层是vtpcm驱动,用于实现与物理机和tpcm的通信。虚拟机的vtpcm(即虚拟tpcm)均由vmm虚拟机监视器进行管理。物理机的可信支撑机制包括用户会话管理、虚拟机上下文管理(异步)、app上下文管理(同步)、参数处理(功能接口)、命令封装(命令接口)、命令调度和命令发送/响应接收,用户会话管理用于管理各app会话和vtpcm会话,通过各种会话传递命令。虚拟机的可信支撑机制与物理机的可信支撑机制相同。

(2)任务调度,包括:

物理tpcm接收命令后将该命令插入相应的待处理命令队列,并立即向物理机返回第一确认信息。

物理tpcm将来自不同虚拟机的命令插入不同的待处理命令队列,进行并发处理。

物理tpcm将来自同虚拟机或物理机不同会话的命令插入相应的待处理命令队列,进行同步处理,同虚拟机不同会话的命令不会相互阻塞,而来自同虚拟机或物理机的同一会话的命令是同步的,并不会同时发送给该虚拟机对应的vtpcm或物理tpcm。

命令调度保证同一上下文命令、不同上下文命令可并发执行,任何发送给物理tpcm并行处理的命令不能相互阻塞。

物理tpcm可以优先处理快速命令,以便减少命令响应时间。

当单一上下文的待处理命令队列达到单一预设范围或整体的待处理命令队列达到整体预设范围时,物理tpcm拒绝接收新的命令,以便保留足够的可用内存空间。

物理tpcm针对上下文进行调度,避免一个虚拟机的命令占用处理时间片段过多,而其他的虚拟机的命令长时间等待。

2)给物理机的可信支撑机制添加虚拟机上下文管理和命令发送并发处理。

(1)虚拟机上下文管理包括:

当每个虚拟机启动、暂停、休眠、关闭、恢复执行、迁移时,相应的vtpcm调用相应的上下文管理接口;

当tpcm上下文导出物理tpcm时,加密后保存到tpcm上下文离线文件中;

建立待处理命令队列,接收命令后将该命令插入待处理命令队列,并立即返回第二确认信息,之后将待处理命令队列中的命令发送给物理tpcm。

由于每个vtpcm采用一个会话向tpcm转发命令,但是vtpcm转发的命令可能来自虚拟机不同会话,它们之间应该并发处理,而不用等待上一个命令执行完成再发送下一个命令。虚拟机上下文管理负责建立一个待处理命令队列,进行异步处理。即命令接收以后,将命令插入待处理命令队列等待处理,立即返回确认命令已在处理中,可发送给下一个命令。

之后将待处理命令队列之中的命令发送给物理tpcm。由于物理tpcm的容量限制,可能部分命令暂时不能发送。这些命令可以稍后重发,或者超过时间,直接给上层返回超时错误。

(2)命令发送并发处理,包括:

在虚拟机上下文管理将待处理命令队列中的命令发送给物理tpcm之后,将该命令插入在处理命令队列,当物理tpcm处理完该命令之后通过tpcm驱动通知物理机的可信支撑机制,物理机的可信支撑机制从在处理命令队列中找到并删除该命令,将处理结果返回给该命令对应的虚拟机。

由于命令并发处理的要求,命令发送采用异步方式,即发送命令后,将命令插入在处理命令队列,当物理tpcm处理完一个命令后,通过tpcm驱动通知可信支撑机制,可信支撑机制在队列中查找到这个命令,将命令从在处理命令队列中删除,并将处理结果返回给上层。上层通过会话通知调用者,即使用可信支撑机制的app或vtpcm。通知方式一般时通过进程间通信方式(ipc)。

3)给每个虚拟机的vtpcm上下文添加命令转发和任务调度。

(1)命令转发,包括:

每个虚拟机的vtpcm通过物理机的可信支撑机制将待转发命令转发给物理tpcm处理,同时将该待转发命令插入相应的转发队列;

当物理tpcm处理完成该待转发命令之后,物理机的可信支撑机制通知相应的vtpcm,该vtpcm从相应的转发队列中找到并删除该待转发命令,将处理结果返回给对应的虚拟机。

部分涉及密钥安全的命令,vtpcm会通过物理机的可信支撑机制转发给物理tpcm处理。由于命令来自不用会话,为保证命令并发处理,转发过程不能串行化。发送给物理机的可信支撑机制后,将命令插入转发队列,然后可以转发下一个命令。当命令处理完以后,物理机的可信支撑机制会通知vtpcm,vtpcm从转发队列中查找该命令并删除,然后结果返回给虚拟机。

(2)任务调度,包括:

每个虚拟机的vtpcm对来自该虚拟机不同会话的命令进行异步处理,其中,来自该虚拟机同一会话的命令是同步的,并不会同时发送给该vtpcm;

每个虚拟机的vtpcm接收命令后将该命令插入相应的待处理命令队列,并立即向对应的虚拟机返回第三确认信息;

当vtpcm上下文的待处理命令队列达到预设范围时,该vtpcm上下文对应的vtpcm拒绝接收新的命令、调整预设范围或者将新的命令迁移至其他上下文的待处理命令队列中。

vtpcm与物理tpcm采用相同的异步处理命令机制,接收命令后立即为上层返回确认,将命令插入待处理队列,并可继续接收其他命令,当命令处理完之后再通知虚拟机。来自不同会话的命令会异步处理。同一会话的命令是同步的,不会同时发送给vtpcm。由于异步处理命令机制与物理tpcm相同,故vtpcm的驱动可以与物理tpcm的驱动完全相同,虚拟机的可信支撑机制也与物理机的可信支撑机制相同。

命令调度保证队列命令可并发处理,或者vtpcm内部并发处理,或者转发给物理tpcm并发处理。

vtpcm可以优先处理快速命令,以便减少命令响应时间。

当命令队列过大时,vtpcm可以拒绝接收新的命令,以便保留足够的可用内存空间。还可以根据实际情况调整预设范围,或者将新的命令迁移至其他上下文的待处理命令队列中,用以均衡内存资源。

需要说明的是,与物理机的可信支撑机制不同,虚拟机的可信支撑机制只负责自身会话管理和离线对象存储,不必管理上下文。

每个虚拟机迁移时,从物理tpcm中导出该虚拟机对应的上下文,保存到离线文件之中,然后迁移到目标宿主机,导入目标宿主机之中。上下文包含已加载密钥和待处理命令队列。已加载密钥需要迁移,以便在宿主机之中导入恢复已加载密钥。待处理命令队列不用迁移,由于vtpcm运行状态也会迁移,vtpcm运行状态包含一个转发队列,vtpcm运行状态迁移后,在目标宿主机上重新发送转发队列中的命令,即可恢复上下文中的待处理命令队列。

由于迁移后分配给vtpcm的上下文id在目标机上会发生变化,命令转发时使用新的上下文id。

本发明提出的一种云环境可信上下文管理方法的有益效果包括:

1)能够并发处理来自物理机自身不同会话的命令。

2)能够并发处理来自不同虚拟机的不同会话的命令。

3)能够均衡物理机自身命令和虚拟机命令的时间分配,防止某些虚拟机或物理机自身过多占用处理时间而导致其他虚拟机处于饥饿状态。

4)能够充分利用tpcm的计算能力。

5)尽量减少命令响应时间。

6)满足虚拟机快速迁移的要求。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1