CN102332073A - 一种控制usb端口设备开关的方法 - Google Patents

一种控制usb端口设备开关的方法 Download PDF

Info

Publication number
CN102332073A
CN102332073A CN201110188855A CN201110188855A CN102332073A CN 102332073 A CN102332073 A CN 102332073A CN 201110188855 A CN201110188855 A CN 201110188855A CN 201110188855 A CN201110188855 A CN 201110188855A CN 102332073 A CN102332073 A CN 102332073A
Authority
CN
China
Prior art keywords
usb port
usb
bios
equipment
linux kernel
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.)
Pending
Application number
CN201110188855A
Other languages
English (en)
Inventor
李永成
郑臣明
尹宁宁
李丰旺
邵宗有
刘新春
杨晓君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Co Ltd
Priority to CN201110188855A priority Critical patent/CN102332073A/zh
Publication of CN102332073A publication Critical patent/CN102332073A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明提供了一种控制USB端口设备开关的方法,将USB设备进行分类,并将分类后的设备描述符写入bios,在bios中控制USB端口的开启关闭以及设置支持的设备类型,主机开机后检查设置的描述符与插在USB端口设备进行比对,若支持则开启,不支持则输出错误信息。本发明可以分别在BIOS层面、Linux内核层面对USB端口进行控制,改进了目前现有发明存在的问题,也为用户控制USB端口,提供了更多、更细粒度的方法。

Description

一种控制USB端口设备开关的方法
技术领域
本发明涉及主机安全,具体来说,涉及一种控制USB端口设备开关的方法。
背景技术
随着USB类相关设备的广泛使用,一方面方便了用户对计算机的操作,另一方面却对计算机的安全使用、公司私有和保密文件的管理等众多方面产生了影响。
USB类相关设备是即插即用的设备,当用户将USB接口的键盘、鼠标、U盘等外设插入USB端口时,这些设备随后即可使用。用户可以方便地将一台机器上的文件拷贝到U盘上。这一方面方便了用户将不同计算机上的文件进行交换,但同时也产生了众多问题:
(1)用户可以将计算机中的文件拷贝到U盘进行存储,而U盘体积小,可以随身携带,这样就有可能将公司中私有和保密的文件拷贝出公司,给公司带来不可估量的损失。
(2)用户在某台计算机上使用即插即用的U盘时,U盘中的文件不幸被病毒感染,如果用户对之毫无察觉,用户随后将U盘插入另一台计算机上使用时,U盘中的病毒就会感染此计算机的文件系统。这样,U盘的使用范围越大,病毒的传播范围越大,最终有可能导致公司范围内的所有计算机被病毒感染,文件系统损毁,给公司的正常运营带来重大的灾难。
为了解决上面提到的问题,目前有些公司已经提出了解决的方法,例如,专利号CN200510088122.1提出了通过BIOS程序和外加的硬件电路的彼此配合,控制是否允许用户使用USB端口。此方法一方面要有外加的硬件电路,另一方面只能控制USB端口是否使用,而不能对USB端口上插入的设备进行分类判断。同时,此方法没无法对USB端口连接的USB控制器进行设置,这样,BIOS程序在进行设备扫描时,不管USB端口是否屏蔽,都得为此控制器分配memory地址空间或者IO地址空间,浪费了宝贵的系统资源。
发明内容
为了解决以上问题,本发明提出了更好地对USB端口进行控制的方法。
一种控制USB端口设备开关的方法,将USB设备进行分类,并将分类后的设备描述符写入bios,在bios中控制USB端口的开启关闭以及设置支持的设备类型,主机开机后检查设置的描述符与插在USB端口设备进行比对,若支持则开启,不支持则输出错误信息。
优选的,所述USB设备类型包括Audio、HID、Image、Printer、Mass Storage、Hub、Smart Card、Content Security、Video、Personal Healthcare、Diagnostic Device、WirelessController、Miscellaneous。
优选的,所述设备分类号为32位,每一位用来表示一种设备。
较优选的,所述设备号未分配部分留作扩展。
优选的,在bios中设置好支持的设备类型保存后,系统在启动时bios将设置的设备类型信息作为环境变量传递给Linux内核程序。
较优选的,所述Linux内核接收到环境变量后对其进行解析,得到USB端口上屏蔽与打开的设备类型,并将此信息存储在Linux内核全局变量中。
优选的,开机后的比对过程为Linux获取USB端口设备的描述符,并将其与存储在全局变量中的信息进行按位与操作,结果不为0时则Linux内核完成初始化功能,结果为0时输出错误信息。
本发明可以分别在BIOS层面、Linux内核层面对USB端口进行控制,改进了目前现有发明存在的问题,也为用户控制USB端口,提供了更多、更细粒度的方法。
附图说明
图1是本发明流程图
具体实施方式
在BIOS层面,根据用户的选择,可以屏蔽和打开USB端口。方法如下:
(1)当用户决定屏蔽USB端口时,可以通过BIOS参数设置界面进行设置。
当此设置生效后,BIOS程序会屏蔽这些USB端口所在的OHCI控制器或者EHCI控制器。这样,随后运行的Linux内核程序在进行设备扫描时,不会检测到OHCI控制器或者EHCI控制器,也就不会对此控制器分配memory地址空间或者IO地址空间,节省了宝贵的系统资源,同时也达到了屏蔽USB端口的目的。
(2)当用户决定打开USB端口时,可以通过BIOS参数设置界面进行设置。
当此设置生效后,BIOS程序会打开这些USB端口所在的OHCI控制器或者EHCI控制器。这样,随后运行的Linux内核程序在进行设备扫描时,会检测到OHCI控制器或者EHCI控制器的存在,就会对此控制器分配memory地址空间或者IO地址空间,同时也达到了打开USB端口的目的。
在Linux内核层面,根据用户的选择,可以对USB端口上插入的不同的USB设备类型分别进行控制,实现是否屏蔽或者打开USB端口的功能。方法如下:
预先对USB端口上可能插入的USB设备进行分类,包括如下几类:
Audio、HID(Human Interface Device)、Image、Printer、Mass Storage、Hub、SmartCard、Content Security、Video、Personal Healthcare、Diagnostic Device、WirelessController、Miscellaneous。每一类用一位表示,为了以后的扩展,此处用32位整数分别表示打开和屏蔽的设备类组合;
(1)当用户确定了在USB端口上将要屏蔽和打开的USB设备类型后,可以通过BIOS参数设置界面进行设置。当此设置生效后,BIOS程序会将此信息保存下来,并将此信息做为环境变量传递给Linux内核程序;
(2)Linux内核程序在运行过程中,会对BIOS程序传递的环境变量进行解析,得到用户设置的在USB端口上将要屏蔽和打开的USB设备类型,并将此信息存储在Linux内核中全局变量如UsbPortClass中。
(3)当USB端口上插有设备,或者用户在USB端口上插入新设备,Linux内核程序都会检查到此状态。当Linux内核程序获得了此设备的设备描述符或者接口描述符后,会将设备描述符或者接口描述符中的设备类码与全局变量UsbPortClass相应的位进行与操作,当结果不为零时,表示用户希望在此USB端口上使用此设备,Linux内核就会继续进行余下的功能初始化;当结果为零时,表示用户不希望在此USB端口上使用此设备,Linux内核不会继续进行余下的功能初始化,而是输出错误信息,告之用户不能在此USB端口上使用此类设备。

