虚拟机密钥的管理方法、主节点、系统、存储介质及装置与流程

文档序号:18886570发布日期:2019-10-15 21:01阅读:419来源:国知局
虚拟机密钥的管理方法、主节点、系统、存储介质及装置与流程

本发明涉及虚拟化技术及加密技术领域,尤其涉及虚拟机密钥的管理方法、主节点、系统、存储介质及装置。



背景技术:

随着虚拟化技术的快速发展,虚拟机(virtualmachine)中用户数据的数据安全也变得更为重要。

目前,为了保护虚拟机中的用户数据,可通过usbkey设备进行密钥的存储以及虚拟机中用户数据的加解密,而usbkey是一种带有通用串行总线(universalserialbus,usb)接口的硬件设备。

可见,作为一种硬件设备的usbkey一旦丢失或者损坏,原本通过usbkey中的密钥进行加解密的用户数据将不可恢复,实质上也就造成了该用户数据的丢失。

所以,可认为,存在着虚拟机内用户数据易丢失的技术问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明实施例的主要目的在于提供虚拟机密钥的管理方法、主节点、系统、存储介质及装置,旨在解决虚拟机内用户数据易丢失的技术问题。

为实现上述目的,本发明实施例提供一种虚拟机密钥的管理方法,所述虚拟机密钥的管理方法由主节点执行,所述虚拟机密钥的管理方法包括以下步骤:

获取待访问虚拟机的待访问虚拟机标识;

根据所述待访问虚拟机标识确定对应的目标虚拟机密钥;

将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点保存所述目标虚拟机密钥,所述主节点与所述第一从节点处于预设集群中。

优选地,所述根据所述待访问虚拟机标识确定对应的目标虚拟机密钥,具体包括:

在预设主密码卡的索引区域中查找主空闲索引,所述预设主密码卡插设于所述主节点上;

在所述主空闲索引处生成或导入与所述待访问虚拟机标识对应的目标虚拟机密钥;

所述将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点保存所述目标虚拟机密钥,具体包括:

将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点将所述目标虚拟机密钥写入预设从密码卡中,所述预设从密码卡插设于所述第一从节点上。

优选地,所述在所述主空闲索引处生成或导入与所述待访问虚拟机标识对应的目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

建立所述主空闲索引与所述待访问虚拟机标识之间的对应关系,并根据所述对应关系生成映射配置文件;

获取所述主节点的主节点标识;

通过与所述主节点标识对应的主映射密钥对所述映射配置文件进行加密,并将加密后的映射配置文件保存至所述预设主密码卡中。

优选地,所述将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点将所述目标虚拟机密钥写入预设从密码卡中之后,所述虚拟机密钥的管理方法还包括:

在接收到第二从节点发送的第一校验请求时,从所述第一校验请求中读取第一待校验标识,所述第二从节点处于所述预设集群中;

判断预设虚拟机标识中是否包括所述第一待校验标识;

在不包括所述第一待校验标识时,生成标识删除指令,将所述标识删除指令发送至所述第二从节点,以使所述第二从节点删除所述第一待校验标识以及与所述第一待校验标识对应的第一待校验虚拟机密钥。

优选地,所述将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点将所述目标虚拟机密钥写入预设从密码卡中之后,所述虚拟机密钥的管理方法还包括:

在接收到第三从节点发送的第二校验请求时,从所述第二校验请求中读取第二待校验标识,所述第三从节点处于所述预设集群中;

将所述第二待校验标识与预设虚拟机标识进行匹配;

在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识;

将所述待同步标识对应的待同步密钥发送至所述第三从节点,以使所述第三从节点保存所述待同步密钥。

优选地,所述在接收到第三从节点发送的第二校验请求时,从所述第二校验请求中读取第二待校验标识,具体包括:

在接收到第三从节点发送的加密后的第二校验请求时,通过与所述主节点对应的私钥对所述加密后的第二校验请求进行解密,以获得第二校验请求;

从所述第二校验请求中读取第二待校验标识。

优选地,所述在所述主空闲索引处生成或导入与所述待访问虚拟机标识对应的目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

在接收到密码卡插入请求时,根据所述密码卡插入请求确定插入所述主节点的待校验密码卡;

根据所述待校验密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成待校验访问口令;

通过预设密码卡访问口令对所述待校验访问口令进行校验;

在校验成功时,登录所述预设主密码卡,并对所述预设主密码卡内的所述目标虚拟机密钥进行管理。

优选地,所述通过预设密码卡访问口令对所述待校验访问口令进行校验之后,所述虚拟机密钥的管理方法还包括:

在校验成功时,登录所述预设主密码卡,并读取所述预设主密码卡内的所述目标虚拟机密钥;

通过所述目标虚拟机密钥对所述待访问虚拟机内的用户数据进行访问。

优选地,所述在预设主密码卡的索引区域中查找主空闲索引之前,所述虚拟机密钥的管理方法还包括:

在接收到密码卡初始化请求时,根据所述密码卡初始化请求确定插入主节点的预设主密码卡;

根据所述预设主密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成预设密码卡访问口令,以通过所述预设密码卡访问口令检验插入所述主节点的待校验密码卡。

此外,为实现上述目的,本发明实施例还提出一种主节点,所述主节点包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟机密钥的管理程序,所述虚拟机密钥的管理程序配置为实现如上文所述的虚拟机密钥的管理方法的步骤。

此外,本发明实施例还提出一种密钥管理系统,所述密钥管理系统包括:预设主密码卡、预设从密码卡、第一从节点以及如上文所述的主节点;

所述预设主密码卡插设于所述主节点上,所述预设从密码卡插设于所述第一从节点上。

此外,为实现上述目的,本发明实施例还提出一种存储介质,所述存储介质上存储有虚拟机密钥的管理程序,所述虚拟机密钥的管理程序被处理器执行时实现如上文所述的虚拟机密钥的管理方法的步骤。

此外,为实现上述目的,本发明实施例还提出一种虚拟机密钥的管理装置,所述虚拟机密钥的管理装置包括:

标识获取模块,用于获取待访问虚拟机的待访问虚拟机标识;

密钥确定模块,用于根据所述待访问虚拟机标识确定对应的目标虚拟机密钥;

密钥同步模块,用于将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点保存所述目标虚拟机密钥,所述主节点与所述第一从节点处于预设集群中。

此外,为实现上述目的,本发明实施例提供一种虚拟机密钥的管理方法,所述虚拟机密钥的管理方法由主节点执行,所述虚拟机密钥的管理方法包括以下步骤:

在接收到主节点发送的目标虚拟机密钥时,在预设从密码卡的索引区域中查找从空闲索引,所述预设从密码卡插设于所述从节点上,所述主节点与所述从节点处于预设集群中;

在所述从空闲索引处导入所述目标虚拟机密钥,所述目标虚拟机密钥由待访问虚拟机标识确定,所述待访问虚拟机标识为待访问虚拟机的虚拟机标识。

优选地,所述在所述从空闲索引处导入所述目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

建立所述从空闲索引与所述待访问虚拟机标识之间的对应关系,并根据所述对应关系生成映射配置文件;

获取所述从节点的从节点标识;

通过与所述从节点标识对应的从映射密钥对所述映射配置文件进行加密,并将加密后的映射配置文件保存至所述预设从密码卡中。

优选地,所述在所述从空闲索引处导入所述目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

获取第一待校验标识;

根据所述第一待校验标识生成第一校验请求,将所述第一校验请求发送至所述主节点,以使所述主节点从所述第一校验请求中读取所述第一待校验标识,判断预设虚拟机标识中是否包括所述第一待校验标识,在不包括所述第一待校验标识时,生成标识删除指令,将所述标识删除指令发送至所述从节点;

在接收到所述标识删除指令时,删除所述第一待校验标识以及与所述第一待校验标识对应的第一待校验虚拟机密钥。

