一种基于网络的USBKey复用方法及系统的制作方法

文档序号:9667679阅读:310来源:国知局
一种基于网络的USBKey复用方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机领域,特别是指一种基于网络的USBkey复用方法及系统。
【背景技术】
[0002]企业信息化技术逐渐进入云时代,以证书体系构建的信息化系统面临一项重要的难题一USBkey使用。硬件USBkey表示个人身份,随着个人使用企业业务系统而被连接在终端计算机中,传统的企业业务系统的入口都在终端计算机中,可以很好的识别连接在终端计算机上的USBkey。当企业业务系统迀移到云系统中时,企业业务系统的入口也随之迀移到了云系统中,在这种情况下,如何将连接在终端计算机的USBkey接入到企业业务系统的入口处,就变成了一个至关重要的问题。
[0003]现行的USBkey复用技术主要基于操作系统应用层设计,通过在终端计算机上将key中的证书读取出来,再通过网络发送到云系统中。这种方法主要由各大key生产厂商推动,并且只支持自家的产品。但是这种方法存在显著的缺陷,首先是复用,目前的解决方案都只能实现USBkey的漫游,即要么只能在云端使用USBkey,要么只能在本地使用USBkey,不能做到同时使用。再者是安全要素,将证书从USBkey中读取出来,这就将证书置于巨大的安全风险中,意味着用户的身份标识可以脱离硬件key,从而失去了硬件key存在的意义。再者是通用性,USBkey厂商的复用技术大都是基于自己产品的,不能兼容其他厂家的产品,甚至不能兼容厂家自己以前的产品,这对用户来讲,意味着以前所有的USBkey都要更换,这是用户不能接受的。

【发明内容】