Claims (7)

1.一种控制USB端口设备开关的方法,其特征在于:将USB设备进行分类,并将分类后的设备描述符写入bios,在bios中控制USB端口的开启关闭以及设置支持的设备类型,主机开机后检查设置的描述符与插在USB端口设备进行比对,若支持则开启,不支持则输出错误信息。
2.如权利要求1所述的方法,其特征在于:所述USB设备类型包括Audio、HID、Image、Printer、Mass Storage、Hub、Smart Card、Content Security、Video、Personal Healthcare、Diagnostic Device、Wireless Controller、Miscellaneous。
3.如权利要求1所述的方法,其特征在于:所述设备分类号为32位,每一位用来表示一种设备。
4.如权利要求3所述的方法,其特征在于:所述设备号未分配部分留作扩展。
5.如权利要求1所述的方法,其特征在于:在bios中设置好支持的设备类型保存后,系统在启动时bios将设置的设备类型信息作为环境变量传递给Linux内核程序。
6.如权利要求5所述的方法,其特征在于:所述Linux内核接收到环境变量后对其进行解析,得到USB端口上屏蔽与打开的设备类型,并将此信息存储在Linux内核全局变量中。
7.如权利要求1所述的方法,其特征在于:开机后的比对过程为Linux获取USB端口设备的描述符,并将其与存储在全局变量中的信息进行按位与操作,结果不为0时则Linux内核完成初始化功能,结果为0时输出错误信息。
CN201110188855A 2011-07-07 2011-07-07 一种控制usb端口设备开关的方法 Pending CN102332073A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110188855A CN102332073A (zh) 2011-07-07 2011-07-07 一种控制usb端口设备开关的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110188855A CN102332073A (zh) 2011-07-07 2011-07-07 一种控制usb端口设备开关的方法