优选地,所述在所述从空闲索引处导入所述目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

获取第二待校验标识;

根据所述第二待校验标识生成第二校验请求,将所述第二校验请求发送至所述主节点,以使所述主节点从所述第二校验请求中读取所述第二待校验标识,将所述第二待校验标识与预设虚拟机标识进行匹配,在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识,将所述待同步标识对应的待同步密钥发送至所述从节点;

保存所述待同步密钥。

优选地,所述根据所述第二待校验标识生成第二校验请求,将所述第二校验请求发送至所述主节点,以使所述主节点从所述第二校验请求中读取所述第二待校验标识,将所述第二待校验标识与预设虚拟机标识进行匹配,在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识,将所述待同步标识对应的待同步密钥发送至所述从节点,具体包括:

根据所述第二待校验标识生成第二校验请求;

根据所述主节点对应的公钥对所述第二校验请求进行加密,以获得加密后的第二校验请求;

将加密后的第二校验请求发送至所述主节点,以使所述主节点通过与所述主节点对应的私钥对加密后的第二校验请求进行解密,获得所述第二待校验标识,将所述第二待校验标识与预设虚拟机标识进行匹配,在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识,将所述待同步标识对应的待同步密钥发送至所述从节点。

优选地,所述在所述从空闲索引处导入所述目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

在接收到密码卡插入请求时,根据所述密码卡插入请求确定插入所述从节点的待校验密码卡;

根据所述待校验密码卡的密码卡硬件信息与所述从节点的节点硬件信息生成待校验访问口令;

通过预设密码卡访问口令对所述待校验访问口令进行校验;

在校验成功时,登录所述预设从密码卡,并对所述预设从密码卡内的所述目标虚拟机密钥进行管理。

优选地,所述通过预设密码卡访问口令对所述待校验访问口令进行校验之后,所述虚拟机密钥的管理方法还包括:

在校验成功时,登录所述预设从密码卡,并读取所述预设从密码卡内的所述目标虚拟机密钥;

通过所述目标虚拟机密钥对所述待访问虚拟机内的用户数据进行访问。

优选地,所述在接收到主节点发送的目标虚拟机密钥时,在预设从密码卡的索引区域中查找从空闲索引之后,所述虚拟机密钥的管理方法还包括:

在接收到密码卡初始化请求时,根据所述密码卡初始化请求确定插入所述从节点的预设从密码卡;

根据所述预设从密码卡的密码卡硬件信息与所述从节点的节点硬件信息生成预设密码卡访问口令,以通过所述预设密码卡访问口令检验插入所述从节点的待校验密码卡。

此外,为实现上述目的,本发明实施例还提出一种从节点,所述从节点包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟机密钥的管理程序,所述虚拟机密钥的管理程序配置为实现如上文所述的虚拟机密钥的管理方法的步骤。

此外,为实现上述目的,本发明实施例还提出一种存储介质,所述存储介质上存储有虚拟机密钥的管理程序,所述虚拟机密钥的管理程序被处理器执行时实现如上文所述的虚拟机密钥的管理方法的步骤。

此外,为实现上述目的,本发明实施例还提出一种虚拟机密钥的管理装置,所述虚拟机密钥的管理装置包括:

密钥获取模块,用于在接收到主节点发送的目标虚拟机密钥时,在预设从密码卡的索引区域中查找从空闲索引,所述预设从密码卡插设于所述从节点上,所述主节点与所述从节点处于预设集群中;

密钥保存模块,用于在所述从空闲索引处导入所述目标虚拟机密钥,所述目标虚拟机密钥由待访问虚拟机标识确定,所述待访问虚拟机标识为待访问虚拟机的虚拟机标识。

本发明实施例中主节点获取待访问虚拟机的待访问虚拟机标识;根据待访问虚拟机标识确定对应的目标虚拟机密钥;将目标虚拟机密钥分发至第一从节点,以使第一从节点保存目标虚拟机密钥,主节点与第一从节点处于预设集群中。可见,由于主节点与第一从节点内均存储着目标虚拟机密钥,即使不能正常获取主节点中的目标虚拟机密钥,也可通过第一从节点中的目标虚拟机密钥去访问预设集群内的虚拟机中的用户数据,从而保证了可以稳定地保护虚拟机内用户数据的安全性,降低了虚拟机中用户数据的易失性,也就解决了虚拟机内用户数据易丢失的技术问题。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的主节点结构示意图;

图2为本发明实施例虚拟机密钥的管理方法的流程示意图;

图3为本发明实施例虚拟机密钥的管理方法的流程示意图;

图4为本发明实施例虚拟机密钥的管理方法的流程示意图;

图5为本发明实施例虚拟机密钥的管理方法的流程示意图;

图6为本发明实施例虚拟机密钥的管理装置的结构框图;

图7为本发明实施例虚拟机密钥的管理方法的流程示意图;

图8为本发明实施例虚拟机密钥的管理方法的流程示意图;

图9为本发明实施例虚拟机密钥的管理装置的结构框图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的主节点结构示意图。

