CN101872334A - 一种复合型usb设备及其实现方法 - Google Patents

一种复合型usb设备及其实现方法 Download PDF

Info

Publication number
CN101872334A
CN101872334A CN201010191950A CN201010191950A CN101872334A CN 101872334 A CN101872334 A CN 101872334A CN 201010191950 A CN201010191950 A CN 201010191950A CN 201010191950 A CN201010191950 A CN 201010191950A CN 101872334 A CN101872334 A CN 101872334A
Authority
CN
China
Prior art keywords
operational order
equipment
data
compound type
main frame
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
CN201010191950A
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.)
Beijing Feitian Technologies Co Ltd
Original Assignee
Beijing Feitian Technologies 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 Beijing Feitian Technologies Co Ltd filed Critical Beijing Feitian Technologies Co Ltd
Priority to CN201010191950A priority Critical patent/CN101872334A/zh
Priority to PCT/CN2010/075508 priority patent/WO2011147116A1/zh
Priority to US12/989,671 priority patent/US20120124380A1/en
Publication of CN101872334A publication Critical patent/CN101872334A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种复合型usb设备及其实现方法,涉及信息安全领域,解决了在单一设备中集成大容量存储功能和智能密钥功能的问题。复合型usb设备与主机建立连接,声明其自身的设备类型;所述复合型usb设备接收所述主机下发的操作指令,并判断所述操作指令是否是智能密钥操作指令;如果是,则执行所述操作指令中指示的智能密钥操作;否则,则执行数据读/写操作。本发明在一个设备中集成了大容量存储和信息安全功能,使用方便,提高了数据安全性,增强了用户的体验。

Description

一种复合型usb设备及其实现方法
技术领域
本发明涉及信息安全领域,特别涉及一种复合型usb设备及其实现方法。
背景技术
复合设备是指一种能完成两个或多个不同设备的功能的设备。
现有的通用串行总线存储技术,是利用通用串行总线块传输协议,具有良好的使用性。使用这种技术的设备通常有:
第一类可移动存储设备,主要包括磁盘、光盘、闪存盘等。
第二类智能密钥设备,主要包括软件保护设备、身份验证安全设备等。信息安全设备通常是usb接口,也称usbkey,它使用简单、成本较低。它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用智能密钥设备内置的密码算法实现对用户身份的认证。智能密钥设备具有电子邮件加密、数字签名、安全证书、安全网络登录和访问SSL(Security Socket Layer,安全套接层协议层)安全网络等功能,并且具有保证用户的私钥永远不离开硬件的特征,还具有物理上防攻击的特性,安全性极高。
以上两类设备的外形差不多,但功能却是有很大的不同的。
在现在技术中不仅可以将智能密钥设备在计算机中声明为CCID(usbChip/Smart Card Interface Devices-usb,芯片智能卡接口设备)设备对其进行操作,还可以声明为HI D(Human Interface Device,人机接口设备)设备,使智能密钥设备遵守HID协议规范的通信规则,完成智能密钥设备的各种功能。HID设备是Windows操作***完全支持的usb设备中的一种,在运行Windows 98或更高版本的计算机上,应用程序可以与使用操作***内置驱动的HID设备通信,因此,符合HID协议规范的usb设备在Windows***中可以很容易的设置并运行。
现有智能密钥设备的通讯还可以通过SCSI(Small Computer SystemInterface,小型计算机***接口)命令的方式来实现,SCSI是计算机连接外接设备的一种接口标准,能够提供更快的数据传输率。SCSI为方便开发者使用预留了扩展命令,为完成智能密钥设备的SCSI通讯,开发者将SCSI扩展命令设计成智能密钥设备的命令,以完成智能密钥设备的功能。
发明内容
目前,可移动存储设备和智能密钥设备已经广为普及,而且为了满足广大用户的需要,开发出了既具有可移动存储设备的功能又具有智能密钥设备的功能的复合设备。本发明提供了一种复合型usb设备及其实现方法,所述技术方案如下:
一种复合型usb设备的实现方法,其特征在于,包括:
复合型usb设备与主机建立连接,声明其自身的设备类型;
所述复合型usb设备接收所述主机下发的操作指令,并判断所述操作指令是否是智能密钥操作指令;
如果是,则执行所述操作指令中指示的智能密钥操作;
否则,则执行数据读/写操作。
所述复合型usb设备与主机建立连接,声明其自身的设备类型的方法具体还包括:
所述复合型usb设备声明其自身为预定个数的大容量存储设备。
所述大容量存储设备包括:光盘、磁盘。
所述主机下发的操作指令为按照SCSI协议规范封装的命令。
所述复合型usb设备判断所述操作指令是否是智能密钥操作指令的方法具体为:
判断所述操作指令中指定域的值是否是约定值,如果是约定值,则所述操作指令是智能密钥操作指令,否则是数据读/写操作指令;或者
判断所述操作指令中特殊域中指定位的值是否是约定值,如果是约定值,则所述操作指令是智能密钥操作指令,否则是数据读/写操作指令;或者
判断所述操作指令是否是扩展SCSI指令,如果是扩展SCSI指令,则所述操作指令是智能密钥操作指令,否则是数据读/写操作指令。
所述操作指令中指定域具体为:所述操作指令中的LUN域、预留域或LBA域;
所述操作指令中特殊域中指定位具体为:LUN域中特殊的位、预留域中特殊的位或其它域中的预留位。
所述复合型usb设备与主机建立连接,声明其自身的设备类型,所述方法还包括:
所述复合型usb设备声明为1个HID设备和预定个数的大容量存储设备。
所述复合型usb设备接收所述主机下发的操作指令,并判断所述操作指令是否是智能密钥操作指令的方法具体为:
所述复合型usb设备解析并判断所述操作指令是否是按照SCSI协议规范封装的,如果是,则所述操作指令为数据读/写操作指令,否则所述操作指令是智能密钥操作指令;
或者,
所述复合型usb设备判断所述操作指令是否是通过usb控制传输管道传入的,如果是,则所述操作指令为智能密钥操作指令,否则所述操作指令是数据读/写操作指令。
所述复合型usb设备与主机建立连接,声明其自身的设备类型,所述方法还包括:
所述复合型usb设备声明为1个CCID设备和预定个数的大容量存储设备。
所述复合型usb设备接收所述主机下发的操作指令,并判断所述操作指令是否是智能密钥操作指令的方法具体为:
所述复合型usb设备解析并判断所述操作指令是否是按照SCSI协议规范封装的,如果是,则所述操作指令为数据读/写操作指令,否则所述操作指令是智能密钥操作指令。
所述智能密钥操作具体包括:
数字签名、身份认证、数据加/解密。
一种复合型usb设备,其特征在于,所述设备包括:
接口模块,用于复合型usb设备与主机建立连接,进行基于usb协议的数据解析/封装及通信;
指令判断模块,用于判断所述接口模块解析usb数据包得到的操作指令是是标准的SCSI数据读/写操作指令还是智能密钥操作指令;
数据存储模块,用于存储数据,当所述操作指令是所述标准的SCSI数据读/写操作指令时,执行所述操作指令进行数据读/写操作;
智能密钥模块,用于当所述操作指令是所述智能密钥操作指令时执行相应的智能密钥操作。
所述智能密钥模块还包括:
数字签名单元,用于根据所述智能密钥操作指令中的签名指令对传入的数据进行数据签名操作。
所述智能密钥模块还包括:
身份认证单元,用于根据所述智能密钥操作指令中的身份认证指令进行身份认证操作。
所述智能密钥模块还包括:
数据加/解密单元,用于根据所述智能密钥操作指令中的数据加/解密指令,对传入/传出的数据进行加/密操作;
所述数据加/解密单元,还用于对传入/传出所述数据存储模块的数据进行加/解密操作。
本发明提供的技术方案带来的有益效果是:
1.使用方便,用户只需要一个设备就可以满足大容量数据存储和智能密钥的相关功能需求。
2.解决智能密钥设备存储空间小的问题,智能密钥设备一般因为安全和成本的原因,存储空间往往比普通存储设备小得多。
3.解决存储设备的安全性问题,存储设备存储的数据往往容易获取,通过本发明提供的技术方案可以存储的数据进行加密,以保护数据安全。
附图说明
图1是本发明实施例一提供的一种复合型usb设备的实现方法;
图2是本发明实施例二提供的一种复合型usb设备的实现方法;
图3是本发明实施例三提供的一种复合型usb设备的的实现方法;
图4是本发明实施例四提供的一种复合型usb设备的的实现方法;
图5是本发明实施例五提供的一种复合型usb设备的功能模块图;
图6是本发明实施例六提供的一种复合型usb设备的硬件结构示意图;
图7是本发明实施例七提供的一种复合型usb设备的硬件结构示意图;
图8是本发明实施例八提供的一种复合型usb设备的硬件结构示意图;
图9是本发明实施例九提供的一种复合型usb设备的硬件结构示意图。
图10是本发明实施例十提供的一种复合型usb设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明的目的是提供一种复合型usb设备的实现方法。解决了将存储设备和智能密钥设备集成到一个设备中的问题,复合设备中的存储设备的功能和智能密钥设备的功能是通过一个微处理器或多个微处理器芯片来实现的;参见图1,实现的步骤具体如下:
步骤101.复合设备与主机连接,声明设备类型为大容量存储设备;
复合设备通过usb接口连接到主机,主机向复合设备发送usb枚举命令,以获取复合设备的类型;
复合设备接收到主机下发的枚举命令后,向主机报告其为大容量存储设备,并且支持SCSI协议的接口标准。
步骤102.主机获取复合设备的逻辑单元个数;
usb大容量存储设备支持具有共同设备特性的多个逻辑单元,逻辑单元可以是物理存储单元或者逻辑地址空间,每个逻辑单元可以由LUN(Logic UnitNumber,逻辑单元号)来标识。
具体地,主机向复合设备发送的获取LUN的命令为GET_MAX_LUN命令,复合设备向主机返回预先约定的LUN值,LUN的取值范围为0至15。
在本发明实施例中,复合设备返回给主机的LUN值可以为0至15的任意值;此处以LUN值为1举例说明,表示该复合设备可以实现两种设备的功能。
步骤103.主机获取复合设备的具体信息;
主机向复合设备中的各个逻辑单元(LUN从0到最大)下发INQUIRY命令,查询设备具体信息;每个逻辑单元被认为是单独的存储设备,响应INQUIRY命令,报告每个存储设备的特性。
复合设备收到主机下发的INQUIRY命令后,向主机发送字符集描述(unicode),包括生产厂商、产品描述、型号等信息;
在字符集描述中包含有该大容量存储设备的具体类型,包括磁盘、光盘等。本发明实施例中,复合设备向主机声明自身为光盘设备。
另外,如果在步骤102中,若复合设备返回的LUN大于0,即复合设备向主机报告有多个逻辑单元,则在步骤103中复合设备可将这多个逻辑单元分别声明为不同的类型。
步骤104.主机加载该复合设备的驱动程序。
主机根据上述步骤中复合设备的应答信息,选择设备通信的接口,加载设备驱动程序。
步骤105.主机中生成操作指令,下发给复合设备;
如果主机是要对复合设备进行数据的读取或写入操作,则按照SCSI协议生成标准的数据读/写操作指令,然后将操作指令下发给复合设备;
如果主机要使用复合设备的智能密钥功能,则主机根据预先约定的规则生成智能密钥操作指令,然后将智能密钥操作指令下发给复合设备。
其中,复合设备的智能密钥功能包括:数字签名、数据加/解密、身份认证等;
其中,当主机使用复合设备的智能密钥功能时,下发的智能密钥操作指令为特定的SCSI指令;
一般通过在SCSI指令中特殊的域或位使用特殊的值来表示此命令为特定的SCSI指令,上述特殊的域包括LUN域、预留域,特殊的位包括LUN域中特殊的位、预留域中特殊的位或其它域中的预留位;
例如,主机下发的SCSI指令序列如下:
0x55 53 42 43 28 9b a5 85 00 08 00 00 80 00 0a 28 00 00 00 00 48 0000 04 00 00 00 00 00 00 00
其中,该指令序列的前4个字节数据0x55 53 42 43表示该指令序列为SCSI请求;第13个字节0x80表示复合设备需要向主机返回数据,如果该字节为0x00则表示主机将要向复合设备发送数据;第15个字节0x0a表示该字节后有10字节的SCSI指令,SCSI指令为:
0x28 00 00 00 00 48 00 00 04 00
在该10字节的SCSI指令中,第一字节0x28为操作码,表示该SCSI指令为read10指令(读数据指令),若操作码为0x2a,则表示该SCSI指令为write10指令(写数据指令);第2个字节0x00为LUN域,该指令中LUN值为0;第3字节至第6字节为LBA(Logical Block Address,逻辑块地址)域,域中的值0x0000 00 48表示的是LBA地址;第7字节至第9字节0x00 00 04表示偏移量;第10字节为控制参数。
在本发明实施例中,智能密钥操作指令采用的是使用SCSI指令中特殊的域的形式:
若当前主机要对复合设备进行数据读/写操作,则LUN的值不变,为0;若是执行数字签名操作,则LUN的值为1。
例如,主机下发的指令序列为:
0x55 53 42 43 28 9b a5 85 00 08 00 00 00 00 0a 2a 01 00 00 a0 e8 0000 a4 00 00 00 00 00 00 00
在该指令序列中,SCSI指令的操作码为0x2a,表示该SCSI指令为write10指令;LUN值为1,表示该指令为签名指令;该指令序列的第13个字节为0x00,表示主机将要向复合设备发送待签名数据;
主机下发上述指令序列后,将待签名数据按SCSI协议发送给复合设备。
步骤106.复合设备接收操作指令,并对接收到的操作指令进行分析,判断其是否是数据读/写操作指令;
具体地,复合设备判断接收到的操作指令是否是数据读/写操作指令的方法为:
复合设备根据接收到的SCSI指令中特殊域的值、或域中特殊的位判断该操作指令是否是数据读/写操作指令,若是,则执行步骤107;否则执行步骤108。
在本发明实施例中,复合设备判断LUN域的值:若LUN域的值为0,则该SCSI指令为数据读/写操作指令,执行步骤107;若LUN域的值为1,则该SCSI指令为智能密钥操作指令,执行步骤108。
步骤107.复合设备执行数据读/写操作指令,并向主机返回指令执行结果;
在本发明实施例中,在步骤106中判断接收到的SCSI指令中LUN域的值为0,则该操作指令是读/写操作指令,此时复合设执行该SCSI指令进行数据的读/写操作;然后将指令的执行结果(读取到的数据或写入数据成功的信息)返回给主机。
步骤108.复合设备执行接收到的操作指令,进行智能密钥操作;
复合设备判断接收到的SCSI指令为智能密钥操作指令后,解析接收到的SCSI指令,判断智能密钥操作的具体类型(数字签名、数据加/解密、身份认证等),然后接收待操作数据,根据该智能密钥操作指令对待操作数据进行相应的智能密钥操作。
在本发明实施例中,步骤106中解析出接收到的SCSI指令中LUN域的值为1,则复合设备可以判断出该操作指令是智能密钥操作指令中的签名指令,然后接收待签名数据,并对待签名数据进行数字签名操作。
步骤109.复合设备将操作指令的执行结果返回给主机,结束。
在复合设备将操作指令的执行结果返回给主机之前,主机还可以向复合设备下发获取签名结果的指令;
如,主机可以向复合设备发送特殊的读数据指令或预定的扩展SCSI指令;
复合设备将操作指令的执行结果按SCSI协议封装后返回给主机。
在本发明实施例中,主机向复合设备下发的获取签名结果指令如下所示:
0x55 53 42 43 28 9b a5 85 00 08 00 00 80 00 0a 28 01 00 00 a0 e8 0000 a4 00 00 00 00 00 00 00
复合设备接收到该指令后将数字签名的结果按SCSI协议封装后返回给主机。
在本发明实施例中,复合设备中的智能密钥功能至少包括数字签名、身份认证、数据加/解密等功能中的至少一个功能;
例如,若复设备响应主机的GET-MAX-LUN命令时所返回的LUN值为4;
则相应地,当SCSI指令中的LUN值为0时,该指令为数据读/写指令;当LUN值为1时,该指令为签名指令;当LUN值为2时,该指令为数据加密指令;当LUN值为3时,该指令还可以为数据解密指令;当LUN值为4时,该指令为身份认证指令;
相应地,复合设备实现身份认证、数据加/解密等功能的方法,可以参照上述的实现数据字签名功能的方法。
其中,数据加/解密使用的方法包括自定义算法加密和标准算法加密;
标准加密算法包括:RSA、DES、3DES、MD5、SHA-1、SSF33、AES、ECC、RC、PGP、BASE64算法;
自定义的算法加密中使用的方法为用户自定义的算法。
本发明的有益效果从以上技术方案可以看出,本发明实施例1所提供的设备在接入操作***后表现为一个或多个海量存储设备,在海量存储设备的基础上,还实现了智能密钥设备的功能,所占有的优势是:
1.使用方便,用户只需要一个设备就可以满足存储和智能密钥相关功能;
2.解决智能密钥设备存储空间小的问题,智能密钥设备一般因为安全和成本的原因,存储空间往往比普通存储设备小得多;
3.解决存储设备的安全性问题,存储设备存储的数据往往容易获取,通过本发明提供的技术方案可以存储的数据进行加密,以保护数据安全。
4.完全兼容现在有各种操作***提供的接口。
实施例二
本发明的目的是提供一种复合型usb设备的实现方法。解决了将存储设备和智能密钥设备集成到一个设备中的问题,复合设备中的存储设备的功能和智能密钥设备的功能是通过一个微处理器或多个微处理器芯片来实现的;参见图2,实现的步骤具体如下:
步骤201.复合设备与主机连接,声明设备类型为大容量存储设备;
复合设备通过usb接口连接到主机,主机向复合设备发送usb枚举命令,以获取复合设备的类型;
复合设备接收到主机下发的的枚举命令后,向主机报告其为大容量存储设备,并且支持SCSI协议的接口标准。
步骤202.主机获取复合设备的逻辑单元个数;
具体地,主机向复合设备发送的获取LUN的命令为GET_MAX_LUN命令,复合设备向主机返回预先约定的LUN值,LUN的取值为0至15。
在本发明实施例中,复合设备返回给主机的LUN值为0,表示该复合设备只有一个逻辑单元。
步骤203.主机获取复合设备的具体信息;
主机向复合设备中的各个逻辑单元(LUN从0到最大)下发INQUIRY命令,查询设备具体信息;每个逻辑单元被认为是单独的存储设备,响应INQUIRY命令,报告每个存储设备的特性。
复合设备收到主机下发的INQUIRY命令后,向主机发送字符集描述(unicode),包括生产厂商、产品描述、型号等信息;
在字符集描述中包含有该大容量存储设备的具体类型,包括磁盘、光盘等。
本发明实施例中,复合设备向主机声明自身为磁盘设备。
步骤204.主机加载该复合设备的驱动程序。
主机根据上述步骤中复合设备的应答信息,选择设备通信的接口,加载设备驱动程序。
步骤205.主机中生成操作指令,下发给复合设备;
主机与复合设备通信过程中收发的指令是按照SCSI接口协议的规范进行封装的。
在主机中,如果主机是要对复合设备进行数据的读取或写入操作,则按照SCSI协议的标准生成数据读/写操作指令,然后将操作指令下发给复合设备;
如果主机要使用复合设备的智能密钥功能,则主机根据预先约定的规则生成操作指令,然后将操作指令下发给复合设备。
其中,复合设备的智能密钥功能包括:数字签名、数据加/解密、身份认证等;
具体地,当主机使用复合设备的智能密钥功能时,下发的操作指令为访问磁盘中特定位置的SCSI指令;
磁盘中特定位置包括,磁盘中的特定文件,磁盘中特定扇区等;
该特定文件或特定扇区为复合设备中预先约定的。
例如,主机向复合设备下发的签名指令序列如下所示:
0x55 53 42 43 28 9b a5 85 00 08 00 00 00 00 0a 2a 00 aa aa aa aa 0000 a4 00 00 00 00 00 00 00
上述指令序列中,主机通过一个特殊的LBA地址0xaa aa aa aa,表示了该SCSI指令是签名指令;
主机下发上述指令序列后,将待签名数据按SCSI协议发送给复合设备。
步骤206.复合设备接收到操作指令,并对接收到的操作指令进行分析,判断其是否是数据读/写操作指令;
若判断出该操作指令是数据读/写操作指令,则执行步骤207,否则该操作指令为智能密钥操作指令,执行步骤208。
复合设备判断接收到的操作指令是否是数据读/写操作指令的方法为:
复合设备解析并判断接收到的操作指令是否是访问磁盘中特定文件或特定扇区或文件的操作指令,如果是,则该操作指令为智能密钥操作指令,否则该操作指令是数据读/写操作指令。
具体地,本发明实施例中,复合设备根据接收到的操作指令中的LBA地址为0xaa aa aa aa,可以判断出该操作指令为签名指令;
复合设备判断出该指令为签名指令后接收主机下发的待签名数据。
步骤207.复合设备执行数据读/写操作指令,并向主机返回指令执行结果;
在本发明实施例中,在步骤206中判断出接收到的SCSI指令是读/写操作指令,此时复合设备执行该SCSI指令进行数据的读/写操作;然后将指令的执行结果(读取到的数据或写入数据成功的信息)返回给主机。
步骤208.复合设备执行接收到的SCSI指令,进行智能密钥操作;
复合设备判断接收到的SCSI指令为智能密钥操作指令后,根据该SCSI指令执行相应的智能密钥操作,进行数字签名、数据加/解密或身份认证等智能密钥操作。
在本发明实施例中,步骤206中判断出接收到的SCSI指令为签名指令后,对指令中传入的待签名数据进行数字签名操作。
步骤209.复合设备将操作指令的执行结果返回给主机,结束。
在复合设备将操作指令的执行结果返回给主机之前,主机还可能向复合设备下发获取签名结果的指令;
在本发明实施例中,主机向复合设备下发的获取签名结果指令如下所示:
0x55 53 42 43 28 9b a5 85 00 08 00 00 80 00 0a 28 01 aa aa aa aa 0000 a4 00 00 00 00 00 00 00
复合设备接收到获取签名结果的指令后,将智能密钥操作指令的执行结果按SCSI协议封装后返回给主机。
在本发明实施例中,复合设备中的智能密钥功能至少包括数字签名、身份认证、数据加/解密等功能中的至少一个功能;
例如,可以通过不同的特殊的LBA地址对智能密钥操作类型加以区分。
数据加/解密使用的方法包括自定义算法加密和标准算法加密;
标准加密算法包括:RSA、DES、3DES、MD5、SHA-1、SSF33、AES、ECC、RC、PGP、BASE64算法;
自定义的算法加密中使用的方法为用户自定义的算法。
本发明的有益效果从以上技术方案可以看出,本发明实施例二所提供的设备在接入操作***后表现为一个海量存储设备,在海量存储设备的基础上,还实现了智能密钥设备的功能,所占有的优势是:
1.使用方便,用户只需要一个设备就可以满足存储和智能密钥相关功能;
2.解决智能密钥设备存储空间小的问题,智能密钥设备一般因为安全和成本的原因,存储空间往往比普通存储设备小得多;
3.解决存储设备的安全性问题,存储设备存储的数据往往容易获取,通过本发明提供的技术方案可以存储的数据进行加密,以保护数据安全;
4.完全兼容现在有各种操作***提供的接口。
实施例三
本发明的目的是提供一种复合型usb设备的实现方法。解决了将存储设备和智能密钥设备集成到一个设备中的问题,复合设备中的存储设备的功能和智能密钥设备的功能是通过一个微处理器或多个微处理器芯片来实现的;参见图3,实现的步骤具体如下:
步骤301.复合设备与主机连接,声明设备类型为大容量存储设备;
复合设备通过usb接口连接到主机,主机向复合设备发送usb枚举命令,以获取复合设备的类型;
复合设备接收到主机下发的的枚举命令后,向主机报告其为大容量存储设备,并且支持SCSI协议的接口标准。
步骤302.主机获取复合设备的逻辑单元个数;
具体地,主机向复合设备发送的获取LUN的命令为GET_MAX_LUN命令,复合设备向主机返回预先约定的LUN值,LUN的取值为0至15。
在本发明实施例中,复合设备返回给主机的LUN值为0,表示该复合设备只有一个逻辑单元。
步骤303.主机获取复合设备的具体信息;
主机向复合设备中的各个逻辑单元(LUN从0到最大)下发INQUIRY命令,查询设备具体信息;每个逻辑单元被认为是单独的存储设备,响应INQUIRY命令,报告每个存储设备的特性。
复合设备收到主机下发的INQUIRY命令后,向主机发送字符集描述(unicode),包括生产厂商、产品描述、型号等信息;
在字符集描述中包含有该大容量存储设备的具体类型,包括磁盘、光盘等。
本发明实施例中,复合设备向主机声明自身为磁盘设备。
步骤304.主机加载该复合设备的驱动程序。
主机根据上述步骤中复合设备的应答信息,选择设备通信的接口,加载设备驱动程序。
步骤305.主机中生成操作指令,下发给复合设备;
主机与复合设备通信过程中收发的指令是按照SCSI接口协议的规范进行封装的。
在主机中,如果主机是要对复合设备进行数据的读取或写入操作,则按照SCSI协议的标准生成标准的数据读/写操作指令,然后将操作指令下发给复合设备;
如果主机要使用复合设备的智能密钥功能,则主机根据预先约定的规则生成操作指令,然后将操作指令下发给复合设备。
其中,复合设备的智能密钥功能包括:数字签名、数据加/解密、身份认证等;
具体地,在本实施例中,当主机使用复合设备的智能密钥功能时,下发的操作指令为扩展SCSI指令;
所谓扩展SCSI指令,是在SCSI指令序列中使用了在标准的SCSI协议中没有使用的操作码(即在标准的SCSI协议中没有规定该操作码的用法及意义),主机通过预先约定的扩展SCSI指令控制复合设备进行多种类型的智能密钥操作。
例如,主机向复合设备下发的签名指令序列如下所示:
0x55 53 42 43 28 9b a5 85 00 08 00 00 00 00 0a ee 0e 34 00 4a 00 0000 a4 00 00 00 00 00 00 00
在上述指令序列中,0x0a之后的10个字节中,第一个字节操作码0xee在标准SCSI协议中没有被使用,这表示这条SCSI指令是扩展SCSI指令,操作码之后的其余9个字节的值可以是预先约定的值或随机数;
主机下发上述指令序列后,将待签名数据按SCSI协议发送给复合设备。
另外,若该复设备还同时拥有除数字签名功能以外的其它智能密钥功能,如数据加密等,则主机生成智能密钥操作指令时可以使用不同的操作码,或是使用操作码后的9个字节数据来约定不同的智能密钥操作类型。
步骤306.复合设备接收操作指令,并对接收到的操作指令进行分析,判断其是否是数据读/写操作指令;
若判断出该操作指令是数据读/写操作指令,则执行步骤307,否则该操作指令为智能密钥操作指令,执行步骤308。
复合设备判断接收到的操作指令是否是数据读/写操作指令的方法为:
复合设备根据接收到的操作指令中的操作码判断该操作指令是否是扩展SCSI指令,如果是,则该操作指令为智能密钥操作指令,否则该操作指令是数据读/写操作指令。
具体地,本发明实施例中,复合设备根据接收到的SCSI操作指令中的操作码0xee判断出该操作指令是扩展SCSI指令,于是可知该操作指令为签名指令;
复合设备判断出该指令为签名指令后接收主机下发的待签名数据。
步骤307.复合设备执行数据读/写操作指令,并向主机返回指令执行结果;
在本发明实施例中,在步骤306中判断出接收到的操作指令是标准SCSI指令中的数据读/写操作指令,此时复合设备执行该操作指令进行数据的读/写操作;然后将指令的执行结果(读取到的数据或写入数据成功的信息)返回给主机。
步骤308.复合设备执行接收到的扩展SCSI指令,进行智能密钥操作;
复合设备判断接收到的操作指令为扩展SCSI指令后,根据该扩展SCSI指令执行相应的智能密钥操作,进行数字签名、数据加/解密或身份认证等智能密钥操作。
在本发明实施例中,步骤306中判断出接收到的操作指令为签名指令后,对指令中传入的待签名数据进行数字签名操作。
步骤309.复合设备将操作指令的执行结果返回给主机,结束。
在复合设备将操作指令的执行结果返回给主机之前,主机还可能向复合设备下发获取签名结果的指令;
在本发明实施例中,主机向复合设备下发的获取签名结果指令如下所示:
0x55 53 42 43 28 9b a5 85 00 08 00 00 80 00 0a dd 00 00 00 00 00 0000 a4 00 00 00 00 00 00 00
在该扩展SCSI指令序列中,操作码0xdd表示该操作指令为获取签名结果指令;
或者,主机对之前下发的签名指令进行修改,将签名指令的第13个字节由0x00改为0x80,该操作指令表示复合设备需要向主机返回数据,即签名结果,该获取签名结果指令如下所示:
0x55 53 42 43 28 9b a5 85 00 08 00 00 80 00 0a ee 0e 34 00 4a 00 0000 a4 00 00 00 00 00 00 00
另外,还可以使用操作码之后的9个字节来表示该扩展SCSI指令为区别于签名指令的获取签名结果指令,相应地,获取签名结果指令还可以是下面这样一种形式:
0x55 53 42 43 28 9b a5 85 00 08 00 00 80 00 0a ee 0e 34 00 4a 00 0000 a4 00 00 00 00 00 00 00
复合设备接收到获取签名结果的指令后,将智能密钥操作指令的执行结果按SCSI协议封装后返回给主机。
在本发明实施例中,复合设备中的智能密钥功能至少包括数字签名、身份认证、数据加/解密等功能中的至少一个功能;
数据加/解密使用的方法包括自定义算法加密和标准算法加密;
标准加密算法包括:RSA、DES、3DES、MD5、SHA-1、SSF33、AES、ECC、RC、PGP、BASE64算法;
自定义的算法加密中使用的方法为用户自定义的算法。
本发明的有益效果从以上技术方案可以看出,本发明实施例三所提供的设备在接入操作***后表现为一个海量存储设备,在海量存储设备的基础上,还实现了智能密钥设备的功能,所占有的优势是:
1.使用方便,用户只需要一个设备就可以满足存储和智能密钥相关功能;
2.解决智能密钥设备存储空间小的问题,智能密钥设备一般因为安全和成本的原因,存储空间往往比普通存储设备小得多;
3.解决存储设备的安全性问题,存储设备存储的数据往往容易获取,通过本发明提供的技术方案可以存储的数据进行加密,以保护数据安全;
4.完全兼容现在有各种操作***提供的接口。
实施例四
本发明的目的是提供一种复合型usb设备的实现方法。解决了将存储设备和智能密钥设备集成到一个设备中的问题,复合设备中的存储设备的功能和智能密钥设备的功能是通过一个微处理器或多个微处理器芯片来实现的;参见图3,实现的步骤具体如下:
步骤401.复合设备与主机建立连接,报告设备信息及设备类型;
复合设备通过usb接口连接到主机,主机向复合设备发送usb枚举命令,以获取复合设备的类型;
复合设备接收到主机下发的枚举命令后,向主机报告其为一个支持SCSI协议接口标准的大容量存储设备和一个HID设备;
或者,
复合设备声明自身设备类型为SCSI协议的大容量存储设备与一个CCID(usbChip/Smart Card Interface Devices,usb芯片智能卡接口设备)设备。
在本发明实施例中,大容量存储设备可以包含有1个或1个以上至16个逻辑单元,每个逻辑单元的设备类型既可以是磁盘也可以是光盘。
步骤402.主机加载该复合设备的驱动程序。
主机根据复合设备的应答信息,选择相应的设备通信的接口协议,加载设备驱动程序。
步骤403.主机中生成操作指令,下发给复合设备;
如果主机是要对复合设备进行数据的读取或写入操作,则按照SCSI协议的标准生成数据读/写操作指令,然后通过批量传输管道下发给复合设备;
如果主机要使用复合设备的智能密钥功能,则主机调用PCSC接口生成符合7816协议标准的APDU(Application Protocol Data Unit,应用协议数据单元)指令,并按HID协议对APDU指令进行封装,然后通过控制传输管道下发给复合设备;
或者,
如果主机要使用复合设备的智能密钥功能,则主机调用PCSC接口生成符合7816协议标准的APDU指令,并按CCID协议对APDU指令进行封装,然后通过批量传输管道下发给复合设备。
其中,复合设备的智能密钥功能包括:数字签名、数据加/解密、身份认证等。
例如,主机调用PCSC接口生成一条APDU指令,该指令为取随机数指令:
0x00 84 00 00 08
然后,主机使用CCID协议中规定的指令头对接收到的数据进行封装,指令头为:
0x6f 05 00 00 00 00 10 00 00 00
封装后得到指令为:
0x6f 05 00 00 00 00 10 00 00 00 00 84 00 00 08
步骤404.复合设备接收到操作指令,并对接收到的操作指令进行分析,判断其是否是数据读/写操作指令;
若判断出该操作指令是数据读/写操作指令,则执行步骤405,否则该操作指令为智能密钥操作指令,执行步骤406。
具体地,复合设备判断接收到的操作指令是否是数据读/写操作指令的方法为:
复合设备判断接收到的操作指令是否是按照SCSI协议规范封装的,如果是,则该操作指令为SCSI协议的数据读/写操作指令,否则该操作指令是按照HID协议或CCID协议封装的智能密钥操作指令;
或者,
当复合设备声明设备类型为HID设备与SCSI协议的大容量存储设备时,复合设备判断接收到的操作指令是否是通过控制传输管道传入的,如果是,则该操作指令为HID协议封装的智能密钥操作指令,否则该操作指令是SCSI协议的数据读/写操作指令。
步骤405.复合设备执行数据读/写操作指令,并向主机返回指令执行结果;
在本发明实施例中,在步骤404中判断出接收到的操作指令是读/写操作指令,此时复合设备执行该SCSI指令进行数据的读/写操作;然后将指令的执行结果(读取到的数据或写入数据成功的信息)返回给主机。
步骤406.复合设备执行接收到的智能密钥操作指令,进行智能密钥操作;
复合设备判断接收到的操作指令为智能密钥操作指令后,解析该操作指令并执行相应的智能密钥操作,进行数字签名、数据加/解密或身份认证等操作。
例如,复合设备对接收到的CCID指令0x6f 05 00 00 00 00 10 00 00 00 0084 00 00 08进行解析,得到APDU指令0x00 84 00 00 08后,复合设备根据该APDU指令执行取随机数的操作。
步骤407.复合设备将操作指令的执行结果返回给主机,结束。
复合设备将智能密钥操作指令的执行结果按HID协议封装后通过中断传输管道返回给主机;
或者,
复合设备将智能密钥操作指令的执行结果按CCID协议封装后通过批量传输管道返回给主机。
在本发明实施例中,复合设备中的智能密钥功能至少包括数字签名、身份认证、数据加/解密等功能中的至少一个功能。
本发明的有益效果从以上技术方案可以看出,本发明实施例四所提供的设备在接入操作***后表现为一个海量存储设备和一个HID设备,或者表现为一个海量存储设备和一个CCID设备,所占有的优势是:
1.可以方便的通过计算机访问复合设备,设备管理方便,完全兼容现在有各种操作***提供的接口;
2.使用方便,用户只需要一个设备就可以满足存储和智能密钥相关功能;
3.解决智能密钥设备存储空间小的问题,智能密钥设备一般因为安全和成本的原因,存储空间往往比普通存储设备小得多;
4.解决存储设备的安全性问题,存储设备存储的数据往往容易获取,通过本发明实施例提供的技术方案可以存储的数据进行加密,以保护数据安全。
实施例五
本发明实施例提供一种usb接口的复合设备。该复合设备将存储设备和智能密钥设备集成到一个设备中,该复合设备中的存储的功能和智能密钥的功能可以是通过一个微处理器或多个微处理器芯片来实现的。
如图5所示,本发明实施例提供的复合型usb设备500包括:usb接口模块501、指令判断模块502、数据存储模块503和智能密钥模块504。
usb接口模块501,用于复合型usb设备500与主机建立连接,进行基于usb协议的数据解析/封装及通信;
指令判断模块502,用于判断usb接口模块501解析usb数据包得到的操作指令是标准的SCSI数据读/写指令还是智能密钥操作指令,然后将标准的SCSI数据读/写操作指令发送给数据存储模块503,将智能密钥操作指令发送给智能密钥模块504;
数据存储模块503,用于存储数据,并执行数据读/写操作;
智能密钥模块504,用于根据智能密钥操作指令执行相应的智能密钥操作。
其中,智能密钥操作包括:数字签名和/或身份认证和/或数据加/解密等;
相应地,智能密钥模块包括:数字签名单元504A、身份认证单元504B、数据加/解密单元504C;
数字签名单元504A,用于根据智能密钥操作指令中的签名指令对传入的数据进行数据签名操作;
身份认证单元504B,用于根据智能密钥操作指令中的身份认证指令进行身份认证操作;
数据加/解密单元504C,用于根据智能密钥操作指令中的数据加/解密指令,对传入的数据进行加/密操作,然后将加/密操作后的密文/明文返回给主机或发送到数据存储模块503进行存储;数据加/解密单元504C还用于对从存储模块503读出数据的数据进行加/解密操作,然后将加/密操作后的密文/明文返回给主机。
复合型usb设备500通过usb接口模块501与主机建立连接,向主机声明其自身为预定个数的大容量存储设备;usb接口模块501接收到主机下发的usb数据包,对接收到的usb数据包进行解析后得到操作指令,指令判断模块502判断该操作指令是否是智能密钥操作指令,若是智能密钥操作指令,则由智能密钥模块504根据该智能密钥操作执行相应的智能密钥操作,否则将解析后的数据包转给数据存储模块503,由数据存储模块503执行数据读/写操作。
复合型usb设备500还可以进行加密存储,usb接口模块501接收到主机下发的数据读取指令后,数据存储模块503执行该数据读取指令读取数据的密文,智能密钥模块504中的数据加/解密单元504C对读取出的密文进行解密操作,然后通过usb接口模块501将数据的明文发送给主机。
本发明实施例提供了一种复合型usb设备,该复合型usb设备既具有U盘的存储功能又具有usbkey的智能密钥功能,该复合型usb设备还使用现有的接口技术,对现有主机***不需要进行修改,有着良好的便携性和易用性。
实施例六
在本发明实施例六中,提供了一种复合型usb设备,该复合型usb设备既具有U盘的存储功能又具有usbkey的智能密钥功能。如图6所示,该复合型usb设备中包括:usb_Hub芯片、usbkey芯片、U盘芯片、NAND-Flash芯片。
其中,usb-Hub芯片分别与Host(主机)、usbkey芯片、U盘芯片连接;
usbkey芯片用于实现数据的加密、解密、数字签名等智能密钥功能,通过usb-Hub芯片与主机进行usb协议的数据通信;
U盘芯片还与NAND-Flash芯片相连接,U盘芯片用于控制大容量闪存芯片NAND-Flash芯片执行写数据、读数据等操作。
具体地,usbkey芯片中包括第一usb接口单元、数据运算单元、密钥存储单元,U盘芯片中包括第二usb接口单元、数据读写单元、第一总线接口单元,NAND-Flash芯片包括Flash存储单元和第二总线接口单元;
第一usb接口单元,用于按照usb协议对数据进行解析或封装,并以usb协议通过usb-Hub芯片与主机进行数据通信;
数据运算单元,用于根据接收到的操作指令,从密钥存储单元中读取密钥,执行操作指令中所指示的数据加/解密、数字签名等智能密钥功能;
密钥存储单元,用于存储用户的密钥;
第二usb接口单元,用于按照usb协议对数据进行解析或封装,并以usb协议通过usb-Hub芯片与主机进行数据通信;
数据读写单元,用于根据接收到的读/写数据的操作指令,向NAND-Flash芯片中的Flash存储单元发送指令,执行读/写数据的操作;
第一总线接口单元,用于与NAND-Flash芯片中第二总线接口单元连接,按照总线接口协议的规范与NAND-Flash芯片进行通信;
Flash存储单元,用于存储数据,并执行U盘芯片发送的读/写数据指令,向U盘芯片返回读取的数据或指令的执行结果;
第二总线接口单元,用于与U盘芯片中的第一总线接口单元连接,按照总线接口协议的规范与U盘芯片进行通信。
实施例七
在本发明实施例七中,提供了一种复合型usb设备,该复合型usb设备既具有U盘的存储功能又具有usbkey的智能密钥功能。如图7所示,该复合型usb设备中包括:U盘控制芯片、usbkey芯片、NAND-Flash芯片。
其中,U盘控制芯片分别与Host(主机)、usbkey芯片、NAND-Flash芯片连接;
本实施例中的U盘控制芯片中集成了本发明实施例六中所述的U盘芯片的功能和usb-Hub芯片的功能,usbkey芯片通过U盘控制芯片与主机进行usb协议的数据通信;
usbkey芯片用于实现数据的加密、解密、数字签名等智能密钥功能,
U盘控制芯片还与NAND-Flash芯片相连接,控制NAND-Flash芯片执行写数据、读数据等操作。
具体地,U盘控制芯片中包括usb-Hub单元、第一usb接口单元、数据读写单元、第一总线接口单元,usbkey芯片中包括第二usb接口单元、数据运算单元、密钥存储单元,NAND-Flash芯片包括Flash存储单元和第二总线接口单元;
第一usb接口单元,用于按照usb协议对数据进行解析或封装,并以usb协议与主机进行数据通信;
数据读写单元,用于根据接收到的读/写数据的操作指令,向NAND-Flash芯片中的Flash存储单元发送指令,执行读/写数据的操作;
第一总线接口单元,用于与NAND-Flash芯片中第二总线接口单元连接,按照总线接口协议的规范与NAND-Flash芯片进行通信;
第二usb接口单元,用于按照usb协议对数据进行解析或封装,并以usb协议通过U盘控制芯片中的usb-Hub单元与主机进行数据通信;
数据运算单元,用于根据接收到的操作指令,从密钥存储单元中读取密钥,执行操作指令中所指示的数据加/解密、数字签名等智能密钥功能;
密钥存储单元,用于存储用户的密钥;
Flash存储单元,用于存储数据,并执行U盘控制芯片发送的读/写数据指令,向U盘控制芯片返回读取的数据或指令的执行结果;
第二总线接口单元,用于与U盘控制芯片中的第一总线接口单元连接,按照总线接口协议的规范与U盘控制芯片进行通信。
实施例八
在本发明实施例八中,提供了一种复合型usb设备电路图,该复合型usb设备既具有U盘的存储功能又具有usbkey的智能密钥功能。如图8所示,该复合型usb设备中包括:U盘控制芯片、usbkey芯片、NAND-Flash芯片。
其中,U盘控制芯片分别与Host(主机)、usbkey芯片、NAND-Flash芯片连接;
本实施例八提供的U盘控制芯片中集成了实施例六中的U盘芯片的功能,同时还集成了数据封装和解析的功能,与主机进行usb协议的数据通信,与usbkey芯片进行7816或spi协议的数据通信;
U盘控制芯片还用于控制与之相连的NAND-Flash芯片执行写数据、读数据等操作;
usbkey芯片用于实现数据的加密、解密、数字签名等智能密钥功能。
具体地,U盘控制芯片中包括usb接口单元、第一接口单元、数据读写单元、第一总线接口单元,usbkey芯片中包括第二接口单元、数据运算单元、密钥存储单元,NAND-Flash芯片包括Flash存储单元和第二总线接口单元;
usb接口单元,用于按照usb协议对主机下发的数据进行解析并发送给第一接口单元或数据读写单元,或者将第一接口单元或数据读写单元返回的数据按照usb协议封装后发送给主机;
第一接口单元,用于提供7816接口或SPI接口(Serial PeripheralInterface,串行***接口),使U盘控制芯片与usbkey芯片进行数据交互;
数据读写单元,用于根据接收到的读/写数据的操作指令,向NAND-Flash芯片中的Flash存储单元发送指令,执行读/写数据的操作;
第一总线接口单元,用于与NAND-Flash芯片中第二总线接口单元连接,按照总线接口协议的规范与NAND-Flash芯片进行通信;
第二usb接口单元,用于按照usb协议对数据进行解析或封装,并以usb协议通过U盘控制芯片中的usb-Hub单元与主机进行数据通信;
数据运算单元,用于根据接收到的操作指令,从密钥存储单元中读取密钥,执行操作指令中所指示的数据加/解密、数字签名等智能密钥功能;
密钥存储单元,用于存储用户的密钥;
Flash存储单元,用于存储数据,并执行U盘控制芯片发送的读/写数据指令,向U盘控制芯片返回读取的数据或指令的执行结果;
第二总线接口单元,用于与U盘控制芯片中的第一总线接口单元连接,按照总线接口协议的规范与U盘控制芯片进行通信。
实施例九
在本发明实施例九中,提供了一种复合型usb设备,该复合型usb设备既具有U盘的存储功能又具有usbkey的智能密钥功能。如图9所示,该复合型usb设备中包括:usbkey芯片、SPI-Flash芯片。
其中,usbkey芯片分别与Host(主机)、SPI-Flash芯片连接;
usbkey芯片中集成了Flash读写控制功能和智能密钥功能,通过SPI接口(Serial Peripheral Interface,串行***接口)控制SPI-Flash芯片执行写数据、读数据等操作。
SPI-Flash芯片是一种使用SPI接口的闪存芯片,其容量一般小于NAND-Flash芯片。
具体地,usbkey芯片中包括usb接口单元、数据运算单元、密钥存储单元、数据读写单元、第一SPI接口单元,SPI-Flash芯片中包括Flash存储单元和第二SPI接口单元;
usb接口单元,用于按照usb协议对主机下发的数据进行解析并发送给第一SPI接口单元或数据读写单元,或者将第二SPI接口单元、数据读写单元返回的数据按照usb协议封装后发送给主机;
数据运算单元,用于根据接收到的操作指令,从密钥存储单元中读取密钥,执行操作指令中所指示的数据加/解密、数字签名等智能密钥功能;
密钥存储单元,用于存储用户的密钥;
数据读写单元,用于根据接收到的读/写数据的操作指令,向SPI-Flash芯片中的Flash存储单元发送指令,执行读/写数据的操作;
第一SPI接口单元,用于提供SPI接口(Serial Peripheral Interface,串行***接口),按照SPI接口规范对数据进行封装或解析,使usbkey芯片与SPI-Flash芯片进行数据交互;
Flash存储单元,用于存储数据,并执行usbkey芯片的数据读写单元发送的读/写数据指令,向usbkey芯片返回读取的数据或指令的执行结果;
第二SPI接口单元,用于提供SPI接口(Serial Peripheral Interface,串行***接口),按照SPI接口规范对数据进行封装或解析,使SPI-Flash芯片与usbkey芯片进行数据交互。
实施例十
在本发明实施例十中,提供了一种复合型usb设备,该复合型usb设备既具有U盘的存储功能又具有usbkey的智能密钥功能。如图10所示,该复合型usb设备中包括:usbkey芯片、NAND-Flash芯片。
其中,usbkey芯片分别与Host(主机)、NAND-Flash芯片连接;
usbkey芯片中集成了U盘芯片的功能,通过总线接口控制NAND-Flash芯片中的Flash存储单元执行写数据、读数据等操作。
具体地,usbkey芯片中包括usb接口单元、数据运算单元、密钥存储单元、数据读写单元、第一总线接口单元,NAND-Flash芯片中包括Flash存储单元和第二总线接口单元;
usb接口单元,用于按照usb协议对主机下发的数据进行解析并发送给第一总线接口单元或数据读写单元,或者将第二总线接口单元、数据读写单元返回的数据按照usb协议封装后发送给主机;
数据运算单元,用于根据接收到的操作指令,从密钥存储单元中读取密钥,执行操作指令中所指示的数据加/解密、数字签名等智能密钥功能;
密钥存储单元,用于存储用户的密钥;
数据读写单元,用于根据接收到的读/写数据的操作指令,向NAND-Flash芯片中的Flash存储单元发送指令,执行读/写数据的操作;
第一总线接口单元,用于与NAND-Flash芯片中第二总线接口单元连接,按照总线接口协议的规范与NAND-Flash芯片进行数据交互;
Flash存储单元,用于存储数据,并执行usbkey芯片的数据读写单元发送的读/写数据指令,向usbkey芯片返回读取的数据或指令的执行结果;
第二总线接口单元,用于与usbkey芯片中的第一总线接口单元连接,按照总线接口协议的规范与usbkey芯片进行数据交互。
本发明的有益效果从以上技术方案可以看出,本发明所提供的复合型usb设备在连接到主机后可以表现为多种类型的设备,同时具有海量存储设备的功能和智能密钥设备的功能,所占有的优势是:
1.使用方便,用户只需要一个设备就可以满足存储和智能密钥相关功能;
2.解决智能密钥设备存储空间小的问题,智能密钥设备一般因为安全和成本的原因,存储空间往往比普通存储设备小得多;
3.解决存储设备的安全性问题,存储设备存储的数据往往容易获取,通过一定的算法和API实现,可以利用智能密钥设备将存储设备进行加密,以保护数据安全;
4.完全兼容现在有各种操作***提供的接口。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种复合型usb设备的实现方法,其特征在于,包括:
复合型usb设备与主机建立连接,声明其自身的设备类型;
所述复合型usb设备接收所述主机下发的操作指令,并判断所述操作指令是否是智能密钥操作指令;
如果是,则执行所述操作指令中指示的智能密钥操作;
否则,则执行数据读/写操作。
2.如权利要求1所述的复合型usb设备的实现方法,其特征在于,所述复合型usb设备与主机建立连接,声明其自身的设备类型的方法具体还包括:
所述复合型usb设备声明其自身为预定个数的大容量存储设备。
3.如权利要求2所述的复合型usb设备的实现方法,其特征在于,所述大容量存储设备包括:光盘、磁盘。
4.如权利要求2所述的复合型usb设备的实现方法,其特征在于,所述主机下发的操作指令为按照SCSI协议规范封装的命令。
5.如权利要求4所述的复合型usb设备的实现方法,其特征在于,所述复合型usb设备判断所述操作指令是否是智能密钥操作指令的方法具体为:
判断所述操作指令中指定域的值是否是约定值,如果是约定值,则所述操作指令是智能密钥操作指令,否则是数据读/写操作指令;或者
判断所述操作指令中特殊域中指定位的值是否是约定值,如果是约定值,则所述操作指令是智能密钥操作指令,否则是数据读/写操作指令;或者
判断所述操作指令是否是扩展SCSI指令,如果是扩展SCSI指令,则所述操作指令是智能密钥操作指令,否则是数据读/写操作指令。
6.如权利要求5所述的复合型usb设备的实现方法,其特征在于,
所述操作指令中指定域具体为:所述操作指令中的LUN域、预留域或LBA域;
所述操作指令中特殊域中指定位具体为:LUN域中特殊的位、预留域中特殊的位或其它域中的预留位。
7.如权利要求1所述的复合型usb设备的实现方法,其特征在于,所述复合型usb设备与主机建立连接,声明其自身的设备类型,所述方法还包括:
所述复合型usb设备声明为1个HID设备和预定个数的大容量存储设备。
8.如权利要求7所述的复合型usb设备的实现方法,其特征在于,所述复合型usb设备接收所述主机下发的操作指令,并判断所述操作指令是否是智能密钥操作指令的方法具体为:
所述复合型usb设备解析并判断所述操作指令是否是按照SCSI协议规范封装的,如果是,则所述操作指令为数据读/写操作指令,否则所述操作指令是智能密钥操作指令;
或者,
所述复合型usb设备判断所述操作指令是否是通过usb控制传输管道传入的,如果是,则所述操作指令为智能密钥操作指令,否则所述操作指令是数据读/写操作指令。
9.如权利要求1所述的复合型usb设备的实现方法,其特征在于,所述复合型usb设备与主机建立连接,声明其自身的设备类型,所述方法还包括:
所述复合型usb设备声明为1个CCID设备和预定个数的大容量存储设备。
10.如权利要求9所述的复合型usb设备的实现方法,其特征在于,所述复合型usb设备接收所述主机下发的操作指令,并判断所述操作指令是否是智能密钥操作指令的方法具体为:
所述复合型usb设备解析并判断所述操作指令是否是按照SCSI协议规范封装的,如果是,则所述操作指令为数据读/写操作指令,否则所述操作指令是智能密钥操作指令。
11.如权利要求1所述的复合型usb设备的实现方法,其特征在于,所述智能密钥操作具体包括:
数字签名、身份认证、数据加/解密。
12.一种复合型usb设备,其特征在于,所述设备包括:
接口模块,用于复合型usb设备与主机建立连接,进行基于usb协议的数据解析/封装及通信;
指令判断模块,用于判断所述接口模块解析usb数据包得到的操作指令是是标准的SCSI数据读/写操作指令还是智能密钥操作指令;
数据存储模块,用于存储数据,当所述操作指令是所述标准的SCSI数据读/写操作指令时,执行所述操作指令进行数据读/写操作;
智能密钥模块,用于当所述操作指令是所述智能密钥操作指令时执行相应的智能密钥操作。
13.如权利要求12所述的复合型usb设备,其特征在于,所述智能密钥模块还包括:
数字签名单元,用于根据所述智能密钥操作指令中的签名指令对传入的数据进行数据签名操作。
14.如权利要求12所述的复合型usb设备,其特征在于,所述智能密钥模块还包括:
身份认证单元,用于根据所述智能密钥操作指令中的身份认证指令进行身份认证操作。
15.如权利要求12所述的复合型usb设备,其特征在于,所述智能密钥模块还包括:
数据加/解密单元,用于根据所述智能密钥操作指令中的数据加/解密指令,对传入/传出的数据进行加/密操作;
所述数据加/解密单元,还用于对传入/传出所述数据存储模块的数据进行加/解密操作。
CN201010191950A 2010-05-26 2010-05-26 一种复合型usb设备及其实现方法 Pending CN101872334A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201010191950A CN101872334A (zh) 2010-05-26 2010-05-26 一种复合型usb设备及其实现方法
PCT/CN2010/075508 WO2011147116A1 (zh) 2010-05-26 2010-07-28 一种复合型usub设备及其实现方法
US12/989,671 US20120124380A1 (en) 2010-05-26 2010-07-28 Usb composite device and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010191950A CN101872334A (zh) 2010-05-26 2010-05-26 一种复合型usb设备及其实现方法

