提高智能密钥设备易用性的方法及其设备
技术领域
本发明涉及信息安全领域,特别涉及一种提高智能密钥设备易用性的方法及其设备。
背景技术
智能密钥设备是一种USB接口设备,它采用双因子认证模式,使用简单、成本较低。它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用智能密钥设备内置的密码算法实现对用户身份的认证。智能密钥设备具有电子邮件加密、数字签名、安全证书、安全网络登录和访问SSL(Security Socket Layer,安全套接层协议层)安全网络等功能,并且具有保证用户的私钥永远不离开硬件的特征,还具有物理上防攻击的特性,安全性极高。
AutoRun(自动运行功能)给用户带来很多的便利,AutoRun使对光盘、硬盘和海量存储设备进行的操作变得更容易。当带有AutoRun文件的光盘或海量存储设备连接到计算机上时,AutoRun会装载指定的文件(如GIF,JPEG,HTML文件,PDF文件,或自行设定的文件等)。它可以消除当使用者思考如何去浏览或运行产品时所会遇到的麻烦。例如AutoRun会自动安装某个软件,开发商可以在光盘、硬盘和海量存储设备上预置软件的安装程序,当插入光盘或运行硬盘和海量存储设备时,系统会运行AutoRun自动安装上述软件的安装程序,安装可以是将软件安装到计算机系统内——写入注册表和安装目录等。
随着智能密钥设备的广泛应用,用户对其性能的要求也不断提高,提高智能密钥设备的易用性是提高其性能的一种主要方式。现有的智能密钥设备运行时需要的软件需另外发放,例如采用光盘发放或网络下载的方式,用户得到软件后还需安装,这样繁琐的操作给用户带来很大的麻烦,增加了智能密钥设备的操作难度。
发明内容
为了解决现有智能密钥设备易用性不高的问题,本发明提供了一种提高智能密钥设备易用性的方法,具体包括以下步骤:
步骤A:在智能密钥设备的存储区内预置运行所述智能密钥设备所需软件的安装程序和AutoRun文件;
步骤B:将所述智能密钥设备连接到主机;
步骤C:所述智能密钥设备向所述主机报告其类别为CDROM,并由所述主机执行所述AutoRun文件在所述主机上安装所述软件;
步骤D:所述智能密钥设备重新上电,并向所述主机报告其为智能密钥设备。
运行所述智能密钥设备所需的软件是指运行所述智能密钥设备所需的驱动程序、中间件、服务或插件中的一种或几种。
运行所述智能密钥设备所需软件的安装程序及所述AutoRun文件均存储在从所述智能密钥设备的存储器划分出来的一块存储区内。
所述步骤C还包括在安装完所述软件后通知所述智能密钥设备重新上电的步骤。
由所述AutoRun文件指定的所述安装程序通知所述智能密钥设备重新上电,或由所述软件通知所述智能密钥设备重新上电。
所述步骤D中所述智能密钥设备重新上电的步骤具体为:
在所述智能密钥设备中增加包含串接的三极管和电阻的重新上电电路,所述主机通过所述重新上电电路将所述智能密钥设备的插入状态改为拔出状态,然后再改为插入状态使所述智能密钥设备重新上电。
所述步骤D中所述智能密钥设备重新上电的步骤具体为:
所述智能密钥设备采用包含有上拉电阻的控制器,所述主机通过所述控制器将所述智能密钥设备的插入状态改为拔出状态,然后再改为插入状态使所述智能密钥设备重新上电。
本发明还提供了一种智能密钥设备,所述智能密钥设备包括:
通讯接口模块,用于使所述智能密钥设备与主机进行通讯;
存储模块,用于在所述智能密钥设备的存储区内存储运行所述智能密钥设备所需软件的安装程序和AutoRun文件;
枚举初始化模块,用于在所述智能密钥设备接收到所述主机发来的枚举命令时,向所述主机报告所述智能密钥设备的类别为CDROM;
AutoRun模块,用于在所述主机上运行所述AutoRun文件并安装所述软件;
重新上电模块,用于使所述智能密钥设备重新上电并向所述主机报告所述设备为智能密钥设备。
所述重新上电模块包括:
三极管上电单元,用于在所述智能密钥设备中增加包含串接的三极管和电阻的重新上电电路,所述主机通过所述重新上电电路将所述智能密钥设备的插入状态改为拔出状态,然后再改为插入状态使所述智能密钥设备重新上电。
所述重新上电模块包括:
上拉电阻上电单元,用于采用包含有上拉电阻的控制器,所述主机通过所述控制器将所述智能密钥设备的插入状态改为拔出状态,然后再改为插入状态使所述智能密钥设备重新上电。
本发明的有益效果主要表现在:
利用AutoRun完成智能密钥设备所需软件的自动安装,免去用户获取并安装软件的麻烦,操作简便,方便用户使用,真正实现了开发者设计出“傻瓜式”的智能密钥设备的目的。并且本发明采用重新上电的方式重新枚举设备,使得本发明的智能密钥设备没有协议上的限制,不仅可以使用SCSI(Small Computer System Interface,小型计算机系统接口)协议,还可以采用CCID(Chip Card Interface Device,芯片卡接口设备)和HID(Human Interface Device,人机接口设备)协议等协议与主机通讯,具有较高的灵活性。
附图说明
图1是本发明提高智能密钥设备易用性的方法实施例流程图;
图2是本发明采用三极管和电阻的重新上电电路结构图;
图3是本发明采用包含上拉电阻的控制器的重新上电电路结构图;
图4是本发明智能密钥设备的实施例结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
本发明将运行智能密钥设备所需软件的安装程序和AutoRun文件预置在智能密钥设备的存储区中,该存储区是从智能密钥设备的存储器中划分出来的一块存储区;当把智能密钥设备连接到计算机时,通过AutoRun自动安装运行智能密钥设备所需的软件;运行智能密钥设备所需的软件是指运行所述智能密钥设备所需的驱动程序、中间件、服务或插件中的一种或几种。
参见图1,本发明提供了一种提高智能密钥设备易用性的方法,具体包括以下步骤:
步骤101:将智能密钥设备连接到主机;
步骤102:主机向智能密钥设备发送USB枚举命令,智能密钥设备向主机报告其为CDROM;
步骤103:智能密钥设备查找预置的AutoRun文件,执行自动运行功能,在主机上安装运行智能密钥设备所需的软件;例如,如果在智能密钥设备中预置了驱动程序和中间件,则此时在主机上安装驱动程序和中间件;如果在智能密钥设备中预置了驱动程序、服务和插件,则此时在主机上安装驱动程序、服务和插件;
步骤104:主机使智能密钥设备重新上电,并对智能密钥设备进行重新枚举,智能密钥设备向主机报告其为智能密钥设备;
其中可以是由AutoRun文件指定的运行智能密钥设备所需软件的安装程序通知智能密钥设备重新上电;也可以在运行智能密钥设备所需软件内设置使智能密钥设备重新上电的功能,在安装完运行智能密钥设备所需软件后,由安装在计算机上的运行智能密钥设备所需软件通知智能密钥设备重新上电。
在本实施例中智能密钥设备的重新上电由图2所示的电路实现,当智能密钥设备接入主机时,智能密钥设备的控制器的IO0为低,则A点电压VA为高电平,此时智能密钥设备为插入状态,进行USB枚举,智能密钥设备将USB描述符报告成CDROM,然后执行自动运行功能;在重新上电时,将智能密钥设备的控制器的IO0设为高,则A点电压VA为低电平,此时智能密钥设备为拔出状态,再将控制器的IO0设为低,则A点电压VA为高电平,此时智能密钥设备为插入状态,即相当于对智能密钥设备进行了拔出后重新插入的动作,然后再根据主机发来的命令进行第二次枚举,此时智能密钥设备将USB描述符报告为智能密钥设备;
然后智能密钥设备进行正常工作,执行以下步骤:
步骤105:主机向智能密钥设备发送与智能密钥功能相关的命令;
步骤106:智能密钥设备收到命令后执行命令作相关的处理,如进行数据整理,然后将处理结果返回给主机;
上述步骤105至步骤106可以重复执行,一般情况下,在智能密钥设备与主机连接之后,智能密钥设备始终处于等待主机发送命令的状态。
步骤104中对智能密钥设备进行重新上电的过程还可以通过采用带有内部上拉D+或D-功能的控制器来实现,如图3所示,以内部上拉D+为例,当智能密钥设备接入主机时,软件控制寄存器(图中未示)使上拉电阻R的状态为可用状态,A点电压VA为高电平,智能密钥设备为插入状态,此时进行USB枚举,智能密钥设备将USB描述符报告成CDROM,然后执行自动运行功能;在重新上电时,软件控制寄存器使上拉电阻R的状态为不可用状态,A点电压VA为低电平,智能密钥设备为拔出状态,再将上拉电阻R的状态设置为可用状态,A点电压VA为高电平,此时智能密钥设备为插入状态,即相当于对智能密钥设备进行了拔出后重新插入的动作,此时再根据主机发来的命令进行第二次枚举,智能密钥设备将USB描述符报告为智能密钥设备。
在具体实现时,本发明重新上电的方式并不限于上述方法,也可以采用其他的方式实现智能密钥设备的重新上电。
参见图4,本发明还提供了一种智能密钥设备201,具体包括:通讯接口模块202、枚举初始化模块203、AutoRun模块204、重新上电模块205和存储模块206。
通讯接口模块202,用于使智能密钥设备201与主机207进行通讯。
存储模块206,用于在从智能密钥设备201的存储器划分出来的一块存储区内存储运行智能密钥设备201所需软件的安装程序和AutoRun文件。
枚举初始化模块203,用于在智能密钥设备201通过通讯接口模块202接收到主机207发来的枚举命令时,通过通讯接口模块202向主机207报告智能密钥设备201的类别为CDROM。
AutoRun模块204,用于在主机207上运行智能密钥设备201内存储的AutoRun文件,并在主机207上安装该软件。该软件包括运行智能密钥设备201所需的驱动程序、中间件、服务或插件等其中的一种或任意几种的组合。
重新上电模块205,用于使智能密钥设备重新上电并向主机报告所述设备为智能密钥设备。
重新上电模块包括:
三极管上电单元,用于在智能密钥设备中增加包含串接的三极管和电阻的重新上电电路,主机通过重新上电电路将智能密钥设备的插入状态改为拔出状态,然后再改为插入状态使智能密钥设备重新上电。
重新上电模块包括:
上拉电阻上电单元,用于采用包含有上拉电阻的控制器,主机通过控制器将智能密钥设备的插入状态改为拔出状态,然后再改为插入状态使智能密钥设备重新上电。
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。