如图1所示,该主节点可以包括:处理器1001,例如中央处理器(centralprocessingunit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口以及无线接口,而用户接口1003的有线接口在本发明中可为通用串行总线(universalserialbus,usb)接口。网络接口1004可选的可以包括标准的有线接口以及无线接口(如wi-fi接口)。存储器1005可以是高速随机存取存储器(randomaccessmemory,ram);也可以是稳定的存储器,比如,非易失存储器(non-volatilememory),具体可为,磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对主节点的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及虚拟机密钥的管理程序。

在图1所示的主节点中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接外设;所述主节点通过处理器1001调用存储器1005中存储的虚拟机密钥的管理程序,并执行以下操作:

获取待访问虚拟机的待访问虚拟机标识;

根据所述待访问虚拟机标识确定对应的目标虚拟机密钥;

将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点保存所述目标虚拟机密钥,所述主节点与所述第一从节点处于预设集群中。

进一步地,处理器1001可以调用存储器1005中存储的虚拟机密钥的管理程序,还执行以下操作:

在预设主密码卡的索引区域中查找主空闲索引,所述预设主密码卡插设于所述主节点上;

在所述主空闲索引处生成或导入与所述待访问虚拟机标识对应的目标虚拟机密钥;

相应地,还执行以下操作:

将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点将所述目标虚拟机密钥写入预设从密码卡中,所述预设从密码卡插设于所述第一从节点上。

进一步地,处理器1001可以调用存储器1005中存储的虚拟机密钥的管理程序,还执行以下操作:

建立所述主空闲索引与所述待访问虚拟机标识之间的对应关系,并根据所述对应关系生成映射配置文件;

获取所述主节点的主节点标识;

通过与所述主节点标识对应的主映射密钥对所述映射配置文件进行加密,并将加密后的映射配置文件保存至所述预设主密码卡中。

进一步地,处理器1001可以调用存储器1005中存储的虚拟机密钥的管理程序,还执行以下操作:

在接收到第二从节点发送的第一校验请求时,从所述第一校验请求中读取第一待校验标识,所述第二从节点处于所述预设集群中;

判断预设虚拟机标识中是否包括所述第一待校验标识;

在不包括所述第一待校验标识时,生成标识删除指令,将所述标识删除指令发送至所述第二从节点,以使所述第二从节点删除所述第一待校验标识以及与所述第一待校验标识对应的第一待校验虚拟机密钥。

进一步地,处理器1001可以调用存储器1005中存储的虚拟机密钥的管理程序,还执行以下操作:

在接收到第三从节点发送的第二校验请求时,从所述第二校验请求中读取第二待校验标识,所述第三从节点处于所述预设集群中;

将所述第二待校验标识与预设虚拟机标识进行匹配;

在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识;

将所述待同步标识对应的待同步密钥发送至所述第三从节点,以使所述第三从节点保存所述待同步密钥。

进一步地,处理器1001可以调用存储器1005中存储的虚拟机密钥的管理程序,还执行以下操作:

在接收到第三从节点发送的加密后的第二校验请求时,通过与所述主节点对应的私钥对所述加密后的第二校验请求进行解密,以获得第二校验请求;

从所述第二校验请求中读取第二待校验标识。

进一步地,处理器1001可以调用存储器1005中存储的虚拟机密钥的管理程序,还执行以下操作:

在接收到密码卡插入请求时,根据所述密码卡插入请求确定插入所述主节点的待校验密码卡;

根据所述待校验密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成待校验访问口令;

通过预设密码卡访问口令对所述待校验访问口令进行校验;

在校验成功时,登录所述预设主密码卡,并对所述预设主密码卡内的所述目标虚拟机密钥进行管理。

进一步地,处理器1001可以调用存储器1005中存储的虚拟机密钥的管理程序,还执行以下操作:

在校验成功时,登录所述预设主密码卡,并读取所述预设主密码卡内的所述目标虚拟机密钥;

通过所述目标虚拟机密钥对所述待访问虚拟机内的用户数据进行访问。

进一步地,处理器1001可以调用存储器1005中存储的虚拟机密钥的管理程序,还执行以下操作:

在接收到密码卡初始化请求时,根据所述密码卡初始化请求确定插入主节点的预设主密码卡;

根据所述预设主密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成预设密码卡访问口令,以通过所述预设密码卡访问口令检验插入所述主节点的待校验密码卡。

本实施例中主节点获取待访问虚拟机的待访问虚拟机标识;根据待访问虚拟机标识确定对应的目标虚拟机密钥;将目标虚拟机密钥分发至第一从节点,以使第一从节点保存目标虚拟机密钥,主节点与第一从节点处于预设集群中。可见,由于主节点与第一从节点内均存储着目标虚拟机密钥,即使不能正常获取主节点中的目标虚拟机密钥,也可通过第一从节点中的目标虚拟机密钥去访问预设集群内的虚拟机中的用户数据,从而保证了可以稳定地保护虚拟机内用户数据的安全性,降低了虚拟机中用户数据的易失性,也就解决了虚拟机内用户数据易丢失的技术问题。

基于上述硬件结构,提出本发明虚拟机密钥的管理方法的实施例。

参照图2,图2为本发明实施例虚拟机密钥的管理方法的流程示意图。

在本实施例中,所述虚拟机密钥的管理方法包括以下步骤:

步骤s10:获取待访问虚拟机的待访问虚拟机标识。

可以理解的是,可设置一预设集群,预设集群里包括有多个节点,节点可为服务器。预设集群中至少包括有主节点与第一从节点,而且,本实施例的执行主体为主节点。

需要说明的是,可在预设集群中创建一虚拟机,具体而言,可在预设集群中的主节点上创建一虚拟机。该虚拟机可记为待访问虚拟机,将为用户提供服务,故而,虚拟机将产生用户数据。为了保护虚拟机中的用户数据,可设置虚拟机密钥来限制对于该虚拟机的访问,仅在拥有该虚拟机密钥时才可正常访问该虚拟机。

应当理解的是,至于该虚拟机密钥的生成方式,具体为,该虚拟机密钥将随机生成,不依赖人为去记忆密码,也无需便携式携带设备去记录密码,此处的便携式携带设备例如为usbkey。

在具体实现中,比如,为了生成可成功访问到待访问虚拟机的目标虚拟机密钥,可先获取该待访问虚拟机的待访问虚拟机标识,虚拟机标识用于唯一地标记某个虚拟机。

步骤s20:根据所述待访问虚拟机标识确定对应的目标虚拟机密钥。

可以理解的是,目标虚拟机密钥为可成功访问待访问虚拟机的虚拟机密钥。

步骤s30:将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点保存所述目标虚拟机密钥,所述主节点与所述第一从节点处于预设集群中。

需要说明的是,在正常访问待访问虚拟机内的用户数据时,将先获取目标虚拟机密钥,再通过目标虚拟机密钥对待访问虚拟机进行访问,这保障了数据的安全性。

可以理解的是,还可将该目标虚拟机密钥同步到第一从节点中,通过将目标虚拟机密钥同时存在于多处,当主节点不能正常获取该目标虚拟机密钥时,仍然可以通过别的节点处的目标虚拟机秘钥访问到该待访问虚拟机。

本实施例中主节点获取待访问虚拟机的待访问虚拟机标识;根据待访问虚拟机标识确定对应的目标虚拟机密钥;将目标虚拟机密钥分发至第一从节点,以使第一从节点保存目标虚拟机密钥,主节点与第一从节点处于预设集群中。可见,由于主节点与第一从节点内均存储着目标虚拟机密钥,即使不能正常获取主节点中的目标虚拟机密钥,也可通过第一从节点中的目标虚拟机密钥去访问预设集群内的虚拟机中的用户数据,从而保证了可以稳定地保护虚拟机内用户数据的安全性,降低了虚拟机中用户数据的易失性,也就解决了虚拟机内用户数据易丢失的技术问题。

参照图3,图3为本发明实施例虚拟机密钥的管理方法的流程示意图,基于上述图2所示的实施例,提出本发明虚拟机密钥的管理方法的另一实施例。

在本实施例中,所述步骤s20,具体包括:

步骤s201:在预设主密码卡的索引区域中查找主空闲索引,所述预设主密码卡插设于所述主节点上。

在具体实现中,本实施例中还额外引入了密码卡这一硬件设备,密码卡与usbkey存在着诸多差异,比如,密码卡内原本并不存在虚拟机密钥。并且,主节点上将被插入预设主密码卡,从节点上将被插入预设从密码卡。至于预设主密码卡与预设从密码卡的插入方式,可通过外设部件互连标准(peripheralcomponentinterconnect,pci)接口或者高速串行计算机扩展总线标准(peripheralcomponentinterconnectexpress,pcie)接口插入。

步骤s202:在所述主空闲索引处生成或导入与所述待访问虚拟机标识对应的目标虚拟机密钥。

应当理解的是,为了生成目标虚拟机密钥,主节点将在插入的预设主密码卡上查找空闲着的索引区域,并在该空闲的索引对应的存储区域处随机生成或者导入一虚拟机密钥,该虚拟机密钥将为可成功访问待访问虚拟机的目标虚拟机密钥。可见,目标虚拟机密钥将被存储于预设主密码卡上,而且,目标虚拟机密钥对应于该主空闲索引,将被存储于该主空闲索引对应的存储区域。

相应地,所述步骤s30,具体包括:

步骤s301:将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点将所述目标虚拟机密钥写入预设从密码卡中,所述预设从密码卡插设于所述第一从节点上。

需要说明的是,将先获取目标虚拟机密钥,再通过目标虚拟机密钥对待访问虚拟机进行访问。而在此处,节点内的虚拟机可直接与密码卡进行通信,这同时保障了数据的安全性和数据加解密的效率。

可以理解的是,可将该目标虚拟机密钥同步到第一从节点上插入的预设从密码卡中,使得目标虚拟机密钥将同时存在于多处,这可以防止预设主密码卡损坏时不能正常访问到该待访问虚拟机。

本实施例中由于在预设主密码卡与预设从密码卡内均存储着目标虚拟机密钥,即使不能正常获取预设主密码卡中的目标虚拟机密钥,也可通过预设从密码卡中的目标虚拟机密钥去访问预设集群内的虚拟机中的用户数据,从而保证了可以稳定地保护虚拟机内用户数据的安全性。

参照图4,图4为本发明实施例虚拟机密钥的管理方法的流程示意图,基于上述图3所示的实施例,提出本发明虚拟机密钥的管理方法的另一实施例。

在本实施例中,所述步骤s202之后,所述虚拟机密钥的管理方法还包括:

步骤s302:建立所述主空闲索引与所述待访问虚拟机标识之间的对应关系,并根据所述对应关系生成映射配置文件。

可以理解的是,在生成目标虚拟机密钥后,还可加密存储该目标虚拟机密钥,以进一步提高虚拟机内用户数据的安全性。至于加密存储的存储方式具体为,可先建立主空闲索引与待访问虚拟机标识之间的对应关系。

步骤s303:获取所述主节点的主节点标识。

应当理解的是,主节点标识用于唯一地标记该主节点。

步骤s304:通过与所述主节点标识对应的主映射密钥对所述映射配置文件进行加密,并将加密后的映射配置文件保存至所述预设主密码卡中。

可以理解的是,可基于该主节点标识生成对应的主映射密钥,主映射密钥用于加密该映射配置文件,映射配置文件中将包括有该对应关系。

应当理解的是,在加密映射配置文件后,可保存至预设主密码卡的存储空间中,以通过主节点从加密后的映射配置文件中读取目标虚拟机密钥。由于对主空闲索引进行了加密,也就提高了主空闲索引索引到的目标虚拟机密钥的安全性。

需要说明的是,此处提及的主映射密钥将与主节点标识对应,所以,为了成功解密加密后的映射配置文件然后索引到目标虚拟机密钥,将保证解密者为主节点。这是因为,第一从节点无法对主映射密钥加密后的映射配置文件进行解密,只有主节点本机可以对加密后的映射配置文件进行安全访问和修改,毕竟,主映射密钥将仅对应于主节点的节点标识。

可见,此处的主映射密钥仅对本机有效,而非预设集群内的所有节点,这大大提高了目标虚拟机密钥的安全性。

此外,步骤s304中将加密后的映射配置文件保存至所述预设主密码卡中,也可将加密后的映射配置文件保存至主节点的本地文件系统中。

进一步地,所述通过与所述主节点标识对应的主映射密钥对所述映射配置文件进行加密,并将加密后的映射配置文件保存至所述预设主密码卡中之后,所述虚拟机密钥的管理方法还包括:

在接收到与所述目标虚拟机密钥对应的密钥访问请求时,确定发起所述密钥访问请求的请求主机;

根据所述请求主机的主机标识对加密后的映射配置文件进行解密;

在所述主机标识与所述主节点标识相同时,从加密后的映射配置文件中提取所述对应关系,通过所述对应关系中的所述主空闲索引查找到所述目标虚拟机密钥,并通过所述目标虚拟机密钥访问所述待访问虚拟机。

在具体实现中,至于加密映射配置文件后的解密流程,具体为,若某一主机作为请求主机发起了密钥访问请求,鉴于加密后的映射配置文件是通过主映射密钥进行的加密操作,仅主节点可成功解密该映射配置文件从而提取出主空闲索引进而索引到待获取的密钥。但是,若请求主机并非主节点,即主机标识与主节点标识不同,则无法成功解密加密后的映射配置文件进而索引到待获取的密钥。

进一步地,至于将主节点处生成的目标虚拟机密钥分发至其他从节点的分发操作,具体为,所述在所述主空闲索引处生成或导入与所述待访问虚拟机标识对应的目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

通过预设公钥对所述目标虚拟机密钥进行加密,以获得加密密钥;

相应地,所述将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点将所述目标虚拟机密钥写入预设从密码卡中,具体包括:

将所述加密密钥分发至第一从节点,以使所述第一从节点通过预设私钥对所述加密密钥进行解密,以获得所述目标虚拟机密钥,并将所述目标虚拟机密钥写入预设从密码卡中。

可以理解的是,当主节点在预设集群内分发目标虚拟机密钥时,往往会先对分发的目标虚拟机密钥进行一次加密,此处的预设公钥为与第一从节点对应的公钥,预设私钥为与第一从节点对应的私钥。

此外,在分发加密密钥至第一从节点时,可先对所述待访问虚拟机标识、所述加密密钥以及所述主空闲索引进行打包处理,以获得打包文件,然后,将打包文件发送至第一从节点。若如此,第一从节点不仅可获得该加密密钥,第一从节点处运载的密码卡管理服务组件也可记录待访问虚拟机标识与主空闲索引。

进一步地,所述步骤s301之后,所述虚拟机密钥的管理方法还包括:

在接收到第二从节点发送的第一校验请求时,从所述第一校验请求中读取第一待校验标识,所述第二从节点处于所述预设集群中;

判断预设虚拟机标识中是否包括所述第一待校验标识;

在不包括所述第一待校验标识时,生成标识删除指令,将所述标识删除指令发送至所述第二从节点,以使所述第二从节点删除所述第一待校验标识以及与所述第一待校验标识对应的第一待校验虚拟机密钥。

可以理解的是,预设集群中包括有多个节点,集群中的每个节点上均插设有一张密码卡。比如,该预设集群还可包括有第二从节点。主节点作为预设集群中选举出的仲裁节点,主节点可将目标虚拟机密钥分发至预设集群中的其他节点。

当然,主节点除了具备分发密钥的功能外,还将设置有针对密钥的一致性校验机制。

应当理解的是,就一致性校验机制而言,当主节点正常分发密钥之后,预设集群中的各个节点上都将具备有相同的密钥,但是真实场景下可能存在着故障。为了降低故障带来的风险性,将校验主节点与其他节点上的密钥是否一致。

在具体实现中,若主节点的预设主密码卡上存储有密钥a1与密钥a2,第二从节点上存储有密钥a3,预设虚拟机标识为主节点上的全部虚拟机标识,第一待校验标识为第二节点上的虚拟机标识,可见,预设虚拟机标识上没有密钥a3对应的虚拟机标识,则可在从节点上删除掉该密钥a3。

进一步地,所述步骤s301之后,所述虚拟机密钥的管理方法还包括:

在接收到第三从节点发送的第二校验请求时,从所述第二校验请求中读取第二待校验标识,所述第三从节点处于所述预设集群中;

将所述第二待校验标识与预设虚拟机标识进行匹配;

在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识;

将所述待同步标识对应的待同步密钥发送至所述第三从节点,以使所述第三从节点保存所述待同步密钥。

在具体实现中,该预设集群还可包括有第三从节点,若主节点的预设主密码卡上存储有密钥b1与密钥b2,第三从节点上存储有密钥b1,第二待校验标识为第三节点上的虚拟机标识,可见,第三从节点上没有密钥b2对应的虚拟机标识。故而,在匹配失败时,匹配失败的虚拟机标识即为密钥b2对应的虚拟机标识。通过将密钥b2发送至第三节点,可以同步主节点与从节点之间的密钥数据。

可见,通过该一致性校验流程以及后续的密钥同步流程,使得当一个节点的密钥丢失或者密码卡损坏后,可通过其他节点恢复该主机下的虚拟机密钥,以保障该节点内的资源仍然可用,也就保证了数据的可恢复性。

进一步地,在进行一致性校验时,还可传输主空闲索引。在存在主空闲索引的情况下,判断主空闲索引对应的存储区域中是否真的存储有虚拟机密钥,若无,则同步该虚拟机密钥。

此外,在一致性校验传输第一校验请求或者第二校验请求,可预先对校验请求中含有的待校验信息进行加密,以提高安全性。

进一步地,所述在接收到第三从节点发送的第二校验请求时,从所述第二校验请求中读取第二待校验标识,具体包括:

在接收到第三从节点发送的加密后的第二校验请求时,通过与所述主节点对应的私钥对所述加密后的第二校验请求进行解密,以获得第二校验请求;

从所述第二校验请求中读取第二待校验标识。

在具体实现中,第三从节点可通过主节点的公钥对第二校验请求进行加密,然后,发送加密后的第二校验请求;主节点在接收到第三从节点发送的加密后的第二校验请求时,通过私钥对加密后的第二校验请求进行解密,并从第二校验请求中读取第二待校验标识。至于此处提及的私钥,可采用非对称的私钥,例如,rsa私钥以及椭圆曲线密码学(ellipticcurvecryptography,ecc)加密私钥等。

进一步地,主节点作为预设集群中选举出的仲裁节点,主节点可将目标虚拟机密钥分发至预设集群中的其他节点,而当主节点异常,比如,主节点上的预设主密码卡损坏时,可重新选举一个新的仲裁节点。

可以理解的是,若将第一从节点作为新的仲裁节点,可先保证第一从节点中的预设从密码卡访问正常,并且,在第一从节点的本地文件系统或者第一从节点中的预设从密码卡中存储有所有虚拟机对应的虚拟机密钥,包括待访问虚拟机对应的目标虚拟机密钥。

当然,预设从密码卡的空闲索引处存储该虚拟机密钥后,可建立该预设从密码卡的空闲索引与虚拟机标识之间的对应关系,并根据该对应关系生成第一从节点处的映射配置文件。

本实施例中将额外设置有另一类型的密钥即主映射密钥,主映射密钥仅对预设集群中的主节点有效,通过主映射密钥加密映射配置文件提高了主空闲索引索引到的目标虚拟机密钥的安全性。此外,本实施例还给出了一种一致性校验机制,该一致性校验机制不仅可以判断主节点上是否存在着从节点上没有的密钥,还可检查从节点上是否存在着主节点上没有的密钥。

参照图5,图5为本发明实施例虚拟机密钥的管理方法的流程示意图,基于上述图3所示的实施例,提出本发明虚拟机密钥的管理方法的另一实施例。

在本实施例中,所述步骤s202之后,所述虚拟机密钥的管理方法还包括:

步骤s305:在接收到密码卡插入请求时,根据所述密码卡插入请求确定插入所述主节点的待校验密码卡。

可以理解的是,主节点上存在虚拟机密钥后,在后期的使用过程中,拔出了插设于主节点上的预设主密码卡,若仍欲得到预设主密码卡内存储的虚拟机密钥,不在主节点插回预设主密码卡将无法获取到欲获得的虚拟机密钥,这就要求了节点与密码卡之间的硬件绑定。

在具体实现中,若主节点上被新插入了一张待校验密码卡,则将产生密码卡插入请求。

步骤s306:根据所述待校验密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成待校验访问口令。

应当理解的是,将根据这个新插入的密码卡的硬件信息与被插入的主节点的硬件信息去生成待校验访问口令。其中,密码卡硬件信息包括密码卡序列号,节点硬件信息包括主板序列号、处理器序列号以及磁盘序列号。

步骤s307:通过预设密码卡访问口令对所述待校验访问口令进行校验。

可以理解的是,预设密码卡访问口令为预先设置的预设主密码卡与主节点之间的绑定信息,换言之,通过预设密码卡访问口令进行校验时,将判断是否为预设主密码卡被插入了主节点中。若被插入的节点非主节点,或者,插入的密码卡非预设主密码卡,均将校验失败。

步骤s308:在校验成功时,登录所述预设主密码卡,并对所述预设主密码卡内的所述目标虚拟机密钥进行管理。

需要说明的是,在校验成功时,才可成功登录该待校验密码卡即预设主密码卡,可读取并管理预设主密码卡内的密码卡数据,比如,虚拟机标识、索引区域以及虚拟机密钥等。

进一步地,所述步骤s307之后,所述虚拟机密钥的管理方法还包括:

在校验成功时,登录所述预设主密码卡,并读取所述预设主密码卡内的所述目标虚拟机密钥;

通过所述目标虚拟机密钥对所述待访问虚拟机内的用户数据进行访问。

在具体实现中,在正常访问虚拟机时,也将进行口令校验操作。在校验成功后,可获得到对应的虚拟机密钥,则可通过该虚拟机密钥去正常访问虚拟机。

可见,通过设置口令校验操作进行登录验证,使得密码卡和物理主机的硬件特征唯一绑定,保证了在密码卡与物理主机两者均一致的情况下,虚拟机内的数据才可被正确解密访问。

此外,本实施例描述的是将预设主密码卡插入主节点后获取目标虚拟机密钥,以操作待访问虚拟机,该待访问虚拟机可记为用户a使用的虚拟机a。但是,由于本实施例时将基于集群实现的,所以,虚拟机a也可创建于第一从节点中,鉴于第一从节点中也有目标虚拟机密钥,用户a仍可正常访问虚拟机a。可见,虚拟机可在预设集群中的任意节点启动,并不限制虚拟机的创建位置,这区别于目前不基于集群的虚拟机密钥访问方案,目前大多是单节点环境下的虚拟机密钥访问方案。

进一步地,所述步骤s201之前,所述虚拟机密钥的管理方法还包括:

在接收到密码卡初始化请求时,根据所述密码卡初始化请求确定插入主节点的预设主密码卡;

根据所述预设主密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成预设密码卡访问口令,以通过所述预设密码卡访问口令检验插入所述主节点的待校验密码卡。

可以理解的是,在将预设主密码卡刚插入主节点上时,将对该预设主密码卡进行初始化。

在具体实现中,初始化操作为,将根据预设主密码卡的密码卡硬件信息与主节点的节点硬件信息生成预设密码卡访问口令,具体地,可通过预设算法来生成预设密码卡访问口令,该预设算法可自定义并保密。

本实施例中将设置一预设密码卡访问口令,通过该预设密码卡访问口令来进行密码卡的插入验证,可以保证只有特定的密码卡插在特定的物理主机上,才能够得到正确的密码卡登录口令,提高了虚拟机密钥的安全性。

此外,本发明实施例还提出一种密钥管理系统,所述密钥管理系统包括:预设主密码卡、预设从密码卡、第一从节点以及如上文所述的主节点;

所述预设主密码卡插设于所述主节点上,所述预设从密码卡插设于所述第一从节点上。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有虚拟机密钥的管理程序,所述虚拟机密钥的管理程序被处理器执行时实现如下操作:

获取待访问虚拟机的待访问虚拟机标识;

根据所述待访问虚拟机标识确定对应的目标虚拟机密钥;

将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点保存所述目标虚拟机密钥,所述主节点与所述第一从节点处于预设集群中。

进一步地,所述虚拟机密钥的管理程序被处理器执行时还实现如下操作:

在预设主密码卡的索引区域中查找主空闲索引,所述预设主密码卡插设于所述主节点上;

在所述主空闲索引处生成或导入与所述待访问虚拟机标识对应的目标虚拟机密钥;

相应地,还实现如下操作:

将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点将所述目标虚拟机密钥写入预设从密码卡中,所述预设从密码卡插设于所述第一从节点上。

进一步地,所述虚拟机密钥的管理程序被处理器执行时还实现如下操作:

建立所述主空闲索引与所述待访问虚拟机标识之间的对应关系,并根据所述对应关系生成映射配置文件;

获取所述主节点的主节点标识;

通过与所述主节点标识对应的主映射密钥对所述映射配置文件进行加密,并将加密后的映射配置文件保存至所述预设主密码卡中。

进一步地,所述虚拟机密钥的管理程序被处理器执行时还实现如下操作:

在接收到第二从节点发送的第一校验请求时,从所述第一校验请求中读取第一待校验标识,所述第二从节点处于所述预设集群中;

判断预设虚拟机标识中是否包括所述第一待校验标识;

在不包括所述第一待校验标识时,生成标识删除指令,将所述标识删除指令发送至所述第二从节点,以使所述第二从节点删除所述第一待校验标识以及与所述第一待校验标识对应的第一待校验虚拟机密钥。

进一步地,所述虚拟机密钥的管理程序被处理器执行时还实现如下操作:

在接收到第三从节点发送的第二校验请求时,从所述第二校验请求中读取第二待校验标识,所述第三从节点处于所述预设集群中;

将所述第二待校验标识与预设虚拟机标识进行匹配;

在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识;

将所述待同步标识对应的待同步密钥发送至所述第三从节点,以使所述第三从节点保存所述待同步密钥。

进一步地,所述虚拟机密钥的管理程序被处理器执行时还实现如下操作:

在接收到第三从节点发送的加密后的第二校验请求时,通过与所述主节点对应的私钥对所述加密后的第二校验请求进行解密,以获得第二校验请求;

从所述第二校验请求中读取第二待校验标识。

进一步地,所述虚拟机密钥的管理程序被处理器执行时还实现如下操作:

在接收到密码卡插入请求时,根据所述密码卡插入请求确定插入所述主节点的待校验密码卡;

根据所述待校验密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成待校验访问口令;

通过预设密码卡访问口令对所述待校验访问口令进行校验;

在校验成功时,登录所述预设主密码卡,并对所述预设主密码卡内的所述目标虚拟机密钥进行管理。

进一步地,所述虚拟机密钥的管理程序被处理器执行时还实现如下操作:

在校验成功时,登录所述预设主密码卡,并读取所述预设主密码卡内的所述目标虚拟机密钥;

通过所述目标虚拟机密钥对所述待访问虚拟机内的用户数据进行访问。

进一步地,所述虚拟机密钥的管理程序被处理器执行时还实现如下操作:

在接收到密码卡初始化请求时,根据所述密码卡初始化请求确定插入主节点的预设主密码卡;

根据所述预设主密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成预设密码卡访问口令,以通过所述预设密码卡访问口令检验插入所述主节点的待校验密码卡。

本实施例中主节点获取待访问虚拟机的待访问虚拟机标识;根据待访问虚拟机标识确定对应的目标虚拟机密钥;将目标虚拟机密钥分发至第一从节点,以使第一从节点保存目标虚拟机密钥,主节点与第一从节点处于预设集群中。可见,由于主节点与第一从节点内均存储着目标虚拟机密钥,即使不能正常获取主节点中的目标虚拟机密钥,也可通过第一从节点中的目标虚拟机密钥去访问预设集群内的虚拟机中的用户数据,从而保证了可以稳定地保护虚拟机内用户数据的安全性,降低了虚拟机中用户数据的易失性,也就解决了虚拟机内用户数据易丢失的技术问题。

此外,参照图6,本发明实施例还提出一种虚拟机密钥的管理装置,所述虚拟机密钥的管理装置包括:

标识获取模块10,用于获取待访问虚拟机的待访问虚拟机标识。

可以理解的是,可设置一预设集群,预设集群里包括有多个节点,节点可为服务器。预设集群中至少包括有主节点与第一从节点。

需要说明的是,可在预设集群中创建一虚拟机,具体而言,可在预设集群中的主节点上创建一虚拟机。该虚拟机可记为待访问虚拟机,将为用户提供服务,故而,虚拟机将产生用户数据。为了保护虚拟机中的用户数据,可设置虚拟机密钥来限制对于该虚拟机的访问,仅在拥有该虚拟机密钥时才可正常访问该虚拟机。

应当理解的是,至于该虚拟机密钥的生成方式,具体为,该虚拟机密钥将随机生成,不依赖人为去记忆密码,也无需便携式携带设备去记录密码,此处的便携式携带设备例如为usbkey。

在具体实现中,比如,为了生成可成功访问到待访问虚拟机的目标虚拟机密钥,可先获取该待访问虚拟机的待访问虚拟机标识,虚拟机标识用于唯一地标记某个虚拟机。

密钥确定模块20,用于根据所述待访问虚拟机标识确定对应的目标虚拟机密钥。

可以理解的是,目标虚拟机密钥为可成功访问待访问虚拟机的虚拟机密钥。

密钥同步模块30,用于将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点保存所述目标虚拟机密钥,所述主节点与所述第一从节点处于预设集群中。

需要说明的是,在正常访问待访问虚拟机内的用户数据时,将先获取目标虚拟机密钥,再通过目标虚拟机密钥对待访问虚拟机进行访问,这保障了数据的安全性。

可以理解的是,还可将该目标虚拟机密钥同步到第一从节点中,通过将目标虚拟机密钥同时存在于多处,当主节点不能正常获取该目标虚拟机密钥时,仍然可以通过别的节点处的目标虚拟机秘钥访问到该待访问虚拟机。

本实施例中获取待访问虚拟机的待访问虚拟机标识;根据待访问虚拟机标识确定对应的目标虚拟机密钥;将目标虚拟机密钥分发至第一从节点,以使第一从节点保存目标虚拟机密钥,主节点与第一从节点处于预设集群中。可见,由于主节点与第一从节点内均存储着目标虚拟机密钥,即使不能正常获取主节点中的目标虚拟机密钥,也可通过第一从节点中的目标虚拟机密钥去访问预设集群内的虚拟机中的用户数据,从而保证了可以稳定地保护虚拟机内用户数据的安全性,降低了虚拟机中用户数据的易失性,也就解决了虚拟机内用户数据易丢失的技术问题。

在一实施例中,所述密钥确定模块20,还用于在预设主密码卡的索引区域中查找主空闲索引,所述预设主密码卡插设于所述主节点上;在所述主空闲索引处生成或导入与所述待访问虚拟机标识对应的目标虚拟机密钥;

所述密钥同步模块30,还用于将所述目标虚拟机密钥分发至第一从节点,以使所述第一从节点将所述目标虚拟机密钥写入预设从密码卡中,所述预设从密码卡插设于所述第一从节点上。

在一实施例中,所述虚拟机密钥的管理装置还包括:

关系保存模块,用于建立所述主空闲索引与所述待访问虚拟机标识之间的对应关系,并根据所述对应关系生成映射配置文件;获取所述主节点的主节点标识;通过与所述主节点标识对应的主映射密钥对所述映射配置文件进行加密,并将加密后的映射配置文件保存至所述预设主密码卡中。

在一实施例中,所述虚拟机密钥的管理装置还包括:

第一校验模块,用于在接收到第二从节点发送的第一校验请求时,从所述第一校验请求中读取第一待校验标识,所述第二从节点处于所述预设集群中;判断预设虚拟机标识中是否包括所述第一待校验标识;在不包括所述第一待校验标识时,生成标识删除指令,将所述标识删除指令发送至所述第二从节点,以使所述第二从节点删除所述第一待校验标识以及与所述第一待校验标识对应的第一待校验虚拟机密钥。

在一实施例中,所述虚拟机密钥的管理装置还包括:

第二校验模块,用于在接收到第三从节点发送的第二校验请求时,从所述第二校验请求中读取第二待校验标识,所述第三从节点处于所述预设集群中;将所述第二待校验标识与预设虚拟机标识进行匹配;在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识;将所述待同步标识对应的待同步密钥发送至所述第三从节点,以使所述第三从节点保存所述待同步密钥。

在一实施例中,所述第二校验模块,还用于在接收到第三从节点发送的加密后的第二校验请求时,通过与所述主节点对应的私钥对所述加密后的第二校验请求进行解密,以获得第二校验请求;从所述第二校验请求中读取第二待校验标识。

在一实施例中,所述虚拟机密钥的管理装置还包括:

口令校验模块,用于在接收到密码卡插入请求时,根据所述密码卡插入请求确定插入所述主节点的待校验密码卡;根据所述待校验密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成待校验访问口令;通过预设密码卡访问口令对所述待校验访问口令进行校验;在校验成功时,登录所述预设主密码卡,并对所述预设主密码卡内的所述目标虚拟机密钥进行管理。

在一实施例中,所述虚拟机密钥的管理装置还包括:

数据访问模块,用于在校验成功时,登录所述预设主密码卡,并读取所述预设主密码卡内的所述目标虚拟机密钥;通过所述目标虚拟机密钥对所述待访问虚拟机内的用户数据进行访问。

在一实施例中,所述虚拟机密钥的管理装置还包括:

密码卡初始化模块,用于在接收到密码卡初始化请求时,根据所述密码卡初始化请求确定插入主节点的预设主密码卡;根据所述预设主密码卡的密码卡硬件信息与所述主节点的节点硬件信息生成预设密码卡访问口令,以通过所述预设密码卡访问口令检验插入所述主节点的待校验密码卡。

本发明所述虚拟机密钥的管理装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

参照图7,图7为本发明实施例虚拟机密钥的管理方法的流程示意图。

在本实施例中,所述虚拟机密钥的管理方法包括以下步骤:

步骤s01:在接收到主节点发送的目标虚拟机密钥时,在预设从密码卡的索引区域中查找从空闲索引,所述预设从密码卡插设于所述从节点上,所述主节点与所述从节点处于预设集群中。

可以理解的是,可设置一预设集群,预设集群里包括有多个节点,节点可为服务器。预设集群中至少包括有主节点与从节点,而且,本实施例的执行主体为从节点。该从节点可为第一从节点、第二从节点或者第三从节点。

需要说明的是,可在预设集群中创建一虚拟机,具体而言,可在预设集群中的主节点上创建一虚拟机。该虚拟机可记为待访问虚拟机,将为用户提供服务,故而,虚拟机将产生用户数据。为了保护虚拟机中的用户数据,可设置虚拟机密钥来限制对于该虚拟机的访问,仅在拥有该虚拟机密钥时才可正常访问该虚拟机。

应当理解的是,至于该虚拟机密钥的生成方式,具体为,该虚拟机密钥将随机生成,不依赖人为去记忆密码,也无需便携式携带设备去记录密码,此处的便携式携带设备例如为usbkey。

在具体实现中,比如,为了生成可成功访问到待访问虚拟机的目标虚拟机密钥,可先获取该待访问虚拟机的待访问虚拟机标识,虚拟机标识用于唯一地标记某个虚拟机。

可以理解的是,目标虚拟机密钥为可成功访问待访问虚拟机的虚拟机密钥。

需要说明的是,在正常访问待访问虚拟机内的用户数据时,将先获取目标虚拟机密钥,再通过目标虚拟机密钥对待访问虚拟机进行访问,这保障了数据的安全性。

在具体实现中,主节点可先生成目标虚拟机密钥,然后,将目标虚拟机密钥同步至从节点处。明显地,通过将目标虚拟机密钥同时存在于多处,当主节点不能正常获取该目标虚拟机密钥时,仍然可以通过从节点处的目标虚拟机秘钥访问到该待访问虚拟机。

应当理解的是,本实施例中还额外引入了密码卡这一硬件设备,密码卡与usbkey存在着诸多差异,比如,密码卡内原本并不存在虚拟机密钥。并且,主节点上将被插入预设主密码卡,从节点上将被插入预设从密码卡。至于预设主密码卡与预设从密码卡的插入方式,可通过外设部件互连标准(peripheralcomponentinterconnect,pci)接口或者高速串行计算机扩展总线标准(peripheralcomponentinterconnectexpress,pcie)接口插入。

步骤s02:在所述从空闲索引处导入所述目标虚拟机密钥,所述目标虚拟机密钥由待访问虚拟机标识确定,所述待访问虚拟机标识为待访问虚拟机的虚拟机标识。

应当理解的是,为了导入目标虚拟机密钥,从节点将在插入的预设从密码卡上查找空闲着的索引区域,即从空闲索引,并在该空闲的索引对应的存储区域处导入该虚拟机密钥,该虚拟机密钥将为可成功访问待访问虚拟机的目标虚拟机密钥。可见,目标虚拟机密钥将被存储于预设从密码卡上。

本实施例中从节点在接收到主节点发送的目标虚拟机密钥时,在预设从密码卡的索引区域中查找从空闲索引,所述预设从密码卡插设于所述从节点上,所述主节点与所述从节点处于预设集群中;在所述从空闲索引处导入所述目标虚拟机密钥,所述目标虚拟机密钥由待访问虚拟机标识确定,所述待访问虚拟机标识为待访问虚拟机的虚拟机标识。可见,由于主节点与从节点内均存储着目标虚拟机密钥,即使不能正常获取主节点中的目标虚拟机密钥,也可通过从节点中的目标虚拟机密钥去访问预设集群内的虚拟机中的用户数据,从而保证了可以稳定地保护虚拟机内用户数据的安全性,降低了虚拟机中用户数据的易失性,也就解决了虚拟机内用户数据易丢失的技术问题。

参照图8,图8为本发明实施例虚拟机密钥的管理方法的流程示意图,基于上述图7,提出本发明虚拟机密钥的管理方法的另一实施例。

在本实施例中,步骤s02之后,所述虚拟机密钥的管理方法还包括:

步骤s03:建立所述从空闲索引与所述待访问虚拟机标识之间的对应关系,并根据所述对应关系生成映射配置文件。

可以理解的是,在生成目标虚拟机密钥后,还可加密存储该目标虚拟机密钥,以进一步提高虚拟机内用户数据的安全性。至于加密存储的存储方式具体为,可先建立从空闲索引与待访问虚拟机标识之间的对应关系。

步骤s04:获取所述从节点的从节点标识。

应当理解的是,从节点标识用于唯一地标记该从节点。

步骤s05:通过与所述从节点标识对应的从映射密钥对所述映射配置文件进行加密,并将加密后的映射配置文件保存至所述预设从密码卡中。

可以理解的是,可基于该从节点标识生成对应的从映射密钥,从映射密钥用于加密该映射配置文件,映射配置文件中将包括有该对应关系。

应当理解的是,在加密映射配置文件后,可保存至预设从密码卡的存储空间中,以通过从节点从加密后的映射配置文件中读取目标虚拟机密钥。由于对从空闲索引进行了加密,也就提高了从空闲索引索引到的目标虚拟机密钥的安全性。

需要说明的是,此处提及的从映射密钥将与从节点标识对应,所以,为了成功解密加密后的映射配置文件然后索引到目标虚拟机密钥,将保证解密者为从节点。这是因为,主节点或者其他的从节点无法对从映射密钥加密后的映射配置文件进行解密,只有当前的这个从节点可以对加密后的映射配置文件进行安全访问和修改,毕竟,从映射密钥将仅对应于当前的从节点的节点标识。

可见,此处的从映射密钥仅对本机有效,而非预设集群内的所有节点,这大大提高了目标虚拟机密钥的安全性。

此外,步骤s05中将加密后的映射配置文件保存至所述预设从密码卡中,也可将加密后的映射配置文件保存至从节点的本地文件系统中。

进一步地,步骤s02之后,所述虚拟机密钥的管理方法还包括:

获取第一待校验标识;

根据所述第一待校验标识生成第一校验请求,将所述第一校验请求发送至所述主节点,以使所述主节点从所述第一校验请求中读取所述第一待校验标识,判断预设虚拟机标识中是否包括所述第一待校验标识,在不包括所述第一待校验标识时,生成标识删除指令,将所述标识删除指令发送至所述从节点;

在接收到所述标识删除指令时,删除所述第一待校验标识以及与所述第一待校验标识对应的第一待校验虚拟机密钥。

可以理解的是,预设集群中包括有多个节点,集群中的每个节点上均插设有一张密码卡。主节点作为预设集群中选举出的仲裁节点,主节点可将目标虚拟机密钥分发至预设集群中的其他从节点。

应当理解的是,还可额外设置针对密钥的一致性校验机制,就一致性校验机制而言,当主节点正常分发密钥之后,预设集群中的各个节点上都将具备有相同的密钥,但是真实场景下可能存在着故障。为了降低故障带来的风险性,将校验主节点与其他节点上的密钥是否一致。

在具体实现中,若主节点的预设主密码卡上存储有密钥a1与密钥a2,从节点上存储有密钥a3,预设虚拟机标识为主节点上的全部虚拟机标识,第一待校验标识为从节点上的虚拟机标识,可见,预设虚拟机标识上没有密钥a3对应的虚拟机标识,则可在从节点上删除掉该密钥a3。

进一步地,所述在所述从空闲索引处导入所述目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

获取第二待校验标识;

根据所述第二待校验标识生成第二校验请求,将所述第二校验请求发送至所述主节点,以使所述主节点从所述第二校验请求中读取所述第二待校验标识,将所述第二待校验标识与预设虚拟机标识进行匹配,在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识,将所述待同步标识对应的待同步密钥发送至所述从节点;

保存所述待同步密钥。

在具体实现中,若主节点的预设主密码卡上存储有密钥b1与密钥b2,从节点上存储有密钥b1,第二待校验标识为从节点上的虚拟机标识,可见,从节点上没有密钥b2对应的虚拟机标识。故而,在匹配失败时,匹配失败的虚拟机标识即为密钥b2对应的虚拟机标识。通过将密钥b2发送至从节点,可以同步主节点与从节点之间的密钥数据。

可见,通过该一致性校验流程以及后续的密钥同步流程,使得当一个节点的密钥丢失或者密码卡损坏后,可通过其他节点恢复该主机下的虚拟机密钥,以保障该节点内的资源仍然可用,也就保证了数据的可恢复性。

进一步地,所述根据所述第二待校验标识生成第二校验请求,将所述第二校验请求发送至所述主节点,以使所述主节点从所述第二校验请求中读取所述第二待校验标识,将所述第二待校验标识与预设虚拟机标识进行匹配,在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识,将所述待同步标识对应的待同步密钥发送至所述从节点,具体包括:

根据所述第二待校验标识生成第二校验请求;

根据所述主节点对应的公钥对所述第二校验请求进行加密,以获得加密后的第二校验请求;

将加密后的第二校验请求发送至所述主节点,以使所述主节点通过与所述主节点对应的私钥对加密后的第二校验请求进行解密,获得所述第二待校验标识,将所述第二待校验标识与预设虚拟机标识进行匹配,在匹配失败时,将所述预设虚拟机标识中匹配失败的虚拟机标识作为待同步标识,将所述待同步标识对应的待同步密钥发送至所述从节点。

在具体实现中,从节点可通过主节点的公钥对第二校验请求进行加密,然后,发送加密后的第二校验请求;主节点在接收到从节点发送的加密后的第二校验请求时,通过私钥对加密后的第二校验请求进行解密,并从第二校验请求中读取第二待校验标识。至于此处提及的私钥,可采用非对称的私钥,例如,rsa私钥以及椭圆曲线密码学(ellipticcurvecryptography,ecc)加密私钥等。

进一步地,所述在所述从空闲索引处导入所述目标虚拟机密钥之后,所述虚拟机密钥的管理方法还包括:

在接收到密码卡插入请求时,根据所述密码卡插入请求确定插入所述从节点的待校验密码卡;

根据所述待校验密码卡的密码卡硬件信息与所述从节点的节点硬件信息生成待校验访问口令;

通过预设密码卡访问口令对所述待校验访问口令进行校验;

在校验成功时,登录所述预设从密码卡,并对所述预设从密码卡内的所述目标虚拟机密钥进行管理。

可以理解的是,从节点上存在虚拟机密钥后,在后期的使用过程中,拔出了插设于从节点上的预设从密码卡,若仍欲得到预设从密码卡内存储的虚拟机密钥,不在从节点插回预设从密码卡将无法获取到欲获得的虚拟机密钥,这就要求了节点与密码卡之间的硬件绑定。

在具体实现中,若从节点上被新插入了一张待校验密码卡,则将产生密码卡插入请求。

应当理解的是,将根据这个新插入的密码卡的硬件信息与被插入的从节点的硬件信息去生成待校验访问口令。其中,密码卡硬件信息包括密码卡序列号,节点硬件信息包括主板序列号、处理器序列号以及磁盘序列号。

需要说明的是,在校验成功时,才可成功登录该待校验密码卡即预设从密码卡,可读取并管理预设从密码卡内的密码卡数据,比如,虚拟机标识、索引区域以及虚拟机密钥等。

进一步地,所述通过预设密码卡访问口令对所述待校验访问口令进行校验之后,所述虚拟机密钥的管理方法还包括:

在校验成功时,登录所述预设从密码卡,并读取所述预设从密码卡内的所述目标虚拟机密钥;

通过所述目标虚拟机密钥对所述待访问虚拟机内的用户数据进行访问。

在具体实现中,在正常访问虚拟机时,也将进行口令校验操作。在校验成功后,可获得到对应的虚拟机密钥,则可通过该虚拟机密钥去正常访问虚拟机。

可见,通过设置口令校验操作进行登录验证,使得密码卡和物理主机的硬件特征唯一绑定,保证了在密码卡与物理主机两者均一致的情况下,虚拟机内的数据才可被正确解密访问。

此外,本实施例描述的是将预设从密码卡插入从节点后获取目标虚拟机密钥,以操作待访问虚拟机,该待访问虚拟机可记为用户a使用的虚拟机a。但是,由于本实施例时将基于集群实现的,所以,虚拟机a也可创建于主节点中,鉴于主节点中也有目标虚拟机密钥,用户a仍可正常访问虚拟机a。可见,虚拟机可在预设集群中的任意节点启动,并不限制虚拟机的创建位置,这区别于目前不基于集群的虚拟机密钥访问方案,目前大多是单节点环境下的虚拟机密钥访问方案。

进一步地,所述在接收到主节点发送的目标虚拟机密钥时,在预设从密码卡的索引区域中查找从空闲索引之后,所述虚拟机密钥的管理方法还包括:

在接收到密码卡初始化请求时,根据所述密码卡初始化请求确定插入所述从节点的预设从密码卡;

根据所述预设从密码卡的密码卡硬件信息与所述从节点的节点硬件信息生成预设密码卡访问口令,以通过所述预设密码卡访问口令检验插入所述从节点的待校验密码卡。

可以理解的是,在将预设从密码卡刚插入从节点上时,将对该预设从密码卡进行初始化。

在具体实现中,初始化操作为,将根据预设从密码卡的密码卡硬件信息与从节点的节点硬件信息生成预设密码卡访问口令,具体地,可通过预设算法来生成预设密码卡访问口令,该预设算法可自定义并保密。

本实施例中将设置一预设密码卡访问口令,通过该预设密码卡访问口令来进行密码卡的插入验证,可以保证只有特定的密码卡插在特定的物理主机上,才能够得到正确的密码卡登录口令,提高了虚拟机密钥的安全性。

此外,本发明实施例还提出一种从节点,所述从节点包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行虚拟机密钥的管理程序,所述虚拟机密钥的管理程序被所述处理器执行时实现如上文所述的虚拟机密钥的管理方法的步骤。

此外,本发明实施例还提出一种存储介质,其特征在于,所述存储介质上存储有虚拟机密钥的管理程序,所述虚拟机密钥的管理程序被处理器执行时实现如上文所述的虚拟机密钥的管理方法的步骤。

此外,参照图9,本发明实施例还提出一种虚拟机密钥的管理装置,所述虚拟机密钥的管理装置包括:

密钥获取模块01,用于在接收到主节点发送的目标虚拟机密钥时,在预设从密码卡的索引区域中查找从空闲索引,所述预设从密码卡插设于所述从节点上,所述主节点与所述从节点处于预设集群中。

密钥保存模块02,用于在所述从空闲索引处导入所述目标虚拟机密钥,所述目标虚拟机密钥由待访问虚拟机标识确定,所述待访问虚拟机标识为待访问虚拟机的虚拟机标识。

本发明所述虚拟机密钥的管理装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器、ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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