基于云平台的USB加密卡管理系统的制作方法

文档序号:11691221阅读:216来源:国知局
基于云平台的USB加密卡管理系统的制造方法与工艺

本发明涉及计算机软件安全管理技术,更具体地说,它涉及一种基于云平台的usb加密卡管理系统。



背景技术:

根据所采用的总线接口不同,目前,加密卡的主流产品主要有以下几种:pci加密卡、pcmc认加密卡和usb加密卡。pci加密卡是通过pci总线与pc机相连接的,由于pci总线是一种32/64位并行的数据总线接口,对于“位的pci总线,在工作于33mhz情况下,它的最高传输速率可达2112mb/s1161,所以,pci加密卡可以实现与pc主机的高速数据通信。但是,该类加密卡安装不方便,而且还占用了pc机主板上有限的硬件资源。另外,由于个人笔记本电脑都不提供pci总线接口,所以pci加密卡不能用于个人笔记本终端上。

pcmcia加密卡是一种直接插在笔记本电脑pcmcia插槽内的密码模块。由于pcmcia插槽是笔记本电脑的专用插槽,所以台式pc机不便于采用这种密码模块。usb加密卡是通过usb接口与主机通信的。usb接口是一种快速、双向、廉价并支持热插拔功能的串行总线接口,它支持多个外设的连接,支持高达480mbps的数掘传输速率,因此,usb加密卡可以实现与主机的快速通信。另外,对于目前的台式机和笔记本电脑几乎都配备有usb接口,所以,usb加密卡即可以使用于台式pc机上,也可以个人笔记本电脑上,而且安装简单,使用方便,还不占计算机硬件资源。

基于usb接口的诸多优点,目前,国内外已经出现了很多usb加密产品,如带加密功能的usb闪存、usb软件加密卡、usb安全钥等。然而,目前国内外所研制的usb加密产品不是基于dsp方式来实现密码算法模块,就是基于专用密码芯片来实现密码算法模块。这两种方式都有其固有的弊端,dsp加密卡的处理性能很难有大的突破,而专用密码芯片方式虽然可以达到较高的密码处理速度,但是它的致命弱点就是算法不能更换,灵活性不高,更新和升级不方便,一旦要更换算法就得重新设计加密卡,必然会增加开发成本和延长开发时间。此外,生产专用加密算法芯片的成本很高,而且由于国内生产工艺的影响,使得所生产出的专用芯片各方面的性能都受到影响,不能达到理想的要求。

随着大规模fpga/cpld器件的出现,fpga,cpld器件己受到了密码设备设计者的青睐。基于可重复编程的fpga或cpld来实现加密卡上的密码算法模块,第一,设计者可以自定义具有特定功能的密码算法逻辑电路,提高密码算法的设计灵活性;第二,可以以纯硬件实现密码算法,实现加密卡的高速密码运算;第三,可以使加密卡在硬件架构上具有一定程度的柔性,使得加密卡具有很高的灵活性,能够适应不同的密码算法,便于密码算法的更新和修改;第四,可以通过其现场配置特性,实现密码算法或关键密码算法的现场重构,使得加密卡在掉电情况下,不具有任何密码算法或者不具有关键的密码算法,从而为加密卡提供一种安全保护方法。

目前,对于加密卡的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过softice等debug工具调试跟踪解密,一种是通过编写拦截程序修改软件和加密卡之间的通讯。

硬件克隆复制主要是针对国产芯片的加密卡,因为国产加密卡公司一般没有核心加密芯片的制造能力,因此有些使用了市场上通用的芯片,破解者分析出芯片电路以及芯片里写的内容后,就可以立刻复制或克隆一个完全相同的加密卡。不过国外的加密卡就无法使用这种方法,国外加密卡硬件使用的是安全性很好的自己研制开发的芯片,通常很难进行复制,而且现在国内加密卡也在使用进口的智能卡芯片,因此这种硬件克隆的解密方法用处越来越少。

对于debug调试破解,由于软件的复杂度越来越高,编译器产生的代码也越来越多,通过反汇编等方法跟踪调式破解的复杂度已经变得越来越高,破解成本也越来越高,目前已经很少有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具有极高的价值。