Publications (1)

Publication Number Publication Date
CN101872334A true CN101872334A (zh) 2010-10-27

Family

ID=42997200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010191950A Pending CN101872334A (zh) 2010-05-26 2010-05-26 一种复合型usb设备及其实现方法

Country Status (3)

Country Link
US (1) US20120124380A1 (zh)
CN (1) CN101872334A (zh)
WO (1) WO2011147116A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222050A (zh) * 2011-05-23 2011-10-19 郑州信大捷安信息技术股份有限公司 高效数据处理和安全存储方法及安全智能密码存储芯片
CN103324587A (zh) * 2012-03-20 2013-09-25 安凯(广州)微电子技术有限公司 一种nandflash设备加解密实现方法及***
CN104571962A (zh) * 2014-12-31 2015-04-29 上海动联信息技术股份有限公司 一种适合批量生产的usbkey设备内固件的实现方法
CN104951417A (zh) * 2014-03-26 2015-09-30 北京同方微电子有限公司 一种实现适用于大容量usim的usb复合设备的方法
CN105094880A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 通用串行总线的驱动方法、计算机及复合设备
CN106295372A (zh) * 2016-08-23 2017-01-04 记忆科技(深圳)有限公司 一种支持多个EMMC设备的加密Hub装置
CN106339621A (zh) * 2015-07-17 2017-01-18 北京握奇智能科技有限公司 一种usb设备的数据处理方法、及该usb设备
CN106649175A (zh) * 2016-10-19 2017-05-10 深圳市共进电子股份有限公司 一种usb hub接口功能分离的方法
CN108108317A (zh) * 2017-12-29 2018-06-01 飞天诚信科技股份有限公司 一种实现用于苹果移动终端的多接口设备的方法和装置
CN112084524A (zh) * 2020-09-30 2020-12-15 北京智芯微电子科技有限公司 U盘访问方法及u盘
CN113204801A (zh) * 2021-05-20 2021-08-03 郑州信大捷安信息技术股份有限公司 基于安全芯片的安全环境构建方法及***

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968723A (zh) * 2010-10-27 2011-02-09 四川和芯微电子股份有限公司 存储控制***及存储控制方法
CN103544037B (zh) * 2013-10-29 2016-08-17 飞天诚信科技股份有限公司 一种支持OpenSC的软硬件驱动的实现方法
CN109977050A (zh) * 2019-03-12 2019-07-05 福建升腾资讯有限公司 一种usb复合设备及其工作方法
CN111539040B (zh) * 2020-03-27 2022-03-15 郑州信大捷安信息技术股份有限公司 一种安全智能卡***及其密码服务方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1912883A (zh) * 2006-08-01 2007-02-14 高玉华 电子媒体读物存读器
CN1929379A (zh) * 2006-07-18 2007-03-14 菜艳 可对移动存储设备安全控制的智能密码钥匙及其工作方法
CN1949171A (zh) * 2006-11-02 2007-04-18 北京飞天诚信科技有限公司 提高智能密钥设备易用性的方法及其设备
CN2906747Y (zh) * 2006-04-29 2007-05-30 北京飞天诚信科技有限公司 带有数据存储和智能密钥的usb设备
CN101004660A (zh) * 2006-11-30 2007-07-25 北京飞天诚信科技有限公司 一种实现通用串行总线复合设备的方法
CN101303674A (zh) * 2008-06-27 2008-11-12 彭增金 包含自身设备驱动程序的usb设备
CN101551784A (zh) * 2008-04-02 2009-10-07 西北工业大学 一种usb接口的ata类存储设备中数据的加密方法及装置
CN101587519A (zh) * 2008-05-21 2009-11-25 北京飞天诚信科技有限公司 一种实现多功能信息安全设备的***及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216199B1 (en) * 1999-08-04 2001-04-10 Lsi Logic Corporation Hardware mechanism for managing cache structures in a data storage system
TW518502B (en) * 2001-07-13 2003-01-21 Prolific Technology Inc USB compound device and the realization method thereof
US7395366B1 (en) * 2002-09-27 2008-07-01 Cypress Semiconductor Corp. System, method, and apparatus for connecting USB peripherals at extended distances from a host computer
US7921244B2 (en) * 2007-07-04 2011-04-05 Ours Technology, Inc. Data sharing and transfer systems and methods
CN101266590B (zh) * 2008-04-22 2010-09-08 北京飞天诚信科技有限公司 动态切换设备配置的方法和***

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2906747Y (zh) * 2006-04-29 2007-05-30 北京飞天诚信科技有限公司 带有数据存储和智能密钥的usb设备
CN1929379A (zh) * 2006-07-18 2007-03-14 菜艳 可对移动存储设备安全控制的智能密码钥匙及其工作方法
CN1912883A (zh) * 2006-08-01 2007-02-14 高玉华 电子媒体读物存读器
CN1949171A (zh) * 2006-11-02 2007-04-18 北京飞天诚信科技有限公司 提高智能密钥设备易用性的方法及其设备
CN101004660A (zh) * 2006-11-30 2007-07-25 北京飞天诚信科技有限公司 一种实现通用串行总线复合设备的方法
CN101551784A (zh) * 2008-04-02 2009-10-07 西北工业大学 一种usb接口的ata类存储设备中数据的加密方法及装置
CN101587519A (zh) * 2008-05-21 2009-11-25 北京飞天诚信科技有限公司 一种实现多功能信息安全设备的***及方法
CN101303674A (zh) * 2008-06-27 2008-11-12 彭增金 包含自身设备驱动程序的usb设备

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222050A (zh) * 2011-05-23 2011-10-19 郑州信大捷安信息技术股份有限公司 高效数据处理和安全存储方法及安全智能密码存储芯片
CN103324587B (zh) * 2012-03-20 2016-08-03 安凯(广州)微电子技术有限公司 一种nandflash设备加解密实现方法及***
CN103324587A (zh) * 2012-03-20 2013-09-25 安凯(广州)微电子技术有限公司 一种nandflash设备加解密实现方法及***
CN104951417A (zh) * 2014-03-26 2015-09-30 北京同方微电子有限公司 一种实现适用于大容量usim的usb复合设备的方法
CN105094880A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 通用串行总线的驱动方法、计算机及复合设备
CN104571962B (zh) * 2014-12-31 2017-11-17 上海动联信息技术股份有限公司 一种适合批量生产的usbkey设备内固件的实现方法
CN104571962A (zh) * 2014-12-31 2015-04-29 上海动联信息技术股份有限公司 一种适合批量生产的usbkey设备内固件的实现方法
CN106339621A (zh) * 2015-07-17 2017-01-18 北京握奇智能科技有限公司 一种usb设备的数据处理方法、及该usb设备
CN106339621B (zh) * 2015-07-17 2024-03-29 北京握奇智能科技有限公司 一种usb设备的数据处理方法、及该usb设备
CN106295372A (zh) * 2016-08-23 2017-01-04 记忆科技(深圳)有限公司 一种支持多个EMMC设备的加密Hub装置
CN106295372B (zh) * 2016-08-23 2019-01-01 记忆科技(深圳)有限公司 一种基于EMMC接口实现的加密Hub装置
CN106649175A (zh) * 2016-10-19 2017-05-10 深圳市共进电子股份有限公司 一种usb hub接口功能分离的方法
CN106649175B (zh) * 2016-10-19 2019-12-06 深圳市共进电子股份有限公司 一种usb hub接口功能分离的方法
CN108108317A (zh) * 2017-12-29 2018-06-01 飞天诚信科技股份有限公司 一种实现用于苹果移动终端的多接口设备的方法和装置
CN108108317B (zh) * 2017-12-29 2019-11-15 飞天诚信科技股份有限公司 一种实现用于苹果移动终端的多接口设备的方法和装置
CN112084524A (zh) * 2020-09-30 2020-12-15 北京智芯微电子科技有限公司 U盘访问方法及u盘
WO2022068298A1 (zh) * 2020-09-30 2022-04-07 北京智芯微电子科技有限公司 U盘访问方法及u盘
CN112084524B (zh) * 2020-09-30 2023-10-13 北京智芯微电子科技有限公司 U盘访问方法及u盘
CN113204801A (zh) * 2021-05-20 2021-08-03 郑州信大捷安信息技术股份有限公司 基于安全芯片的安全环境构建方法及***
CN113204801B (zh) * 2021-05-20 2022-02-18 郑州信大捷安信息技术股份有限公司 基于安全芯片的安全环境构建方法及***

