一种基于重加密的虚拟机文件安全保护方法与系统与流程

文档序号:17222922发布日期:2019-03-27 12:12阅读:298来源:国知局
一种基于重加密的虚拟机文件安全保护方法与系统与流程

本发明涉及云计算安全领域,尤其涉及云计算环境下虚拟机文件安全保护方法与系统。



背景技术:

面对越来越猖獗的黑客攻击,云环境下的数据安全已经成为亟需解决的重要问题。数据安全是一个系统性的工程,从用户终端到后台数据中心有着几十个环节,防火墙、身份认证、应用数据加密每一种技术都只能解决某些环节的安全问题,只要有一个环节没有做好安全防护,还是会留下安全隐患。因此,推出虚拟机加密来满足数据中心不断提高的安全需求是目前常用的安全保护手段。

在云数据管理中,对虚拟机文件进行加密可以通过修改存储策略来完成的,虚拟机本身不需要做任何修改和配置。管理员可以很方便地把一个现有的虚拟机文件进行加密,或者是把已经加密的虚拟机改成不加密的。

现在常见的虚拟机文件安全保护方法是采用对称加密算法aes(advancedencryptionstandard,高级加密标准)来对虚拟机进行加密。首先用数据密钥dek(dataencryptionkey,数据加密密钥)对每一个虚拟机文件进行加密处理,然后,通过加密密钥的密钥kek(keyencryptionkey,加密密钥的密钥)对数据密钥dek进行加密。前者的加密是为了保证虚拟机文件的安全,后者的加密是为了保证数据密钥dek的安全。当有用户访问虚拟机文件时,把kek密钥发送给该用户。用户首先用kek解密,得到dek,然后用dek解密,得到虚拟机文件。

在此模式下,会存在如下问题:1)数据密钥dek是暴露给第二次加密的操作者的,如果第二次加密操作者是不可信的,那么对虚拟机文件的安全是一个隐患。2)每次用户需要进行两次解密才能得到虚拟机文件。3)一旦一个用户拿到数据密钥dek后,每一个虚拟机文件都暴露了,不利于虚拟机文件的安全管理。



技术实现要素:

发明目的:针对当前虚拟机文件加密密钥容易暴露的问题,本发明目的在于提出一种基于重加密的虚拟机文件安全保护方法与系统,以保证数据密钥dek的安全,不泄露给任何其他参与方,也减少用户解密的次数,同时提高虚拟机文件安全管理效率。。

技术方案:为实现上述发明目的,本发明所采用的一种基于重加密的虚拟机文件安全保护方法,首先对用数据密钥dek对每一个虚拟机文件进行加密。当有用户访问虚拟机文件时,通过重加密密钥rek(re-encryptionkey,重加密密钥)来加密该虚拟机文件。最后用户只需根据自己的解密密钥ddk(datadecryptionkey,数据解密密钥)一次解密就可以得到虚拟机文件。具体包括如下步骤:

(1)采用密钥管理系统kms生成的加密方的数据加密密钥dek1加密虚拟机文件vm,得到加密的虚拟机文件evm1;

(2)当需要对加密的虚拟机文件进行访问时,从kms上获得使用方的数据加密密钥dek2,结合加密方的数据解密密钥ddk1,生成重加密密钥rek;

(3)使用重加密密钥rek对加密的虚拟机文件evm1进行重加密,得到重加密的虚拟机文件evm2;

(4)使用方得到重加密的虚拟机文件evm2后,利用使用方的数据解密密钥ddk2来解密虚拟机数据文件,得到明文状态下的虚拟机数据文件vm。

另一方面,本发明所述的一种基于重加密的虚拟机文件安全保护系统,包括虚拟机加密模块、重加密模块、解密模块和密钥管理系统;

所述密钥管理系统,用于生成加密方和使用方的密钥对,包括数据加密密钥和数据解密密钥;

所述虚拟机加密模块,用于采用密钥管理系统kms生成的加密方的数据加密密钥dek1加密虚拟机文件vm,得到加密的虚拟机文件evm1;

所述重加密模块,用于在需要对加密的虚拟机文件进行访问时,从kms上获得使用方的数据加密密钥dek2,结合加密方的数据解密密钥ddk1,生成重加密密钥rek;以及使用重加密密钥rek对加密的虚拟机文件evm1进行重加密,得到重加密的虚拟机文件evm2;

所述解密模块,用于利用使用方的数据解密密钥ddk2来解密虚拟机数据文件,得到明文状态下的虚拟机数据文件vm。

有益效果:本发明与现有技术相比较,其显著的优点是:

(1)容易暴露的数据密钥dek在本发明中没有暴露给第二次加密的操作者的,保证了虚拟机文件数据密钥的安全。

(2)在本发明中,整个加解密流程较为简单,每次用户使用虚拟机文件时只需要进行一次解密就能得到虚拟机文件,无需对虚拟机文件进行二次解密,也无需对加密文件的密钥进行解密。

(3)在本发明中,采用非对称加密算法对虚拟机文件进行加密,一旦密文文件被获取,其解密难度更大,安全程度更高。

(4)在本发明中,可以针对每一个虚拟机文件建立一个数据密钥dek后,每一个虚拟机文件都是安全的,方便于虚拟机文件的安全管理。

(5)对于每一个虚拟机文件有其独有的安全密钥管理,可以非常灵活的应用到实际应用中,可扩展性好。

附图说明

图1是本发明的总体方案框图。

图2是本发明方法中步骤1的细化流程图。

图3是本发明方法中步骤2的细化流程图。

图4是本发明方法中步骤3的细化流程图。

图5是本发明方法中步骤4的细化流程图。

具体实施方式

本发明提出了一种基于重加密的虚拟机文件安全保护方法,基于重加密的安全模型,并借助重加密的密文转换特点,将虚拟机文件的密文数据转换为可一次解密的密文,并保证该转换操作者无法获知该明文的任何信息,形成了虚拟机文件的隐私保护方案,该方法包括以下4个主要部分,虚拟机文件的加密,重加密密钥生成,重加密密文生成,和解密重加密密文。

为了使发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。在保证虚拟机文件和解密密钥安全的情况下,更好的对虚拟机文件进行共享和安全使用的实例。

以下结合附图1,详细说明本发明以供实施参考。在云平台中,本发明通过以下的架构来为用户提供云数据的隐私保护。

一、虚拟机文件的加密

结合图2所示,具体步骤如下:

步骤1,密钥管理系统(keymanagementsystem,kms)根据公钥密码算法的特点,先选择公钥参数(y,g,p),和私钥x,并计算公共参数y=gxmodp。

步骤2,对于需要加密的虚拟机文件,系统选择随机数xo,并计算公共参数因此,虚拟机加密方的私钥sko为xo,公钥pko为三元组(g,p,yo)。公钥参数p是大素数,是一个小于p的正整数构成的群,公钥参数g是的本原元。

与此同时,对于解密加密的虚拟机文件,系统选择随机数xi,并计算公共参数因此,虚拟机使用方的私钥ski为xi,公钥pki为(g,p,yi)。

步骤3,在虚拟机加密模块中,选择随机数k1,且k1和p-1互为质数,即gcd(k1,p-1)=1,虚拟机加密模块根据如下公式计算密文得到虚拟机文件密文c1。即

其中m是虚拟机文件的明文。

二、重加密密钥生成

结合图3所示,具体步骤如下:

步骤1,系统根据加密过程中使用方的公钥pki信息(g,p,yi),和加密方的私钥sko生成重加密密钥rekeyoi。即

此重加密密钥是由不可逆算法计算产生,其不能解密出数据,只能将数据由一种密文形态加密成另一种密文形态,同时也不能计算出和用户的私钥有关信息。即保护了数据拥有者的隐私,也保护了数据使用者的隐私。

步骤2,系统将重加密密钥上传到重加密模块。

三、重加密密文生成

结合图4所示,具体步骤如下:

步骤1,重加密模块收到重加密密钥rekeyoi。

步骤2,用重加密密钥加密密文c1,这样计算得到重加密密文c2。即

其中,e是标准eigamal算法中的运算表示。

四、解密重加密密文

结合图5所示,具体步骤如下:

步骤1,虚拟机文件使用者从文件安全管理系统下载重加密密文c2。

步骤2,根据解密私钥ski解密密文c2,得到所需的明文m。即decp(ar,isk2,→)c,其m中par为公钥参数(y,g,p)。

详细的过程如下:

这样,就能够得到解密后的虚拟机文件数据。

基于相同的发明构思,本发明另一实施例公开的一种基于重加密的虚拟机文件安全保护系统,包括虚拟机加密模块、重加密模块、解密模块和密钥管理系统;其中密钥管理系统,用于生成加密方和使用方的密钥对,包括数据加密密钥和数据解密密钥;虚拟机加密模块,用于采用密钥管理系统kms生成的加密方的数据加密密钥dek1加密虚拟机文件vm,得到加密的虚拟机文件evm1;重加密模块,用于在需要对加密的虚拟机文件进行访问时,从kms上获得使用方的数据加密密钥dek2,结合加密方的数据解密密钥ddk1,生成重加密密钥rek;以及使用重加密密钥rek对加密的虚拟机文件evm1进行重加密,得到重加密的虚拟机文件evm2;解密模块,用于利用使用方的数据解密密钥ddk2来解密虚拟机数据文件,得到明文状态下的虚拟机数据文件vm。上述系统实施例中各模块具体实施细节参见前述方法实施例,此次不再赘述。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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