CN105653475A - 一种usb设备的识别方法及系统 - Google Patents
一种usb设备的识别方法及系统 Download PDFInfo
- Publication number
- CN105653475A CN105653475A CN201410723117.2A CN201410723117A CN105653475A CN 105653475 A CN105653475 A CN 105653475A CN 201410723117 A CN201410723117 A CN 201410723117A CN 105653475 A CN105653475 A CN 105653475A
- Authority
- CN
- China
- Prior art keywords
- usb device
- identifying information
- usb
- character string
- descriptor
- 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
Landscapes
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种USB设备的识别方法及系统,属于安全认证领域。所述方法包括:确定USB设备的设备识别信息,将所述设备识别信息存储到USB设备中;其中,所述设备识别信息是指用于识别USB设备类型的信息;当PC检测到与USB设备连接后,获取USB设备的设备识别信息,并根据所述设备识别信息确定出USB设备的类型。本发明所述的方法及系统,通过设备识别信息实现了PC对USB设备的识别,解决了现有技术中通过产品识别码PID来对设备进行识别所造成的PID资源浪费问题,节约了资源及设备成本。
Description
技术领域
本发明涉及安全认证领域,具体涉及一种USB设备的识别方法及系统。
背景技术
根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机(PC或其它终端设备)通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,每个供应商的VID是唯一的,PID由供应商自行决定。
现有技术中,PC对USB设备的识别流程一般为:当USB设备通过USB接口插入PC时,PC会对USB设备进行枚举,具体的枚举步骤为:
获取USB设备的设备描述符;
获取USB设备的配置描述符;
获取USB设备的字符串描述符;
其中,设备的PID-VID码包含在设备描述符中,PC通过USB设备返回的设备描述符即可解析出PID-VID值,之后根据PID-VID值来区分出不同的设备。但是这种区分方式的缺陷在于,USB组织给每个厂家分的VID是固定不能变的,而PID资源又非常有限,如果每一个项目的设备或者每一个产品的不同系列的设备都通过分配一个新的PID来进行区分,那是对PID资源的极大浪费。
发明内容
针对现有技术中存在的缺陷及实际需要,本发明的目的在于提供一种新的USB设备的识别方法及系统。
为实现上述目的,本发明采用的技术方案如下:
一种USB设备的识别方法,包括以下步骤:
(1)确定USB设备的设备识别信息,将所述设备识别信息存储到USB设备中;其中,所述设备识别信息是指用于识别USB设备类型的信息;
(2)当PC检测到与USB设备连接后,获取USB设备的设备识别信息,并根据所述设备识别信息确定出USB设备的类型。
可选的,如上所述的一种USB设备的识别方法,所述设备识别信息为字符串。
可选的,如上所述的一种USB设备的识别方法,步骤(1)中,所述设备识别信息包括设备的发行商和设备的版本号。
可选的,如上所述的一种USB设备的识别方法,所述设备识别信息存储在USB设备的字符串描述符的存储位置。
可选的,如上所述的一种USB设备的识别方法,步骤(2)中,所述获取USB设备的设备识别信息,包括:
PC获取USB设备的描述信息,并将描述信息保存到注册表中;所述描述信息包括设备描述符、配置描述符和字符串描述符;
PC通过查询注册表或者通过API函数接口获取所述字符串描述符;
解析所述字符串描述符得到设备识别信息。
本发明还提供了一种USB设备的识别系统,包括PC和USB设备,所述USB设备包括:
设备识别信息存储模块,用于在确定USB设备的设备识别信息后,将所述设备识别信息存储到USB设备中;所述设备识别信息是指用于识别USB设备类型的信息;
所述PC包括:
设备识别信息获取模块,用于当PC检测到与USB设备连接后,获取USB设备的设备识别信息;
设备识别模块,用于根据所述设备识别信息确定出USB设备的类型。
可选的,如上所述的一种USB设备的识别系统,所述设备识别信息为字符串。
可选的,如上所述的一种USB设备的识别系统,所述设备识别信息包括设备的发行商和设备的版本号。
可选的,如上所述的一种USB设备的识别系统,所述设备识别信息存储在USB设备的字符串描述符的存储位置。
可选的,如上所述的一种USB设备的识别系统,所述设备识别信息获取模块包括:
描述信息获取单元,用于获取USB设备的描述信息,并将描述信息保存到注册表中;所述描述信息包括设备描述符、配置描述符和字符串描述符;
字符串描述符获取单元,用于通过查询注册表或者通过API函数接口获取所述字符串描述符;
设备识别信息获取单元,用于解析所述字符串描述符得到设备识别信息。
本发明的有益效果在于:本发明所述的方法及系统,通过设备识别信息实现了PC对USB设备的识别,解决了现有技术中通过产品识别码PID来对设备进行识别所造成的PID资源浪费问题,节约了资源及设备成本。
附图说明
图1为本发明具体实施方式中一种USB设备的识别方法的流程图;
图2为本发明具体实施方式中一种USB设备的识别系统的结构示意图。
具体实施方式
下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
图1示出了本发明具体实施方式中一种USB设备的识别方法的流程图,该方法主要包括以下两个步骤:
步骤S100:确定USB设备的设备识别信息并存储在USB设备中;
本实施方式中,在USB设备通过USB接口与PC连接后,为了实现对USB设备的识别,首选需要在USB设备出厂之前,确定USB设备的设备识别信息,并将所述设备识别信息存储到USB设备中。
其中,所述设备识别信息是指用于识别USB设备类型的信息。该设备识别信息一般由设备生产商根据生产需要自定义的,包括但不限于设备的发行商和设备的版本号等信息,如还可以包括生产商信息或其它自定义信息。一般该设备识别信息选用字符串的形式,存储在USB设备的字符串描述符的存储位置。例如,某生产商XX需要为建设银行生成一批U盾,该U盾分为不同的版本,包括第一版、第二版等,此时可以通过字符串如“XXCCB1USBKEY”标识建设银行项目的产品第一版,“XXCCB2USBKEY”标识建设银行项目的产品第二版。
本实施方式中,所述USB设备包括但不限于U盘、U盾等,也包括其它能够通过USB接口与PC连接的、具有USB芯片的设备。
步骤S200:PC获取上述设备识别信息,根据设备识别信息确定设备的类型。
当PC检测到与USB设备连接后,获取USB设备的设备识别信息,并根据所述设备识别信息确定出USB设备的类型。
本实施方式中,当USB设备的设备识别信息存储在USB设备的字符串描述符,所述获取USB设备的设备识别信息的具体步骤包括:
PC获取USB设备的描述信息,并将描述信息保存到注册表中;所述描述信息包括设备描述符、配置描述符和字符串描述符;
PC通过查询注册表或者通过操作系统提供的API函数接口获取所述字符串描述符;
解析所述字符串描述符得到设备识别信息。
当PC与USB设备连接后,PC会对USB的信息进行枚举,即PC会向USB设备发送信息获取请求来获取USB设备的描述信息,该描述信息一般是存储在USB设备的flash芯片中,主要包括设备描述符、配置描述符和字符串描述符。具体的是通过发送Get_Descriptor请求来获取设备描述符,其中,设备描述符主要包括了设备所支持的配置(Configuration)个数,设备类型,VID及PID等信息。通过发送Get_Descriptor_Configuration来获取配置描述符,配置描述符是用于描述设备更详细的信息。其中,现有USB设备的字符串描述符一般用来说明生产厂家、产品信息等等,该描述符是可选的,也就是属于可有可无的角色,如果设备没有字符串描述符,那么在设备描述符、配置描述符等处的字符串索引值必须为0,以告诉主机该USB设备不存在字符串描述符,不需要读取。而本实施方式中,所提供的USB设备的识别方法中,USB设备的字符串描述符是一定存在的(至少包括所述的设备识别信息),在设备描述符、配置描述符等处的字符串索引值必须为1,以提示PC读取字符串描述符。
采用本实施方式中所提供的USB设备的识别方法,通过设备识别信息来识别不同的USB设备,不需要为每一个项目或者一个产品不同系列的USB设备重新分配一个新的PID,即不同的项目或同一产品的不同系列可以采用同一个PID,能够大大解决PID资源。
与上述的图1中所示的USB设备的识别方法相对应,本实施方式中还提供了一种USB设备的识别系统,如图2所示,该系统包括PC100和USB设备200两大装置,其中,所述USB设备200包括了设备识别信息存储模块201,PC100包括了设备识别信息获取模块101和设备识别模块102。
其中,设备识别信息存储模块201,用于在确定USB设备的设备识别信息后,将所述设备识别信息存储到USB设备中;其中所述设备识别信息是指用于识别USB设备类型的信息。
设备识别信息获取模块101,用于当PC检测到与USB设备连接后,获取USB设备的设备识别信息;
设备识别模块102,用于根据所述设备识别信息确定出USB设备的类型。
本实施方式中,所述设备识别信息一般为字符串,包括设备的发行商和设备的版本号等,其存储在USB设备的字符串描述符的存储位置。此时,所述设备识别信息获取模块101包括了描述信息获取单元,字符串描述符获取单元和设备识别信息获取单元。
描述信息获取单元,用于获取USB设备的描述信息,并将描述信息保存到注册表中;所述描述信息包括设备描述符、配置描述符和字符串描述符;
字符串描述符获取单元,用于通过查询注册表或者通过API函数接口获取所述字符串描述符;
设备识别信息获取单元,用于解析所述字符串描述符得到设备识别信息。
显然,本领域的技术人员可以在不脱离本发明的精神和范围,对本发明进行各种改动和变型。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种USB设备的识别方法,包括以下步骤:
(1)确定USB设备的设备识别信息,将所述设备识别信息存储到USB设备中;其中,所述设备识别信息是指用于识别USB设备类型的信息;
(2)当PC检测到与USB设备连接后,获取USB设备的设备识别信息,并根据所述设备识别信息确定出USB设备的类型。
2.根据权利要求1所述的一种USB设备的识别方法,其特征在于:所述设备识别信息为字符串。
3.根据权利要求1或2所述的一种USB设备的识别方法,其特征在于:步骤(1)中,所述设备识别信息包括设备的发行商和设备的版本号。
4.根据权利要求3所述的一种USB设备的识别方法,其特征在于:所述设备识别信息存储在USB设备的字符串描述符的存储位置。
5.根据权利要求4所述的一种USB设备的识别方法,其特征在于:步骤(2)中,所述获取USB设备的设备识别信息,包括:
PC获取USB设备的描述信息,并将描述信息保存到注册表中;所述描述信息包括设备描述符、配置描述符和字符串描述符;
PC通过查询注册表或者通过API函数接口获取所述字符串描述符;
解析所述字符串描述符得到设备识别信息。
6.一种USB设备的识别系统,包括PC和USB设备,所述USB设备包括:
设备识别信息存储模块,用于在确定USB设备的设备识别信息后,将所述设备识别信息存储到USB设备中;所述设备识别信息是指用于识别USB设备类型的信息;
所述PC包括:
设备识别信息获取模块,用于当PC检测到与USB设备连接后,获取USB设备的设备识别信息;
设备识别模块,用于根据所述设备识别信息确定出USB设备的类型。
7.根据权利要求6所述的一种USB设备的识别系统,其特征在于:所述设备识别信息为字符串。
8.根据权利要求6或7所述的一种USB设备的识别系统,其特征在于:所述设备识别信息包括设备的发行商和设备的版本号。
9.根据权利要求8所述的一种USB设备的识别系统,其特征在于:所述设备识别信息存储在USB设备的字符串描述符的存储位置。
10.根据权利要求9所述的一种USB设备的识别系统,其特征在于:所述设备识别信息获取模块包括:
描述信息获取单元,用于获取USB设备的描述信息,并将描述信息保存到注册表中;所述描述信息包括设备描述符、配置描述符和字符串描述符;
字符串描述符获取单元,用于通过查询注册表或者通过API函数接口获取所述字符串描述符;
设备识别信息获取单元,用于解析所述字符串描述符得到设备识别信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410723117.2A CN105653475B (zh) | 2014-12-03 | 2014-12-03 | 一种usb设备的识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410723117.2A CN105653475B (zh) | 2014-12-03 | 2014-12-03 | 一种usb设备的识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653475A true CN105653475A (zh) | 2016-06-08 |
CN105653475B CN105653475B (zh) | 2018-07-24 |
Family
ID=56481058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410723117.2A Expired - Fee Related CN105653475B (zh) | 2014-12-03 | 2014-12-03 | 一种usb设备的识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653475B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032831A (zh) * | 2018-08-30 | 2018-12-18 | 中新工程技术研究院有限公司 | 一种usb设备识别错误自动校正的方案 |
CN109254796A (zh) * | 2018-08-13 | 2019-01-22 | 深圳市德名利电子有限公司 | 一种usb设备的上盘配置方法及主机 |
CN110647741A (zh) * | 2018-06-26 | 2020-01-03 | 西安电子科技大学 | 一种用于提取Android设备的特征信息的方法 |
WO2020035061A1 (zh) * | 2018-08-17 | 2020-02-20 | 青岛海信电器股份有限公司 | 智能电视外接存储设备类型的识别方法和装置 |
CN112000374A (zh) * | 2020-07-13 | 2020-11-27 | 深圳市智微智能软件开发有限公司 | 应用于安卓系统的usb触摸屏更换方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070211310A1 (en) * | 2006-03-13 | 2007-09-13 | Brother Kogyo Kabushiki Kaisha | Scanner control system and scanner driver program |
CN102222053A (zh) * | 2011-06-20 | 2011-10-19 | 迈奔灵动科技(北京)有限公司 | 一种驱动识别方法及系统 |
CN102262600A (zh) * | 2010-05-25 | 2011-11-30 | 安凯(广州)微电子技术有限公司 | 一种usb设备的识别方法及系统 |
-
2014
- 2014-12-03 CN CN201410723117.2A patent/CN105653475B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070211310A1 (en) * | 2006-03-13 | 2007-09-13 | Brother Kogyo Kabushiki Kaisha | Scanner control system and scanner driver program |
CN102262600A (zh) * | 2010-05-25 | 2011-11-30 | 安凯(广州)微电子技术有限公司 | 一种usb设备的识别方法及系统 |
CN102222053A (zh) * | 2011-06-20 | 2011-10-19 | 迈奔灵动科技(北京)有限公司 | 一种驱动识别方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647741A (zh) * | 2018-06-26 | 2020-01-03 | 西安电子科技大学 | 一种用于提取Android设备的特征信息的方法 |
CN110647741B (zh) * | 2018-06-26 | 2021-04-06 | 西安电子科技大学 | 一种用于提取Android设备的特征信息的方法 |
CN109254796A (zh) * | 2018-08-13 | 2019-01-22 | 深圳市德名利电子有限公司 | 一种usb设备的上盘配置方法及主机 |
WO2020035061A1 (zh) * | 2018-08-17 | 2020-02-20 | 青岛海信电器股份有限公司 | 智能电视外接存储设备类型的识别方法和装置 |
CN109032831A (zh) * | 2018-08-30 | 2018-12-18 | 中新工程技术研究院有限公司 | 一种usb设备识别错误自动校正的方案 |
CN112000374A (zh) * | 2020-07-13 | 2020-11-27 | 深圳市智微智能软件开发有限公司 | 应用于安卓系统的usb触摸屏更换方法、装置、设备及介质 |
CN112000374B (zh) * | 2020-07-13 | 2024-01-02 | 深圳市智微智能软件开发有限公司 | 应用于安卓系统的usb触摸屏更换方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105653475B (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653475A (zh) | 一种usb设备的识别方法及系统 | |
CN106095432B (zh) | 一种识别应用类型的方法 | |
CN104079680B (zh) | 设备的识别方法和装置 | |
CN106095413B (zh) | 一种蓝牙驱动程序的配置方法及装置 | |
CN106843820B (zh) | 代码处理方法和装置 | |
CN106454498B (zh) | Android平台管理USB设备的方法 | |
CN104484958A (zh) | 一种智能快递柜的取件方法和取件系统 | |
CN106021301B (zh) | 一种不同文件格式的数据比对系统及方法 | |
WO2015051728A1 (zh) | 一种获取与终端相匹配的应用的方法及装置 | |
CN104378236A (zh) | 一种物联网设备管理平台及方法 | |
CN109445706A (zh) | 磁盘分区扩容方法、装置及服务端 | |
CN103412832A (zh) | 一种自动适配wifi的方法 | |
CN111193622B (zh) | 一种非对称配置的管理方法、装置、设备及可读存储介质 | |
CN104951481A (zh) | 一种管理数据库连接的方法和装置 | |
CN112269588B (zh) | 算法的升级方法、装置、终端和计算机可读存储介质 | |
US20170118625A1 (en) | Method and Device for Controlling Subscriber Identity Module Card of Mobile Terminal | |
WO2020000657A1 (zh) | 运维监控连接的建立方法、装置、终端设备及介质 | |
CN112035169B (zh) | 跳转处理方法及装置、计算机设备及计算机可读存储介质 | |
CN104571962A (zh) | 一种适合批量生产的usbkey设备内固件的实现方法 | |
CN105117410B (zh) | 一种应用对象的创建方法及装置 | |
CN106612515B (zh) | 终端apn同步方法和装置及系统 | |
CN105608022B (zh) | 一种基于倒排技术的智能安全芯片的指令分发方法和系统 | |
CN104991893A (zh) | 一种启发式自解压包和安装包检测方法及系统 | |
CN102760212A (zh) | 一种基于存储镜像克隆机制虚拟桌面恶意代码检测方法 | |
WO2018177272A1 (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180724 Termination date: 20211203 |