Publications (1)

Publication Number Publication Date
CN102332073A true CN102332073A (zh) 2012-01-25

Family

ID=45483846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110188855A Pending CN102332073A (zh) 2011-07-07 2011-07-07 一种控制usb端口设备开关的方法

Country Status (1)

Country Link
CN (1) CN102332073A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760104A (zh) * 2012-06-25 2012-10-31 成都卫士通信息产业股份有限公司 一种usb设备控制方法
CN103049402A (zh) * 2012-11-21 2013-04-17 大唐移动通信设备有限公司 一种控制usb设备的方法及装置
CN105912957A (zh) * 2016-03-30 2016-08-31 联想(北京)有限公司 一种usb接口控制方法及电子设备
CN106372009A (zh) * 2016-08-30 2017-02-01 飞天诚信科技股份有限公司 一种Mac系统中与USB设备通讯的方法及装置
WO2017215028A1 (zh) * 2016-06-16 2017-12-21 深圳市华阳信通科技发展有限公司 一种 usb 远程控制方法及系统
WO2023098406A1 (zh) * 2021-11-30 2023-06-08 北京博衍思创信息科技有限公司 Usb设备接入控制方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1734387A (zh) * 2004-08-03 2006-02-15 宏碁股份有限公司 使用随插即用装置的权限辨识方法及应用此方法的系统
CN101281572A (zh) * 2007-04-03 2008-10-08 惠普开发有限公司 Usb端口访问管理

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1734387A (zh) * 2004-08-03 2006-02-15 宏碁股份有限公司 使用随插即用装置的权限辨识方法及应用此方法的系统
CN101281572A (zh) * 2007-04-03 2008-10-08 惠普开发有限公司 Usb端口访问管理

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760104A (zh) * 2012-06-25 2012-10-31 成都卫士通信息产业股份有限公司 一种usb设备控制方法
CN103049402A (zh) * 2012-11-21 2013-04-17 大唐移动通信设备有限公司 一种控制usb设备的方法及装置
CN105912957A (zh) * 2016-03-30 2016-08-31 联想(北京)有限公司 一种usb接口控制方法及电子设备
WO2017215028A1 (zh) * 2016-06-16 2017-12-21 深圳市华阳信通科技发展有限公司 一种 usb 远程控制方法及系统
CN106372009A (zh) * 2016-08-30 2017-02-01 飞天诚信科技股份有限公司 一种Mac系统中与USB设备通讯的方法及装置
CN106372009B (zh) * 2016-08-30 2018-11-30 飞天诚信科技股份有限公司 一种Mac系统中与USB设备通讯的方法及装置
WO2023098406A1 (zh) * 2021-11-30 2023-06-08 北京博衍思创信息科技有限公司 Usb设备接入控制方法、装置及电子设备

Similar Documents

Publication Publication Date Title
US8812983B2 (en) Automatic magnification and selection confirmation
CN102332073A (zh) 一种控制usb端口设备开关的方法
US9141802B2 (en) Computing device boot software authentication
US10445154B2 (en) Firmware-related event notification
CN103970560B (zh) 开机方法与电子装置
US9792075B1 (en) Systems and methods for synthesizing virtual hard drives
US20100275205A1 (en) Computer machine and access control method
US9836357B1 (en) Systems and methods for backing up heterogeneous virtual environments
US20090278679A1 (en) Methods and Media for Event Notification in Information Handling Systems
US20120262489A1 (en) Relative and Absolute Screen Rotation Draft Agent
CN101772761A (zh) 电子设备接口控制系统
WO2015188586A1 (zh) 数据传输方法及电子设备、usb设备、存储介质
CN102945208A (zh) 多用户硬盘系统及其实现方法
US20110113079A1 (en) Information switch module and related file transfer method
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
TW201305910A (zh) 電腦系統及其作業系統載入方法
CN107844304A (zh) 虚拟机热升级方法及装置
CN104809005A (zh) 一种驱动安装方法、装置和计算机
CN103902300A (zh) 一种Android模拟器快速安装APK程序的方法及系统
Nikkel NVM express drives and digital forensics
TWI441026B (zh) 電子裝置及usb設備的移除策略設定方法
CN107358110A (zh) 基于国密安全芯片的移动端U盘及其与Android设备的通信方法
TW201439810A (zh) 移動儲存設備資料訪問方法及系統
US20070067566A1 (en) External storage device for controlling computer and method thereof
CN201804320U (zh) 热插拔式bmc升级模块

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120125