首页> 中国专利> 一种私有云计算应用中虚拟机镜像安全方法

一种私有云计算应用中虚拟机镜像安全方法

摘要

本发明提供了一种对私有云计算应用中的虚拟机镜像文件提供安全保护的方法,该安全方法基于动态分解和重组的方法,对私有云导入导出的虚拟机镜像文件进行重组加密。这种动态分解组合的方法对私有云的虚拟机镜像文件进行安全加密,既可以避免黑客在私有云外运行并使用该虚拟机,还可以从如下几个方面防止黑客通过伪造,或者猜解的方法攻击。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-12-05

    授权

    授权

  • 2012-11-21

    专利申请权的转移 IPC(主分类):G06F21/00 变更前: 变更后: 登记生效日:20121022 申请日:20101105

    专利申请权、专利权的转移

  • 2011-03-30

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20101105

    实质审查的生效

  • 2011-02-16

    公开

    公开

说明书

技术领域

本发明涉及一种对私有云计算应用中的虚拟机镜像文件提供安全保护的方法,该安全方法基于动态分解和重组的方法,对私有云导入导出的虚拟机镜像文件进行重组加密,使得即使虚拟机镜像文件被窃取或者流出私有云外部,也会被其他虚拟化平台导入和运行,属于云计算技术领域。

背景技术

云计算(Cloud computing),是一种新兴的共享基础架构的方法,可以将巨大的系统池连接在一起以提供各种IT服务。它使得超级计算能力通过互联网自由流通成为了可能。企业与个人用户无需再投入昂贵的硬件购置成本,只需要通过互联网来购买租赁计算力,“把你的计算机当做接入口,一切都交给互联网吧”。提供资源的网络被称为“云”。云计算是网格计算、分布式计算、并行计算、效用计算网络存储、虚拟化负载均衡等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助SAAS、PAAS、IAAS、等先进的商业模式把这强大的计算能力分布到终端用户手中。

目前,云计算按照数据的面向对象可以分为公有云、私有云、混合云。公有云是为公共普通客户使用而构建的,计算资源为所有的人共享。私有云是为一个客户或者企业单独使用而构建的,因而提供对数据、安全性和服务质量有更高的要求。混合云是公有云和私有云的混合服务模式。

虚拟机镜像是以文件的形式存储的虚拟机信息,包括操作系统文件,其他数据,应用程序等,被按照特定的格式写入到文件中,如:VHD(Virtual HardDisk)是微软提出的标准,VMX是VM-ware提出的标准。这种方式的好处在于文件的灵活拷贝和易于管理。目前在IAAS云计算服务中,虚拟机镜像的导入导出用以实现虚拟机的快速部署和迁移,被大量的应用在实际虚拟化管理中。

然而,在私有云的应用模式下,当虚拟机镜像被带出私有云,或者被窃取到私有云外,由于标准导出的镜像可以直接在其他的虚拟化平台上导入,并启动和使用,这样在私有云中的一些私有和机密信息,就可以被私有云外的用户窥探,如果是恶意用户,带来的安全隐患非常大。如果该镜像被再次伪装或者加入了一些恶意的不符合该私有云安全性限制条件的服务或者代码,再次进入到该私有云之后将会对整个私有云安全造成威胁,带来的潜在后果非常大。

因此,我们有必要对私有云计算应用中的虚拟机镜像提供有效地安全保障方案。

发明内容

本发明的目的在于解决现有技术中存在的问题,提供一种对私有云计算应用中的虚拟机镜像文件提供安全保护的方法,该安全方法基于动态分解和重组的方法,对私有云导入导出的虚拟机镜像文件进行重组加密,使得即使虚拟机镜像文件被窃取或者流出私有云外部,也会被其他虚拟化平台导入和运行。

本发明的目的是通过下述技术方案予以实现的:

一种私有云计算应用中虚拟机镜像安全加密方法,其特征在于:包括如下具体步骤:

(1)通过随机数生成器生成一个随机整数,把原始的虚拟机镜像和该随机整数输入到分解算法生成器中;

(2)分解算法生成器中根据所述随机整数的数值大小,通过乱序数组排列,生成一个随机乱序,并记录之,假设为sequence;并按照该随机乱序sequence把原始的虚拟机镜像文件Old VM Image重新分解组合成一个新的镜像文件New VM Image;把该随机乱序sequence输入到文件加密器中;

(3)由UUID生成器为这个虚拟机镜像生成一个唯一标识;

(4)通过Hash算法将所述唯一标识转换生成一个整数标识,并将该整数标识输入到文件加密器中;

(5)文件加密器对步骤(2)中输入的随机乱序sequence进行加密,生成加密文件;根据步骤(4)中输入的整数标识建立由随机乱序sequence生成的加密文件与其公钥之间的对应关系;并将该加密文件及公钥分别存储于加密文件池和密钥池中;

(6)将所述分解组合后生成的新镜像文件New VM Image和UUID生成的唯一标识组合起来,生成最终的安全虚拟机镜像Safe VM Image。

所述步骤(4)中的HASH算法可以采用MD4、MD5、SHA-256、SHA-384或SHA-512算法。

