发明内容
本发明要解决的技术问题是提供一种虚拟机加密方法、解密方法及加解密控制系统,确保用户访问虚拟机的安全性。
本发明采用如下技术手段实现发明目的:
一种虚拟机加密方法,其特征在于,包括如下步骤:
(1)用户通过客户端(260)向虚拟机管理子系统(270)请求创建加密的虚拟机磁盘文件;
(2)虚拟机管理子系统(270)将用户的Ukey证书信息以及创建加密虚拟机磁盘文件的请求发送给密钥和策略管理子系统(280),由密钥和策略管理子系统(280)对用户执行身份认证,密钥和策略管理子系统(280)与用户注册Ukey的证书管理子系统保持用户证书信息的同步一致;
(3)认证成功后,密钥和策略管理子系统(280)把用户通过认证的消息发送给虚拟机管理子系统(270);
(4)虚拟机管理子系统(270)为用户分配虚拟机资源,并把虚拟机资源配置请求发送给对应的虚拟机监控子系统(290)的策略执行模块(292),为新生成的虚拟机分配设备资源,虚拟机资源配置请求信息里包含用户的个人信息和Ukey证书信息;
(5)策略执行模块(292)创建新的虚拟机磁盘文件,并为该虚拟机磁盘文件分配虚拟机文件标识VMFID;
(6)策略执行模块(292)向密钥和策略管理子系统(280)请求加密该虚拟机磁盘文件所用的对称加密密钥,该请求消息中包含了用户信息、Ukey证书信息和虚拟机文件标识VMFID,主要为后续密钥和策略管理子系统(280)能够建立密钥索引关系;
(7)密钥和策略管理子系统(280)收到策略执行模块(292)请求对称加密密钥的消息后,首先发起对该策略执行模块(292)执行身份认证,保证后续只有授权的策略执行模块(292)可以解密经过加密的虚拟机磁盘文件;
(8)策略执行模块(292)使用该策略执行模块自身的标识提前在密钥和策略管理子系统(280)进行注册,这个注册过程在虚拟机监控子系统(290)上安装策略执行模块(292)时进行;
(9)策略执行模块(292)的认证通过后,密钥和策略管理子系统(280)为新创建的虚拟机文件产生对称加密密钥并发送给策略执行模块(292);
(10)策略执行模块(292)将收到的对称加密密钥传递给文件加解密引擎(294),文件加解密引擎(294)使用该对称加密密钥加密所述虚拟机磁盘文件;
(11)文件加解密引擎(294)将加密后的虚拟机文件传递给策略执行模块(292),策略执行模块(292)把加密后的虚拟机磁盘文件放到存储设备进行存储;
(12)密钥和策略管理子系统(280)与策略执行模块(292)进行密钥和访问策略同步过程;
一种虚拟机解密方法,其特征在于,包括如下步骤:
(1)用户通过客户端(260)将虚拟机磁盘文件的访问请求发送给虚拟机管理子系统(270),或者用户通过在客户端(260)上插入Ukey请求访问虚拟机磁盘文件,客户端(260)把虚拟机磁盘文件的访问请求发送给虚拟机管理子系统(270),该请求消息中包含了访问的虚拟机磁盘文件的标识VMFID以及用户的Ukey证书信息;
(2)虚拟机管理子系统(270)向密钥和策略管理子系统(280)发送认证请求消息,请求密钥和策略管理子系统(280)对用户执行身份认证,其中包含了访问的虚拟机磁盘文件的标识VMFID和用户的Ukey证书信息;
(3)密钥和策略管理子系统(280)与客户端(260)执行用户身份认证过程;
(4)认证成功后密钥和策略管理子系统(280)将认证成功消息返回给虚拟机管理子系统(270);
(5)虚拟机管理子系统(270)收到密钥和策略管理子系统(280)发来的用户身份认证成功消息后,将打开虚拟机磁盘文件的指令发送给虚拟机监控子系统(290)里的策略执行模块(292),该文件打开指令里至少包含了用户所要访问的虚拟机磁盘文件的标识VMFID;
(6)策略执行模块(292)根据VMFID来查询所访问的虚拟机磁盘文件的访问策略,如果本地没有缓存该虚拟机磁盘文件的访问策略和对称加密密钥,策略执行模块就向密钥和策略管理子系统(280)请求该虚拟机磁盘文件的策略信息以及对称加密密钥,该消息中至少包含用户所要访问的虚拟机磁盘文件的标识VMFID,如果本地缓存了该虚拟机磁盘文件的访问策略和对称加密密钥,就直接执行步骤(9);
(7)密钥和策略管理子系统(280)收到策略执行模块(292)请求对称加密密钥的消息后,首先发起对该策略执行模块(292)执行身份认证,保证只有授权的策略执行模块(292)可以解密经过加密的虚拟机磁盘文件;
(8)策略执行模块(292)的认证成功后,密钥和策略管理子系统(280)根据用户所要访问的虚拟机磁盘文件的标识VMFID来查询访问策略,判断对应的虚拟机磁盘文件是否能被所述策略执行模块(292)访问,如果可以访问,密钥和策略管理子系统(280)将该虚拟机磁盘文件的对称密钥检索出来,发送给虚拟机监控子系统(290)里的策略执行模块(292);
(9)策略执行模块(292)将收到的对称密钥传递给文件加解密引擎(294),文件加解密引擎(294)使用该对称密钥解密虚拟机磁盘文件;
(10)文件加解密引擎(294)将加密后的虚拟机文件传递给策略执行模块(292);
(11)虚拟机监控子系统(290)启动加密的虚拟机磁盘文件为用户提供虚拟机运行环境。
一种虚拟机加解密控制系统,其特征在,包括:
客户端信息输入子系统: 用户使用客户端操作虚拟机的信息输入接口,客户端信息输入子系统接收用户从鼠标键盘输入的操作指令并发送给虚拟机管理子系统和虚拟机执行对应操作指令的动作。
虚拟机管理子系统:主要提供虚拟机的集中管理,为用户合理配置虚拟机资源,同时作为客户端与密钥和策略管理子系统通信的转发设备;
密钥和策略管理子系统:负责对用户的身份认证,同时还根据虚拟机监控器中的策略执行模块的标识对策略执行模块执行认证,以确保只有合法的策略执行模块能够加解密虚拟机文件;
虚拟机加密子系统:运行于虚拟机监控器,为虚拟机提供接口并管理真实的计算资源。
作为对本技术方案的进一步限定,所述虚拟机加密子系统包括
策略执行模块:运行于虚拟机监控器(290)里,负责保存并同步密钥和策略管理子系统子(280)上的对称密钥和文件存储的访问策略信息,同时还提供对称密钥给文件加解密引擎(294)并决定加密后的虚拟机磁盘文件的存储位置;
文件加密引擎:也运行在虚拟机监控器(290)里,主要接收策略执行模块292传递来的对称密钥,对虚拟机磁盘文件执行加解密操作。
作为对本技术方案的进一步限定,所述客户端信息输入子系统运行于客户端。
作为对本技术方案的进一步限定,所述虚拟机加密子系统的信息存储于存储设备。
作为对本技术方案的进一步限定,所述密钥和策略管理子系统的信息存储于密钥和策略存储池。
作为对本技术方案的进一步限定,所述虚拟机加密子系统运行于虚拟机监控器。所述虚拟机加密子系统的信息存储于存储设备。
作为对本技术方案的进一步限定,所述密钥和策略管理子系统的信息存储于密钥和策略存储池。
作为对本技术方案的进一步限定,所述虚拟机加密子系统运行于虚拟机监控器。
与现有技术相比,本发明的优点和积极效果是:本发明对虚拟机进行集中管理,所以可以根据不同的用户需求将虚拟机按组进行管理,例如使用相同的加密和访问控制策略、存储在同一存储池里、运行在同一台物理服务器上等。当虚拟机迁移到其他物理服务器上,也可以通过在虚拟机管理子系统进行访问控制策略的配置,授权其他策略执行模块获取对称密钥解密并访问虚拟机磁盘文件。本发明为用户使用虚拟机提供安全透明的数据加解密,并提供完善的身份认证机制确保用户访问虚拟机的安全性。
具体实施方式
下面结合附图和优选实施例对本发明作更进一步的详细描述。
参见图1-图3,本发明实施例提供了一种虚拟机加解密及访问控制的系统与方法,用于对用户的虚拟机磁盘数据进行安全保护。为使本发明实施例的目的、技术方案和优点更加清楚易懂,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
图1是本发明的原理方框图,该系统至少包括:客户端信息输入子系统 、虚拟机管理子系统270、密钥和策略管理子系统280和虚拟机加密子系统、客户端信息输入子系统设置于客户端260上运行,虚拟机加密子系统设置于虚拟机监控器290里运行,虚拟机加密子系统包括策略执行模块292和文件加密引擎294。
客户端260是用户用于登录虚拟机的用户终端设备,可以是普通的PC机也可以是云终端设备,能够提供用户使用Ukey登录虚拟机的接口。客户端信息输入子系统用户作为使用客户端操作虚拟机的信息输入接口,客户端信息输入子系统接收用户从鼠标键盘输入的操作指令并发送给虚拟机管理子系统和虚拟机执行对应操作指令的动作。
虚拟机管理子系统270主要提供虚拟机的集中管理,为用户合理配置虚拟机资源,同时作为客户端与密钥和策略管理子系统通信的转发设备。
密钥和策略管理子系统280负责对用户的身份认证,同时还根据虚拟机监控器中的策略执行模块的标识对策略执行模块执行认证,以确保只有合法的策略执行模块能够加解密虚拟机文件。
虚拟机监控器290负责运行于其上的虚拟机加密子系统的管理,为虚拟机提供接口并管理真实的计算资源。
策略执行模块292运行于虚拟机监控器290里,负责保存并同步密钥和策略管理子系统280上的对称密钥和文件存储的访问策略信息,同时还提供对称密钥给文件加解密引擎294并决定加密后的虚拟机磁盘文件的存储位置。
文件加密引擎294也运行在虚拟机监控器290里,主要接收策略执行模块292传递来的对称密钥,对虚拟机磁盘文件执行加解密操作。
所述客户端信息输入子系统运行于客户端,所述虚拟机加密子系统的信息存储于存储设备,所述密钥和策略管理子系统的信息存储于密钥和策略存储池,所述虚拟机加密子系统运行于虚拟机监控器。所述虚拟机加密子系统的信息存储于存储设备,所述密钥和策略管理子系统的信息存储于密钥和策略存储池,所述虚拟机加密子系统运行于虚拟机监控器。
本发明实施例中,用户可以从证书管理系统获得Ukey,Ukey里存储了用户的个人信息或数字证书。一个用户Ukey可以对应该用户的至少一个虚拟机磁盘文件。用户通过客户端260和Ukey登录虚拟机管理子系统270执行证书认证过程,用户身份认证通过后,虚拟机管理子系统270为用户分配虚拟机资源。用户的个人信息和Ukey证书信息以及对应分配到的虚拟机磁盘文件信息都会存储在密钥和策略管理子系统280中进行管理。
每个虚拟机磁盘文件使用一个全局标识VMFID来标识,即使虚拟机重名也能在检索加密密钥的时候找到对应的虚拟机信息。如果一个用户Ukey对应多个虚拟机磁盘文件,可以使用同一个加密密钥来加密这些虚拟机磁盘文件,也可针对每个虚拟机磁盘文件使用不同的加密密钥来加密虚拟磁盘文件,具体由用户通过客户端260创建虚拟机磁盘文件时进行选择。
图2是本发明虚拟机加密方法的一个实施例的流程示意图:
(1)用户通过客户端260向虚拟机管理子系统270请求创建加密的虚拟机磁盘文件;
(2)客户端260通过虚拟机管理子系统270与密钥和策略管理子系统280执行用户身份认证过程。
优选的,虚拟机管理子系统270将用户的Ukey证书信息以及创建加密虚拟机磁盘文件的请求发送给密钥和策略管理子系统280,由密钥和策略管理子系统280对用户执行身份认证。密钥和策略管理子系统280与用户注册Ukey的证书管理系统保持用户证书信息的同步一致。
(3)认证成功后,密钥和策略管理子系统280把用户通过认证的消息发送给虚拟机管理子系统270。
(4)虚拟机管理子系统270为用户分配虚拟机资源,并把虚拟机资源配置请求发送给对应的虚拟机监控器290的策略执行模块292为新生成的虚拟机分配设备资源。虚拟机资源配置请求信息里包含用户的个人信息和Ukey证书信息。
(5)策略执行模块292创建新的虚拟机磁盘文件,并为该虚拟机磁盘文件分配虚拟机文件标识VMFID。
(6)策略执行模块292向密钥和策略管理子系统280请求加密该虚拟机磁盘文件所用的对称加密密钥,该请求消息中包含了用户信息和Ukey证书信息与VMFID等信息,主要为后续密钥和策略管理子系统280能够建立密钥索引关系。
(7)密钥和策略管理子系统280收到策略执行模块292请求对称加密密钥的消息后,首先发起对该策略执行模块292执行身份认证,保证后续只有授权的策略执行模块292可以解密经过加密的虚拟机磁盘文件。
优选的,策略执行模块292可以使用该策略执行模块自身的标识提前在密钥和策略管理子系统280进行注册,这个注册过程可以在虚拟机监控器290上安装策略执行模块292时进行。
(8)策略执行模块292的认证通过后,密钥和策略管理子系统280为新创建的虚拟机文件产生对称加密密钥并发送给策略执行模块292。
(9)策略执行模块292将收到的对称加密密钥传递给文件加解密引擎294,文件加解密引擎294使用该对称加密密钥加密所述虚拟机磁盘文件。
(10)文件加解密引擎294将加密后的虚拟机文件传递给策略执行模块292,策略执行模块292把加密后的虚拟机磁盘文件放到存储设备进行存储。
(11)密钥和策略管理子系统280与策略执行模块292进行密钥和访问策略同步过程。
具体地,策略执行模块292将文件存储的策略信息发送给密钥和策略管理子系统280进行保存,以便后续访问加密的虚拟机文件时执行对文件的安全访问控制。密钥和策略管理子系统280建立对称加密密钥与虚拟机磁盘文件的VMFID和Ukey证书信息的对应关系。
优选的,管理员可以对加密后的虚拟机磁盘文件配置访问策略,该访问策略包含了对应的虚拟机磁盘文件可以被哪些策略执行模块292访问。所述的对称加密密钥可以使用Ukey证书进行加密后存储在密钥和策略存储池中,所述的访问策略信息也可以存储在密钥和策略存储池里。
(12)虚拟机监控器290启动加密的虚拟机磁盘文件为用户提供虚拟机运行环境。
图3是本发明虚拟机解密访问控制的方法的另一个实施例的流程示意图:
(1)用户通过客户端260将虚拟机磁盘文件的访问请求发送给虚拟机管理子系统270。
优选地,用户可以在客户端260上插入Ukey请求访问虚拟机磁盘文件,客户端260把虚拟机磁盘文件的访问请求发送给虚拟机管理子系统270,该请求消息中包含了访问的虚拟机磁盘文件的标识VMFID以及用户的Ukey证书信息。
(2)虚拟机管理子系统270向密钥和策略管理子系统280发送认证请求消息,请求密钥和策略管理子系统280对用户执行身份认证,其中包含了访问的虚拟机磁盘文件的标识VMFID和用户的Ukey证书信息。
(3)密钥和策略管理子系统280与客户端260执行用户身份认证过程。
(4)认证成功后密钥和策略管理子系统280将认证成功消息返回给虚拟机管理子系统270。
(5)虚拟机管理子系统270收到密钥和策略管理子系统280发来的用户身份认证成功消息后,将打开虚拟机磁盘文件的指令发送给虚拟机监控器290里的策略执行模块292,该文件打开指令里至少包含了用户所要访问的虚拟机磁盘文件的标识VMFID。
(6)策略执行模块292根据VMFID来查询所访问的虚拟机磁盘文件的访问策略,如果本地没有缓存该虚拟机磁盘文件的访问策略和对称加密密钥,策略执行模块就向密钥和策略管理子系统280请求该虚拟机磁盘文件的策略信息以及对称加密密钥,该消息中至少包含用户所要访问的虚拟机磁盘文件的标识VMFID。
如果本地缓存了该虚拟机磁盘文件的访问策略和对称加密密钥,就直接执行步骤(9)。
(7)密钥和策略管理子系统280收到策略执行模块292请求对称加密密钥的消息后,首先发起对该策略执行模块292执行身份认证,保证只有授权的策略执行模块292可以解密经过加密的虚拟机磁盘文件。
(8)策略执行模块292的认证成功后,密钥和策略管理子系统280根据用户所要访问的虚拟机磁盘文件的标识VMFID来查询访问策略,判断对应的虚拟机磁盘文件是否能被所述策略执行模块292访问。如果可以访问,密钥和策略管理子系统280将该虚拟机磁盘文件的对称密钥检索出来,发送给虚拟机监控器290里的策略执行模块292。
(9)策略执行模块292将收到的对称密钥传递给文件加解密引擎294,文件加解密引擎294使用该对称密钥解密虚拟机磁盘文件。
(10)文件加解密引擎294将加密后的虚拟机文件传递给策略执行模块292。
(11)虚拟机监控器290启动加密的虚拟机磁盘文件为用户提供虚拟机运行环境。
本发明提供的实施例中,由于虚拟机管理子系统对虚拟机进行集中管理,所以可以根据不同的用户需求将虚拟机按组进行管理,例如使用相同的加密和访问控制策略、存储在同一存储池里、运行在同一台物理服务器上等。当虚拟机迁移到其他物理服务器上,也可以通过在虚拟机管理子系统进行访问控制策略的配置,授权其他策略执行模块获取对称密钥解密并访问虚拟机磁盘文件。
以上所述的实施例只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的各种变化和替换都应包含在本发明的保护范围内。