[0004]有鉴于此,为了解决现有的不足,本发明的目的在于提出一种基于网络的USBkey复用方法及系统,能够有效解决安全性和兼容性的USBkey复用技术。
[0005]基于上述目的本发明提供的基于网络的USBkey复用方法及系统,包括包括:
[0006]在本地端获取连接的USBkey硬件设备的基本信息,将获取的USBkey硬件设备的基本信息发送给网络远程端;
[0007]网络远程端根据接收的基本信息虚拟出与本地端所述的USBkey硬件设备一样的虚拟USBkey硬件设备,获取用户对该虚拟USBkey硬件设备的访问请求,并将该访问请求发送给本地端;
[0008]本地端根据接收的访问请求对该USBkey硬件设备进行处理并发送给网络远程端;
[0009]网络远程端根据接收处理后的请求,更新虚拟USBkey硬件设备。
[0010]可选地,所述在本地端获取连接的USBkey硬件设备的基本信息,通过卸载所述的USBkey硬件设备自身的驱动程序,接管所述的USBkey硬件设备,获取该USBkey硬件设备的基本信息。
[0011]进一步地,所述网络远程端根据接收的基本信息虚拟出与本地端所述的USBkey硬件设备一样的虚拟USBkey硬件设备后,网络远程端启动该虚拟USBkey硬件设备;
[0012]其中,虚拟与本地端所述的USBkey硬件设备一样的虚拟USBkey硬件设备是通过在网络远程端安装一个USB虚拟总线驱动,利用该USB总线驱动在网络远程端上创建一个虚拟硬件设备,将接收的基本信息赋值给该硬件设备。
[0013]可选地,所述网络远程端获取用户对该虚拟USBkey硬件设备的访问请求后,将所有的访问请求进行分类,然后分别生成相对应的请求报文并发送给本地端;
[0014]本地端将接收的所有请求报文分别转化成相对应的读写请求进行操作,并将所有读写请求分别打包成相应的响应报文,然后发送给网络远程端。
[0015]进一步地,所述将所有的访问请求进行分类,然后分别生成相对应的请求报文包括:
[0016]判断访问请求的类型,写入字段type ;
[0017]计算该访问请求内容的大小,写入字段len ;
[0018]将该访问请求的内容写入value字段;
[0019]生成该访问请求的请求报文,报文格式为type+len+value。
[0020]另外,本发明还提供了一种基于网络的USBkey复用系统,包括:
[0021]获取单元,用于在本地端获取连接的USBkey硬件设备的基本信息;
[0022]传输单元,用于将获取的USBkey硬件设备的基本信息发送给网络远程端;
[0023]建立单元,用于网络远程端根据接收的基本信息虚拟出与本地端所述的USBkey硬件设备一样的虚拟USBkey硬件设备;
[0024]响应单元,用于获取用户对该虚拟USBkey硬件设备的访问请求,并将该访问请求发送给本地端;本地端根据接收的访问请求对该USBkey硬件设备进行处理并发送给网络远程端;网络远程端根据接收处理后的请求,更新虚拟USBkey硬件设备。
[0025]可选地,所述获取单元能够在本地端上连接USBkey硬件设备,然后在已连接的USBkey硬件设备中,选择要复用的USBkey硬件设备;并且,所述获取单元再卸载已选择的USBkey硬件设备自身的驱动程序,接管所述的USBkey硬件设备,再获取USBkey硬件设备的基本信息。
[0026]进一步地,所述响应单元虚拟与本地端所述的USBkey硬件设备一样的虚拟USBkey硬件设备是通过在网络远程端安装一个USB虚拟总线驱动,利用该USB总线驱动在网络远程端上创建一个虚拟硬件设备,将接收的基本信息赋值给该硬件设备。
[0027]可选地,在所述响应单元中,网络远程端获取用户对该虚拟USBkey硬件设备的所有访问请求,然后对访问请求进行分类,最后分别生成相对应的请求报文;
[0028]另外,在所述响应单元中,本地端将处理后的所有读写请求打包成相应的响应报文,然后发送给网络远程端。网络远程端需要解析接收到的响应报文,再更新虚拟USBkey硬件设备。
[0029]进一步地,所述将所有的访问请求进行分类,然后分别生成相对应的请求报文包括:
[0030]判断访问请求的类型,写入字段type ;
[0031]计算该访问请求内容的大小,写入字段len ;
[0032]将该访问请求的内容写入value字段;
[0033]生成该访问请求的请求报文,报文格式为type+len+value。
[0034]从上面所述可以看出,本发明提供的基于网络的USBkey复用方法及系统,通过获取所述USBkey硬件设备的基本信息,发送给网络远程端;网络远程端根据接收的基本信息虚拟出一个与本地端所述的USBkey硬件设备一样的虚拟USBkey硬件设备,并启动该虚拟USBkey硬件设备;网络远程端获取用户对该虚拟USBkey硬件设备的访问请求,生成相对应的请求报文;网络远程端将生成的请求报文发送给本地端;本地端根据接收的请求报文进行读写操作,并将处理后的请求发送给网络远程端;网络远程端根据接收的处理后的请求,更新虚拟USBkey硬件设备。从而,本发明有效的解决了本地和云端同时使用USBkey的需求,降低了企业业务系统转移到云系统的部署难度。
【附图说明】
[0035]图1为本发明实施例中基于网络的USBkey复用方法的流程示意图;
[0036]图2为本发明实施例中基于网络的USBkey复用系统的结构示意图。
【具体实施方式】
[0037]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0038]在本发明的一个实施例中,参与图1所示,为本发明实施例中基于网络的USBkey复用方法的流程示意图。所述基于网络的USBkey复用方法包括:
[0039]步骤101,在本地端上连接USBkey硬件设备。其中,可以将USBkey硬件设备插入到本地端的USB接口中。
[0040]步骤102,获取所述USBkey硬件设备的基本信息。
[0041 ] 其中,可以获取USBkey硬件设备的基本信息包括USBkey的设备描述,pid、vid、接口信息等等。较佳地,可以通过本地端的操作系统中自带的api函数获取所述的基本信息。
[0042]步骤103,建立与网络远程端的连接。
[0043]较佳地,可以采用TCP网络建立本地端与网络远程端的连接。
[0044]步骤104,将获取的USBkey硬件设备基本信息发送给网络远程端。
[0045]步骤105,网络远程端接收所述USBkey硬件设备的基本信息。
[0046]步骤106,网络远程端根据接收的基本信息虚拟出一个与本地端所述的USBkey硬件设备一样的虚拟USBkey硬件设备,并启动该虚拟USBkey硬件设备。
[0047]步骤107,网络远程端获取用户对该虚拟USBkey硬件设备的访问请求,生成相对应的请求报文。
[0048]步骤108,网络远程端将生成的请求报文发送给本地端。
[0049]步骤109,本地端根据接收的请求报文进行读写操作,并将处理后的请求发送给网络远程端。
[0050]步骤110,网络远程端根据接收的处理后的请求,更新虚拟USBkey硬件设备。
[0051]在本发明的另一个实施例中,所述基于网络的USBkey复用方法可以包括:
[0052]步骤201,在本地端上连接USBkey硬件设备。
[0053]步骤202,在已连接的USBkey硬件设备中,选择要复用的USBkey硬件设备。
[0054]步骤203,卸载已选择的USBkey硬件设备自身的驱动程序。
[0055]较佳地,卸载USBkey硬件设备自身的驱动程序可以使用操作系统提供的SetupDI类api函数。
[0056]步骤204,接管所述的USBkey硬件设备。
[0057]作为一个实施例,接管的过程是指给USBKey安装一个新的硬件驱动程序,之后便能够获取该USBkey硬件设备的基本信息以及对该USBkey硬件设备进行各种操作。也就是说,在步骤203是把该USBkey硬件设备厂家设置的驱动程序进行卸载,而在步骤204中安装一个驱动程序,便能够对该USBkey硬件设备的基本信息进行操作。因为厂家设置的驱动程序不允许对该USBkey硬件设备的基本信息进行任何的操作,而安装一个新的驱动程序,该方法便可以获取所述USBkey硬件设备的基本信息。较佳地,对该USBkey硬件设备安装的新的驱动程序可以是能够兼容所有USBkey硬件设备的驱动程序。
[0058]步骤205,获取所述USBkey硬件设备的基本信息。
[0059]步骤206,建立与网络远程端的连接。
[0060]步骤207,将获取的USBkey硬件设备基本信息发送给网络远程端。
[0061]步骤208,网络远程端接收所述USBkey硬件设备的基本信息。
[0062]步骤209,网络远程端根据接收的基本信息虚拟出一个与本地端所述的USBk
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1