所述步骤(5)中所采用的公钥加密算法可以采用RSA公钥算法或DSA公钥算法。

所述加密方法的步骤(5)中除了可以用整数标识建立由随机乱序sequence生成的加密文件与其公钥之间的对应关系外,还可以加入时间参数用以建立加密文件与公钥之间的对应关系。

所述步骤(6)中所述唯一标识可以插入在所述新镜像文件New VMImage的头部、尾部或中间部。

一种私有云计算应用中虚拟机镜像安全解密方法,其特征在于:包括如下具体步骤:

(1)从安全虚拟机镜像Safe VM Image中获取UUID生成的唯一标识;

(2)将安全虚拟机镜像Safe VM Image中的唯一标识分离,获得经过分解组合的新镜像文件New VM Image;

(3)通过Hash算法将所述步骤(1)获取的唯一标识转换为整数标识,并根据该整数标识在加密文件池中查找相对应的加密文件;

(4)如果未找到相对应的加密文件,则认为该安全虚拟机镜像SafeVM Image为无效虚拟机镜像;如果找到相对应的加密文件,则提取该加密文件并执行步骤(5);

(5)通过该整数标识在密钥池中查找相关公钥,并解密步骤(4)所提取的加密文件,获得随机乱序sequence;

(6)通过该随机乱序sequence对步骤(2)所获得的经过分解组合的新镜像文件New VM Image进行反向重组并构建出原始虚拟机镜像文件Old VM Image;

(7)判断该原始虚拟机镜像文件Old VM Image是否为标准虚拟机镜像文件;如果不是,则认为该安全虚拟机镜像Safe VM Image为无效虚拟机镜像;如果是,则将该原始虚拟机镜像文件Old VM Image导入私有云。

所述步骤(3)中的HASH算法可以采用MD4、MD5、SHA-256、SHA-384或SHA-512算法。

本发明的有益效果是:这种动态分解组合的方法对私有云的虚拟机镜像文件进行安全加密,既可以避免黑客在私有云外运行并使用该虚拟机,还可以从如下几个方面防止黑客通过伪造,或者猜解的方法攻击。

附图说明

图1为私有云计算应用中虚拟机镜像安全加密方法流程图;

图2为私有云计算应用中虚拟机镜像安全解密方法流程图;

图3为镜像文件与唯一标识组合示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步描述。

如前所述,本发明设计了一种对私有云计算应用中的虚拟机镜像文件提供安全保护的方法,该安全方法基于动态分解和重组的方法,对私有云导入导出的虚拟机镜像文件进行重组加密,使得即使虚拟机镜像文件被窃取或者流出私有云外部,也会被其他虚拟化平台导入和运行。

图1为私有云计算应用中虚拟机镜像安全加密方法流程图。如图所示,该安全加密方法包括如下具体步骤:

(1)通过随机数生成器生成一个随机整数,把原始的虚拟机镜像和该随机整数输入到分解算法生成器中;

这里,该随机数生成器所生成的随机整数为原始的虚拟机镜像文件要被分解成的份数,也即所有片段序号的数组大小。一般取值在100到100000之间,其具体取值的范围可以根据所需的安全级别不同进行调整,取值范围越大其安全级别越高,反之则越小。

(2)分解算法生成器中根据所述随机整数的数值大小,通过乱序数组排列,生成一个随机乱序,并记录之,假设为sequence;并按照该随机乱序sequence把原始的虚拟机镜像文件Old VM Image重新分解组合成一个新的镜像文件New VM Image;把该随机乱序sequence输入到文件加密器中;

这里,原始的虚拟机镜像文件Old VM Image按照随机乱序sequence进行分解、重组,成为一个新的镜像文件New VM Image。该镜像文件New VM Image由于已经被打乱重组,因此不会被窃取者通过其他的虚拟化平台上导入,也不会被利用加载其他恶意代码威胁整个私有云的安全。

(3)由UUID生成器为这个虚拟机镜像生成一个唯一标识;

UUID(Universally Unique Identifier),通用唯一识别码。它让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的UUID,即是微软的Microsoft′s Globally UniqueIdentifiers(GUIDs),而其他重要的应用,则有Linux ext2/ext3档案系统、LUKS加密分割区、GNOME、KDE、Mac OS X等等。

(4)通过Hash算法将所述唯一标识转换生成一个整数标识,并将该整数标识输入到文件加密器中;

这里,通过Hash算法将唯一标识转换成一个整数标识,主要是因为由UUID生成的唯一标识一般为128bits。但实际应用中并不会有那么多的虚拟机。为了在以后更快速的查找对应的分解算法文件,并且不再保存UUID副本,加强安全性,我们采用Hash的方法,为此唯一标识生成一个100000以内的整数。Hash函数的值域范围选择根据安全级别不同,和私有云的容量差异,选择不同的Hash函数生成不同的值域。值域越大,安全性越好,私有云容量越大。

(5)文件加密器对步骤(2)中输入的随机乱序sequence进行加密,生成加密文件;根据步骤(4)中输入的整数标识建立由随机乱序sequence生成的加密文件与其公钥之间的对应关系;并将该加密文件及公钥分别存储于加密文件池和密钥池中;

