1.一种可自动安装的信息安全设备,其特征在于,所述信息安全设备包括控制模块、USB 接口模块、工作模式切换模块、SCSI协议处理模块、与所述SCSI协议处理模块相连的自动 运行模块、不受限协议处理模块、与所述不受限协议处理模块相连的信息安全模块,及与所 述USB接口模块相连的复位USB总线模块,所述控制模块分别与所述USB接口模块、复位 USB总线模块、工作模式切换模块、SCSI协议处理模块、不受限协议处理模块相连;所述不 受限协议处理模块为在Windows操作系统下不受用户权限限制的接口协议处理模块;
所述USB接口模块用于通过USB接口将所述信息安全设备与主机建立连接,解析并处 理USB通信协议;
所述SCSI协议处理模块内置有SCSI接口设备描述符,用于向主机声明自身为SCSI设 备类型,并解析处理SCSI命令;
所述自动运行模块用于自动启动并运行Autorun程序,具体包括检测单元和应用程序安 装单元,所述检测单元用于Autorun程序检测主机中是否已经安装了与所述信息安全设备相 关的应用程序,应用程序安装单元用于当所述检测单元未检测到主机中安装了与所述信息安 全设备相关的应用程序时,Autorun程序向主机中安装与所述信息安全设备相关的应用程序;
所述工作模式切换模块用于接收工作模式切换命令,并将所述信息安全设备从默认的 SCSI工作模式切换到不受限工作模式;所述工作模式切换命令为在Windows操作系统下不 受用户权限限制的光盘控制指令;所述不受限工作模式为在Windows操作系统下不受用户权 限限制的接口协议工作模式;
所述复位USB总线模块用于控制USB总线模拟一次所述信息安全设备的拔插事件;
所述不受限协议处理模块内置有在Windows操作系统下不受用户权限限制的接口协议相 关的设备描述符,用于向主机声明自身为相应设备类型,并解析和处理相关协议命令;
所述信息安全模块用于根据访问所述信息安全设备的用户身份信息对其访问权限进行管 理控制,和进行加/解密运算;
所述控制模块用于控制所述信息安全设备的工作模式,及对数据进行处理。
2.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述信息安全模块还 包括密钥数据存储单元,所述密钥数据存储单元用于存储密钥数据,所述密钥数据包括数字 证书、密钥和用户私有数据。
3.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述信息安全模块还 包括用户程序存储单元,所述用户程序存储单元用于实现用户自定义算法的写入和调用。
4.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述Autorun程序由 所述信息安全设备的生产商预先编写,并预先存储在所述信息安全设备中。
5.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述复位USB总线 模块通过控制USB信号线上的电平变化来实现在USB总线上模拟一次所述信息安全设备的 拔插事件。
6.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述不受限工作模式 具体为HID工作模式,所述不受限协议处理模块为HID协议处理模块;
所述HID协议处理模块内置有HID接口设备描述符,用于向主机声明自身为HID设备 类型,并解析处理HID命令。
7.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述不受限工作模式 具体为CCID工作模式,所述不受限协议处理模块为CCID协议处理模块;
所述CCID协议处理模块内置有CCID接口设备描述符,用于向主机声明自身为CCID 设备类型,并解析处理CCID命令。
8.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述信息安全设备相 关的应用程序由所述信息安全设备的生产商预先编写,并预先存储在所述信息安全设备中。
9.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述信息安全设备相 关的应用程序还包括监控程序,所述监控程序用于向所述信息安全设备发送工作模式切换命 令和/或判断当前主机系统的用户权限。
10.如权利要求9所述的可自动安装的信息安全设备,其特征在于,所述SCSI协议处理 模块还与所述信息安全模块相连,所述自动运行模块还包括工作模式选定单元;
所述工作模式选定单元用于Autorun程序或监控程序判断当前主机系统的用户权限,并 依据所述当前主机系统的用户权限选定所述信息安全设备的工作模式,当所述当前主机系统 工作在超级用户权限下,选定所述信息安全设备继续工作在SCSI工作模式;当所述当前主机 系统工作在非超级用户权限下,选定所述信息安全设备工作在不受限工作模式。
11.如权利要求1所述的可自动安装的信息安全设备,其特征在于,所述工作模式切换 模块还包括设备判断单元,所述设备判断单元用于判断与主机连接的SCSI类型设备是否为所 述信息安全设备。
12.如权利要求1-3中任意一项权利要求所述的可自动安装的信息安全设备,其特征在 于,所述信息安全模块为安全设计芯片,所述安全设计芯片包括智能卡芯片。
13.如权利要求1-3中任意一项权利要求所述的可自动安装的信息安全设备,其特征在 于,所述信息安全模块与所述工作模式切换模块、复位USB总线模块、不受限协议处理模块、 SCSI协议处理模块、控制模块、自动运行模块、USB接口模块中的一个或几个集成在一颗芯 片中。
14.如权利要求13所述的可自动安装的信息安全设备,其特征在于,所述芯片为安全设 计芯片,所述安全设计芯片包括智能卡芯片。
15.如权利要求1-3中任意一项权利要求所述的可自动安装的信息安全设备,其特征在 于,所述USB接口模块为USB接口芯片。
16.如权利要求1所述的可自动安装的信息安全设备的控制方法,其特征在于,所述方 法包括:
步骤A:将所述信息安全设备通过USB接口与主机建立连接,声明自身为SCSI设备类 型;
步骤B:自动启动Autorun程序,所述Autorun程序检测所述主机中是否已经安装了与所 述信息安全设备相关的应用程序,如果所述主机中未安装与所述信息安全设备相关的应用程 序,则所述Autorun程序安装与所述信息安全设备相关的应用程序到所述主机中,执行步骤C; 如果所述主机中已经安装了与所述信息安全设备相关的应用程序,则执行步骤C;
步骤C:发送工作模式切换命令给所述信息安全设备,所述信息安全设备从默认的SCSI 工作模式切换到不受限工作模式,控制USB总线模拟一次所述信息安全设备的拔插事件,并 声明自身为相应设备类型;或
判断当前主机系统的用户权限,如果所述当前主机系统工作在超级用户权限下,选定所 述信息安全设备继续工作在SCSI工作模式,执行步骤D;如果所述主机系统工作在非超级用 户权限下,发送工作模式切换命令给所述信息安全设备,所述信息安全设备从默认的SCSI 工作模式切换到不受限工作模式,控制USB总线模拟一次所述信息安全设备的拔插事件,并 声明自身为相应设备类型;所述工作模式切换命令为在Windows操作系统下不受用户权限限 制的光盘控制指令;所述不受限工作模式为在Windows操作系统下不受用户权限限制的接口 协议工作模式;
步骤D:所述信息安全设备与主机进行交互,执行信息安全操作。
17.如权利要求16所述的可自动安装的信息安全设备的控制方法,其特征在于,所述 Autorun程序由所述信息安全设备的生产商预先编写,并预先存储在所述信息安全设备中。
18.如权利要求16所述的可自动安装的信息安全设备的控制方法,其特征在于,所述信 息安全设备相关的应用程序由所述信息安全设备的生产商预先编写,并预先存储在所述信息 安全设备中。
19.如权利要求16所述的可自动安装的信息安全设备的控制方法,其特征在于,所述信 息安全设备相关的应用程序还包括监控程序,所述监控程序用于向所述信息安全设备发送工 作模式切换命令和/或判断当前主机系统的用户权限。
20.如权利要求16所述的可自动安装的信息安全设备的控制方法,其特征在于,所述步 骤C具体包括:Autorun程序发送工作模式切换命令给所述信息安全设备,所述信息安全设 备从默认的SCSI工作模式切换到不受限工作模式,控制USB总线模拟一次所述信息安全设 备的拔插事件,并声明自身为相应设备类型。
21.如权利要求19所述的可自动安装的信息安全设备的控制方法,其特征在于,所述步 骤C具体包括:Autorun程序或监控程序发送工作模式切换命令给所述信息安全设备,所述 信息安全设备从默认的SCSI工作模式切换到不受限工作模式,控制USB总线模拟一次所述 信息安全设备的拔插事件,并声明自身为相应设备类型。
22.如权利要求16所述的可自动安装的信息安全设备的控制方法,其特征在于,所述步 骤C具体包括:Autorun程序判断当前主机系统的用户权限,如果所述当前主机系统工作在 超级用户权限下,选定所述信息安全设备继续工作在SCSI工作模式;如果所述主机系统工作 在非超级用户权限下,所述Autorun程序发送工作模式切换命令给所述信息安全设备,所述 信息安全设备从默认的SCSI工作模式切换到不受限工作模式,控制USB总线模拟一次所述 信息安全设备的拔插事件,并声明自身为相应设备类型。
23.如权利要求19所述的可自动安装的信息安全设备的控制方法,其特征在于,所述步 骤C具体包括:Autorun程序或监控程序判断当前主机系统的用户权限,如果所述当前主机 系统工作在超级用户权限下,选定所述信息安全设备继续工作在SCSI工作模式;如果所述主 机系统工作在非超级用户权限下,所述Autorun程序或监控程序发送工作模式切换命令给所 述信息安全设备,所述信息安全设备从默认的SCSI工作模式切换到不受限工作模式,控制 USB总线模拟一次所述信息安全设备的拔插事件,并声明自身为相应设备类型。
24.如权利要求16所述的可自动安装的信息安全设备的控制方法,其特征在于,所述不 受限工作模式为HID工作模式或CCID工作模式。
25.如权利要求16中所述的可自动安装的信息安全设备的控制方法, 其特征在于,所述控制USB总线模拟一次所述信息安全设备的拔插事件通过控制USB信号 线上的电平变化来实现。
技术领域\n本发明涉及信息安全领域,特别涉及一种可自动安装的信息安全设备及其控制方法。\n背景技术\n由于Windows操作系统是一个支持多用户、多任务的操作系统,使得安全问题成为了非 常关键的问题,因此Window操作系统需要对用户进行权限设置。权限是指用户对系统资源 的访问权利。权限的设置是基于用户和进程而言的,不同的用户访问计算机具有不同的权限。 Windows的用户被分成许多组,常见的用户组有以下几种:\nAdministrator:管理员组,默认情况下,Administrator中的用户对计算机/域有不受限制 的完全访问权。\nSystem:拥有和Administrator一样的,甚至比其还高的权限,具有系统和系统级的服务 正常运行所需要的权限。\nPower User:高级用户组,在权限设置中,这个组的权限是仅次于Administrator的。Power User可以执行除了为Administrator组保留的任务外的其他任何操作系统任务。\nUser:普通用户组,这个组的用户无法对计算机系统进行改动。\nGuest:来宾组,来宾帐户的限制要比普通User帐号更多。\n通常习惯称Administrator、System和Power User为超级用户,User和Guest为非超级用 户。\n随着人们安全意识的不断提高,各种加密算法也应运而生,常用的加密算法主要有散列 算法、对称加密算法和非对称加密算法。散列算法是一种无需密钥参与的单向算法,可以将 任意长度的数据进行变换,输出成固定长度的数据摘要,其具有较长的散列码以及能抗击特 殊密码分析攻击的特性。目前比较常用的散列算法有HMAC算法、MD5算法、MD2算法、 SHA1算法、SHA256算法等。对称加密算法(或叫单密钥加密算法)中,只有一个密钥用来加 密和解密信息,尽管单密钥加密是一个简单的过程,但是双方都必须完全的相信对方,并都 持有这个密钥的备份,通过对称加密算法对数据加密后,可以利用该密钥对加密结果进行解 密。目前比较常用的对称加密算法有DES算法、3DES算法、RC4算法、RC5算法等。非对 称加密算法(公钥加密算法)在加密的过程中使用一对密钥,而不像对称加密算法只使用一 个单独的密钥,一对密钥中一个用于加密,另一个用来解密,即如用A加密,则用B解密; 如果用B加密,则要用A解密。目前比较常用的非对称加密算法有RSA算法、DSA算法、 椭圆曲线算法等。\n近几年,随着互联网技术与电子商务的快速发展,越来越多的商务活动转移到网络上开 展,例如网上政府办公、网上银行、网上购物等等,与此同时,越来越多涉及个人隐私和商 业秘密的信息需要通过网络传递。然而病毒、黑客以及网页仿冒诈骗等恶意威胁,给在线交 易的安全性带来了极大的挑战,致使网络安全问题变的举足轻重。\n信息安全设备(简称设备)是一种带有处理器和存储器的小型硬件装置,它通过计算机 的数据通讯接口与主机连接。它具有密钥生成、安全存储密钥、预置加密算法等功能。信息 安全设备与密钥相关的运算完全在装置内部运行,且信息安全设备具有抗攻击的特性,安全 性极高。信息安全设备一般通过USB接口与计算机相连,通常被称为USB KEY或USB Token。 信息安全设备生产商、软件系统开发商或者最终用户可以将一些重要信息存储到信息安全设 备中,用以保证安全性或者防止遗忘。目前,较高端的信息安全设备是可编程的,即可以实 现在信息安全设备中运行预先存入其中的代码。\n一般信息安全设备中会内置安全设计芯片来实现信息安全功能。安全设计芯片除了具有 通用嵌入式微控制器的各种特性外,更多的是在安全性能方面,安全设计芯片在芯片设计时 会针对安全性能方面在结构上做一些特殊处理,比如安全芯片会采用特定的安全内核,该安 全内核能够支持多个拥有不同权限定义的状态,用于实现对硬件资源访问权限的管理;以及 支持指令执行时间(指令周期)的随机化;其中断系统能够实现支持芯片状态的转换,从而 实现对不同层次的安全级别的控制,以支持多应用的实现;它还可以带有MMU单元 (Memory Management Unit-存储器管理单元),用于实现逻辑地址、物理地址的隔离,及地址 映射,从体系结构上支持应用(多应用)、安全性的设计实现,与内核支持的不同状态一起有 机的组成一个硬件防火墙;其中断系统还能支持系统数据库与用户程序的接口及权限传递和 切换;其存储介质方面也会采用非易失性存储介质等等。安全设计芯片一般都要求符合相关 的标准及通过相关的认证等以保证其安全性能,比如TCG TPM v1.2规范,ISO15408国际标 准,中国密码管理委员会标准等等。目前市面上有很多款安全设计芯片可供选择,其中意法 半导体的ST19WP18微控制器,已通过“公共标准”评估保障级EAL5+(增强版)的认证,这 是ISO15408国际标准关于此类产品的最高的标准之一。\n由于信息安全设备的上述结构特点,使得其在信息安全领域有着广泛的应用,信息安全 操作一般包括数据交互(对写入的数据在所述信息安全设备内进行加密或对读取的数据在所 述信息安全设备内进行解密);身份认证信息处理、存储/验证密码信息、存储/验证签名、存 储/验证证书、权限管理;以及预置代码进行数据运算等,其中预置代码包括预置用户软件部 分片断(用户软件部分片断不能被读出信息安全设备,并在信息安全设备内部运行进行数据 运算),和预置软件保护应用接口函数(软件保护应用接口函数为信息安全设备和软件开发商 应用之间的接口级函数)等多种操作。\n硬件标识是存储于信息安全设备内部或标于信息安全设备上,由设备生产商自己定义的 一种全球唯一的标识号码,可以被读取。硬件标识包括信息安全设备的产品编号(PID号) 和厂商编号(VID号)等,依据产品编号(PID号)和厂商编号(VID号)就可以区分出设 备的生产厂商及产品类型等信息。\n现有信息安全设备的通讯可以通过SCSI(Small Computer System Interface-小型主机系统 接口)命令的方式来实现,SCSI是主机连接外接设备的一种接口标准,能够提供更快的数据 传输率。SCSI为方便开发者使用预留了扩展命令,为完成信息安全设备的SCSI通讯,开发 者将SCSI扩展命令设计成信息安全设备的命令,以完成信息安全设备的功能,但是在 Windows 2000及以上操作系统下,普通用户没有权限使用SCSI扩展命令,这就给SCSI设备 的使用带来了很多的不便。\n自动运行功能(Autorun)是USB-SCSI类设备所自带的一个功能,它使得对光盘、硬盘 和海量存储等设备进行的操作变得更容易,一般习惯称此种能够自动运行起来的程序为 Autorun程序。由于Autorun程序中包含了需要自动运行的命令,如改变驱动器图标、运行程 序文件、可选快捷菜单等内容,所以当带有Autorun程序的光盘或海量存储等设备连接到计 算机上时,Autorun程序会装载相应文件,例如GIF、JPEG、HTML文件、PDF文件,实现 自动运行功能,Autorun程序还可以显示启动界面等。\nCCID(USB Chip/Smart Card Interface Devices-USB芯片智能卡接口设备)标准是由几大 国际级IT企业共同制定的一个标准,它提供了一种智能卡读写设备与主机或其它嵌入式主机 实现相互通讯的可能。CCID标准规定了CCID设备是一种芯片/智能卡接口设备,设备通过 USB接口与主机或其它嵌入式主机连接,进行符合CCID标准的数据通讯,同时设备通过符 合7816标准协议的接口与智能卡进行通讯。微软公司在其Windows 2000及以上的操作系统 上提供并支持CCID驱动,使设备生产厂商可以轻松的开发使用符合CCID接口标准的设备。 同时,CCID接口标准支持PC(Personal Computer-个人计算机)/SC(Smart Card-智能卡)接 口调用,使广大开发者可以方便的对信息安全设备进行开发操作,在其它开源操作系统如 LINUX的众多版本上,也有许多开源的CCID驱动可供开发者和使用者使用。\nHID(Human Interface Device-人机接口设备)类是Windows操作系统完全支持的第一批 USB设备类型中的一种,在运行Windows 98或更高版本的计算机上,应用程序可以与使用 操作系统内置驱动的HID设备通信,由于这个原因,符合HID类的USB设备才得以很容易 的设置并运行。但是HID设备不是必须要有人机接口的,它只是需要能在HID类规范的限制 内起到一定作用,HID类的主要功能和限制如下:交换的数据驻留在被称为报告的结构中; 每个事务包含一个小到中等量的数据;设备可以在不可预期的时间里发送信息到计算机中等 等。尽管很多HID设备主要是从设备发送数据到主机,其实HID设备也可以从主机接收数据, 所以可以说任何工作在HID类的限制之内的设备都可以称为HID设备,这些设备既可以发送 数据到计算机,也可以从计算机接收配置设备的请求,主要负责接收数据的例子是远程显示 器、远程设备的控制面板,及从主机接收偶尔或周期性命令的任何类型的设备。HID设备可 以是设备支持的多个USB接口之一,既可以是低速设备也可以是全速设备。微软公司在其 Windows98及以上的操作系统上提供并支持HID驱动,使设备生产厂商可以轻松的开发使用 符合HID接口标准的设备。\n描述符是数据结果或信息的格式化块,它可以使主机知道这个设备,每个描述符包含了 关于这个设备的整体信息或者一个元素的信息。\n按照SCSI协议标准,符合USB-SCSI接口标准的设备其描述符的特征是:在接口描述符 中,字节0是描述符的字节长度,值为09h;字节1是描述符类型,值为04h;字节4是支持 的终端号;字节5是类代码,值为08h;字节6为子类代码,值为00h;字节7是协议代码, 值为50h。在类型描述符中,字节0是描述符的字节长度,字节2是SCSI规范的版本号。符 合SCSI接口标准的设备的其它描述符中的字节,如设备描述符、配置描述符中的字节以及上 述接口描述符和类型描述符中的其它字节仍按照USB协议中的规定设置。\n按照CCID协议标准,符合CCID接口标准的设备其描述符的特征是:在接口描述符中, 字节0是描述符的字节长度,值为09h;字节1是固定终端,值为04h;字节4代表其支持的 终端号(除了终端0),值为02h或03h;字节5是类代码,值为0Bh;字节6为子类代码, 值为00h;字节7是协议代码,值为00h。在类型描述符中,字节0是描述符的字节长度,值 为36h,字节2是CCID规范的版本号,它是用二进制代码表示的小数,值为0100h,字节52 是PIN码支持,值为00h-03h。符合CCID接口标准的设备的其它描述符中的字节,如设备描 述符、配置描述符中的字节以及上述接口描述符和类型描述符中的其它字节仍按照USB协议 中的规定设置。\n按照HID协议标准,符合HID接口标准的设备其描述符的特征是:在接口描述符中,字 节0是描述符的字节长度,值为09h;字节1是描述符类型,值为04h;字节4是支持的终端 号,值为01h;字节5是类代码,值为03h;字节6是子类代码,值为00h;字节7是协议代 码,值为00h。在类型描述符中,字节0是描述符的字节长度;字节1为HID类,值为21h; 字节2是HID规范发布号,它采用二进制编码的十进制格式,比如1.0版本是0100h,1.1版 本是0110h。符合HID接口标准的设备的其它描述符中的字节,如设备描述符、配置描述符 中的字节以及上述接口描述符和类型描述符中的其它字节仍按照USB协议中的规定设备。\n在公开日为2006.7.26,申请号为200610002400.1的“通用串行总线人机交互类的信息安 全设备及其控制方法”专利中,公开了一种基于通用串行总线人机交互类的信息安全设备及 其控制方法,通过包括内置有人机接口设备描述符的主控芯片,和与所述主控芯片相连的USB 接口模块,使其本身可以做到小巧便携易用,而功能却很强大。HID设备目前已经得到了广 泛的应用,比如在移动硬盘、U盘、键盘、鼠标等多种产品上都已有应用。\nHID设备和CCID设备有诸多优点,比如HID设备和CCID设备不会受到用户权限的限 制,在Windows操作系统下,普通用户和管理员用户都可以实现对HID设备和CCID设备进 行访问和相应的操作;而且设备用户不需要安装驱动程序就可以随时随地使用,不需要管理 版本不断升级的驱动程序,不需要考虑不同产品驱动程序的兼容问题,不需要面对驱动程序 引起的操作系统使用风险,不需要担心驱动程序的安装卸载对系统产生的污染。一般地,当 主机系统支持智能卡登录时,会选用CCID协议,当主机系统不支持智能卡登录时,会选用 HID协议。由于HID设备以及CCID设备的上述优点使得其应用越来越广泛,但是同时也提 出了一个新的问题,即HID设备和CCID设备并不能像USB-SCSI设备那样具有自动运行的 功能,即不能实现对设备相关应用程序的自动安装。\n为了解决具有自动安装功能的信息安全设备能够在Windows操作系统下,不受用户权限 限制,普通用户也可以使用的问题,即实现信息安全设备具有如下两种特性:USB-SCSI设备 自动安装特性,及HID设备/CCID设备在Windows操作系统下普通用户也可以使用的特性, 目前主要的解决方式是在HID类信息安全设备/CCID类信息安全设备内部增加用以实现光盘 功能的U盘部分电路,以及集线器(HUB)部分电路实现。但是当将此种设备与主机连接后, 在系统枚举时会同时向主机报告为HID设备类型/CCID设备类型和SCSI设备类型两种设备 类型,容易造成用户误解,更重要的是,由于增加了集线器部分电路和U盘部分电路,成本 增高,可靠性也有所降低。\n发明内容\n为了解决具有自动安装功能的信息安全设备能够在Windows操作系统下,不受用户权限 限制,普通用户也可以使用的问题,本发明提供了一种可自动安装的信息安全设备以及控制 方法。\n一种可自动安装的信息安全设备,所述信息安全设备包括控制模块、USB接口模块、工 作模式切换模块、SCSI协议处理模块、与所述SCSI协议处理模块相连的自动运行模块、不 受限协议处理模块、与所述不受限协议处理模块相连的信息安全模块,及与所述USB接口模 块相连的复位USB总线模块,所述控制模块分别与所述USB接口模块、复位USB总线模块、 工作模式切换模块、SCSI协议处理模块、不受限协议处理模块相连;所述不受限协议处理模 块为在Windows操作系统下不受用户权限限制的接口协议处理模块;所述USB接口模块用 于通过USB接口将所述信息安全设备与主机建立连接,解析并处理USB通信协议;所述SCSI 协议处理模块内置有SCSI接口设备描述符,用于向主机声明自身为SCSI设备类型,并解析 处理SCSI命令;所述自动运行模块用于自动启动并运行Autorun程序,具体包括检测单元和 应用程序安装单元,所述检测单元用于Autorun程序检测主机中是否已经安装了与所述信息 安全设备相关的应用程序,应用程序安装单元用于当所述检测单元未检测到主机中安装了与 所述信息安全设备相关的应用程序时,Autorun程序向主机中安装与所述信息安全设备相关的 应用程序;所述工作模式切换模块用于接收工作模式切换命令,并将所述信息安全设备从默 认的SCSI工作模式切换到不受限工作模式;所述工作模式切换命令为在Windows操作系统 下不受用户权限限制的光盘控制指令;所述不受限工作模式为在Windows操作系统下不受用 户权限限制的接口协议工作模式;所述复位USB总线模块用于控制USB总线模拟一次所述 信息安全设备的拔插事件;所述不受限协议处理模块内置有在Windows操作系统下不受用户 权限限制的接口协议相关的设备描述符,用于向主机声明自身为相应设备类型,并解析和处 理相关协议命令;所述信息安全模块用于根据访问所述信息安全设备的用户身份信息对其访 问权限进行管理控制,和进行加/解密运算;所述控制模块用于控制所述信息安全设备的工作 模式,及对数据进行处理。\n所述信息安全模块还包括密钥数据存储单元,所述密钥数据存储单元用于存储密钥数据, 所述密钥数据包括数字证书、密钥和用户私有数据。\n所述信息安全模块还包括用户程序存储单元,所述用户程序存储单元用于实现用户自定 义算法的写入和调用。所述Autorun程序由所述信息安全设备的生产商预先编写,并预先存 储在所述信息安全设备中。\n所述复位USB总线模块通过控制USB信号线上的电平变化来实现在USB总线上模拟一 次所述信息安全设备的拔插事件。\n所述不受限工作模式具体为HID工作模式,所述不受限协议处理模块为HID协议处理模 块;\n所述HID协议处理模块内置有HID接口设备描述符,用于向主机声明自身为HID设备 类型,并解析处理HID命令。\n所述不受限工作模式具体为CCID工作模式,所述不受限协议处理模块为CCID协议处 理模块;\n所述CCID协议处理模块内置有CCID接口设备描述符,用于向主机声明自身为CCID 设备类型,并解析处理CCID命令。\n所述信息安全设备相关的应用程序由所述信息安全设备的生产商预先编写,并预先存储 在所述信息安全设备中。\n所述信息安全设备相关的应用程序还包括监控程序,所述监控程序用于向所述信息安全 设备发送工作模式切换命令和/或判断当前主机系统的用户权限。\n所述SCSI协议处理模块还与所述信息安全模块相连,所述自动运行模块还包括工作模式 选定单元;\n所述工作模式选定单元用于Autorun程序或监控程序判断当前主机系统的用户权限,并 依据所述当前主机系统的用户权限选定所述信息安全设备的工作模式,当所述当前主机系统 工作在超级用户权限下,选定所述信息安全设备继续工作在SCSI工作模式;当所述当前主机 系统工作在非超级用户权限下,选定所述信息安全设备工作在不受限工作模式。\n所述工作模式切换模块还包括设备判断单元,所述设备判断单元用于判断与主机连接的 SCSI类型设备是否为所述信息安全设备。\n所述信息安全模块为安全设计芯片,所述安全设计芯片包括智能卡芯片。\n所述信息安全模块与所述工作模式切换模块、复位USB总线模块、不受限协议处理模块、 SCSI协议处理模块、控制模块、自动运行模块、USB接口模块中的一个或几个集成在一颗芯 片中。\n所述芯片为安全设计芯片,所述安全设计芯片包括智能卡芯片。所述USB接口模块为 USB接口芯片。\n一种可自动安装的信息安全设备的控制方法,所述方法包括:\n步骤A:将所述信息安全设备通过USB接口与主机建立连接,声明自身为SCSI设备类 型;\n步骤B:自动启动Autorun程序,所述Autorun程序检测所述主机中是否已经安装了与所 述信息安全设备相关的应用程序,如果所述主机中未安装与所述信息安全设备相关的应用程 序,则所述Autorun程序安装与所述信息安全设备相关的应用程序到所述主机中,执行步骤C; 如果所述主机中已经安装了与所述信息安全设备相关的应用程序,则执行步骤C;\n步骤C:发送工作模式切换命令给所述信息安全设备,所述信息安全设备从默认的SCSI 工作模式切换到不受限工作模式,控制USB总线模拟一次所述信息安全设备的拔插事件,并 声明自身为相应设备类型;或判断当前主机系统的用户权限,如果所述当前主机系统工作在 超级用户权限下,选定所述信息安全设备继续工作在SCSI工作模式,执行步骤D;如果所述 主机系统工作在非超级用户权限下,发送工作模式切换命令给所述信息安全设备,所述信息 安全设备从默认的SCSI工作模式切换到不受限工作模式,控制USB总线模拟一次所述信息 安全设备的拔插事件,并声明自身为相应设备类型;所述工作模式切换命令为在Windows操 作系统下不受用户权限限制的光盘控制指令;所述不受限工作模式为在Windows操作系统下 不受用户权限限制的接口协议工作模式;\n步骤D:所述信息安全设备与主机进行交互,执行信息安全操作。\n所述Autorun程序由所述信息安全设备的生产商预先编写,并预先存储在所述信息安全 设备中。\n所述信息安全设备相关的应用程序由所述信息安全设备的生产商预先编写,并预先存储 在所述信息安全设备中。\n所述信息安全设备相关的应用程序还包括监控程序,所述监控程序用于向所述信息安全 设备发送工作模式切换命令和/或判断当前主机系统的用户权限。\n所述步骤C具体包括:Autorun程序发送工作模式切换命令给所述信息安全设备,所述 信息安全设备从默认的SCSI工作模式切换到不受限工作模式,控制USB总线模拟一次所述 信息安全设备的拔插事件,并声明自身为相应设备类型。\n所述步骤C具体包括:Autorun程序或监控程序发送工作模式切换命令给所述信息安全 设备,所述信息安全设备从默认的SCSI工作模式切换到不受限工作模式,控制USB总线模 拟一次所述信息安全设备的拔插事件,并声明自身为相应设备类型。\n所述步骤C具体包括:Autorun程序判断当前主机系统的用户权限,如果所述当前主机 系统工作在超级用户权限下,选定所述信息安全设备继续工作在SCSI工作模式;如果所述主 机系统工作在非超级用户权限下,所述Autorun程序发送工作模式切换命令给所述信息安全 设备,所述信息安全设备从默认的SCSI工作模式切换到不受限工作模式,控制USB总线模 拟一次所述信息安全设备的拔插事件,并声明自身为相应设备类型。\n所述步骤C具体包括:Autorun程序或监控程序判断当前主机系统的用户权限,如果所 述当前主机系统工作在超级用户权限下,选定所述信息安全设备继续工作在SCSI工作模式; 如果所述主机系统工作在非超级用户权限下,所述Autorun程序或监控程序发送工作模式切 换命令给所述信息安全设备,所述信息安全设备从默认的SCSI工作模式切换到不受限工作模 式,控制USB总线模拟一次所述信息安全设备的拔插事件,并声明自身为相应设备类型。\n所述不受限工作模式为HID工作模式或CCID工作模式。\n所述控制USB总线模拟一次所述信息安全设备的拔插事件通过控制USB信号线上的电 平变化来实现。\n有益效果:本发明涉及的可自动安装的信息安全设备及其控制方法,由于省去了集线器 部分电路和U盘部分电路,在成本方面得到了很好的控制;同时本发明也不会受到用户权限 的限制,本发明所述的信息安全设备及其控制方法可以在Windows98、Windows2000、Windows xp、Windows2003操作系统下使用,同时在超级用户和非超级用户帐号下均可以使用。另外, 本发明还具备HID设备和CCID设备的优点,比如用户不需要安装驱动程序就可以随时随地 使用,不需要管理版本不断升级的驱动程序,不需要考虑不同产品驱动程序的兼容问题,不 需要面对驱动程序引起的操作系统使用风险,不需要担心驱动程序的安装卸载对系统产生的 污染。\n附图说明\n图1是本发明实施例1提供的可自动安装的信息安全设备的结构框图;\n图2是本发明实施例2提供的可自动安装的信息安全设备的结构框图;\n图3是本发明实施例提供的可自动安装的信息安全设备的一种优选方案电路连接图;\n图4是本发明实施例3提供的可自动安装的信息安全设备的控制方法流程图;\n图5是本发明实施例4提供的可自动安装的信息安全设备的控制方法流程图。\n具体实施方式\n下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。\n实施例1\n本实施例提供了一种可自动安装的信息安全设备100,如图1所示,包括控制模块102、 USB接口模块101、工作模式切换模块105、SCSI协议处理模块103、自动运行模块104, HID协议处理模块107、信息安全模块108和复位USB总线模块106。控制模块分别与USB 接口模块、复位USB总线模块、工作模式切换模块、SCSI协议处理模块、HID协议处理模 块相连,复位USB总线模块与USB接口模块相连,自动运行模块与SCSI协议处理模块相连, 信息安全模块与HID协议处理模块相连。\nUSB接口模块101用于通过USB接口将信息安全设备与主机建立连接,解析并处理USB 通信协议。\nSCSI协议处理模块103内置有SCSI接口设备描述符,用于向主机声明自身为SCSI设备 类型,并解析处理SCSI命令。\n自动运行模块104用于自动启动并运行Autorun程序,Autorun程序由所述信息安全设备 的生产商预先编写,并预先存储在所述信息安全设备中;自动运行模块包括检测单元和应用 程序安装单元,检测单元用于检测主机中是否已经安装了与信息安全设备相关的应用程序, 应用程序安装单元用于当检测单元未检测到主机中安装了与信息安全设备相关的应用程序 时,向主机中安装与信息安全设备相关的应用程序;信息安全设备相关的应用程序还包括监 控程序,监控程序用于向信息安全设备发送工作模式切换命令,和/或判断当前主机系统的用 户权限;信息安全设备相关的应用程序由信息安全设备的生产商预先编写,并预先存储在信 息安全设备中。\n工作模式切换模块105用于接收Autorun程序或监控程序发送的工作模式切换命令,并 将信息安全设备从默认的SCSI工作模式切换到HID工作模式。工作模式切换命令为在 Windows操作系统下不受用户权限限制的光盘控制指令。\n复位USB总线模块106用于控制USB总线模拟一次信息安全设备的拔插事件,复位USB 总线模块通过控制USB信号线上的电平变化来实现在USB总线上模拟一次信息安全设备的 拔插事件。\nHID协议处理模块107内置有HID接口设备描述符,用于向主机声明自身为HID设备类 型,并解析处理HID命令。\n信息安全模块108用于根据访问信息安全设备的用户身份信息对其访问权限进行管理控 制,和进行加/解密运算。信息安全模块108还包括密钥数据存储单元,用于存储密钥数据, 密钥数据包括数字证书、密钥和用户私有数据;信息安全模块108还包括用户程序存储单元, 用于实现用户自定义算法的写入和调用。信息安全模块可以是安全设计芯片,包括智能卡芯 片。\n控制模块102用于控制和管理信息安全设备的工作模式,及对数据进行处理和控制。\n在实际的产品设计中,可以有多种实现形式,信息安全模块可以与工作模式切换模块、 HID协议处理模块、SCSI协议处理模块、控制模块、自动运行模块、复位USB总线模块、 USB接口模块中的一个或几个集成在一颗芯片(可以是安全设计芯片,包括智能卡芯片)中 实现;USB接口模块也可以是与主控芯片分立的USB接口芯片。比如可以利用一颗安全设计 芯片(包括智能卡芯片)实现信息安全模块、HID协议处理模块、SCSI协议处理模块及工作 模式切换模块的功能,利用一颗通用单片机实现控制模块的功能,利用复位电路实现控制USB 总线模拟一次信息安全设备的拔插事件,利用存储芯片存储的Autorun程序,实现自动运行 模块的功能,再利用一颗USB协议芯片实现USB接口模块的功能;本实施例提供的可自动 安装的信息安全设备还可以利用存储芯片存储自动运行程序,再利用一颗安全设计芯片(包 括智能卡芯片)实现信息安全模块、控制模块、工作模式切换模块、USB接口模块、复位 USB总线模块、HID协议处理模块及SCSI协议处理模块的功能。其中存储芯片的存储介质 可以是RAM、ROM、EPROM、EEPROM、FLASH中的一种或几种。\n本实施例中的HID协议处理模块107可以由在Windows操作系统下不受用户权限限制的 接口协议相对应的协议处理模块来替换,比如内置有CCID接口设备描述符,用于向主机声 明自身为CCID设备类型,并解析处理CCID命令的CCID协议处理模块。\n实施例2\n本实施例提供了一种可自动安装的信息安全设备200,如图2所示,包括控制模块202、 USB接口模块201、工作模式切换模块205、SCSI协议处理模块203、自动运行模块204、复 位USB总线模块206、HID协议处理模块207和信息安全模块208。控制模块分别与USB接 口模块、复位USB总线模块、工作模式切换模块、SCSI协议处理模块、HID协议处理模块 相连,自动运行模块与SCSI协议处理模块相连,复位USB总线模块与USB接口模块相连, 信息安全模块分别与SCSI协议处理模块和HID协议处理模块相连。\nUSB接口模块201用于通过USB接口将信息安全设备与主机建立连接,解析并处理USB 通信协议。\nSCSI协议处理模块203内置有SCSI接口设备描述符,用于向主机声明自身为SCSI设备 类型,并解析处理SCSI命令。\n自动运行模块204用于自动启动并运行Autorun程序,Autorun程序由所述信息安全设备 的生产商预先编写,并预先存储在所述信息安全设备中;自动运行模块包括检测单元和应用 程序安装单元,检测单元用于检测主机中是否已经安装了与信息安全设备相关的应用程序, 应用程序安装单元用于当检测单元未检测到主机中安装了与信息安全设备相关的应用程序 时,向主机中安装与信息安全设备相关的应用程序;信息安全设备相关的应用程序还包括监 控程序,监控程序用于向信息安全设备发送工作模式切换命令,和/或判断当前主机系统的用 户权限;信息安全设备相关的应用程序由信息安全设备的生产商预先编写,并预先存储在信 息安全设备中。\n自动运行模块包括工作模式选定单元2041,利用Autorun程序或监控程序判断当前主机 系统的用户权限,并依据当前主机系统的用户权限选定信息安全设备的工作模式,即如果当 前主机系统工作在超级用户权限下,选定信息安全设备继续工作在SCSI工作模式;如果当前 主机系统工作在非超级用户权限下,选定信息安全设备工作在不受限工作模式。\n工作模式切换模块205用于接收Autorun程序或监控程序发送的工作模式切换命令,并 将信息安全设备从默认的SCSI工作模式切换到HID工作模式;工作模式切换命令为在 Windows操作系统下不受用户权限限制的光盘控制指令。\n复位USB总线模块206用于控制USB总线模拟一次信息安全设备的拔插事件,复位USB 总线模块通过控制USB信号线上的电平变化来实现在USB总线上模拟一次信息安全设备的 拔插事件。\nHID协议处理模块207内置有HID接口设备描述符,用于向主机声明自身为HID设备类 型,并解析处理HID命令。\n信息安全模块208用于根据访问信息安全设备的用户身份信息对其访问权限进行管理控 制,和进行加/解密运算。信息安全模块还包括密钥数据存储单元,用于存储密钥数据,密钥 数据包括数字证书、密钥和用户私有数据;信息安全模块还包括用户程序存储单元,用于实 现用户自定义算法的写入和调用。信息安全模块可以是安全设计芯片,包括智能卡芯片。\n控制模块202用于控制和管理信息安全设备的工作模式,及对数据进行处理和控制。\n在实际的产品设计中,可以有多种实现形式,信息安全模块可以与工作模式切换模块、 HID协议处理模块、SCSI协议处理模块、控制模块、自动运行模块、复位USB总线模块、 USB接口模块中的一个或几个集成在一颗芯片(可以是安全设计芯片,包括智能卡芯片)中 实现;USB接口模块也可以是与主控芯片分立的USB接口芯片。比如可以利用一颗安全设计 芯片(包括智能卡芯片)实现信息安全模块、HID协议处理模块、SCSI协议处理模块及工作 模式切换模块的功能,利用一颗通用单片机实现控制模块的功能,利用复位电路实现控制USB 总线模拟一次所述设备的拔插事件,利用存储芯片存储的Autorun程序,实现自动运行模块 的功能,再利用一颗USB协议芯片实现USB接口模块的功能;本实施例提供的可自动安装 的信息安全设备还可以利用存储芯片存储自动运行程序,再利用一颗安全设计芯片(包括智 能卡芯片)实现信息安全模块、控制模块、工作模式切换模块、USB接口模块、复位USB 总线模块、HID协议处理模块及SCSI协议处理模块的功能。其中存储芯片的存储介质可以是 RAM、ROM、EPROM、EEPROM、FLASH中的一种或几种。\n本实施例中的HID协议处理模块207可以由在Windows操作系统下不受用户权限限制的 接口协议相对应的协议处理模块来替换,比如内置有CCID接口设备描述符,用于向主机声 明自身为CCID设备类型,并解析处理CCID命令的CCID协议处理模块。\n实施例1与实施例2中的主机可以是台式电脑、笔记本电脑、服务器或专用机。本发明 实施例实现的可自动安装的信息安全设备也可以与其它外部设备进行连接,外部设备可以但 不限于是读卡器、通讯设备、数码相机、主机外设或其它专用设备。\n本发明实施例的一个优选方案:信息安全设备由外壳部分和装于其内部的电路板两部分 构成,电路板上的核心部件为带有USB接口的智能卡芯片(本方案中选用中兴公司的 Z32H256SU芯片)、USB总线复位电路、大容量存储芯片(本方案选用SPANSION公司的 S25FL004芯片),及USB接头;如图3所示,电路板上安装有智能卡芯片Z32H256SU(301), 电阻R(302),大容量FLASH芯片S25FL004(304)以及USB接头(303),USB接头是用 于提供信息安全设备与主机进行通信的接头;智能卡芯片Z32H256SU可以实现信息安全模块 的功能。智能卡芯片Z32H256SU的D+管脚(USB数据串正端)与USB接头的D+管脚(USB 数据串正端)相连,智能卡芯片Z32H256SU的D-管脚(USB数据串负端)与USB接头的 D-管脚(USB数据串负端)相连,用以实现智能卡芯片Z32H256SU通过USB接头与主机进 行通信,其中管脚D+和管脚D-为USB的两根信号线,负责与USB总线上的设备交换数据。 智能卡芯片Z32H256SU利用一个I/O管脚通过电阻R(302)连接到USB接头的D+管脚(USB 数据串正端),实现USB总线复位操作;也可以将Z32H256SU芯片的I/O管脚通过电阻R(302) 连接到USB接头的D-管脚(USB数据串负端)来实现USB总线的复位操作;当将Z32H256SU 芯片的I/O管脚通过电阻R连接到USB接头的D-管脚上时,信息安全设备被指定为低速USB 设备(此时能够支持USB的1.5Mbps低速模式进行数据传输),当将Z32H256SU芯片的I/O 管脚通过电阻R连接到USB接头的D+管脚上时,信息安全设备被指定为全速USB设备(此 时能够支持USB的12Mbps全速模式进行数据传输);具体复位原理是当智能卡芯片 Z32H256SU接收到Autorun程序或监控程序发送的工作模式切换命令后,Z32H256SU芯片先 给该I/O管脚一个低电平,之后再给该I/O管脚一个高电平,通过控制USB信号线上的电平 变化来实现USB总线模拟一次信息安全设备的拔插事件,这里也可以使该I/O管脚处于高阻 状态来实现USB总线模拟一次信息安全设备的拔插事件。\n智能卡芯片Z32H256SU外扩一大容量FLASH芯片S25FL004,用来存储Autorun程序以 及信息安全设备相关的应用程序等。\n智能卡芯片Z32H256SU能够实现对工作模式的控制和管理,以及对数据进行处理和控 制;另外,本优选方案中选用的Z32H256SU智能卡芯片中带有32KB的EEPROM,用于存 储数据和程序,以及256KB的FLASH用于存储程序、函数库、不常变动数据等,由于其存 储空间为非易失性存储介质类型,可以实现多次擦写,为程序的升级提供了便利,同时由于 其非易失特性,也使得程序的存储更加安全可靠。\n上述优选方案的结构只是本发明的一个特例,在具体实施时,还可以采用内置USB复位 功能的安全设计芯片来实现,比如Cypress公司的CY7C63813或者MOTOROLA公司的 MOTO9085B8/JB16芯片都可以实现内置USB复位功能,在实现时,只需向USB复位寄存器 写值便可以实现USB信号线上的电平变化,从而控制USB总线上模拟一次信息安全设备的 拔插事件的实现,即将复位USB总线模块与信息安全模块集成在一颗芯片(可以是安全设计 芯片,包括智能卡芯片)中实现,此时,电路板上就可以省掉USB复位电路部分。\n在具体实施时,USB接口模块也可以是与安全设计芯片分立的USB协议芯片,比如飞利 浦的USB接口芯片PDIUSBD12实现。\n实施例3\n本实施例提出了一种可自动安装的信息安全设备的控制方法,如图4所示,包括如下步 骤:\n步骤401:将信息安全设备通过USB接口与主机建立连接。\n步骤402:信息安全设备声明自身为SCSI设备类型。\n主机向信息安全设备发送获取设备类型的请求,信息安全设备向主机报告设备描述符为 SCSI设备描述符,声明自身为SCSI设备类型。\n步骤403:自动启动Autorun程序。\nAutorun程序为预先存储在信息安全设备中,并由信息安全设备生产商预先编写好的。\n步骤404:Autorun程序检测主机中是否已经安装了与信息安全设备相关的应用程序,如 果主机中已经安装了与信息安全设备相关的应用程序,则执行步骤406,如果主机中未安装 与信息安全设备相关的应用程序,则执行步骤405。\n信息安全设备相关的应用程序为预先存储在信息安全设备中,并由信息安全设备生产商 预先编写好的;信息安全设备相关的应用程序包括监控程序,如果主机中已经安装有信息安 全设备相关的应用程序,则当主机开启时,监控程序便会自动启动。\n步骤405:Autorun程序安装与信息安全设备相关的应用程序到主机中。\n当应用程序安装完毕后,监控程序便会自动启动。\n步骤406:Autorun程序或监控程序判断与主机连接的SCSI类型设备是否为信息安全设 备。\n判断的方法可以是:将Autorun程序或监控程序中预先写好的设备的产品编号(PID)和 厂商编号(VID)与主机在枚举信息安全设备时从其描述符中获取到的与其连接的SCSI类型 设备的产品编号(PID)和厂商编号(VID)进行比对,如果比对结果一致,则说明与主机连 接的SCSI类型设备为信息安全设备,执行步骤409;如果比对结果不一致,则执行步骤407。\n步骤407:继续判断其它与主机连接的SCSI类型设备是否为信息安全设备,如果查找到 声明为SCSI类型的信息安全设备,则执行步骤409,如果没有查找到声明为SCSI类型的信 息安全设备,则执行步骤408。\n步骤408:与主机连接的SCSI类型设备均不是信息安全设备,提示错误信息,结束。\n步骤409:Autorun程序或监控程序发送工作模式切换命令给信息安全设备。\n工作模式切换命令为在Windows操作系统下不受用户权限限制的光盘控制指令,可以使 用的光盘控制指令有很多,比如可以直接调用微软多媒体指令库中直接提供出来的用于弹出 光盘的多媒体指令(Multimedia Command Strings)来实现:\n#include \nmciSendString("set cdaudio door open",NULL,0,0);\n其中"set cdaudio door open"为微软多媒体指令库中直接提供出来的用于弹出光 盘的多媒体指令(Multimedia Command Strings),直接调用就可以了。\n除了使用上述弹出光盘指令外,还可以采用关闭光盘、音轨播放等多种方法实现,下面 举出几个例子:\n#define SCSI_PLAYAUD_10 0x45 //Play Audio 10-Byte(O)\n#define SCSI_PLAYAUD_12 0xA5 //Play Audio 12-Byte12-Byte(O)\n#define SCSI_PLAYAUDMSF 0x47 //Play Audio MSF(O)\n#define SCSI_PLAYA_TKIN 0x48 //Play Audio Track/Index(O)\n步骤410:信息安全设备从默认的SCSI工作模式切换到HID工作模式。\n工作模式的切换通过修改信息安全设备中预先写入的工作模式标志位来实现,比如,预 先设定当工作模式标志位=0时为SCSI工作模式,当工作模式标志位=1时为HID工作模式, 则当信息安全设备收到工作模式切换命令后,便会修改工作模式标志位为1,将工作模式切 换到HID模式。\n步骤411:信息安全设备控制USB总线模拟一次信息安全设备的拔插事件,并声明自身 为HID设备类型。\nUSB总线模拟一次信息安全设备的拔插事件通过控制USB信号线上的电平变化实现,比 如可以先给USB信号线一个低电平,再给USB信号线一个高电平实现;也可以通过使USB 信号线处于高阻状态实现;还可以通过使用内置有USB总线复位功能的主控芯片,通过写其 内部的寄存器相关控制位来实现。\n在USB总线模拟一次信息安全设备的拔插事件后,主机会再次向信息安全设备发送获取 设备类型的请求,通过读取工作模式标志位,信息安全设备向主机报告设备描述符为HID设 备描述符,声明自身为HID设备类型。\n步骤412:信息安全设备与主机之间通过HID设备命令进行信息安全操作。\n信息安全操作包括数据交互,包括对写入的数据在信息安全设备中进行加密或对读取的 数据在信息安全设备内进行解密;还包括身份认证信息处理,包括存储/验证密码信息、存储 /验证签名、存储/验证证书、权限管理;还包括预置代码进行数据运算,其中预置代码包括预 置用户软件部分片断,用户软件部分片断不能被读出信息安全设备,并在其内部运行进行数 据运算,以及预置软件保护应用接口函数,软件保护应用接口函数是信息安全设备和软件开 发商应用之间的接口级函数等等。\n本实施例中的HID协议可以由在Windows操作系统下不受用户权限限制的接口协议来替 换,比如CCID协议,步骤410至412可以由下面的步骤替换:\n步骤410′:信息安全设备从默认的SCSI工作模式切换到CCID工作模式。\n步骤411′:信息安全设备控制USB总线模拟一次信息安全设备的拔插事件,并声明自 身为CCID设备类型。\n步骤412′:信息安全设备与主机之间通过CCID设备命令进行信息安全操作。\n本实施例中步骤404~405中信息安全设备相关应用程序中可以不包括监控程序,此时发 送工作模式切换命令给信息安全设备及判断与主机连接的SCSI类型设备是否为信息安全设 备等操作均由Autorun程序实现,即步骤406和步骤409由下面的步骤替换:\n步骤406′:Autorun程序判断与主机连接的SCSI类型设备是否为信息安全设备。\n步骤409′:Autorun程序发送工作模式切换命令给信息安全设备。\n实施例4\n本实施例提出了一种可自动安装的信息安全设备的控制方法,如图5所示,包括如下步 骤:\n步骤501:将信息安全设备通过USB接口与主机建立连接。\n步骤502:信息安全设备声明自身为SCSI设备类型。\n主机向信息安全设备发送获取设备类型的请求,信息安全设备向主机报告设备描述符为 SCSI设备描述符,声明自身为SCSI设备类型。\n步骤503:自动启动Autorun程序。\nAutorun程序为预先存储在信息安全设备中,并由信息安全设备生产商预先编写好的。\n步骤504:Autorun程序检测主机中是否已经安装了与信息安全设备相关的应用程序。如 果主机中已经安装了信息安全设备相关的应用程序,则执行步骤506,如果主机中未安装与 信息安全设备相关的应用程序,则执行步骤505。\n信息安全设备相关的应用程序为预先存储在信息安全设备中,并由信息安全设备生产商 预先编写好的;信息安全设备相关的应用程序包括监控程序,如果主机中已经安装有信息安 全设备相关的应用程序,则当主机开启时,监控程序便会自动启动。\n步骤505:Autorun程序安装与信息安全设备相关的应用程序到主机中。\n当应用程序安装完毕后,监控程序便会自动启动。\n步骤506:Autorun程序或监控程序判断当前主机系统的用户权限,如果当前主机系统工 作在超级用户权限下,选定信息安全设备继续工作在SCSI工作模式,执行步骤514;如果当 前主机系统工作在非超级用户权限下,选定信息安全设备工作在HID工作模式,执行步骤507。\n判断当前主机系统的用户权限的方法有很多,可以通过调用系统自带的函数进行判断, 比如直接调用如下系统函数来实现:\n#include \nCheckTokenMembership(NULL,AdministratorsGroup,&b);\n也可以调用如下系统函数实现:\n#include \nGetUserName(lpszSystemInfo,&cchBuff);\n步骤507:Autorun程序或监控程序判断与主机连接的SCSI类型设备是否为信息安全设 备。\n判断的方法可以是:将Autorun程序或监控程序中预先写好的设备的产品编号(PID)和 厂商编号(VID)与主机获取到的与其连接的SCSI类型设备的产品编号(PID)和厂商编号 (VID)进行比对,如果比对结果一致,则说明与主机连接的SCSI类型设备为信息安全设备, 执行步骤510;如果比对结果不一致,则执行步骤508。\n步骤508:继续判断其它与主机连接的SCSI类型设备是否为信息安全设备,如果查找到 声明为SCSI类型的信息安全设备,则执行步骤510,如果没有查找到声明为SCSI类型的信 息安全设备,则执行步骤509。\n步骤509:与主机连接的SCSI类型设备均不是信息安全设备,提示错误信息,结束。\n步骤510:Autorun程序或监控程序发送工作模式切换命令给信息安全设备。\n步骤511:信息安全设备从默认的SCSI工作模式切换到HID工作模式。\n步骤512:信息安全设备控制USB总线模拟一次信息安全设备的拔插事件,并声明自身 为HID设备类型。\n步骤513:信息安全设备与主机之间通过HID设备指令进行信息安全操作,结束。\n步骤514:信息安全设备与主机之间通过SCSI设备命令进行信息安全操作。\n信息安全操作包括数据交互,包括对写入的数据在信息安全设备中进行加密或对读取的 数据在信息安全设备内进行解密;还包括身份认证信息处理,包括存储/验证密码信息、存储 /验证签名、存储/验证证书、权限管理;还包括预置代码进行数据运算,其中预置代码包括预 置用户软件部分片断,用户软件部分片断不能被读出信息安全设备,并在其内部运行进行数 据运算,以及预置软件保护应用接口函数,软件保护应用接口函数是信息安全设备和软件开 发商应用之间的接口级函数等等。\n本实施例中的HID协议可以由在Windows操作系统下不受用户权限限制的接口协议来替 换,比如CCID协议,步骤511至513可以由下面的步骤替换:\n步骤511′:信息安全设备从默认的SCSI工作模式切换到CCID工作模式。\n步骤512′:信息安全设备控制USB总线模拟一次信息安全设备的拔插事件,并声明自 身为CCID设备类型。\n步骤513′:信息安全设备与主机之间通过CCID设备命令进行信息安全操作。\n本实施例中步骤504~505中信息安全设备相关应用程序中可以不包括监控程序,此时发 送工作模式切换命令给信息安全设备、判断当前主机系统的用户权限及判断与主机连接的 SCSI类型设备是否为信息安全设备等操作均由Autorun程序实现,即步骤506、步骤507和 步骤510由下面的步骤替换:\n步骤506′:Autorun程序判断当前主机系统的用户权限,如果当前主机系统工作在超级 用户权限下,选定信息安全设备继续工作在SCSI工作模式,执行步骤514;如果当前主机系 统工作在非超级用户权限下,选定信息安全设备工作在HID工作模式,执行步骤507。\n步骤507′:Autorun程序判断与主机连接的SCSI类型设备是否为信息安全设备。\n步骤510′:Autorun程序发送工作模式切换命令给信息安全设备。\n以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术 方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
法律信息
- 2011-09-07
专利权人的姓名或者名称、地址的变更
专利权人由北京飞天诚信科技有限公司变更为飞天诚信科技股份有限公司
地址由100083 北京市海淀区学院路40号研7楼5层变更为100085 北京市海淀区学清路9号汇智大厦B座17层
- 2009-02-18
- 2007-10-03
- 2007-08-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-01-31
|
2006-08-15
| | |
2
| | 暂无 |
2003-01-29
| | |
3
| |
2006-07-26
|
2006-01-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |