一种访问终端智能密钥装置的方法和系统的制作方法

文档序号:87256阅读:257来源:国知局
专利名称:一种访问终端智能密钥装置的方法和系统的制作方法
技术领域
本发明涉及数据通讯领域,特别涉及一种访问终端智能密钥装置的方法和系统。
背景技术
智能密钥装置是一种USB接口设备,它采用双因子认证模式,使用方便、成本较低。它内置单片机或智能密钥装置芯片,可以存储用户密钥或数字证书,利用智能密钥装置内置的密码算法可以实现对用户身份的认证。智能密钥装置具有电子邮件加密、数字签名、安全证书、安全网络登录和访问SSL安全网络等功能,具有保证用户的私钥永远不离开硬件的特征,并且还具有物理上防攻击的特性,安全性极高。
PC/SC(Personal Computer-个人计算机/Smart Card-智能卡)规范是由微软公司与世界其它著名的智能密钥装置厂商组成的PC/SC工作组提出的。PC/SC规范是一个基于Windows平台的标准用户接口程序,它提供了一个从个人电脑到智能密钥装置的整合环境,虽然到目前为止,Windows是唯一支持PC/SC规范的操作系统平台,但由于Windows的影响力,PC/SC规范也为智能密钥装置业界所接受。
由于终端的引入可以在尽可能低的成本下,扩展主机程序的应用范围,因此银行广泛使用终端来部署主机上的应用程序。目前,智能密钥装置被广泛地应用在银行系统中,银行人员只要将智能密钥装置连接到与主机相连的终端上,主机就可以访问远程智能密钥装置,进行相应业务操作,就如同访问本地终端上连接的智能密钥装置一样。Windows操作系统内置了PC/SC驱动程序,主机程序无需任何修改就可以直接使用符合PC/SC规范的智能密钥装置。但是这种方式只限于符合PC/SC规范的智能密钥装置。现在的智能密钥装置能够实现的功能多样而独特,越来越多的软/硬件开发人员使用自行开发的驱动程序来操作智能密钥装置,以使该智能密钥装置具有特别功能,或者将智能密钥装置设计为非PC/SC规范的,利用系统集成的对应的驱动程序来操作智能密钥装置,来避免在操作系统中安装驱动程序,方便部署。在这些情况下,主机就无法直接使用Windows的PC/SC规范访问远程终端。

