实现通用串行总线键的复合设备的方法

文档序号:6573366阅读:201来源:国知局
专利名称:实现通用串行总线键的复合设备的方法
技术领域
本发明属于复合设备范围,特别涉及一种实现通用串行总线键的复合设备的方法。
背景技术
现有的复合设备是指一个设备完成两个或多个不同设备的功能的设备。是利用通用串行总线STORAGE技术,通过通用串行总线块传输协议,将具有不同使用功能的两个或多个设备复合成一个设备,具有良好的使用性。而使用这种通用串行总线STORAGE技术的设备通常有第一类可移动存储设备,包括磁盘、光盘、磁盘光盘复合设备或打印机。
第二类信息安全设备,包括软件保护设备或身份验证安全设备。
目前,可移动存储设备已经广为普及,但是由于可移动存储设备除了存储数据外没有信息安全设备的功能,而目前例如身份验证设备和软件保护设备外形和可移动存储设备差不多,但是功能上完全不一样;可移动存储设备的空间往往比较大,信息安全设备的空间要小很多;这样,根据用户的需要,很多用户可能同时使用这两类设备,这样造成一定的不方便和资源的浪费,另外,由于U盘的空间比较大,而信息安全设备的空间比较小,这样可以把可移动存储设备的数据空间和信息安全设备空间共享,这样可以更有效地利用资源。在专利申请号为200610144228.3中提出一个实现复合设备的方法。是利用软件方式实现了存储设备的功能和信息安全设备的功能的复合。通过复合设备与主机连接,主机向所述复合设备发送GET-MAX-LUN命令,询问所述复合设备的LUN值;复合设备报告LUN大于0,则在系统中产生多个设备;系统再发送INQUIRY命令,查询所述复合设备中每个设备的类型,从而在存储设备上将存储设备的功能和信息安全设备的功能复合。
现有信息安全设备的通讯可以通过SCSI(Small Computer SystemInterface,小型计算机系统接口)命令的方式来实现,SCSI是计算机连接外接设备的一种接口标准,能够提供更快的数据传输率。SCSI为方便开发者使用预留了扩展命令,为完成信息安全设备的SCSI通讯使用扩展SCSI命令在标准的SCSI命令字以外,是预留给开发商的,这些不被标准SCSI设备使用。

发明内容
本发明的目的是提供一种实现通用串行总线键的复合设备的方法。解决了将存储设备和信息安全设备集成到一个设备中的方法,其特征在于,所述复合设备中的存储设备的功能和信息安全设备的功能是通过一个微处理器来实现的;实现的步骤如下(1)所述复合设备与主机连接;并向主机报告其属于海量存储类设备;(2)开始响应USB协议,设备报告为批量传输协议;(3)响应SCSI命令,报告所述复合设备为标准存储设备;(4)所述复合设备接收操作系统或信息安全设备相关的应用程序的命令,根据命令进行判断,如果是操作系统,复合设备按标准存储SCSI的命令处理;并以USB命令的形式返回给主机;如果是信息安全设备相关的应用程序,复合设备需要从特定命令中解析出用户自定义的命令,其中包括扩展SCSI命令;根据用户自定义的命令规则进行处理,并以USB命令包的形式返回给主机。
所述复合设备根据命令进行判断,该复合设备根据所述信息安全设备相关的应用程序发送区别于标准命令的数据包区分是否为信息安全设备相关的应用程序发送的命令。
所述区别于标准命令的数据包,包括SCSI数据包和USB数据包。
所述的SCSI数据包可以是SCSI协议中不同的TargetId。
所述的SCSI数据包可以是SCSI协议中不同的LUN。
所述的SCSI数据包可以是SCSI协议中不同的SrbStatus。
所述的SCSI数据包可以是SCSI协议中不同的ScsiStatus。
所述的SCSI数据包可以是SCSI协议中不同的SrbFlags。
所述的SCSI数据包可以是扩展SCSI协议。
所属的扩展SCSI协议,只在标准存储设备里不需要使用的SCSI命令。
所述的TargetId是操作系统通过INQUIRY命令来取得复合设备支持的TargetId,在磁盘加载时,该设备返回0;在信息安全设备相关的应用程序通过操作系统提供的设备对象进行通讯时,将TargetId置为非0值;所述TargetId可以置为1~15。
所述的标准存储设备为磁盘、或光盘。
所述的信息安全设备相关的应用程序是指使用所述复合设备中信息安全设备功能的应用程序。
所述操作系统通过标准命令与所述复合设备的通讯,包括操作系统本身发送的命令,也包括其他应用程序通过文件系统对存储设备内文件的操作。
所述复合设备对不同命令的处理过程包括如下几步1)设备根据操作系统发送过来的URB包或SCSI包区分是操作系统指令还是软件自定义指令;2)对于操作系统指令,根据SCSI的命令进行相关的处理;3)对于应用程序自定义指令,从SCSI包中解析出之中的自定义协议数据包,并根据自定义协议数据包中的内容进行相关处理。
所述复合设备中的信息安全设备至少执行数据的安全存储、访问控制、数据的处理过程一组功能中的至少一个功能。
所述数据处理过程中对于数据的运算处理包括自定义处理过程和标准的处理过程,标准处理过程包括RSA、DES、3DES、MD5、SHA-1、SSF33、AES、ECC、RC、PGP、BASE64算法;所述自定义处理过程为用户使用高级语言或汇编语言编写的一段程序或执行逻辑。
本发明的有益效果是以上技术方案可以看出,在本发明中,本发明装置在接入操作系统后表现为一个通用的存储设备,但是在存储设备的基础上,实现了信息安全设备的功能,所占有的优势是1.使用方便,用户只需要一个设备就可以满足存储和信息安全相关功能。
2.解决信息安全设备空间小的问题,信息安全设备一般因为安全和成本的原因,存储空间往往比存储设备小得多,通过这种方式,可以根据需要动态调整两个设备之间得存储空间。
3.解决存储设备的安全性,存储设备存储的数据往往容易获取,通过一定的算法和API实现,可以利用信息安全设备将存储设备进行加密,以保护数据安全。