目前加密卡的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截。这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密卡具有不错的解密效果。由于加密卡的应用程序接口(api)基本上都是公开的,因此从网上可以很容易下载到加密卡的编程接口api、用户手册、和其它相关资料,还可以了解加密卡技术的最新进展。



技术实现要素:

针对现有技术存在的不足,本发明的目的在于提供一种基于云平台的usb加密卡管理系统,具有安全性高、不易被破解的特点。

为实现上述目的,本发明提供了如下技术方案:

一种基于云平台的usb加密卡管理系统,包括usb加密卡、应用程序子系统、用户子系统和后台管理子系统;所述应用程序子系统承载于pc端,用户子系统承载于移动终端,后台管理子系统承载于服务器;所述应用程序子系统、用户子系统通过互联网与后台管理子系统进行通讯;所述usb加密卡配置有无线通讯模块,以与用户子系统进行通讯;其中,

usb加密卡被配置为用于基于从用户子系统接收到的密钥配置数据生成相应的密钥,并通过生成的密钥对所述应用程序子系统中的软件锁进行解锁;

应用程序子系统配置有n组软件锁,并被配置为在运行到预定阶段时,基于用户的登陆信息从后台管理子系统获取软件锁配置数据并据此解除对应数量的软件锁,以及与所述usb加密卡进行通讯,以获取与剩余软件锁对应的密钥;

用户子系统被配置为用于供用户使用预先注册的账户信息进行登陆,并将登陆信息发送至后台管理子系统和usb加密卡;以及从后台管理子系统接收密钥配置数据并转发至usb加密卡;

后台管理子系统配置有数据库,所述数据库中存储有n组配对的密钥配置数据和软件锁配置数据;所述后台管理子系统被配置为对从用户子系统接收到的登陆信息后进行验证,并在验证通过后从所述数据库中随机调取一组配对的密钥配置数据和软件锁配置数据,并将调取出的密钥配置数据和软件锁配置数据分别发送至用户子系统和应用程序子系统。

优选地,所述应用程序子系统还被配置为基于预设的验证方式对接入pc端的usb加密卡进行验证,若验证失败,则弹出usb加密卡。

优选地,所述的验证方式为:

所述usb加密卡配置有唯一的识别信息,并在后台管理子系统中经过预先;

当usb加密卡接入到pc端时,向应用程序子系统发送经过所述识别信息;

所述应用程序子系统接收到识别信息时,向后台管理子系统请求获取验证信息,以基于该验证信息对所述识别信息进行验证。

优选地,所述usb加密卡还被配置为在接入到pc端时,基于所述识别信息向用户子系统发送接入信息;所述用户子系统被配置为将从usb加密卡接收到的接入信息转发至后台管理子系统;

所述后台管理子系统还被配置为对接收到的接接入信息中所包含的识别信息进行验证,若验证通过,则将该usb加密卡标记为激活状态;

所述后台管理子系统还被配置为在从应用程序子系统接收到请求时,判断对应的usb加密卡是否处于激活状态,若否,则拒绝请求。

优选地,所述账户信息至少包括用户名、密码以及指纹信息。

优选地,所述usb加密卡还配置有指纹识别模块,用于识别用户的指纹信息;

所述应用程序子系统还被配置为对usb加密卡验证成功后,从后台管理子系统获取相应用户的指纹信息并转发至usb加密卡;

所述usb加密卡还被配置为将接收到的指纹信息进行存储,并对用户通过指纹识别模块录入的指纹信息进行验证,若验证通过,则向应用程序子系统发送密钥;否则,不发送。

优选地,所述usb加密卡生成密钥的方式包括:

基于预设的密钥算法生成n组初始密钥并保存;

基于所述密钥配置数据从所述n组初始密钥中选取其中的至少一组初始密钥作为能够解除所述软件锁的最终密钥。

优选地,所述应用程序子系统还被配置为在检测到程序被操作关闭时,删除接收到的软件锁配置数据,并向usb加密卡发送相应的删除消息;