发明内容为了解决主机程序无法访问使用非PC/SC驱动程序驱动的智能密钥装置的问题,本发明实施例提出了一种访问终端智能密钥装置的方法,所述方法包括以下步骤步骤A终端监测程序监测到智能密钥装置与终端建立了连接,发送消息给主机设备接口程序;步骤B所述主机设备接口程序将所述消息发送给主机程序;步骤C所述主机程序收到所述消息后,通过所述主机设备接口程序发送驱动指令给终端设备接口程序;步骤D所述终端设备接口程序根据所述驱动指令对所述智能密钥装置进行操作,并将操作结果发送给所述主机设备接口程序,所述主机设备接口程序将该结果发送给所述主机程序;步骤E重复执行步骤C和步骤D,直到所述主机程序完成工作。
所述终端监测程序通过消息机制监测终端是否有智能密钥装置插拔事件信息,如果有,则发送消息通知给所述主机。
所述主机设备接口程序内置在主机的系统程序中。
所述主机设备接口程序为一个动态库。
所述主机设备接口程序为虚拟的驱动程序。
所述主机设备接口程序为一个独立的可执行程序。
所述终端设备接口程序能够访问不符合PC/SC规范的智能密钥装置。
本发明实施例还提供了一种访问终端智能密钥装置的系统,所述系统包括主机端、终端和智能密钥装置,所述主机端包括主机程序模块和主机设备接口模块,所述终端包括终端设备接口模块和监测模块;所述主机程序模块用于向终端分配资源、发送驱动指令、处理终端返回的结果和撤销分配给终端的资源;所述主机设备接口模块用于虚拟出驱动设备,转发和传送所述主机程序模块发送的驱动指令;所述终端设备接口模块用于与主机端进行通信,读取智能密钥装置内的数据和向主机端返回读取出的数据;所述监测模块用于监测终端是否有智能密钥装置插拔事件信息,如果有,则发送消息通知给主机端;
所述智能密钥装置是非PC/SC规范的智能密钥装置或使用私有驱动程序来驱动的智能密钥装置。
所述主机设备接口模块包括虚拟驱动单元和主机通信单元,所述终端设备接口模块包括终端通信单元和驱动单元;所述虚拟驱动单元用于虚拟出一个驱动设备,向所述主机程序模块报告驱动设备的种类,接收所述主机程序模块发送的驱动指令,并将驱动指令发送给所述主机通信单元;所述主机通信单元用于与所述终端通信单元进行通信,接收所述虚拟驱动单元发送的驱动指令,并将驱动指令发送给所述终端通信单元;所述终端通信单元用于与所述主机通信单元进行通信,接收所述主机通信单元发送的驱动指令,接收智能密钥装置内的数据和所述监测模块发送的指令;所述驱动单元用于驱动非PC/SC规范的智能密钥装置,并读取智能密钥装置内的数据。
有益效果由于虚拟驱动单元虚拟出一个驱动设备,并向主机报告驱动设备的种类,所以主机能够访问使用非PC/SC规范的智能密钥装置,而且主机程序不用作任何修改,主机程序仍然是直接访问主机的驱动程序,主机程序的任务没有任何改变。
图1是本发明实施例访问终端智能密钥装置的方法流程图;图2是本发明实施例智能密钥装置与终端建立连接时,主机与终端的通信流程图;图3是本发明实施例智能密钥装置与终端断开连接时,主机与终端的通信流程图;图4是本发明实施例访问终端智能密钥装置的系统结构图。
具体实施方式下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
参见图1,本发明实施例一种访问终端智能密钥装置的方法具体包括以下步骤步骤101主机程序向主机虚拟驱动设备程序发送驱动指令,读取智能密钥装置中的数据。
步骤102主机虚拟驱动设备程序将驱动指令发送给主机通信程序。
步骤103主机通信程序将收到的驱动指令通过网络发送给终端通信程序。
步骤104终端通信程序将驱动指令发送给终端驱动程序。
步骤105终端驱动程序通过USB协议读取连接在终端上的智能密钥装置中的数据。
终端收到驱动指令时,终端处理器从驱动程序存储器中调出驱动程序,驱动程序将驱动指令转换为硬件描述指令,终端驱动程序将硬件描述指令通过USB协议发送给智能密钥装置,智能密钥装置微处理器执行硬件描述指令内容,并将执行结果返回给终端。终端驱动程序可以读取非PC/SC规范的智能密钥装置。
步骤106从智能密钥装置中读取的数据通过USB协议发送给终端通信程序。
步骤107终端通信程序将智能密钥装置中的数据通过网络发送给主机通信程序。
步骤108主机通信程序将智能密钥装置中的数据存储在数据存储器中。
步骤109数据存储器通过数据总线将智能密钥装置中的数据发送给主机程序。
步骤110主机程序处理智能密钥装置中的数据,并判断工作是否完成,如果是,则执行步骤111,否则执行步骤101。
步骤111主机程序待机。
另外,当智能密钥装置与终端连接和断开时,主机也会与终端进行通信。
1.智能密钥装置与终端建立连接,主机与终端进行通信包括以下具体步骤,参见图2步骤201主机开机,操作系统加载所有驱动程序,向主机虚拟驱动设备程序发送询问指令,询问驱动设备种类。
步骤202主机虚拟驱动设备程序向主机返回驱动设备的描述信息。
步骤203主机收到描述信息,获知驱动设备的种类,并加载该驱动设备的驱动程序。
步骤204终端监测程序监测到智能密钥装置连接到终端的消息。
步骤205终端监测程序将智能密钥装置连接到终端的消息发送给终端通信程序。
步骤206终端通信程序通过网络将智能密钥装置连接到终端的消息发送给主机通信程序。
步骤207主机通信程序将收到的智能密钥装置连接到终端的消息发送给主机程序。
2.智能密钥装置与终端断开连接,主机与终端进行通信包括以下具体步骤,参见图3步骤301智能密钥装置从终端上被拔出。
步骤302终端监测程序将智能密钥装置与终端断开连接的消息发送给终端通信程序。
步骤303终端通信程序通过网络将智能密钥装置与终端断开连接的消息发送给主机通信程序。
步骤304主机通信程序将收到的智能密钥装置与终端断开连接的消息发送给主机程序。
步骤305主机程序收到智能密钥装置与终端断开连接的消息后,撤销分配给终端的资源。
参见图4,本发明实施例还提供了一种访问终端智能密钥装置的系统,系统包括主机端、终端和智能密钥装置,主机端包括主机程序模块和主机设备接口模块,终端包括终端设备接口模块和监测模块;主机程序模块用于向终端分配资源、发送驱动指令、处理终端返回的结果和撤销分配给终端的资源;主机设备接口模块用于虚拟出驱动设备,转发和传送主机程序模块发送的驱动指令;终端设备接口模块用于与主机端进行通信,读取智能密钥装置内的数据和向主机端返回读取出的数据;监测模块用于监测终端是否有智能密钥装置插拔事件信息,如果有,则发送消息通知给主机端;智能密钥装置是非PC/SC规范的智能密钥装置或使用私有驱动程序来驱动的智能密钥装置。
主机设备接口模块包括虚拟驱动单元和主机通信单元,终端设备接口模块包括终端通信单元和驱动单元;虚拟驱动单元用于虚拟出一个驱动设备,向主机程序模块报告驱动设备的种类,接收主机程序模块发送的驱动指令,并将驱动指令发送给主机通信单元;主机通信单元用于与终端通信单元进行通信,接收虚拟驱动单元发送的驱动指令,并将驱动指令发送给终端通信单元;终端通信单元用于与主机通信单元进行通信,接收主机通信单元发送的驱动指令,接收智能密钥装置内的数据和监测模块发送的指令;驱动单元用于驱动非PC/SC规范的智能密钥装置,并读取智能密钥装置内的数据。
以上所述的实施例只是本发明较优选的具体实施方式
的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种访问终端智能密钥装置的方法,其特征在于,所述方法包括以下步骤步骤A终端监测程序监测到智能密钥装置与终端建立了连接,发送消息给主机设备接口程序;步骤B所述主机设备接口程序将所述消息发送给主机程序;步骤C所述主机程序收到所述消息后,通过所述主机设备接口程序发送驱动指令给终端设备接口程序;步骤D所述终端设备接口程序根据所述驱动指令对所述智能密钥装置进行操作,并将操作结果发送给所述主机设备接口程序,所述主机设备接口程序将该结果发送给所述主机程序;步骤E重复执行步骤C和步骤D,直到所述主机程序完成工作。
2.如权利要求
1所述的访问终端智能密钥装置的方法,其特征在于,所述终端监测程序通过消息机制监测终端是否有智能密钥装置插拔事件信息,如果有,则发送消息通知给所述主机。
3.如权利要求
1所述的访问终端智能密钥装置的方法,其特征在于,所述主机设备接口程序内置在主机的系统程序中。
4.如权利要求
1所述的访问终端智能密钥装置的方法,其特征在于,所述主机设备接口程序为一个动态库。
5.如权利要求
1所述的访问终端智能密钥装置的方法,其特征在于,所述主机设备接口程序为虚拟的驱动程序。
6.如权利要求
1所述的访问终端智能密钥装置的方法,其特征在于,所述主机设备接口程序为一个独立的可执行程序。
7.如权利要求
1所述的访问终端智能密钥装置的方法,其特征在于,所述终端设备接口程序能够访问不符合PC/SC规范的智能密钥装置。
8.一种访问终端智能密钥装置的系统,其特征在于,所述系统包括主机端、终端和智能密钥装置,所述主机端包括主机程序模块和主机设备接口模块,所述终端包括终端设备接口模块和监测模块;所述主机程序模块用于向终端分配资源、发送驱动指令、处理终端返回的结果和撤销分配给终端的资源;所述主机设备接口模块用于虚拟出驱动设备,转发和传送所述主机程序模块发送的驱动指令;所述终端设备接口模块用于与主机端进行通信,读取智能密钥装置内的数据和向主机端返回读取出的数据;所述监测模块用于监测终端是否有智能密钥装置插拔事件信息,如果有,则发送消息通知给主机端;所述智能密钥装置是非PC/SC规范的智能密钥装置或使用私有驱动程序来驱动的智能密钥装置。
9.如权利要求
8所述的访问终端智能密钥装置的系统,其特征在于,所述主机设备接口模块包括虚拟驱动单元和主机通信单元,所述终端设备接口模块包括终端通信单元和驱动单元;所述虚拟驱动单元用于虚拟出一个驱动设备,向所述主机程序模块报告驱动设备的种类,接收所述主机程序模块发送的驱动指令,并将驱动指令发送给所述主机通信单元;所述主机通信单元用于与所述终端通信单元进行通信,接收所述虚拟驱动单元发送的驱动指令,并将驱动指令发送给所述终端通信单元;所述终端通信单元用于与所述主机通信单元进行通信,接收所述主机通信单元发送的驱动指令,接收智能密钥装置内的数据和所述监测模块发送的指令;所述驱动单元用于驱动非PC/SC规范的智能密钥装置,并读取智能密钥装置内的数据。
专利摘要
本发明公开了一种访问终端智能密钥装置的方法和系统,属于数据通讯领域。为了解决主机程序无法访问使用非PC/SC驱动程序驱动的智能密钥装置的问题,本发明提出了一种访问终端智能密钥装置的方法,方法包括终端监测程序监测到智能密钥装置与终端建立了连接,发送消息给主机设备接口程序;主机设备接口程序将消息发送给主机程序;主机程序收到消息后,通过主机设备接口程序发送驱动指令给终端设备接口程序;终端设备接口程序根据驱动指令对智能密钥装置进行操作,并将操作结果发送给主机设备接口程序,主机设备接口程序将该结果发送给主机程序。本发明还提供了一种访问终端智能密钥装置的系统,系统包括主机端、终端和智能密钥装置。
文档编号H04L9/00GK1996327SQ200610169762
公开日2007年7月11日 申请日期2006年12月28日
发明者陆舟, 于华章 申请人:北京飞天诚信科技有限公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1