图1为实现通用串行总线键的复合设备的流程图。
具体实施例方式
本发明提供一种实现通用串行总线键的复合设备的方法。解决了将存储设备和信息安全设备集成到一个设备中的方法,是利用软件方式实现了存储设备的功能和信息安全设备的功能的复合,后面结合附图及实施例对本发明予以说明。
实施例1,将磁盘和信息安全设备集成为复合设备如图1所示,所述复合设备通过每个SCSI命令中的TargetId来区分命令来自于操作系统还是应用程序,该设备在操作系统上表现为磁盘。具体步骤为(1)所述复合设备与主机连接;并向主机报告其属于海量存储类设备;(2)开始响应USB协议,设备报告为批量传输协议;(3)响应SCSI命令中的GET-MAX-LUN命令,报告所述复合设备的LUN最大值为0,所述复合设备为存储设备;(4)处理SCSI命令,操作系统的将SCSI命令传递到通用串行总线STORAGE,通用串行总线STORAGE将SCSI命令封装为通用串行总线命令URB数据包;(5)URB数据包由操作系统或应用程序向复合设备发送,复合设备进行判断,所述复合设备通过每个SCSI命令中的TargetId来区分命令来自于操作系统还是应用程序;(6)如果步骤(5)的TargetId值为0,则命令来自于操作系统,该复合设备在操作系统上表现为磁盘;操作系统发送标准命令给磁盘存储设备,则按标准存储SCSI的命令来完成处理;(7)处理完命令后封装SCSI命令为USB命令,并以USB命令的形式返回给主机;
(8)如果步骤(5)的TargetId值为1,则命令来自于应用程序,该复合设备在操作系统上表现为信息安全设备;应用程序发送特定命令给信息安全设备,则需要从特定命令中解析出用户自定义的命令,其中包括扩展SCSI命令;(9)根据用户自定义的命令规则进行处理并封装成USB命令包,以USB命令包的形式返回给主机。
本实施例中,LUN(Logic Unit N umber,是指逻辑单元数)值是USB批量存储协议的命令之一,其作用是通知主机该设备LUN能够取的最大值,即告知主机最多有几个设备;SCSI包中有一个LUN域,与USB批量存储协议中的LUN值对应。
权利要求
1.一种实现通用串行总线键的复合设备的方法,利用软件方式实现了存储设备的功能和信息安全设备的功能的复合,其特征在于,所述复合设备中的存储设备的功能和信息安全设备的功能是通过一个微处理器来实现的;实现的步骤如下(1)所述复合设备与主机连接;并向主机报告其属于海量存储类设备;(2)开始响应USB协议,设备报告为批量传输协议;(3)响应SCSI命令,报告所述复合设备为标准存储设备;(4)所述复合设备接收操作系统命令或信息安全设备相关的应用程序的命令,根据命令进行判断,如果是操作系统命令,复合设备按标准存储SCSI的命令处理,并以USB命令的形式返回给主机;如果是信息安全设备相关的应用程序命令,复合设备需要从特定命令中解析出用户自定义的命令,其中包括扩展SCSI命令,根据用户自定义的命令规则进行处理,并以USB命令包的形式返回给主机。
2.根据权利要求1所述实现通用串行总线键的复合设备的方法,其特征在于,所述复合设备根据命令进行判断,该复合设备根据所述信息安全设备相关的应用程序发送区别于标准命令的数据包,以区分是否为信息安全设备相关的应用程序发送的命令。
3.根据权利要求2所述实现通用串行总线键的复合设备的方法,其特征在于,所述区别于标准命令的数据包,包括SCSI数据包和USB数据包。
4.根据权利要求3所述实现通用串行总线键的复合设备的方法,其特征在于,所述的SCSI数据包可以是SCSI协议中不同的TargetId。
5.根据权利要求3所述实现通用串行总线键的复合设备的方法,其特征在于,所述的SCSI数据包可以是SCSI协议中不同的LUN。
6.根据权利要求3所述实现通用串行总线键的复合设备的方法,其特征在于,所述的SCSI数据包可以是SCSI协议中不同的SrbStatus。
7.根据权利要求3所述实现通用串行总线键的复合设备的方法,其特征在于,所述的SCSI数据包可以是SCSI协议中不同的ScsiStatus。
8.根据权利要求3所述实现通用串行总线键的复合设备的方法,其特征在于,所述的SCSI数据包可以是SCSI协议中不同的SrbFlags。
9.根据权利要求3所述实现通用串行总线键的复合设备的方法,其特征在于,所述的SCSI数据包可以是扩展SCSI协议。
10.根据权利要求9所述实现通用串行总线键的复合设备的方法,其特征在于,所述的扩展SCSI协议,是在标准存储设备里不需要使用的SCSI命令。
11.根据权利要求4所述实现通用串行总线键的复合设备的方法,其特征在于,所述的TargetId是操作系统通过INQUIRY命令来取得复合设备支持的TargetId,在磁盘加载时,该设备返回0;在信息安全设备相关的应用程序通过操作系统提供的设备对象进行通讯时,将TargetId置为非0值。
12.根据权利要求1所述实现通用串行总线键的复合设备的方法,其特征在于,所述的标准存储设备为磁盘、光盘。
13.根据权利要求1所述实现通用串行总线键的复合设备的方法,其特征在于,所述的信息安全设备相关的应用程序是指使用所述复合设备中信息安全设备功能的应用程序。
14.根据权利要求1所述实现通用串行总线键的复合设备的方法,其特征在于,所述操作系统与所述复合设备通讯的标准命令,包括操作系统本身发送的命令,也包括其他应用程序通过文件系统对存储设备内文件的操作的命令。
15.根据权利要求1所述实现通用串行总线键的复合设备的方法,其特征在于,所述复合设备对不同命令的处理过程包括如下几步1)设备根据操作系统发送过来的URB包或SCSI包区分是操作系统命令还是软件自定义命令;2)对于操作系统命令,根据SCSI的命令进行相关的处理;3)对于应用程序自定义命令,从SCSI包中解析出其中的自定义协议数据包,并根据自定义协议数据包中的内容进行相关处理。
16.根据权利要求1所述实现通用串行总线键的复合设备的方法,其特征在于,所述复合设备中的信息安全设备至少执行包括数据的安全存储、访问控制、数据的处理过程在内的一组功能中的一个功能。
17.根据权利要求16所述实现通用串行总线键的复合设备的方法,其特征在于,所述数据处理过程中对于数据的运算处理包括自定义处理过程和标准的处理过程,所述自定义处理过程为用户使用高级语言或汇编语言编写的一段程序或执行逻辑;所述标准处理过程包括RSA、DES、3DES、MD5、SHA-1、SSF33、AES、ECC、RC、PGP或BASE64算法。
全文摘要
本发明公开了属于复合设备范围的一种实现通用串行总线键的复合设备的方法。复合设备连接到主机,并向主机报告其属于海量存储类设备;主机向复合设备发送URB数据包,复合设备进行判断命令来源,然后按标准存储SCSI的命令处理或按从特定命令中解析出用户自定义的命令。然后以USB命令包的形式返回给主机。本发明采用包括设备与主机通讯的通用串行总线协议、自定义信息安全设备协议以及用户接口库。在现有操作系统中表现为普通存储设备,并通过提供的API实现信息安全设备的功能,功能上具有MESS STORAGE设备和信息安全设备的共同优点,具有很好的使用性。
文档编号G06F13/42GK101021827SQ20071006440
公开日2007年8月22日 申请日期2007年3月14日 优先权日2007年3月14日
发明者陆舟, 于华章 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1