一种虚拟化环境下usb设备的访问控制方法

文档序号:9238241阅读:1264来源:国知局
一种虚拟化环境下usb设备的访问控制方法
【技术领域】
[0001]本发明属于虚拟化领域和USB访问控制领域,更具体地,涉及一种虚拟化环境下USB设备的访问控制方法。
【背景技术】
[0002]USB设备作为一种可移动的设备,具有传输速度快、使用方便、支持热插拔、连接灵活、独立供电等特点。但正因为其所具备的可移动性,使得数据安全性得不到很好的保障;并且在虚拟化环境下,虚拟主机运行在虚拟的硬件环境中,平台上的多个虚拟机共享一套物理资源。虚拟化平台缺乏相关的机制来辨别USB设备所属的虚拟机,当虚拟机用户将USB设备连接到平台时,设备可能被其他虚拟机用户使用。因此,提出一种虚拟化环境下的USB设备的读写访问控制方法至关重要。
[0003]目前虚拟化环境下的USB设备访问控制主要是基于前后端驱动。后端驱动位于驱动域,而前端则位于虚拟机中,作为后端的代理。前后端通过共享内存等方法进行通信,前端设备驱动收到I/o请求后会将请求转发给后端驱动,而后端驱动会负责执行硬件最终的操作。通过在后端驱动之上安装读写访问控制模块,来达到对虚拟机中USB设备的读写进行控制的目的。
[0004]然而,上述方法存在以下的问题,第一,后端驱动上安装访问控制模块后,势必会对USB设备的数据传输速率造成影响,导致虚拟机性能下降;第二,不能针对不同的虚拟机实行不同的读写访问策略。当某个USB设备被访问控制模块标记为只读之后,所有使用该USB设备的虚拟机都不能写访问该USB设备;第三,只能对插在平台上的USB设备进行访问控制,不能管控映射过来的设备。

【发明内容】

[0005]针对现有技术的缺陷,本发明的目的在于提供一种虚拟化环境下的USB设备访问控制方法,旨在解决现有技术中无法管控映射过来的设备的问题。
[0006]为实现上述目的,本发明提供了一种虚拟环境下的USB设备访问控制方法,客户端和虚拟机均采用常用桌面操作系统,客户端和虚拟机在同一个局域网内或者能够互通;客户端中安装有USB映射服务端程序,虚拟机中安装有USB映射客户端程序,其中所述USB映射服务端程序用于接受客户端发送过来的消息,将USB设备映射到本地实行访问控制;所述USB映射客户端程序用于监听USB设备的插拔动作;所述控制方法包括以下步骤:
[0007](I)在虚拟机所在的服务器中将USB设备信息登记到管理域中,登记的USB设备信息包括三部分..USB唯一标识、映射虚拟机IP地址和读写控制信息;
[0008](2)在客户端中通过认证程序将服务器管理域中信息下载到本地;
[0009](3)在客户端中插入USB设备,获得插入USB设备的唯一标识和插入槽编号;
[0010](4)在客户端中以步骤(2)和(3)中获取的信息调用映射程序,将USB设备映射到虚拟机中,并将读写控制信息发送到虚拟机中;
[0011](5)在虚拟机中接收读写控制信息,并通过修改注册表执行真正的USB设备控制。
[0012]按照本发明的另一方面,还提供了一种虚拟化环境下USB设备访问控制系统,所述访问控制系统包括客户端和服务器,其中:
[0013]所述客户端中安装有USB设备映射客户端程序和认证程序,其中所述认证程序用于将服务器管理域中登记的信息下载到本机中,以在USB设备插入时,通过对比设备唯一标记,判断插入的USB设备是否注册;所述USB映射客户端程序用于监听USB设备的插拔动作,当一个USB设备被插入时,判断该USB设备是否在管理域中注册,如果已注册,就发起USB映射请求到虚拟机中;如果未注册,则提示用户USB设备需要注册才能映射;
[0014]所述服务器中有一个管理域和安装USB设备管理程序,其中所述管理域用于管理USB设备和虚拟机之间的对应关系;所述USB设备管理程序用于将USB设备的信息存储在管理域中;所述服务器上的虚拟机中还安装有USB设备映射服务端程序,用于接受客户端的映射请求,将USB设备映射到本地,并根据接收的数据实行USB设备的访问控制。
[0015]通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
[0016]1、由于上述虚拟环境下的USB访问控制系统中采用了 C/S (客户/服务器)架构,能够将任意安装USB映射客户端主机上的USB设备映射到安装USB映射服务端的虚拟机中,进行访问控制,克服了现有技术只能对插在平台上的USB设备进行访问控制、无法管控远程映射过来的设备的问题,这也是本发明所要解决的主要问题;
[0017]2、由于步骤⑴中服务器端存在一个管理域,其专门用来管理USB设备和虚拟机之间的对应关系,使得可以针对不同的虚拟机,实行不同的访问控制方法,解决了现有技术中,不能针对不同的虚拟机实行不同的读写访问策略的问题;
【附图说明】
[0018]图1是本发明虚拟化环境下USB设备访问控制方法的流程图;
[0019]图2是本发明虚拟化环境下USB设备访问控制系统结构示意图。
【具体实施方式】
[0020]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021]如图1所示,本发明虚拟化环境下USB设备访问控制方法包括以下步骤:
[0022](I)客户端和虚拟机均采用常用桌面操作系统,包括但不限于Linux、WinXP、Win7、Win8、WinlO和Android。客户端和虚拟机应该在同一个局域网内或者均可以联网,要确保其通过PING程序可以相互PING通;
[0023](2)客户端中应安装USB映射客户端程序。USB映射客户端程序主要用来监听USB设备的插拔动作,当一个USB设备被插入时,判断该USB设备是否在管理域中注册,如果已注册,就将发起USB映射请求到虚拟机中。这里可以通过对开源项目usbip的映射客户端模块进行修改,构建自己的映射客户端程序;
[0024](3)虚拟机中应安装USB映射服务端程序。USB映射服务端程序是一个开机自启动的程序,其主要用来接受客户端发送过来的消息,将USB设备映射到本地,实行访问控制。这里可以通过对开源项目usbip的映射服务端模块进行修改,构建自己的映射服务端程序;
[0025](4)在虚拟机所在的服务器中存在一个管理域,用来登记USB设备和虚拟机之间的对应关系,要登记的USB设备信息包括三部分:USB唯一标识、映射虚拟机IP地址和读写控制信息。USB设备唯一标识由idVendor (供应商id) +idProduct (产品id)+iSerialNumber (
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1