(6)将所述分解组合后生成的新镜像文件New VM Image和UUID生成的唯一标识组合起来,生成最终的安全虚拟机镜像Safe VM Image。(如图3所示)

按照上面的做法,一个安全的虚拟机镜像文件就生成成功了。该文件已经是数据被以某种粒度粉碎的(和切分原始文件的块数有关),黑客即使拿到这个虚拟机镜像文件,也是无法启动和使用的。同时,由于切分算法文件只有私有云系统中有,而且是加密过的,那实际上即使内部的取得分解算法文件也不知道真实的排序组合是什么,从而更进一步的加强了安全性。这样我们可以保证在私有云外无法使用云内部虚拟机,而造成信息泄露或者通过利用该镜像进行攻击。

我们通过上述动态分解和重组的方法对私有云的虚拟机镜像进行安全加密,保证在私有云外无法使用云内部虚拟机,而造成信息泄露或者通过利用该镜像进行攻击。如果用户想在私有云内部再次使用到该镜像,可以把上述所生成的安全虚拟机镜像Safe VM Image通过反向重组并构建出标准的虚拟机镜像再导入私有云。其具体加载流程如图2所示,包括如下步骤:

(1)从安全虚拟机镜像Safe VM Image中获取UUID生成的唯一标识;

(2)将安全虚拟机镜像Safe VM Image中的唯一标识分离,获得经过分解组合的新镜像文件New VM Image;

(3)通过Hash算法将所述步骤(1)获取的唯一标识转换为整数标识,并根据该整数标识在加密文件池中查找相对应的加密文件;

(4)如果未找到相对应的加密文件,则认为该安全虚拟机镜像SafeVM Image为无效虚拟机镜像;如果找到相对应的加密文件,则提取该加密文件并执行步骤(5);

(5)通过该整数标识在密钥池中查找相关公钥,并解密步骤(4)所提取的加密文件,获得随机乱序sequence;

(6)通过该随机乱序sequence对步骤(2)所获得的经过分解组合的新镜像文件New VM Image进行反向重组并构建出原始虚拟机镜像文件Old VM Image;

(7)判断该原始虚拟机镜像文件Old VM Image是否为标准虚拟机镜像文件;如果不是,则认为该安全虚拟机镜像Safe VM Image为无效虚拟机镜像;如果是,则将该原始虚拟机镜像文件Old VM Image导入私有云。

这里,将标准的虚拟机镜像文件导入私有云的过程为现有技术,我们在此就不再敖述。

由此可见,采用本发明这种动态分解组合的方法对私有云的虚拟机镜像文件进行安全加密,既可以避免黑客在私有云外运行并使用该虚拟机,还可以从如下几个方面防止黑客通过伪造,或者猜解的方法攻击。

1、假设黑客自己生成一个UUID唯一标识并加入到自己伪造好的虚拟机镜像中的时候,在私有云校验的过程中,UUID唯一标识并非私有云产生的(而且由于重复的可能性在计算上不可能),直接就会提示失败,并认为镜像不合法。

2、假设黑客通过默写途径,取得了私有云内部UUID信息,但由于无法知道镜像重组序列,这样私有云根据内部绑定的重组序列重组这个伪造的镜像,而生成的镜像一定是非标准的镜像,同样也会被认为是不合法的镜像。

3、假设黑客取得组合序列,但由于被加密,而无法取得公钥,黑客还是无法产生正确的组合,会在私有云中的反向组合的时候失败。

4、假设黑客取得了组合序列的最终序列,但由于不知道UUID(因为UUID根本就是临时的,由UUID生成器传递给哈希函数之后就不会再存在),还是会在最开始的校验的时候就会失败,会被认为是不合法的镜像。

另外,上述对虚拟机镜像文件的加密和解密过程中,许多所采用的算法和处理方式,事实上有很多等效替换的方案。我们在这里列举一些可行的替换方案。

所述HASH算法可以采用MD4、MD5、SHA-256、SHA-384或SHA-512算法。

所述加密方法的步骤(5)中所采用的公钥加密算法可以采用RSA公钥算法或DSA公钥算法。

所述加密方法的步骤(5)中除了可以用整数标识建立由随机乱序sequence生成的加密文件与其公钥之间的对应关系外,还可以加入时间参数用以建立加密文件与公钥之间的对应关系。

所述加密方法的步骤(6)中所述唯一标识可以插入在所述新镜像文件New VM Image的头部、尾部或中间部。

综上所述,本发明所设计的对私有云计算应用中的虚拟机镜像文件提供安全保护的方法,该安全方法基于动态分解和重组的方法,对私有云导入导出的虚拟机镜像文件进行重组加密,使得即使虚拟机镜像文件被窃取或者流出私有云外部,也会被其他虚拟化平台导入和运行。上述所给出的加密、解密技术方案仅为本发明的典型实施例,并不用以限定本发明的保护范围。本领域一般技术人员在此设计思想之下所作任何不具有创造性的改造,均应视为在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号