所述usb加密卡还被配置为在接收到所述删除消息时,删除接收到的密钥配置数据。

与现有技术相比,本发明的优点是:

1、采用云技术对软件程序的使用过程进行验证,而不仅仅是利用usb加密卡本身的密钥管理功能,进而避免了非法份子在破解了usb加密卡后就能够使用盗版的程序软件;

2、对usb加密卡加入了指纹识别功能,避免usb加密卡丢失后,被非法份子滥用。

附图说明

图1为实施例1中1usb加密卡管理系统的系统结构图;

图2为实施例1中usb加密卡的模块原理图;

图3为实施例2中usb加密卡的模块原理图。

具体实施方式

下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不仅限于此。

实施例1:

参照图1,本实施例提供一种基于云平台的usb加密卡管理系统,包括usb加密卡、应用程序子系统(例如财务软件、企业管理软件等需要实行正版保护的pc端应用软件)、用户子系统和后台管理子系统;其中,应用程序子系统承载于pc端(例如笔记本电脑、台式机、超级本等),用户子系统承载于移动终端(例如平板电脑、手机等),后台管理子系统承载于服务器(例如云服务器);进而,应用程序子系统、用户子系统能够通过互联网(internet)与后台管理子系统进行通讯;usb加密卡插入到pc端的usb接口上,能够通过api接口程序与应用程序子系统进行数据通讯;另外,usb加密卡配置有无线通讯模块(例如蓝牙、wifi等),以能够与用户子系统所在的移动终端建立数据连接,进而能够与用户子系统进行通讯。

用户在使用usb加密卡前,先在用户子系统中的注册页面进行注册,用户子系统将用户输入的信息(例如用户名、密码)发送至后台管理子系统,后台管理子系统配置有用户管理模块,用户管理模块根据接收到的用户信息,为该用户分配一个账户。之后,用户可利用账户信息在用户子系统中进行登录。登陆过程为,用户在登陆页面中输入账户信息后,用户子系统生成相应的登陆信息,并将登陆信息发送至后台管理子系统,后台管理子系统中的用户管理模块基于之前的注册的用户信息对其进行验证,并在验证通过后,向用户子系统返回一登陆确认信息,用户子系统在接收到该登陆确认信息后,转入到主功能页面。

用户在使用加密卡时,先将usb加密卡接入到pc端(已接入互联网)的usb接口上,一方面能够让usb加密卡获取电源,另一方面是能够与应用程序子系统进行通讯;然后登陆到用户子系统中,用户子系统配置有连接模块,用于调用所在移动终端的无线通讯功能来搜索附近是否有usb加密卡发出的信号,搜索到后,基于用户的操作与所搜索到的usb加密卡建立无线连接。

每一usb加密卡均预先配置有唯一识别信息,并在后台管理子系统中进行过注册;应用程序子系统在运行时,实时对pc端的usb接口进行扫描(其原理类似于目前pc端上常用的一些安全管理软件,例如腾讯管家、360卫士等),当应用程序子系统检测到usb加密卡接入到pc端上后,向usb加密卡发送一个信号,当usb加密卡接收到该信号后,向应用程序子系统发送经过上述的识别信息;应用程序子系统接收到识别信息时,向后台管理子系统请求获取验证信息,以基于该验证信息对识别信息进行验证。当验证失败时,即该usb加密卡为非法身份,应用程序子系统则调用预先配置的程序,弹出usb加密卡(usb弹出程序为现有技术,在此不再赘述)。

usb加密卡在与用户子系统建立连接后,自动地向用户子系统发送接入信息(包含有上述的识别信息),用户子系统被配置为将从usb加密卡接收到的接入信息转发至后台管理子系统;后台管理子系统被配置为对接收到的接接入信息中所包含的识别信息进行验证(验证该识别信息是否在本系统中经过注册),若验证通过,则将该usb加密卡标记为激活状态;进而,当usb加密卡在拔出pc端后,用户子系统与usb加密卡断开连接,则向后台管理子系统发送断开信息(包含对应usb加密卡的识别信息),后台管理子系统接收到断开信息后,将对应的usb加密卡重新标记为离线状态。在线,当后台管理子系统中从应用程序子系统接收到上述的获取验证信息的请求时,判断对应的usb加密卡是否处于激活状态,若否,则拒绝请求。

