CN104954451A - 一种虚拟化环境下usb设备的访问控制方法 - Google Patents
一种虚拟化环境下usb设备的访问控制方法 Download PDFInfo
- Publication number
- CN104954451A CN104954451A CN201510293562.4A CN201510293562A CN104954451A CN 104954451 A CN104954451 A CN 104954451A CN 201510293562 A CN201510293562 A CN 201510293562A CN 104954451 A CN104954451 A CN 104954451A
- Authority
- CN
- China
- Prior art keywords
- usb device
- virtual machine
- client
- usb
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种虚拟化环境下的USB设备访问控制方法,该方法可以将客户端中插入的USB设备映射到虚拟机中,并且能对映射到虚拟机中的USB设备进行读写访问控制。该方法的实现步骤如下:首先,配置客户端和虚拟机的网络,使得客户端和虚拟机之间可以相互PING通;其次,在客户端和虚拟机中分别安装USB映射程序,确保USB设备能够从客户端映射到虚拟机中;再次,在虚拟机所在的服务器中将USB设备的唯一标识符、映射客户端IP和读写控制信息存储在管理域中;然后,在客户端中启动认证程序,将存储在服务器管理域中的信息下载到本地;最后,在客户端中插入登记过的USB设备,该USB设备将调用映射程序映射到对应的虚拟机中并按照登记在管理域中的信息进行读写控制。
Description
技术领域
本发明属于虚拟化领域和USB访问控制领域,更具体地,涉及一种虚拟化环境下USB设备的访问控制方法。
背景技术
USB设备作为一种可移动的设备,具有传输速度快、使用方便、支持热插拔、连接灵活、独立供电等特点。但正因为其所具备的可移动性,使得数据安全性得不到很好的保障;并且在虚拟化环境下,虚拟主机运行在虚拟的硬件环境中,平台上的多个虚拟机共享一套物理资源。虚拟化平台缺乏相关的机制来辨别USB设备所属的虚拟机,当虚拟机用户将USB设备连接到平台时,设备可能被其他虚拟机用户使用。因此,提出一种虚拟化环境下的USB设备的读写访问控制方法至关重要。
目前虚拟化环境下的USB设备访问控制主要是基于前后端驱动。后端驱动位于驱动域,而前端则位于虚拟机中,作为后端的代理。前后端通过共享内存等方法进行通信,前端设备驱动收到I/O请求后会将请求转发给后端驱动,而后端驱动会负责执行硬件最终的操作。通过在后端驱动之上安装读写访问控制模块,来达到对虚拟机中USB设备的读写进行控制的目的。
然而,上述方法存在以下的问题,第一,后端驱动上安装访问控制模块后,势必会对USB设备的数据传输速率造成影响,导致虚拟机性能下降;第二,不能针对不同的虚拟机实行不同的读写访问策略。当某个USB设备被访问控制模块标记为只读之后,所有使用该USB设备的虚拟机都不能写访问该USB设备;第三,只能对插在平台上的USB设备进行访问控制,不能管控映射过来的设备。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种虚拟化环境下的USB设备访问控制方法,旨在解决现有技术中无法管控映射过来的设备的问题。
为实现上述目的,本发明提供了一种虚拟环境下的USB设备访问控制方法,客户端和虚拟机均采用常用桌面操作系统,客户端和虚拟机在同一个局域网内或者能够互通;客户端中安装有USB映射服务端程序,虚拟机中安装有USB映射客户端程序,其中所述USB映射服务端程序用于接受客户端发送过来的消息,将USB设备映射到本地实行访问控制;所述USB映射客户端程序用于监听USB设备的插拔动作;所述控制方法包括以下步骤:
(1)在虚拟机所在的服务器中将USB设备信息登记到管理域中,登记的USB设备信息包括三部分:USB唯一标识、映射虚拟机IP地址和读写控制信息;
(2)在客户端中通过认证程序将服务器管理域中信息下载到本地;
(3)在客户端中插入USB设备,获得插入USB设备的唯一标识和插入槽编号;
(4)在客户端中以步骤(2)和(3)中获取的信息调用映射程序,将USB设备映射到虚拟机中,并将读写控制信息发送到虚拟机中;
(5)在虚拟机中接收读写控制信息,并通过修改注册表执行真正的USB设备控制。
按照本发明的另一方面,还提供了一种虚拟化环境下USB设备访问控制系统,所述访问控制系统包括客户端和服务器,其中:
所述客户端中安装有USB设备映射客户端程序和认证程序,其中所述认证程序用于将服务器管理域中登记的信息下载到本机中,以在USB设备插入时,通过对比设备唯一标记,判断插入的USB设备是否注册;所述USB映射客户端程序用于监听USB设备的插拔动作,当一个USB设备被插入时,判断该USB设备是否在管理域中注册,如果已注册,就发起USB映射请求到虚拟机中;如果未注册,则提示用户USB设备需要注册才能映射;
所述服务器中有一个管理域和安装USB设备管理程序,其中所述管理域用于管理USB设备和虚拟机之间的对应关系;所述USB设备管理程序用于将USB设备的信息存储在管理域中;所述服务器上的虚拟机中还安装有USB设备映射服务端程序,用于接受客户端的映射请求,将USB设备映射到本地,并根据接收的数据实行USB设备的访问控制。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
1、由于上述虚拟环境下的USB访问控制系统中采用了C/S(客户/服务器)架构,能够将任意安装USB映射客户端主机上的USB设备映射到安装USB映射服务端的虚拟机中,进行访问控制,克服了现有技术只能对插在平台上的USB设备进行访问控制、无法管控远程映射过来的设备的问题,这也是本发明所要解决的主要问题;
2、由于步骤(1)中服务器端存在一个管理域,其专门用来管理USB设备和虚拟机之间的对应关系,使得可以针对不同的虚拟机,实行不同的访问控制方法,解决了现有技术中,不能针对不同的虚拟机实行不同的读写访问策略的问题;
附图说明
图1是本发明虚拟化环境下USB设备访问控制方法的流程图;
图2是本发明虚拟化环境下USB设备访问控制系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明虚拟化环境下USB设备访问控制方法包括以下步骤:
(1)客户端和虚拟机均采用常用桌面操作系统,包括但不限于Linux、WinXP、Win7、Win8、Win10和Android。客户端和虚拟机应该在同一个局域网内或者均可以联网,要确保其通过PING程序可以相互PING通;
(2)客户端中应安装USB映射客户端程序。USB映射客户端程序主要用来监听USB设备的插拔动作,当一个USB设备被插入时,判断该USB设备是否在管理域中注册,如果已注册,就将发起USB映射请求到虚拟机中。这里可以通过对开源项目usbip的映射客户端模块进行修改,构建自己的映射客户端程序;
(3)虚拟机中应安装USB映射服务端程序。USB映射服务端程序是一个开机自启动的程序,其主要用来接受客户端发送过来的消息,将USB设备映射到本地,实行访问控制。这里可以通过对开源项目usbip的映射服务端模块进行修改,构建自己的映射服务端程序;
(4)在虚拟机所在的服务器中存在一个管理域,用来登记USB设备和虚拟机之间的对应关系,要登记的USB设备信息包括三部分:USB唯一标识、映射虚拟机IP地址和读写控制信息。USB设备唯一标识由idVendor(供应商id)+idProduct(产品id)+iSerialNumber(序列号)组成,读写控制信息用0和1来表示,0表示读写均可,1表示只读。管理域可以采用MYSQL数据库在存储上述的USB设备信息;
(5)客户端中存在一个认证程序,其主要功能是将服务器管理域中登记的信息下载到本机中。在客户端插入USB设备前,应启动该认证程序下载信息;
(6)在客户端中插入USB设备,通过步骤(2)中安装的USB映射客户端程序,捕捉到USB设备的插入动作,通过步骤(5)中下载的信息,判断该设备是否注册,如果未注册,则提示用户该USB设备需要注册,如果已经注册,则向虚拟机发起映射请求,发送读写控制信息;
(7)在虚拟机中通过步骤(3)安装的USB映射服务端程序,接受客户端发起的映射请求,将USB设备映射到本地,接收客户端发送的读写控制信息,修改相应的注册表项,执行USB设备的读写控制;
如图2所示,本发明虚拟化环境下USB设备访问控制系统结构示意图,所述访问控制系统由客户端和服务器两部分组成。
客户端中需要安装USB设备映射客户端程序和认证程序。认证程序主要用来将服务器管理域中登记的信息下载到本机中,这样当USB设备插入时,就可以通过对比设备唯一标记,判断插入的USB设备是否注册;USB映射客户端程序主要用来监听USB设备的插拔动作,当一个USB设备被插入时,判断该USB设备是否在管理域中注册,如果已注册,就发起USB映射请求到虚拟机中;如果未注册,则提示用户USB设备需要注册才能映射。
服务器中需要创建一个管理域和安装USB设备管理程序。管理域主要用来管理USB设备和虚拟机之间的对应关系,在实现上可以采用数据库存储数据;USB设备管理程序主要是用来将USB设备的信息存储在管理域中,其通过提供一个用户友好的界面,方便服务器管理员的操作。服务器上的虚拟机中还需要安装USB设备映射服务端程序,该程序主要用来接受客户端的映射请求,将USB设备映射到本地,并根据接收的数据实行USB设备的访问控制。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种虚拟环境下的USB设备访问控制方法,其特征在于,客户端和虚拟机均采用常用桌面操作系统,客户端和虚拟机在同一个局域网内或者能够互通;客户端中安装有USB映射服务端程序,虚拟机中安装有USB映射客户端程序,其中所述USB映射服务端程序用于接受客户端发送过来的消息,将USB设备映射到本地实行访问控制;所述USB映射客户端程序用于监听USB设备的插拔动作;所述控制方法包括以下步骤:
(1)在虚拟机所在的服务器中将USB设备信息登记到管理域中,登记的USB设备信息包括三部分:USB唯一标识、映射虚拟机IP地址和读写控制信息;
(2)在客户端中通过认证程序将服务器管理域中信息下载到本地;
(3)在客户端中插入USB设备,获得插入USB设备的唯一标识和插入槽编号;
(4)在客户端中以步骤(2)和(3)中获取的信息调用映射程序,将USB设备映射到虚拟机中,并将读写控制信息发送到虚拟机中;
(5)在虚拟机中接收读写控制信息,并通过修改注册表执行真正的USB设备控制。
2.根据权利1所述的方法,其特征在于,客户端和虚拟机使用的桌面操作系统包括但不限于Linux、WinXP、Win7、Win8、Win10和Android。
3.根据权利要求1或2所述的方法,其特征在于,所述虚拟机为基于虚拟化技术虚拟出来的虚拟机,并非物理实体机。所用到的虚拟化技术包括XEN,VMware,KVM等。
4.根据权利要求1或2所述的方法,其特征在于,在所述步骤(1)中,在登记的USB设备信息中,USB设备唯一标识采用idvendor+idProduct+iSerialNumber,映射端IP地址为虚拟机的IP地址,读写控制信息用0和1来表示,0表示读写均可,1表示只读。
5.根据权利要求1或2所述的方法,其特征在于,在所述步骤(3)中,在客户端通过NETLINK_SOCKET监听内核消息,当USB设备插入时,通过分析内核发送过来的消息,获得USB设备的唯一标识号和插入槽编号,并将其与管理域中登记的信息进行比较,获取虚拟机IP和读写控制信息。
6.根据权利要求1或2所述的方法,其特征在于,在所述步骤(4)客户端通过socket将读写控制信息发送给虚拟机,以使虚拟机接收读写控制信息后,修改相应的注册表执行真正的USB设备控制。
7.一种虚拟化环境下USB设备访问控制系统,其特征在于,所述访问控制系统包括客户端和服务器,其中:
所述客户端中安装有USB设备映射客户端程序和认证程序,其中所述认证程序用于将服务器管理域中登记的信息下载到本机中,以在USB设备插入时,通过对比设备唯一标记,判断插入的USB设备是否注册;所述USB映射客户端程序用于监听USB设备的插拔动作,当一个USB设备被插入时,判断该USB设备是否在管理域中注册,如果已注册,就发起USB映射请求到虚拟机中;如果未注册,则提示用户USB设备需要注册才能映射;
所述服务器中有一个管理域和安装USB设备管理程序,其中所述管理域用于管理USB设备和虚拟机之间的对应关系;所述USB设备管理程序用于将USB设备的信息存储在管理域中;所述服务器上的虚拟机中还安装有USB设备映射服务端程序,用于接受客户端的映射请求,将USB设备映射到本地,并根据接收的数据实行USB设备的访问控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510293562.4A CN104954451B (zh) | 2015-06-02 | 2015-06-02 | 一种虚拟化环境下usb设备的访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510293562.4A CN104954451B (zh) | 2015-06-02 | 2015-06-02 | 一种虚拟化环境下usb设备的访问控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104954451A true CN104954451A (zh) | 2015-09-30 |
CN104954451B CN104954451B (zh) | 2018-09-25 |
Family
ID=54168794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510293562.4A Active CN104954451B (zh) | 2015-06-02 | 2015-06-02 | 一种虚拟化环境下usb设备的访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104954451B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391652A (zh) * | 2015-12-03 | 2016-03-09 | 武汉噢易云计算有限公司 | 基于usb重定向实现usb设备网络共享的系统及方法 |
CN105488000A (zh) * | 2015-12-23 | 2016-04-13 | 广东数字证书认证中心有限公司 | 实现usb设备快速访问的方法和系统 |
CN105487860A (zh) * | 2015-11-25 | 2016-04-13 | 普华基础软件股份有限公司 | 自动配置Linux桌面的方法及系统 |
CN106250203A (zh) * | 2016-07-19 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种kvm虚拟机识别u盘的方法及装置 |
CN108090333A (zh) * | 2017-12-29 | 2018-05-29 | 佛山市幻云科技有限公司 | 基于虚拟机的设备控制方法、装置、服务器与系统 |
CN109240798A (zh) * | 2018-08-30 | 2019-01-18 | 郑州云海信息技术有限公司 | 管理虚拟机的外接设备的方法和装置 |
CN109284170A (zh) * | 2018-09-11 | 2019-01-29 | 山东观海数据技术有限公司 | 一种局域网内usb共享系统及共享方法 |
CN109857465A (zh) * | 2018-11-23 | 2019-06-07 | 广东微云科技股份有限公司 | 一种云桌面usb驱动的自动安装方法和系统 |
CN109947489A (zh) * | 2019-03-19 | 2019-06-28 | 佳都新太科技股份有限公司 | 基于容器的外接设备管理方法、装置、设备及存储介质 |
CN111045834A (zh) * | 2018-10-15 | 2020-04-21 | 中兴通讯股份有限公司 | 云桌面下usb存储设备访问的方法、设备和存储介质 |
CN112633997A (zh) * | 2020-12-18 | 2021-04-09 | 百望股份有限公司 | 税控设备重定向系统及方法 |
CN113282527A (zh) * | 2021-05-08 | 2021-08-20 | 珠海金智维信息科技有限公司 | 一种实现usb设备切换管理的方法、装置和主机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035039A (zh) * | 2007-04-20 | 2007-09-12 | 福建升腾资讯有限公司 | Usb映射方法 |
US20070294457A1 (en) * | 2006-06-16 | 2007-12-20 | Alexander Gantman | USB wireless network drive |
CN104317759A (zh) * | 2014-10-15 | 2015-01-28 | 国云科技股份有限公司 | 一种支持虚拟机usb存储设备热插拔的方法 |
-
2015
- 2015-06-02 CN CN201510293562.4A patent/CN104954451B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294457A1 (en) * | 2006-06-16 | 2007-12-20 | Alexander Gantman | USB wireless network drive |
CN101035039A (zh) * | 2007-04-20 | 2007-09-12 | 福建升腾资讯有限公司 | Usb映射方法 |
CN104317759A (zh) * | 2014-10-15 | 2015-01-28 | 国云科技股份有限公司 | 一种支持虚拟机usb存储设备热插拔的方法 |
Non-Patent Citations (1)
Title |
---|
孙玉伟,童新海,张林惠,杨春雨: "云桌面中USB设备重定向技术研究", 《理论研究》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487860A (zh) * | 2015-11-25 | 2016-04-13 | 普华基础软件股份有限公司 | 自动配置Linux桌面的方法及系统 |
CN105391652A (zh) * | 2015-12-03 | 2016-03-09 | 武汉噢易云计算有限公司 | 基于usb重定向实现usb设备网络共享的系统及方法 |
CN105488000A (zh) * | 2015-12-23 | 2016-04-13 | 广东数字证书认证中心有限公司 | 实现usb设备快速访问的方法和系统 |
CN105488000B (zh) * | 2015-12-23 | 2018-09-14 | 数安时代科技股份有限公司 | 实现usb设备快速访问的方法和系统 |
CN106250203A (zh) * | 2016-07-19 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种kvm虚拟机识别u盘的方法及装置 |
CN108090333A (zh) * | 2017-12-29 | 2018-05-29 | 佛山市幻云科技有限公司 | 基于虚拟机的设备控制方法、装置、服务器与系统 |
CN109240798A (zh) * | 2018-08-30 | 2019-01-18 | 郑州云海信息技术有限公司 | 管理虚拟机的外接设备的方法和装置 |
CN109284170B (zh) * | 2018-09-11 | 2021-10-26 | 山东观海数据技术有限公司 | 一种局域网内usb共享系统及共享方法 |
CN109284170A (zh) * | 2018-09-11 | 2019-01-29 | 山东观海数据技术有限公司 | 一种局域网内usb共享系统及共享方法 |
CN111045834B (zh) * | 2018-10-15 | 2023-08-08 | 中兴通讯股份有限公司 | 云桌面下usb存储设备访问的方法、设备和存储介质 |
CN111045834A (zh) * | 2018-10-15 | 2020-04-21 | 中兴通讯股份有限公司 | 云桌面下usb存储设备访问的方法、设备和存储介质 |
CN109857465A (zh) * | 2018-11-23 | 2019-06-07 | 广东微云科技股份有限公司 | 一种云桌面usb驱动的自动安装方法和系统 |
CN109947489A (zh) * | 2019-03-19 | 2019-06-28 | 佳都新太科技股份有限公司 | 基于容器的外接设备管理方法、装置、设备及存储介质 |
CN112633997A (zh) * | 2020-12-18 | 2021-04-09 | 百望股份有限公司 | 税控设备重定向系统及方法 |
CN113282527A (zh) * | 2021-05-08 | 2021-08-20 | 珠海金智维信息科技有限公司 | 一种实现usb设备切换管理的方法、装置和主机 |
CN113282527B (zh) * | 2021-05-08 | 2024-08-13 | 珠海金智维信息科技有限公司 | 一种实现usb设备切换管理的方法、装置和主机 |
Also Published As
Publication number | Publication date |
---|---|
CN104954451B (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104954451A (zh) | 一种虚拟化环境下usb设备的访问控制方法 | |
EP3317762B1 (en) | Methods and apparatus for software lifecycle management of a virtual computing environment | |
US7743242B2 (en) | Method and system for automatic generation of operating system boot images | |
US10205789B2 (en) | Determining a physical location of a device | |
CN106886429B (zh) | 一种加载驱动程序的方法和服务器 | |
US10402216B1 (en) | Live support integration in a virtual machine based development environment | |
CN111988230B (zh) | 虚拟机通信方法、装置、系统及电子设备 | |
CN104094229A (zh) | 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的系统和方法 | |
CN107491354B (zh) | 一种基于共享内存的虚拟机间通信方法及装置 | |
CN103595801B (zh) | 一种云计算系统及其虚拟机实时监控方法 | |
CN104601617A (zh) | 虚拟桌面系统中外设的接入处理方法及装置 | |
US20130194630A1 (en) | Management system, image forming apparatus, management system control method, and image forming apparatus control method | |
CN109474467B (zh) | 网络自动化管理方法、装置、存储介质及电子设备 | |
US20140156851A1 (en) | Server facility, method for providing copying service for system of server facility, and copying program for system of sever facility | |
WO2017177892A1 (zh) | 操作系统的安装 | |
CN110990110A (zh) | 一种基于Sriov网卡的虚拟机创建方法及装置 | |
CN106095528A (zh) | 一种检测虚拟机盘符的方法 | |
CN107566518A (zh) | 在安装文件过程中管理设备信息的方法和装置 | |
CN110968392A (zh) | 一种升级虚拟化模拟器的方法和装置 | |
CN104199716A (zh) | 一种虚拟机热迁移的方法、物理主机及系统 | |
CN111694604A (zh) | 一种驱动批量安装方法、装置、设备及机器可读存储介质 | |
CN113360379B (zh) | 程序测试环境创建方法和程序测试环境创建装置 | |
US9389991B1 (en) | Methods, systems, and computer readable mediums for generating instruction data to update components in a converged infrastructure system | |
CN103246544B (zh) | 虚拟硬件驱动方法 | |
CN109039765B (zh) | 网络配置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |