一种Xen虚拟化环境下的数据安全防护方法

文档序号:9235686阅读:494来源:国知局
一种Xen虚拟化环境下的数据安全防护方法
【技术领域】
[0001]本发明属于云计算技术领域,具体涉及一种Xen虚拟化环境下的数据安全防护方法。
【背景技术】
[0002]目前在云计算领域,Xen虚拟化是一种常用的虚拟化技术,通过Xen虚拟化,可以在一台物理主机上模拟出一台或多台虚拟机,这些虚拟机完全就像真正的计算机一样工作,例如:可以安装操作系统、安装应用程序或访问网络资源等等。
[0003]现有技术中,虚拟机在运行过程中存在若干不安全因素,例如:管理员具有较大的权限,可以窃取某一虚拟机密码登录虚拟机;又例如,在用户登录某一台虚拟机之后,可以使用一个安有后门的虚拟机替换用户真实登录的虚拟机等。

【发明内容】

[0004]针对现有技术存在的缺陷,本发明提供一种Xen虚拟化环境下的数据安全防护方法,能够全面提高Xen虚拟环境下虚拟机进行数据处理的安全性。
[0005]本发明采用的技术方案如下:
[0006]本发明提供一种Xen虚拟化环境下的数据安全防护方法,包括以下步骤:
[0007]SI,在虚拟机创建过程中,使用USB key对虚拟机进行完整性检查,并对所述虚拟机的关键部分进行加密及签名;
[0008]S2,当启动所述虚拟机时,首先对加密并签名的所述虚拟机进行解密并进行验证签名操作;当解密成功及签名验证成功后,执行S3 ;
[0009]S3,主机的通信接口上连接硬件加密卡,对于同一台所述主机上模拟出的η台虚拟机,每一台虚拟机上创建加密卡驱动程序;各台所述虚拟机通过自身的所述加密卡驱动程序在硬件层直接访问所述硬件加密卡,通过所述硬件加密卡,进行加密业务处理操作,得到加密业务处理结果;
[0010]S4,当所述虚拟机完成任务后,将所述虚拟机还原到经过签名的初始状态,并将所述加密业务处理结果转换为密文,在经过USB key的身份验证后,通过专用通道导出到实际物理环境中存储。
[0011]优选的,所述虚拟机通过自身的所述加密卡驱动程序在硬件层直接访问所述硬件加密卡,包括两处过程:过程一,为一种独占访问所述硬件加密卡的过程,即:当某一虚拟机独占访问所述硬件加密卡的全部或部分资源时,所述硬件加密卡将该资源设置为独占状态,此时,既使所述硬件加密卡接收到来自所述主机的对该资源的访问请求,所述硬件加密卡执行拒绝访问的操作;过程二,为一种非独占访问所述硬件加密卡的过程,即:当某一虚拟机非独占访问所述硬件加密卡的全部或部分资源时,所述硬件加密卡将该资源设置为非独占状态,此时,所述硬件加密卡可被多台虚拟机共享。
[0012]优选的,S3中,各台所述虚拟机通过自身的所述加密卡驱动程序在硬件层直接访问所述硬件加密卡,通过所述硬件加密卡,进行加密业务处理操作,得到加密业务处理结果,具体包括以下步骤:
[0013]S31,根据配置规则,将所述硬件加密卡的硬件映射为多个独立的缓冲资源池,并且,每一个缓冲资源池的一端唯一对应一个虚拟机;所述缓冲资源池的另一端唯一对应一组输入队列和输出队列;
[0014]S32,当指定虚拟机需要使用所述硬件加密卡进行加密业务处理时,所述指定虚拟机将加密业务请求发送到与其唯一对应的指定缓冲资源池;
[0015]S33,所述指定缓冲资源池再将所述加密业务请求发送到与其唯一对应的指定输入队列;
[0016]S34,所述指定输入队列按时间先后顺序排列不同时间接收到的加密业务请求;然后按照先到先服务原则,将各加密业务请求依次发送到所述硬件加密卡的业务处理单元;
[0017]S35,所述业务处理单元处理所述加密业务请求,得到加密业务响应;然后将所述加密业务响应发送到指定输出队列;
[0018]S36,所述指定输出队列按照先到先服务原则,将接收到的各加密业务响应依次返回给所述指定缓冲资源池,所述指定缓冲资源池再将该加密业务响应返回给所述指定虚拟机。
[0019]优选的,S32中,还包括:
[0020]当指定虚拟机需要使用所述硬件加密卡时,首先判断所述指定虚拟机是否具有使用所述硬件加密卡的权限,如果有,则执行后续步骤;否则,拒绝其使用所述硬件加密卡。
[0021]优选的,S34之后,还包括:
[0022]当所述指定输入队列输出某一加密业务请求到所述业务处理单元之后,即从所述指定输入队列中删除该加密业务请求。
[0023]优选的,S36之后,还包括:
[0024]当所述指定输出队列输出某一加密业务响应到所述指定虚拟机之后,即从所述指定输出队列中删除该加密业务响应。
[0025]本发明的有益效果如下:
[0026](I)虚拟机在硬件层面与硬件加密卡通信,消除了原有的通过主机内存进行通信的开销,提高了虚拟环境下的加解密效率。
[0027](2)虚拟机和硬件加密卡之间的密钥和中间明文的传递不再依赖主机控制的内存,主机无法从虚拟机控制的内存中获取数据,提高了数据处理环境的安全性。
[0028](3)每一台虚拟机配置唯一的由虚拟资源池和输入输出队列组成的访问通道,每一台虚拟机通过唯一的访问通道访问加密卡的业务处理单元,通过共享业务处理单元进行业务处理,既提高了加密卡硬件的使用效率;还具有数据安全性高的优点。
【附图说明】
[0029]图1为本发明提供的Xen虚拟化环境下的数据安全防护方法中SI示意图;
[0030]图2为本发明提供的Xen虚拟化环境下的数据安全防护方法中S3示意图。
【具体实施方式】
[0031]以下结合附图对本发明进行详细说明:
[0032]本发明提供一种Xen虚拟化环境下的数据安全防护方法,包括以下步骤:
[0033]SI,在虚拟机创建过程中,使用USB key对虚拟机进行完整性检查,并对所述虚拟机的关键部分进行加密及签名;
[0034]S2,当启动所述虚拟机时,首先对加密并签名的所述虚拟机进行解密并进行验证签名操作;当解密成功及签名验证成功后,可证明虚拟机未被篡改,执行S3 ;
[0035]S3,主机的通信接口上连接硬件加密卡,对于同一台所述主机上模拟出的η台虚拟机,每一台虚拟机上创建加密卡驱动程序;各台所述虚拟机通过自身的所述加密卡驱动程序在硬件层直接访问所述硬件加密卡,通过所述硬件加密卡,进行加密业务处理操作,得到加密业务处理结果;虚拟机通过硬件层调用主机的硬件加密卡进行数据加解密,而非在每一个虚拟机中通过软件进行数据加解密,节省了虚拟机操作系统资源。
[0036]其中,所述虚拟机通过自身的所述加密卡驱动程序在硬件层直接访问所述硬件加密卡,包括两种过程:过程一,为一种独占访问所述硬件加密卡的过程,即:当某一虚拟机独占访问所述硬件加密卡的全部或部分资源时,所述硬件加密卡将该资源设置为独占状态,此时,既使所述硬件加密卡接收到来自所述主机的对该资源的访问请求,所述硬件加密卡执行拒绝访问的操作。现有技术中,密钥和中间明文存储在主机控制的内存中缓存;当需要对明文进行加密时,从主机内存中读取出一段明文到加密卡中,通过加密卡加密,得到密文数据;然后再将密文数据存到主机内存中;然后再处理下一段明文数据。可见,既存在主机从该内存中非法盗用密钥和中间明文的可能性,降低了虚拟机使用环境的安全性;又由于数据需要经过内存-加密卡-内存路径,具有数据加解密效率低的问题。而本发明中,将密钥和中间明文存储在硬件加密卡上,而非主机内存中,通过硬件加密卡,直接将明文数据加密为密文数据,可见,虚拟机在硬件层面与硬件加密卡通信,消除了原有的通过主机内存进行通信的开销,提高了虚拟环境下的加解密效率。此外,虚拟机和硬件加密卡之间的密钥和中间明文的传递不再依赖主机控制的内存,主机无法从虚拟机控制的内存(属于主机内存的一部分)中获取数据,提高了数据处理环境的安全性。
[0037]过程二,为一种非独占访问所述硬件加密卡的过程,即:当某一虚拟机非独占访问所述硬件加密卡的全部或部分资源时,所述硬件加密卡将该资源设置为非独占状态,此时,所述硬件加密卡可被多台虚拟机共享。
[0038]另外,本步骤具体可通过以下步骤实现:
[0039]S31,根据配置规则,将所述硬件加密卡的硬件映射为多个独立的缓冲资源池,并且,每一个缓冲资源池的一端唯一对应一个虚拟机;所述缓冲资源池的另一端唯一对应一组输入队列和输出队列。
[0040]实际应用中,每一个硬件加密卡可存储一张配置表,该配置表用于存储虚拟机ID、缓冲资源池ID和输入输出队列ID的唯一对应关系,因此,每当硬件加密卡接收到来自某一虚拟机的业务处理请求时,可通过查询该配置表,快速获得该虚拟机能够使用的缓冲资源池和输入输出队列,从而使该虚拟机快速使用硬件加密卡进行业务处理。
[0041]另外,配置表还可以同时存储虚拟机ID对硬件加密卡的操作权限,例如:是否可以创建本硬件加密卡对应的新虚拟机,是否可以删除本硬件加密卡对应的虚拟机等。
[0042]S32,当指定虚
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1