后台管理子系统还配置有绑定模块,其在从用户子系统接收到上述的接入信息时,将该用户子系统中的当前登陆用户的信息与对应的usb加密卡的识别信息进行绑定,即实现“一人一卡”的目的,并生成相应的绑定数据。用户再次登陆时,用户子系统从后台管理子系统获取对应的绑定数据,当从usb加密卡接收到接入信息时,则基于该绑定数据对接入信息进行匹配,若匹配失败,则不向后台管理子系统转发接入信息。

因此,在应用程序子系统对usb加密卡验证成功后,两者则通过api接口程序进行其它的数据通讯。用户子系统还配置有用户登陆模块,用于供用户进行账户登陆。即,用户使用预先注册的账户信息在应用程序子系统中进行登陆,原理与在用户子系统中进行登陆的原理相同。

后台管理子系统配置有数据库,该数据库中存储有n组配对的密钥配置数据和软件锁配置数据;用户在注册时,后台管理子系统则从数据库中选定一组密钥配置数据和软件锁配置数据,并与该用户进行绑定。当后台管理子系统检测到当前用户同时在pc端上的应用程序子系统以及移动终端上的用户子系统中登陆时,则从该数据库中调取对应的密钥配置数据和软件锁配置数据,并将调取出的密钥配置数据和软件锁配置数据分别发送至用户子系统和应用程序子系统。

应用程序子系统配置有n组软件锁,应用程序子系统在运行到预定阶段(例如使用一些付费功能)时,立即激活所有的软件锁。当从后台管理子系统接收到的软件锁配置数据后,根据该软件锁配置数据解除对应数量的软件锁,即将已激活的所有软件锁中的其中一部分进行冻结,如此,仅剩其中一部分软件锁仍然处于激活状态。

用户子系统被配置为在从后台管理子系统中接收到密钥配置数据后,将其转发至usb加密卡。usb加密卡的硬件电路的模块原理图如图2所示,包括微处理模块、usb接口模块、密钥生成模块、数据存储模块、无线通讯模块以及电源模块。其中,密钥生成模块被配置为根据des、rsa、aes等成熟的加密算法,生成n组初始密钥并存储于所述数据存储模块中。usb加密卡在通过该无线通讯模块从用户子系统接收到密钥配置数据后,从生成的n组初始密钥中选取其中的至少一组(具体的组数与上述应用程序子系统中所剩余的软件锁的组数相对应)初始密钥作为能够解除软件锁的最终密钥,选取完成后,通过usb接口模块发送至应用程序子系统。

应用程序子系统在从usb加密卡接收到密钥后,利用该密钥对剩余的软件锁进行解锁,解锁完成后,向用户开启冻结的功能。

另外,当用户关闭应用程序子系统时,应用程序子系统被配置为在检测到程序被操作关闭时(一般通过检测用户是否操作程序退出按钮),删除接收到的软件锁配置数据,并向usb加密卡发送相应的删除消息;usb加密卡被配置为在接收到删除消息时,删除接收到的密钥配置数据。

实施例2:

本实施例与实施例1的区别在于,参照图2,usb加密卡还配置有指纹识别模块,用于识别用户的指纹信息。

用户在注册时,还通过移动终端(具有指纹模块)录入指纹信息,作为账户信息存入到后台管理子系统中。进而,应用程序子系统被配置为对usb加密卡验证成功后,从后台管理子系统获取相应用户的指纹信息并转发至usb加密卡;usb加密卡被配置为将接收到的指纹信息进行存储(存入到数据存储模块中)。

用户在使用usb加密卡时,通过usb加密卡上的指纹识别模块录入指纹信息;指纹信息传输至微处理模块,微处理模块从数据存储模块中调取从应用程序子系统接收到的指纹信息,与用户当前录入的指纹信息进行验证,若验证通过,则向应用程序子系统发送密钥;否则,不发送。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1