CN101420299B - 提高智能密钥设备稳定性的方法和智能密钥设备 - Google Patents
提高智能密钥设备稳定性的方法和智能密钥设备 Download PDFInfo
- Publication number
- CN101420299B CN101420299B CN2008102276754A CN200810227675A CN101420299B CN 101420299 B CN101420299 B CN 101420299B CN 2008102276754 A CN2008102276754 A CN 2008102276754A CN 200810227675 A CN200810227675 A CN 200810227675A CN 101420299 B CN101420299 B CN 101420299B
- Authority
- CN
- China
- Prior art keywords
- message commands
- cipher key
- subsequent packet
- main frame
- intelligent cipher
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种提高智能密钥设备稳定性的方法和智能密钥设备,属于信息安全领域。所述方法包括:智能密钥设备与主机建立连接,开启第一中断,向所述主机报告自身为复合设备,所述复合设备至少包括两个虚拟设备,接收主机发送的报文命令,进行解析并关闭第一中断,判断处理该报文命令需要的时间是否超过预设的时间,若是则对该报文命令进行处理,并开启第二中断,在收到后续报文命令后进行处理或通知主机延时处理,关闭第二中断再开启第一中断;否则对该报文命令进行处理并保存处理结果,再开启第一中断。所述智能密钥设备包括:USB接口模块、第一中断模块、智能密钥模块和第二中断模块。本发明提高了智能密钥设备与计算机交互时的稳定性。
Description
技术领域
本发明涉及信息安全领域,特别涉及一种提高智能密钥设备稳定性的方法和智能密钥设备。
背景技术
随着信息安全技术的发展,智能密钥设备的应用越来越广泛。智能密钥设备是一种USB(Universal Serial Bus,通用串行总线)接口的小巧的硬件设备,形状与U盘相似,内置了CPU(Central Process Unit,中央处理单元)、存储器和芯片操作系统(COS),可以存储用户的密钥和数字认证证书,利用内置的密码学算法可以实现对用户身份的认证,具有电子邮件加密、数字签名、安全证书、安全网络登陆和访问SSL(Security Socket Layer,安全套接层协议层)安全网络等功能,并且具有保证用户的私钥永远不离开硬件的特征,还具有物理上防攻击的特性。
智能密钥设备是一种带有处理器和存储器的小型硬件装置,它采用双因子认证模式,使用简单、成本较低。它内置单片机或智能卡芯片,可以存储密钥或数字证书,具有电子邮件加密、数字签名、安全证书、安全网络登录和访问SSL安全网络等功能,还具有物理上防攻击的特性,安全性极高。在现有技术中,有些智能密钥设备通过主机报告不同的设备描述,使主机将该智能密钥设备识别为复合设备,即一个智能密钥设备可以模拟出多个虚拟设备。而多个虚拟设备向主机接收/发送的命令则由该复合设备内部的同一个处理器来执行,这就将导致计算机与复合设备进行数据交换或者数据计算时,无法避免指令交叉问题,即出现当计算机处理该复合设备中多个虚拟设备发送的指令时,或者当该复合设备对接收到的计算机返回多个交叉指令进行处理时出现过不稳定的情况,复合设备中的处理器对某一虚拟设备的指令处理过程很可能延误对其他虚拟设备的指令进行处理,或者出现误处理的情况,从而降低了智能密钥设备与计算机进行交互时的稳定性。
发明内容
为了提高智能密钥设备与计算机进行交互时的稳定性,本发明提供了一种提高智能密钥设备稳定性的方法和智能密钥设备。所述技术方案如下:
一种提高智能密钥设备稳定性的方法,所述方法包括:
智能密钥设备与主机建立连接;
所述智能密钥设备开启第一中断,向所述主机报告自身为复合设备,所述复合设备至少包括两个虚拟设备;
所述智能密钥设备接收所述主机发送的报文命令,关闭所述第一中断,并解析所述报文命令;
所述智能密钥设备判断处理所述报文命令需要的时间是否超过预设的时间;
如果是,则对所述报文命令进行处理,并开启第二中断,通过所述第二中断接收到所述主机发送的后续报文命令后,对所述后续报文命令进行处理或者通知所述主机延时处理所述后续报文命令,当所有进行处理的报文命令均处理完成后,关闭所述第二中断,然后开启所述第一中断;
否则,对所述报文命令进行处理并保存处理结果,然后开启所述第一中断。
所述复合设备中至少有两个虚拟设备类型不同,所述在接收到所述主机发送的后续报文命令后,对所述后续报文命令进行处理或通知所述主机延时处理所述后续的报文命令,当所有进行处理的报文命令均处理完成后,关闭所述第二中断,具体包括:
接收到所述主机发送的后续报文命令,并根据所述虚拟设备的类型判断所述后续报文命令的类型;
如果所述后续报文命令是立即响应类型的报文命令,则处理所述后续报文命令,并将处理结果返回给所述主机,当所述报文命令和后续报文命令均处理完成后,关闭所述第二中断;
如果所述后续报文命令是其它类型的报文命令,则通知所述主机延时处理所述后续报文命令,当所述报文命令处理完成后,关闭所述第二中断。
所述虚拟设备的类型包括:小型计算机系统接口SCSI设备类型、人机接口设备HID设备类型和芯片智能卡接口设备CCID设备类型;
所述立即响应类型的报文命令为SCSI设备类型的报文命令;
所述其它类型的报文命令为HID设备类型的报文命令或CCID设备类型的报文命令。
所述第一中断为通用串行总线USB中断,所述第二中断为定时器中断。
所述复合设备中的所有虚拟设备类型均相同,所述智能密钥设备判断处理所述报文命令需要的时间是否超过预设的时间,具体包括:
所述智能密钥设备根据所述虚拟设备的类型判断所述报文命令的类型;
如果所述报文命令是立即响应类型的报文命令,则处理所述报文命令并保存处理结果,开启通用串行总线USB中断,然后结束;
如果所述报文命令是其它类型的报文命令,则判断处理所述报文命令需要的时间是否超过预设的时间。
所述虚拟设备的类型包括:SCSI设备类型、HID设备类型和CCID设备类型;
所述立即响应类型的报文命令包括:通过智能密钥设备控制端口传输报文的命令。
所述在接收到所述主机发送的后续报文命令后,对所述后续报文命令进行处理或通知所述主机延时处理所述后续的报文命令,当所有进行处理的报文命令均处理完成后,关闭所述第二中断,具体包括:
接收到所述主机发送的所述后续报文命令;
通知所述主机延时处理所述后续报文命令;
当所述报文命令处理完成后,关闭所述第二中断。
一种智能密钥设备,所述智能密钥设备包括:
USB接口模块,用于使所述智能密钥设备与主机建立连接;
第一中断模块,用于开启第一中断,向所述主机报告所述智能密钥设备为复合设备,所述复合设备至少包括两个虚拟设备,在所述USB接口模块接收到所述主机发送的报文命令后,关闭所述第一中断,在收到通知后开启所述第一中断;
智能密钥模块,用于在所述USB接口模块接收到所述报文命令后,解析所述报文命令,并判断处理所述报文命令需要的时间是否超过预设的时间,如果没有超过所述预设的时间,则对所述报文命令进行处理并保存处理结果,然后通知所述第一中断模块开启所述第一中断,如果超过所述预设的时间,则在收到通知后对所述报文命令进行处理;
第二中断模块,用于当所述智能密钥模块判断出处理所述报文命令需要的时间超过所述预设的时间时,通知所述智能密钥模块对所述报文命令进行处理,并开启第二中断,在所述USB接口模块接收到所述主机发送的后续报文命令后,通知所述智能密钥模块对所述后续报文命令进行处理或者通过所述USB接口模块通知所述主机延时处理所述后续报文命令,当所述智能密钥模块将所有进行处理的报文命令均处理完成后,关闭所述第二中断,然后通知所述第一中断模块开启所述第一中断。
所述复合设备中至少有两个虚拟设备类型不同,所述第二中断模块具体包括:
开启单元,用于当所述智能密钥模块判断出处理所述报文命令需要的时间超过所述预设的时间时,通知所述智能密钥模块对所述报文命令进行处理,并开启第二中断;
判断单元,用于在所述开启单元开启所述第二中断且所述USB接口模块接收到所述主机发送的后续报文命令后,判断所述后续报文命令的类型;
处理单元,用于当所述判断单元判断出所述后续报文命令是立即响应类型的报文命令时,通知所述智能密钥模块处理所述后续报文命令,并在所述智能密钥模块对所述报文命令和后续报文命令均处理完成后,通知关闭所述第二中断,当所述判断单元判断出所述后续报文命令是其它类型的报文命令时,通过所述USB接口模块通知所述主机延时处理所述后续报文命令,并在所述智能密钥模块对所述报文命令处理完成后,通知关闭所述第二中断;
关闭单元,用于在收到所述处理单元发来的通知后,关闭所述第二中断,然后通知所述第一中断模块开启所述第一中断。
所述第一中断为通用串行总线USB中断,所述第二中断为定时器中断。
所述复合设备中的所有虚拟设备类型均相同,所述智能密钥模块具体包括:
解析单元,用于在所述USB接口模块收到所述报文命令后,解析所述报文命令;
处理单元,用于判断所述报文命令的类型,如果所述报文命令是立即响应类型的报文命令,则处理所述报文命令并保存处理结果,开启通用串行总线USB中断,然后结束;如果所述报文命令是其它类型的报文命令,则判断处理所述报文命令需要的时间是否超过预设的时间,如果没有超过所述预设的时间,则对所述报文命令进行处理并保存处理结果,然后通知所述第一中断模块开启所述第一中断,如果超过所述预设的时间,则在收到通知后对所述报文命令进行处理。
所述第二中断模块通知所述智能密钥模块对所述后续报文命令进行处理或者通过所述USB接口模块通知所述主机延时处理所述后续报文命令,具体为通过所述USB接口模块通知所述主机延时处理所述后续报文命令。
所述复合设备中的任一个虚拟设备具体为人机接口设备HID、小型计算机系统接口SCSI设备或芯片智能卡接口设备CCID。
本发明通过关闭和开启所述智能密钥设备中断,提高复合智能密钥设备与计算机交互时的稳定性,避免了得当计算机处理该复合设备中多个虚拟设备发送的指令时,或者当该复合设备对接收到的计算机返回多个交叉指令进行处理时出现过不稳定的情况,使得用户能够更安全地使用智能密钥设备。
附图说明
图1是本发明实施例1提供的提高智能密钥设备稳定性的方法流程图;
图2是本发明实施例2提供的提高智能密钥设备稳定性的方法流程图;
图3是本发明实施例3提供的智能密钥设备结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在本实施中,智能密钥设备为USB接口的复合设备。当该复合设备插入计算机系统后,同时在在计算机上将出现多个设备,这些设备是该复合设备模拟出的虚拟设备,例如:光驱、HID(Human Interface Device,人机接口设备)、SCSI(Small Computer System Interface,小型计算机系统接口)设备和CCID(Chip/Smart card Interface Device,芯片智能卡接口设备)。
本发明实施例提供了一种提高智能密钥设备稳定性的方法,包括:
智能密钥设备与主机建立连接;智能密钥设备开启第一中断,向主机报告自身为复合设备,该复合设备至少包括两个虚拟设备;智能密钥设备接收主机发送的报文命令,关闭第一中断,并解析该报文命令;智能密钥设备判断处理该报文命令需要的时间是否超过预设的时间;如果是,则对该报文命令进行处理,并开启第二中断,通过第二中断在接收到主机发送的后续报文命令后,对该后续报文命令进行处理或者通知主机延时处理该后续报文命令,当所有进行处理的报文命令均处理完成后,关闭第二中断,然后开启第一中断;否则,对该报文命令进行处理并保存处理结果,然后开启第一中断。
本发明实施例中的复合设备是指把智能密钥设备同时作为多个虚拟设备与主机进行通信,该虚拟设备的类型包括:HID设备、SCSI设备和CCID设备,智能密钥设备所声明的复合设备中,包含的多个虚拟设备可以为相同类型的虚拟设备,也可以为不同类型的虚拟设备。例如,该复合设备包括:HID设备和SCSI设备;或者包括:CCID1设备、CCID2设备和CCID3设备;或者包括:HID1设备、HID2设备和CCID设备等等。
实施例1
参见图1,本实施例提供了一种提高智能密钥设备稳定性的方法,在本实施例中,智能密钥设备声明的复合设备中包含不同类型的多个虚拟设备,该方法具体包括:
步骤101:智能密钥设备与主机连接;
步骤102:智能密钥设备开启第一中断,在本实施例中具体为USB中断,并向主机报告自身为复合设备,本实施例以该复合设备包括SCSI设备和HID设备两个虚拟设备为例进行说明;
步骤103:智能密钥设备接收主机发来的报文命令,关闭USB中断,解析并处理该报文命令;
步骤104:智能密钥设备判断处理该报文命令需要的时间是否超过预设的时间,如果是,则认为该报文命令需要进行长时间处理,执行步骤105;否则,认为该报文命令不需要长时间处理,则执行步骤108;
步骤105:智能密钥设备开启第二中断,在本实施例中具体为定时器中断;
本实施例中,智能密钥设备在定时器中断过程中,又接收到主机发来的后续报文命令,智能密钥设备对该后续报文命令的解析处理过程与智能密钥设备对上述先收到的报文命令的处理过程是同时进行的,其中对后续报文命令的处理过程具体如下:
步骤1051:智能密钥设备接收主机发来的后续报文命令;
步骤1052:智能密钥设备根据虚拟设备的类型判断该后续报文命令的类型,如果该后续报文命令是立即响应类型的报文命令,则执行步骤1053;如果该后续报文命令是其他类型的报文命令,则执行步骤1054;
步骤1053:智能密钥设备对该立即响应类型的后续报文命令进行处理,并将处理结果返回主机;
本实施例中,立即响应类型的报文命令是指需要智能密钥设备立即处理的SCSI设备类型的报文命令,包括但不限于:访问类型(Inquiry,0x12)、请求模式类型(Mode Sense,0x03)、读取类型(Read,0x28)、读取存储容量类型(Read Capacity,0x25)和测试设备就绪类型(TestUnit Ready,0x00)等等。
步骤1054:智能密钥设备通知主机延时处理该后续报文命令,即智能密钥设备当前不对该后续报文命令进行处理,具体地可以通过返回延时字符串,如两个字节0x00,来通知主机延时处理;
当复合设备中包含不同类型的多个虚拟设备时,其他类型的报文命令包括:HID设备类型的报文命令和CCID设备类型的报文命令,是指不需要智能密钥设备立即处理的报文命令。在本实施例中,该其他类型的报文命令具体为HID报文命令。
步骤106:判断智能密钥设备对所有进行处理的报文命令是否均处理完成,如果是,则执行步骤107,否则,等待直到所有进行处理的报文命令均处理完成,然后执行步骤107;
其中,如果智能密钥设备对后续报文命令进行处理,则本步骤具体为判断智能密钥对所述报文命令和后续报文命令是否均处理完成,如果智能密钥设备不对后续报文命令进行处理,则本步骤具体为判断智能密钥设备对所述报文命令是否处理完成。
步骤107:关闭定时器中断;
步骤108:智能密钥设备保存报文命令处理的结果;
步骤109:智能密钥设备开启USB中断,当前处理流程结束。
此处是以智能密钥设备接收到主机发来的一个报文命令为例进行说明的,在实际应用中,智能密钥设备会接收到主机发来的多个报文命令,其处理的流程均与上述处理流程相同,即重复执行步骤103之后的步骤。另外,上述流程中智能密钥设备接收到一个后续报文命令,当智能密钥设备接收到多个后续报文命令时,对于每一个后续报文命令的处理过程均与上述接收到一个后续报文命令的处理过程相同,此处不再赘述。
实施例2
参见图2,本实施例提供了一种提高智能密钥设备稳定性的方法,在本实施例中,智能密钥设备声明的复合设备中包含相同类型的多个虚拟设备,该方法具体包括:
步骤201:智能密钥设备与主机连接;
步骤202:智能密钥设备开启第一中断,在本实施例中具体为USB中断,并向主机报告自身为复合设备,本实施例以该复合设备包括HID1设备、HID2设备和HID3设备三个虚拟设备为例进行说明;
步骤203:智能密钥设备接收主机发来的报文命令,然后关闭USB中断,解析并处理该报文命令;
步骤204:智能密钥设备根据虚拟设备的类型判断该报文命令的类型,如果该报文命令是立即响应类型的报文命令,则执行步骤209;如果该报文命令是其它类型的报文命令,则执行步骤205;
本实施例中,立即响应类型的报文命令通常是指需要智能密钥设备立即处理的报文命令,包括但不限于:通过智能密钥设备控制端口传输报文的命令。
步骤205:智能密钥设备判断处理该报文命令需要的时间是否超过预设的时间,如果是,则认为该报文命令需要进行长时间处理,则执行步骤206;否则,认为该报文命令不需要长时间处理,则执行步骤209;
步骤206:智能密钥设备开启第二中断,在本实施例中具体为定时器中断;
本实施例中,智能密钥设备在定时器中断过程中,又接收到主机发来的后续报文命令,智能密钥设备对该后续报文命令的解析处理过程与智能密钥设备对上述先收到的报文命令的处理过程是同时进行的,其中对后续报文命令的处理过程具体如下:
步骤2061:智能密钥设备接收主机发来的后续报文命令;
步骤2062:智能密钥设备通知主机延时处理后续报文命令,即当前不对该后续报文命令进行处理,具体地可以通过返回延时字符串,如两个字节0x00,来通知主机延时处理;
步骤207:判断智能密钥设备对该报文命令是否处理完成,如果是,则执行步骤208,否则,等待直到该报文命令处理完成,然后执行步骤208;
步骤208:智能密钥设备关闭定时器中断;
步骤209:智能密钥设备保存该报文命令处理的结果;
步骤210:智能密钥设备开启USB中断,当前处理流程结束。
在本实施例中,以智能密钥设备接收到主机发来的一个报文命令为例进行说明,在实际应用中,智能密钥设备会接收到主机发来的多个报文命令,其处理的流程均与上述处理流程相同,即重复执行步骤203之后的步骤。另外,上述流程中智能密钥设备接收到一个后续报文命令,当智能密钥设备接收到多个后续报文命令时,对于每一个后续报文命令的处理过程均与上述接收到一个后续报文命令的处理过程相同,此处不再赘述。
实施例3
参见图3,本发明实施例提供了一种智能密钥设备,包括:
USB接口模块301,用于使智能密钥设备与主机建立连接;
第一中断模块302,用于开启第一中断,向主机报告智能密钥设备为复合设备,复合设备至少包括两个虚拟设备,在USB接口模块301接收到主机发送的报文命令后,关闭第一中断,在收到通知后开启第一中断;
智能密钥模块303,用于在USB接口模块301接收到所述报文命令后,解析该报文命令,并判断处理该报文命令需要的时间是否超过预设的时间,如果没有超过该预设的时间,则对该报文命令进行处理并保存处理结果,然后通知第一中断模块开启第一中断,如果超过该预设的时间,则在收到通知后对该报文命令进行处理;
第二中断模块304,用于当智能密钥模块303判断出处理该报文命令需要的时间超过所述预设的时间时,通知智能密钥模块303对该报文命令进行处理,并开启第二中断,在USB接口模块301接收到主机发送的后续报文命令后,通知智能密钥模块303对该后续报文命令进行处理或者通过USB接口模块301通知主机延时处理该后续报文命令,当智能密钥模块303所有进行处理的报文命令均处理完成后,关闭第二中断,然后开启第一中断。
在本实施例中,复合设备中可以至少有两个虚拟设备类型不同,则此时第二中断模块304具体包括:
开启单元,用于当智能密钥模块303判断出处理该报文命令需要的时间超过所述预设的时间时,通知智能密钥模块303对该报文命令进行处理,并开启第二中断;
判断单元,用于在开启单元开启第二中断且USB接口模块301接收到主机发送的后续报文命令后,判断后续报文命令的类型;
处理单元,用于当判断单元判断出后续报文命令是立即响应类型的报文命令时,通知智能密钥模块303处理该后续报文命令,将处理结果返回给主机,并在智能密钥模块303对该报文命令和后续报文命令均处理完成后,通知关闭第二中断,当判断单元判断出该后续报文命令是其它类型的报文命令时,通知主机延时处理该后续报文命令,并在智能密钥模块303处理完成该报文命令后,通知关闭第二中断;所述立即响应类型的报文命令通常是指需要智能密钥设备立即处理的报文命令,包括但不限于:访问类型、请求模式类型、读取类型、读取存储容量类型和测试设备就绪类型等等;
关闭单元,用于在收到处理单元发来的通知后,关闭第二中断,然后通知第一中断模块302开启第一中断。
另外,本实施例中,复合设备中的所有虚拟设备可以类型均相同,则此时智能密钥模块303具体包括:
解析单元,用于在USB接口模块301接收所述报文命令后,解析该报文命令;
处理单元,用于判断该报文命令的类型,如果该报文命令是立即响应类型的报文命令,则处理该报文命令并保存处理结果,然后结束;如果该报文命令是其它类型的报文命令,则判断处理该报文命令需要的时间是否超过预设的时间,如果没有超过所述预设的时间,则对该报文命令进行处理并保存处理结果,然后通知第一中断模块302开启第一中断,如果超过所述预设的时间,则在收到通知后对该报文命令进行处理。所述立即响应类型的报文命令通常是指需要智能密钥设备立即处理的报文命令,包括但不限于:生成密钥对类型、签名类型和执行安全操作类型等等。
当智能密钥模块303包括上述解析单元和处理单元时,相应地,第二中断模块304对后续报文命令进行处理或通知主机延时处理该后续报文命令,具体为通知主机延时处理该后续报文命令。
本实施例中,第一中断为USB中断,第二中断为定时器中断。
本实施例中,复合设备中的任一个虚拟设备具体为HID设备、SCSI设备或CCID设备。当复合设备中至少有两个虚拟设备类型不同时,立即响应类型的报文命令为SCSI设备类型的报文命令,其它类型的报文命令为HID设备类型的报文命令或CCID设备类型的报文命令;当复合设备中的所有虚拟设备类型均相同时,立即响应类型的报文命令包括但不限于:通过智能密钥设备控制端口传输报文的命令。
本实施例中,智能密钥设备通知主机延时处理后续报文命令,可以具体为返回延时字符串,如两个字节0x00,来通知主机延时处理后续报文命令。
本实施例中的所有模块都可以集成在一片智能芯片上。
另外,智能密钥模块还可以执行产生加密/解密密钥、对数据进行加密/解密运算等操作,智能密钥设备还包括:1)密钥存储区,用于存储密钥数据,密钥数据包括数字证书、密钥和用户私有数据以及经过加密处理后的数据;2)明文数据存储区,用于存储明文数据;3)用户程序存储区,用于实现用户自定义算法的写入和调用;4)扩展存储区,用于扩展用户数据的存储空间,可以通过片内扩展也可以通过片外扩展。
本发明实施例通过关闭和开启所述智能密钥设备中断,提高复合智能密钥设备与计算机交互时的稳定性,避免了得当计算机处理该复合设备中多个虚拟设备发送的指令时,或者当该复合设备对接收到的计算机返回多个交叉指令进行处理时出现过不稳定的情况,使得用户能够更安全地使用智能密钥设备。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种提高智能密钥设备稳定性的方法,其特征在于,所述方法包括:
智能密钥设备与主机建立连接;
所述智能密钥设备开启第一中断,向所述主机报告自身为复合设备,所述复合设备至少包括两个虚拟设备;
所述智能密钥设备接收所述主机发送的报文命令,关闭所述第一中断,并解析所述报文命令;
所述智能密钥设备判断处理所述报文命令需要的时间是否超过预设的时间;
如果是,则对所述报文命令进行处理,并开启第二中断,通过所述第二中断接收到所述主机发送的后续报文命令后,对所述后续报文命令进行处理或者通知所述主机延时处理所述后续报文命令,当所有进行处理的报文命令均处理完成后,关闭所述第二中断,然后开启所述第一中断;
否则,对所述报文命令进行处理并保存处理结果,然后开启所述第一中断。
2.根据权利要求1所述的提高智能密钥设备稳定性的方法,其特征在于,所述复合设备中至少有两个虚拟设备类型不同,所述在接收到所述主机发送的后续报文命令后,对所述后续报文命令进行处理或通知所述主机延时处理所述后续的报文命令,当所有进行处理的报文命令均处理完成后,关闭所述第二中断,具体包括:
接收到所述主机发送的后续报文命令,并根据所述虚拟设备的类型判断所述后续报文命令的类型;
如果所述后续报文命令是立即响应类型的报文命令,则处理所述后续报文命令,并将处理结果返回给所述主机,当所述报文命令和后续报文命令均处理完成后,关闭所述第二中断;
如果所述后续报文命令是其它类型的报文命令,则通知所述主机延时处理所述后续报文命令,当所述报文命令处理完成后,关闭所述第二中断。
3.根据权利要求2所述的提高智能密钥设备稳定性的方法,其特征在于,所述虚拟设备的类型包括:小型计算机系统接口SCSI设备类型、人机接口设备HID设备类型和芯片智能卡接口设备CCID设备类型;
所述立即响应类型的报文命令为SCSI设备类型的报文命令;
所述其它类型的报文命令为HID设备类型的报文命令或CCID设备类型的报文命令。
4.根据权利要求1所述的提高智能密钥设备稳定性的方法,其特征在于,所述第一中断为通用串行总线USB中断,所述第二中断为定时器中断。
5.根据权利要求4所述的提高智能密钥设备稳定性的方法,其特征在于,所述复合设备中的所有虚拟设备类型均相同,所述智能密钥设备判断处理所述报文命令需要的时间是否超过预设的时间,具体包括:
所述智能密钥设备根据所述虚拟设备的类型判断所述报文命令的类型;
如果所述报文命令是立即响应类型的报文命令,则处理所述报文命令并保存处理结果,开启通用串行总线USB中断,然后结束;
如果所述报文命令是其它类型的报文命令,则判断处理所述报文命令需要的时间是否超过预设的时间。
6.根据权利要求5所述的提高智能密钥设备稳定性的方法,其特征在于,所述虚拟设备的类型包括:SCSI设备类型、HID设备类型和CCID设备类型;
所述立即响应类型的报文命令包括:通过智能密钥设备控制端口传输报文的命令。
7.根据权利要求5所述的提高智能密钥设备稳定性的方法,其特征在于,所述在接收到所述主机发送的后续报文命令后,对所述后续报文命令进行处理或通知所述主机延时处理所述后续的报文命令,当所有进行处理的报文命令均处理完成后,关闭所述第二中断,具体包括:
接收到所述主机发送的所述后续报文命令;
通知所述主机延时处理所述后续报文命令;
当所述报文命令处理完成后,关闭所述第二中断。
8.一种智能密钥设备,其特征在于,所述智能密钥设备包括:
USB接口模块,用于使所述智能密钥设备与主机建立连接;
第一中断模块,用于开启第一中断,向所述主机报告所述智能密钥设备为复合设备,所述复合设备至少包括两个虚拟设备,在所述USB接口模块接收到所述主机发送的报文命令后,关闭所述第一中断,在收到通知后开启所述第一中断;
智能密钥模块,用于在所述USB接口模块接收到所述报文命令后,解析所述报文命令,并判断处理所述报文命令需要的时间是否超过预设的时间,如果没有超过所述预设的时间,则对所述报文命令进行处理并保存处理结果,然后通知所述第一中断模块开启所述第一中断,如果超过所述预设的时间,则在收到通知后对所述报文命令进行处理;
第二中断模块,用于当所述智能密钥模块判断出处理所述报文命令需要的时间超过所述预设的时间时,通知所述智能密钥模块对所述报文命令进行处理,并开启第二中断,在所述USB接口模块接收到所述主机发送的后续报文命令后,通知所述智能密钥模块对所述后续报文命令进行处理或者通过所述USB接口模块通知所述主机延时处理所述后续报文命令,当所述智能密钥模块将所有进行处理的报文命令均处理完成后,关闭所述第二中断,然后通知所述第一中断模块开启所述第一中断。
9.根据权利要求8所述的智能密钥设备,其特征在于,所述复合设备中至少有两个虚拟设备类型不同,所述第二中断模块具体包括:
开启单元,用于当所述智能密钥模块判断出处理所述报文命令需要的时间超过所述预设的时间时,通知所述智能密钥模块对所述报文命令进行处理,并开启第二中断;
判断单元,用于在所述开启单元开启所述第二中断且所述USB接口模块接收到所述主机发送的后续报文命令后,判断所述后续报文命令的类型;
处理单元,用于当所述判断单元判断出所述后续报文命令是立即响应类型的报文命令时,通知所述智能密钥模块处理所述后续报文命令,并在所述智能密钥模块对所述报文命令和后续报文命令均处理完成后,通知关闭所述第二中断,当所述判断单元判断出所述后续报文命令是其它类型的报文命令时,通过所述USB接口模块通知所述主机延时处理所述后续报文命令,并在所述智能密钥模块对所述报文命令处理完成后,通知关闭所述第二中断;
关闭单元,用于在收到所述处理单元发来的通知后,关闭所述第二中断,然后通知所述第一中断模块开启所述第一中断。
10.根据权利要求8所述的智能密钥设备,其特征在于,所述第一中断为通用串行总线USB中断,所述第二中断为定时器中断。
11.根据权利要求10所述的智能密钥设备,其特征在于,所述复合设备中的所有虚拟设备类型均相同,所述智能密钥模块具体包括:
解析单元,用于在所述USB接口模块收到所述报文命令后,解析所述报文命令;
处理单元,用于判断所述报文命令的类型,如果所述报文命令是立即响应类型的报文命令,则处理所述报文命令并保存处理结果,开启通用串行总线USB中断,然后结束;如果所述报文命令是其它类型的报文命令,则判断处理所述报文命令需要的时间是否超过预设的时间,如果没有超过所述预设的时间,则对所述报文命令进行处理并保存处理结果,然后通知所述第一中断模块开启所述第一中断,如果超过所述预设的时间,则在收到通知后对所述报文命令进行处理。
12.根据权利要求11所述的智能密钥设备,其特征在于,所述第二中断模块通知所述智能密钥模块对所述后续报文命令进行处理或者通过所述USB接口模块通知所述主机延时处理所述后续报文命令,具体为通过所述USB接口模块通知所述主机延时处理所述后续报文命令。
13.根据权利要求8所述的智能密钥设备,其特征在于,所述复合设备中的任一个虚拟设备具体为人机接口设备HID、小型计算机系统接口SCSI设备或芯片智能卡接口设备CCID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102276754A CN101420299B (zh) | 2008-11-28 | 2008-11-28 | 提高智能密钥设备稳定性的方法和智能密钥设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102276754A CN101420299B (zh) | 2008-11-28 | 2008-11-28 | 提高智能密钥设备稳定性的方法和智能密钥设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101420299A CN101420299A (zh) | 2009-04-29 |
CN101420299B true CN101420299B (zh) | 2010-09-01 |
Family
ID=40630925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102276754A Active CN101420299B (zh) | 2008-11-28 | 2008-11-28 | 提高智能密钥设备稳定性的方法和智能密钥设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101420299B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777979B (zh) * | 2009-12-28 | 2012-02-22 | 飞天诚信科技股份有限公司 | 一种智能密钥设备的工作方法和系统 |
CN103532703B (zh) * | 2013-09-26 | 2017-04-19 | 天地融科技股份有限公司 | 一种数据处理方法及终端 |
CN104537294B (zh) * | 2014-12-29 | 2017-09-22 | 飞天诚信科技股份有限公司 | 一种可处理多协议apdu命令的方法 |
CN106557441B (zh) * | 2015-09-29 | 2019-03-19 | 北京东土科技股份有限公司 | 一种基于中断控制器的低速接口中断处理方法及系统 |
US9973498B2 (en) * | 2016-06-29 | 2018-05-15 | Citrix Systems, Inc. | Virtual smart cards with audit capability |
CN108231131B (zh) * | 2016-12-15 | 2021-01-01 | 北京兆易创新科技股份有限公司 | 一种eMMC测试方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009562A (zh) * | 2007-02-01 | 2007-08-01 | 北京飞天诚信科技有限公司 | 提高智能密钥设备安全性的方法和系统 |
CN101018131A (zh) * | 2007-02-16 | 2007-08-15 | 北京飞天诚信科技有限公司 | 一种具有功能选择装置的信息安全设备及其控制方法 |
CN101163006A (zh) * | 2007-09-14 | 2008-04-16 | 北京飞天诚信科技有限公司 | 一种移动存储装置与主机通信的系统和方法 |
-
2008
- 2008-11-28 CN CN2008102276754A patent/CN101420299B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009562A (zh) * | 2007-02-01 | 2007-08-01 | 北京飞天诚信科技有限公司 | 提高智能密钥设备安全性的方法和系统 |
CN101018131A (zh) * | 2007-02-16 | 2007-08-15 | 北京飞天诚信科技有限公司 | 一种具有功能选择装置的信息安全设备及其控制方法 |
CN101163006A (zh) * | 2007-09-14 | 2008-04-16 | 北京飞天诚信科技有限公司 | 一种移动存储装置与主机通信的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101420299A (zh) | 2009-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6239788B2 (ja) | 指紋認証方法、装置、インテリジェント端末及びコンピュータ記憶媒体 | |
US9047486B2 (en) | Method for virtualizing a personal working environment and device for the same | |
CN103020493B (zh) | 一种防拷贝的软件保护与运行装置及方法 | |
KR101939078B1 (ko) | 호스트 컴퓨팅 디바이스와 주변기기의 데이터의 보안을 강화하기 위한 장치및 방법 | |
CN101470783B (zh) | 一种基于可信平台模块的身份识别方法及装置 | |
US7861015B2 (en) | USB apparatus and control method therein | |
US20080046581A1 (en) | Method and System for Implementing a Mobile Trusted Platform Module | |
CN100437618C (zh) | 一种便携式信息安全设备 | |
CN101420299B (zh) | 提高智能密钥设备稳定性的方法和智能密钥设备 | |
CN103150524B (zh) | 一种安全存储器芯片、系统及其认证方法 | |
CN101593252B (zh) | 一种计算机对usb设备进行访问的控制方法和系统 | |
MX2010014464A (es) | Sistema y metodo para el manejo seguro de memoria. | |
CN101561855B (zh) | 一种计算机对usb设备进行访问的控制方法和系统 | |
CN102024115B (zh) | 一种具有用户安全子系统的计算机 | |
CN107818253A (zh) | 人脸模板数据录入控制方法及相关产品 | |
CN104680055A (zh) | 一种u盘接入工业控制系统网络后接受管理的控制方法 | |
CN103984901B (zh) | 一种可信计算机系统及其应用方法 | |
CN103617127A (zh) | 带分区的存储装置及存储器分区的方法 | |
CN101004660B (zh) | 一种实现通用串行总线复合设备的方法 | |
CN1808457B (zh) | 可远程动态管理的便携式可信装置 | |
CN101562523B (zh) | 应用在移动存储设备上的安全认证方法 | |
US11017062B2 (en) | Method for the secure interaction of a user with a mobile terminal and a further entity | |
CN201845340U (zh) | 一种具有用户安全子系统的安全计算机 | |
CN109324843A (zh) | 一种指纹处理系统、方法及指纹设备 | |
CN2914500Y (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: FEITIAN CHENGXIN TECHNOLOGY CO., LTD. Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD. |
|
CP03 | Change of name, title or address |
Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer Patentee after: Feitian Technologies Co., Ltd. Address before: 100083, Haidian District, Xueyuan Road, No. 40 research, 7 floor, 5 floor, Beijing Patentee before: Beijing Feitian Chengxin Science & Technology Co., Ltd. |