Also Published As

Publication number Publication date
US20120124380A1 (en) 2012-05-17
WO2011147116A1 (zh) 2011-12-01

Similar Documents

Publication Publication Date Title
CN101872334A (zh) 一种复合型usb设备及其实现方法
KR100692425B1 (ko) 대량 저장 장치의 암호화/복호화를 위한 방법 및 장치
CN100462949C (zh) 一种可自动安装的信息安全设备及其控制方法
US7350717B2 (en) High speed smart card with flash memory
CN100437618C (zh) 一种便携式信息安全设备
US7526625B2 (en) Semiconductor memory card, and program for controlling the same
US8255930B2 (en) Method and system for dynamically switching between different device configurations
CN101551784B (zh) 一种usb接口的ata类存储设备中数据的加密方法及装置
CN100480946C (zh) 用于在计算机***内为sim设备提供受信通道的方法和装置
US20130138972A1 (en) Protection of security parameters in storage devices
AU2002326226A1 (en) Method and device for encryption/decryption of data on mass storage device
CN105243344A (zh) 具有硬盘加密功能的芯片组以及主机控制器
CN103824032A (zh) 在微控制器中用于数据安全性处理的方法和装置
CN103164666A (zh) 保护安全数据的存储器装置及认证存储器装置的方法
CN114450918A (zh) 具有带有可单独编程的安全访问特征的区域的非易失性存储器装置以及相关的方法和***
CN101103404A (zh) 在非安全区域中分配安全区域的方法和便携式存储装置
CN101561751A (zh) 一种usb加解密桥接芯片
US8328104B2 (en) Storage device management systems and methods
CN103617127B (zh) 带分区的存储装置及存储器分区的方法
CN103257938A (zh) 数据保护方法、存储器控制器与存储器储存装置
CN103324587B (zh) 一种nandflash设备加解密实现方法及***
CN101883357A (zh) 一种终端与智能卡之间的相互认证方法、装置及***
CN103699853A (zh) 一种智能sd卡及其控制***及方法
CN106056007A (zh) 一种能够隐藏磁盘的安全固态硬盘及方法
JP5022434B2 (ja) 大容量メモリを支援するicチップ及び支援方法

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: 20101027