虚拟机安全保护方法及装置
技术领域
本发明实施例涉及网络数据处理技术,尤其涉及一种虚拟机安全保护方法及装置。
背景技术
随着云计算的发展,人们依赖的办公系统也逐步从本地迁入云端,即从本地服务器处理数据,变为在各服务器联网构成的云网络中进行数据处理。在互联网数据中心(InternetDataCenter,简称IDC)场景中,云网络一般由多台服务器联网构成,每台服务器又可以通过虚拟机技术承载多个逻辑独立的虚拟机。服务器中的各数据卷,可以通过云网络挂载在不同的虚拟机上,所以产生了对数据卷访问时的安全保护需求。为了让用户安心地将自己的私有数据存储到云网络中,数据加密是主要的解决方案,而保护加密数据的关键是密钥,所以,如何管理与使用密钥就成为解决方案中重要的一部分。
在IDC场景中,现有技术提供了多种对云网络中数据卷访问进行加密的方案。其中一种方案是采用Ukey(USBKey)硬件存储能解密数据卷的证书,需要访问加密数据卷时,把Ukey插在登录虚拟机的客户端上,虚拟机再使用Ukey中证书解密数据卷进行访问。另一种技术是采用软证书方案,即每个虚拟机安装一个软证书,在访问加密数据卷时,该虚拟机自动使用已安装的软证书对加密数据卷进行解密。
但是,上述的安全保护方案均存在缺陷。采用Ukey解密证书时,由于证书与数据卷有对应关系,且不能复制,所以当从多个登录虚拟机的客户端上访问加密数据卷时,Ukey证书需要依次在不同客户端上插拔使用,如果是多个管理员访问加密数据卷,则Ukey证书还需要在管理员间传递,很是不便。如果管理员异地办公,那就无法及时获取Ukey证书而不能同时访问加密数据卷。对于软证书的保护方案,由于软证书对应虚拟机的唯一性,所以每台虚拟机安装的证书都是不同的,解密加密数据卷的软证书也是特定的,因此就无法从其他虚拟机上来访问该加密数据卷,更为不便,也没有发挥出云网络中在不同虚拟机访问数据卷的优势。
发明内容
本发明实施例提供一种虚拟机安全保护方法及装置,以优化云网络中虚拟机访问加密数据卷的方案,简化安全保护过程,且发挥云网络共享数据卷的优势。
第一方面,本发明实施例提供一种虚拟机安全保护方法,包括:
通过加密管理系统建立虚拟机与证书公钥的绑定关系;
采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中,其中,所述数据加密密钥用于对所述数据卷的数据进行加密存储;
当通过虚拟机接收到数据卷访问请求时,向所述加密管理系统请求获取被请求虚拟机对应的加密数据密钥;
采用所述被请求虚拟机的证书私钥对所述加密数据密钥进行解密,以获取所述数据加密密钥;
采用所述数据加密密钥对所述数据卷进行解密,以实现数据卷访问。
在第一方面的第一种可能的实现方式中,
采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中包括:采用统一的虚拟机密钥对所述数据卷的数据加密密钥进行加密,形成虚拟机加密密钥;采用各虚拟机的证书公钥分别对所述虚拟机加密密钥进行加密,形成各加密数据密钥;
则采用所述被请求虚拟机的证书私钥对所述加密数据密钥进行解密,以获取所述数据加密密钥包括:采用所述被请求虚拟机的证书私钥对所述加密数据密钥进行解密,获取所述虚拟机加密密钥;采用所述虚拟机密钥对所述虚拟机加密密钥进行解密,以获取所述数据加密密钥。
在第一方面的第二种可能的实现方式中,通过加密管理系统建立虚拟机与证书公钥的绑定关系,包括:
将所在虚拟机的证书公钥上报给所述加密管理系统以进行身份验证,并建立所在虚拟机与证书公钥的绑定关系。
在第一方面的第三种可能的实现方式中,采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中包括:
通过所在虚拟机接收加密管理系统提供的其它所有虚拟机的证书公钥;
采用所在虚拟机的证书公钥和其他所有虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥;
将各所述加密数据密钥上报给所述加密管理系统进行存储。
第二方面,本发明实施例提供一种虚拟机安全保护方法,包括:
建立各虚拟机与证书公钥的绑定关系;
采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中,其中,所述数据加密密钥用于对所述数据卷的数据进行加密存储;
当接收到虚拟机发送的加密数据密钥获取请求时,向所述虚拟机返回对应证书公钥加密的加密数据密钥,以供所述虚拟机采用对应的证书私钥对所述加密数据密钥进行解密,以获取用于解密数据卷的数据加密密钥。
在第二方面的第一种可能的实现方式中,建立各虚拟机与证书公钥的绑定关系包括:
接收各虚拟机上报的证书公钥,对各虚拟机进行身份验证,并建立各虚拟机与证书公钥的绑定关系。
在第二方面的第二种可能的实现方式中,采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中包括:
将各虚拟机的证书公钥下发给任意一个虚拟机,以供所述虚拟机采用各证书公钥分别对数据加密密钥进行加密,形成各加密数据密钥;
接收虚拟机返回的各加密数据密钥,并进行存储。
在第二方面的第三种可能的实现方式中,当接收到虚拟机发送的加密数据密钥获取请求时,向所述虚拟机返回对应证书公钥加密的加密数据密钥包括:
当接收到虚拟机发送的加密数据密钥获取请求时,查询是否存在与所述虚拟机的证书公钥对应的加密数据密钥,若是,则返回所述加密数据密钥;若否,则由加密管理系统向其他虚拟机下发所述虚拟机的证书公钥,并接收所述其他虚拟机生成并返回的加密数据密钥。
第三方面,本发明实施例提供一种虚拟机侧安全保护装置,包括:
第一证书绑定模块,用于通过加密管理系统建立虚拟机与证书公钥的绑定关系;
第一数据密钥形成模块,用于采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中,其中,所述数据加密密钥用于对所述数据卷的数据进行加密存储;
数据密钥获取模块,用于当通过虚拟机接收到数据卷访问请求时,向所述加密管理系统请求获取被请求虚拟机对应的加密数据密钥;
数据密钥解密模块,用于采用所述被请求虚拟机的证书私钥对所述加密数据密钥进行解密,以获取所述数据加密密钥;
数据卷解密模块,用于采用所述数据加密密钥对所述数据卷进行解密,以实现数据卷访问。
在第三方面的第一种可能的实现方式中,
第一数据密钥形成模块包括:第一层加密单元,用于采用统一的虚拟机密钥对所述数据卷的数据加密密钥进行加密,形成虚拟机加密密钥;第二层加密单元,用于采用各虚拟机的证书公钥分别对所述虚拟机加密密钥进行加密,形成各加密数据密钥;
则数据密钥解密模块包括:第二层解密单元,用于采用所述被请求虚拟机的证书私钥对所述加密数据密钥进行解密,获取所述虚拟机加密密钥;第一层解密单元,用于采用所述虚拟机密钥对所述虚拟机加密密钥进行解密,以获取所述数据加密密钥。
在第三方面的第二种可能的实现方式中,第一证书绑定模块具体用于将所在虚拟机的证书公钥上报给所述加密管理系统以进行身份验证,并建立所在虚拟机与证书公钥的绑定关系。
在第三方面的第三种可能的实现方式中,第一数据密钥形成模块包括:
证书公钥获取单元,用于通过所在虚拟机接收加密管理系统提供的其它所有虚拟机的证书公钥;
数据密钥产生单元,用于采用所在虚拟机的证书公钥和其他所有虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥;
密钥存储单元,用于将各所述加密数据密钥上报给所述加密管理系统进行存储。
第四方面,本发明实施例提供一种系统侧安全保护装置,包括:
第二证书绑定模块,用于建立各虚拟机与证书公钥的绑定关系;
第二数据密钥形成模块,用于采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中,其中,所述数据加密密钥用于对所述数据卷的数据进行加密存储;
数据密钥返回模块,用于当接收到虚拟机发送的加密数据密钥获取请求时,向所述虚拟机返回对应证书公钥加密的加密数据密钥,以供所述虚拟机采用对应的证书私钥对所述加密数据密钥进行解密,以获取用于解密数据卷的数据加密密钥。
在第四方面的第一种可能的实现方式中,第二证书绑定模块具体用于接收各虚拟机上报的证书公钥,对各虚拟机进行身份验证,并建立各虚拟机与证书公钥的绑定关系。
在第四方面的第二种可能的实现方式中,第二数据密钥形成模块包括:
证书下发单元,用于将各虚拟机的证书公钥下发给任意一个虚拟机,以供所述虚拟机采用各证书公钥分别对数据加密密钥进行加密,形成各加密数据密钥;
密钥回收单元,用于接收虚拟机返回的各加密数据密钥,并进行存储。
在第四方面的第三种可能的实现方式中,数据密钥返回模块具体用于当接收到虚拟机发送的加密数据密钥获取请求时,查询是否存在与所述虚拟机的证书公钥对应的加密数据密钥,若是,则返回所述加密数据密钥;若否,则由加密管理系统向其他虚拟机下发所述虚拟机的证书公钥,并接收所述其他虚拟机生成并返回的加密数据密钥。
本发明实施例提供的虚拟机安全保护方法,通过建立虚拟机与证书公钥的绑定关系,预先形成以各虚拟机的证书公钥加密的数据加密密钥;当登录某个虚拟机进行某个数据卷访问时,获取与该虚拟机对应的证书公钥加密的数据加密密钥,使得该虚拟机可以通过自己的证书私钥解密获得数据加密密钥,从而解密该数据卷。该技术方案一方面无需唯一的硬件证书来支持,另一方面在任意虚拟机均能够访问挂载的加密数据卷,解决了同一用户可以从多台虚拟机上解密访问加密数据卷的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明虚拟机安全保护方法实施例一的流程图;
图2为本发明虚拟机安全保护方法实施例二的流程图;
图3为本发明虚拟机安全保护方法实施例三的流程图;
图4为本发明虚拟机安全保护方法实施例四的信令流程图;
图5为本发明虚拟机安全保护方法实施例五的信令流程图;
图6为本发明虚拟机安全保护方法实施例六的信令流程图;
图7为本发明虚拟机安全保护方法实施例七的信令流程图;
图8为本发明虚拟机侧安全保护装置实施例一的结构示意图;
图9为本发明虚拟机侧安全保护装置实施例二的结构示意图;
图10为本发明系统侧安全保护装置实施例三的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明虚拟机安全保护方法实施例一的流程图,该方法可适用于由多个虚拟机构成的云网络中,对挂载其中的数据卷进行加密和解密访问的情况。该方法可以由虚拟机侧安全保护装置来实现,该虚拟机侧安全保护装置以硬件和/或软件的方式来实现,且集成于虚拟机中。本实施例的方法由任意一台虚拟机的安全保护装置来执行。如图1所示,本实施例的方法可以包括:
步骤101,通过加密管理系统建立虚拟机与证书公钥的绑定关系;
每个虚拟机具有自己特有的证书公钥和证书私钥对,可以预先存储,也可以由加密管理系统或证书管理系统(CA)来颁发。可以通过加密管理系统建立各个虚拟机与其证书公钥的绑定关系,由加密管理系统存储此绑定关系。绑定操作可以在虚拟机注册或证书变更时执行。
本步骤,具体可以是由虚拟机侧安全保护装置将所在虚拟机的证书公钥上报给所述加密管理系统以进行身份验证,并建立所在虚拟机与证书公钥的绑定关系。证书公钥可以是CA同时颁发给加密管理系统和各虚拟机,所以加密管理系统可进一步基于证书公钥对虚拟机进行身份认证。
步骤102,采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中,其中,所述数据加密密钥用于对所述数据卷的数据进行加密存储;
上述步骤中,在云网络各服务器中挂载的每个数据卷有其自己特有的数据加密密钥(DEK),数据卷采用该数据加密密钥进行加密存储。以所有虚拟机的证书公钥分别对数据加密密钥进行加密,形成多个加密数据密钥。该操作可以由虚拟机来执行,即某个虚拟机侧安全保护装置通过所在虚拟机接收加密管理系统提供的其它所有虚拟机的证书公钥;采用所在虚拟机的证书公钥和其他所有虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥;将各所述加密数据密钥上报给所述加密管理系统进行存储。或者也可以由加密管理系统获取虚拟机中的数据加密密钥,再形成加密数据密钥。但通常与数据卷对应的数据加密密钥存储在数据卷所挂载的虚拟机中,所以优选由虚拟机将自身所挂载的加密数据卷的数据加密密钥形成各加密数据密钥,再上报给加密管理系统。
步骤103,当通过虚拟机接收到数据卷访问请求时,向加密管理系统请求获取被请求虚拟机对应的加密数据密钥;
本步骤中,由于加密管理系统存储有各虚拟机的证书公钥所加密的加密数据密钥,并且记录有虚拟机与证书公钥的绑定关系,所以能够为虚拟机提供与其对应的加密数据密钥。
步骤104,采用所述被请求虚拟机的证书私钥对所述加密数据密钥进行解密,以获取所述数据加密密钥;
被访问请求的虚拟机获取到加密数据密钥之后,可以用自己的证书私钥进行解密。
步骤105、采用数据加密密钥对数据卷进行解密,以实现数据卷的访问。
本实施例,通过建立虚拟机与证书公钥的绑定关系,预先形成以各虚拟机的证书公钥加密的数据加密密钥;当登录某个虚拟机进行某个数据卷访问时,获取与该虚拟机对应的证书公钥加密的数据加密密钥,使得该虚拟机可以通过自己的证书私钥解密获得数据加密密钥,从而解密该数据卷。该技术方案一方面无需唯一的硬件证书来支持,另一方面在任意虚拟机均能够访问挂载的加密数据卷,解决了同一用户可以从多台虚拟机上解密访问加密数据卷的问题。
在上述技术方案的基础上,优选是采用两层加密的保护方案。即:
步骤102优选是包括:采用统一的虚拟机密钥(KEK)对所述数据卷的数据加密密钥进行加密,形成虚拟机加密密钥;采用各虚拟机的证书公钥分别对所述虚拟机加密密钥进行加密,形成各加密数据密钥;
则步骤104优选是包括:采用所述被请求虚拟机的证书私钥对所述加密数据密钥进行解密,获取所述虚拟机加密密钥;采用所述虚拟机密钥对所述虚拟机加密密钥进行解密,以获取所述数据加密密钥。
上述方案中,虚拟机密钥在云网络中是统一的,各虚拟机均可获取并使用。利用该KEK对DEK进行第一层加密,而后采用虚拟机的证书公钥进行第二层加密,形成加密数据密钥,能提高加密保护的安全性。
实施例二
图2为本发明虚拟机安全保护方法实施例二的流程图。本实施例以上述实施例为基础,进一步增加了新虚拟机加入云网络所执行的安全保护方法。上述的当通过虚拟机接收到数据卷访问请求时,向所述加密管理系统请求获取被请求虚拟机对应的加密数据密钥的操作具体可包括如下步骤:
步骤210、当通过虚拟机接收到数据卷访问请求时,向所述加密管理系统发送加密数据密钥获取请求;
本步骤中,该虚拟机是新加入云网络的,当其接收到数据卷访问请求时,也向加密管理系统请求获取加密数据密钥;
步骤220、加密管理系统获取所述虚拟机的证书公钥;
由于该虚拟机是新加入云网络的,所以加密管理系统中没有存储与其对应的加密数据密钥,则加密管理系统会首先获取该虚拟机的证书公钥,然后下发给其他虚拟机,请其他虚拟机代为生成加密数据密钥。
步骤230、接收加密管理系统请求返回的被请求虚拟机对应的加密数据密钥。
在其他虚拟机代为生成加密数据密钥后,上传该加密数据密钥至加密管理系统,然后加密管理系统将加密数据密钥返回给新增虚拟机。
随后,新增虚拟机获取到加密数据密钥,就可以用其解密出数据加密密钥,进而访问数据卷。
实施例三
图3为本发明虚拟机安全保护方法实施例三的流程图,本实施例与前述实施例配合执行,具体是由加密管理系统中的安全保护装置来执行的。本实施例的方法包括如下步骤:
步骤310、建立各虚拟机与证书公钥的绑定关系;
如前所述,加密管理系统记录所建立的各虚拟机与证书公钥的绑定关系,以备后续查询。
步骤320、采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中,其中,所述数据加密密钥用于对所述数据卷的数据进行加密存储;
本步骤中,形成各加密数据密钥的操作可以由任意一个虚拟机来完成,也可以由加密管理系统来完成。
步骤330、当接收到虚拟机发送的加密数据密钥获取请求时,向所述虚拟机返回对应证书公钥加密的加密数据密钥,以供所述虚拟机采用对应的证书私钥对所述加密数据密钥进行解密,以获取用于解密数据卷的数据加密密钥。
本步骤中,当加密管理系统接收到虚拟机发送的加密数据密钥获取请求时,即查询与该虚拟机对应的加密数据密钥,并返回给该虚拟机,以便其能够访问数据卷。
本实施例中,通过建立虚拟机与证书公钥的绑定关系,预先形成以各虚拟机的证书公钥加密的数据加密密钥;当登录某个虚拟机进行某个数据卷访问时,获取与该虚拟机对应的证书公钥加密的数据加密密钥,使得该虚拟机可以通过自己的证书私钥解密获得数据加密密钥,从而解密该数据卷。该技术方案一方面无需唯一的硬件证书来支持,另一方面在任意虚拟机均能够访问挂载的加密数据卷,解决了同一用户可以从多台虚拟机上解密访问加密数据卷的问题。
在上述技术方案中,建立各虚拟机与证书公钥的绑定关系的操作优选是接收各虚拟机上报的证书公钥,对各虚拟机进行身份验证,并建立各虚拟机与证书公钥的绑定关系。证书公钥和证书私钥由CA颁发给虚拟机,同时证书公钥也提供给加密管理系统,加密管理系统可以比较CA颁发的证书公钥与虚拟机上报的是否相同,从而对虚拟机进行身份合法性的验证。
采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至所述加密管理系统中的操作优选包括如下步骤:
将各虚拟机的证书公钥下发给任意一个虚拟机,以供所述虚拟机采用各证书公钥分别对数据加密密钥进行加密,形成各加密数据密钥;
接收虚拟机返回的各加密数据密钥,并进行存储。
上述方案中,当接收到虚拟机发送的加密数据密钥获取请求时,向所述虚拟机返回对应证书公钥加密的加密数据密钥优选是:
当接收到虚拟机发送的加密数据密钥获取请求时,查询是否存在与所述虚拟机的证书公钥对应的加密数据密钥,若是,则返回所述加密数据密钥;若否,则由加密管理系统向其他虚拟机下发所述虚拟机的证书公钥,请其他虚拟机代为生成加密数据密钥。
上述方案适用于新增虚拟机的情况,当加密管理系统查询到没有该虚拟机对应的加密数据密钥时,加密管理系统会首先获取该虚拟机的证书公钥,然后下发给其他虚拟机,请其他虚拟机代为生成加密数据密钥后上传至加密管理系统,然后加密管理系统将加密数据密钥返回给新增虚拟机。
实施例四
图4为本发明虚拟机安全保护方法实施例四的信令流程图,为虚拟机与加密关系系统配合执行的方法,且具体为证书公钥与虚拟机的绑定流程。如图4所示,本实施例的方法可以包括:
步骤401、虚拟机从CA获取颁发给自己的证书公钥和证书私钥,同时CA也将各虚拟机的证书公钥提供给加密管理系统;
步骤402、虚拟机向加密管理系统发送证书绑定请求,其中携带自己的证书公钥;
步骤403、加密管理系统基于本地存储的证书公钥对证书绑定请求进行身份验证,若合格,则建立该虚拟机与证书公钥的绑定关系;
步骤404、加密管理系统将绑定关系存储到VEM(VirtualEncryptionManagement虚拟加密管理)数据库中;
步骤405、加密管理系统向虚拟机返回证书绑定响应。
实施例五
图5为本发明虚拟机安全保护方法实施例五的信令流程图,为虚拟机与加密关系系统配合执行的方法,且具体为对数据卷的加密流程。如图5所示,本实施例的方法可以包括:
步骤501、虚拟机向加密管理系统发送获取所有虚拟机证书公钥请求;
步骤502、加密管理系统从VEM数据库中查询所有已存储的证书公钥;
步骤503、VEM数据库返回所有查询到的证书公钥;
步骤504、加密管理系统将所有证书公钥下发给虚拟机;
步骤505、虚拟机采用各证书公钥对本地挂载的加密数据卷的数据加密密钥进行加密,形成各加密数据密钥;
步骤506、虚拟机将各加密数据密钥上报给加密管理系统;
步骤507、加密管理系统将各加密数据密钥存储在VEM数据库中。
实施例六
图6为本发明虚拟机安全保护方法实施例六的信令流程图,为虚拟机与加密关系系统配合执行的方法,且具体为对数据卷的解密流程。如图6所示,本实施例的方法可以包括:
步骤601、虚拟机接收到数据卷访问请求时,向加密管理系统请求获取加密数据密钥;该虚拟机可以是第一次挂载该加密数据卷并进行访问,所以需先获取加密数据密钥。
步骤602、加密管理系统从VEM数据库查询获取该虚拟机对应的加密数据密钥;
步骤603、VEM数据库返回该虚拟机对应的加密数据密钥;
步骤604、加密管理系统将加密数据密钥返回给虚拟机;
步骤605、虚拟机采用自己的证书私钥对加密数据密钥进行解密,获取数据加密密钥,进而可以解密数据卷。
实施例七
图7为本发明虚拟机安全保护方法实施例七的信令流程图,为虚拟机与加密关系系统配合执行的方法,且具体为新增虚拟机对数据卷的解密流程。如图7所示,本实施例的方法可以包括:
步骤701、新增虚拟机向加密管理系统请求获取KEK;
步骤702、加密管理系统从VEM数据库中查询是否存在KEK,由于是新增虚拟机,所以不存在其对应的KEK;
步骤703、VEM数据库向加密管理系统返回KEK不存在的响应;
步骤704、加密管理系统要求新增虚拟机提供证书公钥;
步骤705、新增虚拟机向加密管理系统提供证书公钥;
步骤706、加密管理系统查找是否存在已开机的其它虚拟机,若否,则执行步骤707,若是,则执行708;
步骤707、加密管理系统向虚拟机返回失败响应,提示需要先开启一台虚拟机;
步骤708、加密管理系统将新增虚拟机的证书公钥下发给已开机的虚拟机;
步骤709、该开机的虚拟机首先根据自己的证书私钥解密加密数据密钥,获得以KEK加密的数据加密密钥,而后采用新增虚拟机的证书公钥,产生加密数据密钥;
步骤710、开机的虚拟机将加密数据密钥上传给加密管理系统;
步骤711、加密管理系统将加密数据密钥存储在VEM数据库中;
步骤712、加密管理系统将加密数据密钥返回给新增虚拟机;
步骤713、新增虚拟机采用自己的证书私钥对加密数据密钥进行解密,获得数据加密密钥,进而可访问数据卷。
图8为本发明虚拟机侧安全保护装置实施例一的结构示意图,本实施例的保护装置可以集成于各虚拟机中。如图8所示,本实施例的装置可以包括:第一证书绑定模块11;第一数据密钥形成模块12;数据密钥获取模块13;数据密钥解密模块14;数据卷解密模块15;其中,
第一证书绑定模块11,用于通过加密管理系统建立虚拟机与证书公钥的绑定关系;
第一数据密钥形成模块12,用于采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至加密管理系统中,其中数据加密密钥用于对数据卷的数据进行加密存储;
数据密钥获取模块13,用于当通过虚拟机接收到数据卷访问请求时,向加密管理系统请求获取被请求虚拟机对应的加密数据密钥;
数据密钥解密模块14,用于采用被请求虚拟机的证书私钥对加密数据密钥进行解密,以获取所述数据加密密钥;
数据卷解密模块15,用于采用数据加密密钥对数据卷进行解密,以实现数据卷访问。
本实施例的装置,可以用于执行本发明实施例所提供方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明虚拟机侧安全保护装置实施例二的结构示意图,如图9所示,本实施例的装置在图8所示装置结构的基础上,进一步地,第一密钥形成模块12包括:证书公钥获取单元121;数据密钥产生单元122;密钥存储单元123;其中,证书公钥获取单元121,用于通过所在虚拟机接收加密管理系统提供的其它所有虚拟机的证书公钥;数据密钥产生单元122,用于采用所在虚拟机的证书公钥和其他所有虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥;密钥存储单元123,用于将各加密数据密钥上报给加密管理系统进行存储。
本实施例的装置,可以用于执行本发明实施例所提供方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
更需要说明的是,在另一种实现方式中,该第一密钥形成模块12还可以包括:第一层加密单元和第二层加密单元。第一层加密单元,采用统一的虚拟机密钥对数据卷的数据加密密钥进行加密,形成虚拟机加密密钥;第二层加密单元,采用各虚拟机的证书公钥分别对虚拟机加密密钥进行加密,形成各加密数据密钥。
进一步地,在本实施例中,数据密钥解密模块14包括:第二层解密单元141和第一层解密单元142;其中,第二层解密单元141,用于采用被请求虚拟机的证书私钥对加密数据密钥进行解密,获取虚拟机加密密钥;第一层解密单元142,用于采用虚拟机密钥对虚拟机加密密钥进行解密,以获取所述数据加密密钥。
本实施例的装置,可以用于执行本发明实施例所提供方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10为本发明系统侧安全保护装置实施例三的结构示意图,本实施例的保护装置可以集成于加密管理系统中。如图10所示,本实施例的装置可以包括:第二证书绑定模块21;第二数据密钥形成模块22;数据密钥返回模块23;其中,
第二证书绑定模块21,用于建立各虚拟机与证书公钥的绑定关系;
第二数据密钥形成模块22,用于采用各虚拟机的证书公钥分别对数据卷的数据加密密钥进行加密,形成各加密数据密钥并存储至加密管理系统中,其中数据加密密钥用于对数据卷的数据进行加密存储;
数据密钥返回模块23,用于当接收到虚拟机发送的加密数据密钥获取请求时,向所述虚拟机返回对应证书公钥加密的加密数据密钥,以供虚拟机采用对应的证书私钥对加密数据密钥进行解密,以获取用于解密数据卷的数据加密密钥。
本实施例的装置,可以用于执行本发明实施例所提供方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,在本实施例中,第二数据密钥形成模块22包括:证书下发单元221;密钥回收单元222;其中,证书下发单元221,用于将各虚拟机的证书公钥下发给任意一个虚拟机,以供所述虚拟机采用各证书公钥分别对数据加密密钥进行加密,形成各加密数据密钥;密钥回收单元222,用于接收虚拟机返回的各加密数据密钥,并进行存储。
本实施例的装置,可以用于执行本发明实施例所提供方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。