一种托管硬件控制锁的方法及系统与流程

文档序号:11251234阅读:438来源:国知局
一种托管硬件控制锁的方法及系统与流程

本发明涉及对计算机软件安全性领域,特别涉及一种托管硬件控制锁的方法及系统。



背景技术:

在计算机网络中,为了保证传输数据的合法性,都需要完备的证书体系。因此,硬件锁提供商提供了硬件锁,该硬件锁具有唯一的有效证书,用以标识身份。每次向硬件锁内输入数据,均会通过硬件锁的有效证书验证数据输入者的身份有效性及合法性,如果合法,则允许执行输入数据的操作,如果非法,则拒绝输入数据的操作。硬件锁包括硬件控制锁及硬件用户锁,硬件控制锁是由智能硬件及嵌入式系统组成,提供给软件开发者,用以向硬件用户锁签发授权数据;硬件用户锁是由智能硬件及嵌入式系统组成,由软件开发者将软件与其中的私钥一起打包售卖给最终的软件使用者,用于软件授权保护。

图1为现有技术提供的软件开发者使用硬件锁的示意图,如图所示:软件开发者采用硬件控制锁生成对应输出数据端的多个硬件用户锁,对要发布的应用软件中的授权或/和重要算法等的数据采用硬件用户锁的公钥进行加密后,再对加密的数据采用硬件控制锁中的私钥进行签名后,装载到硬件用户锁中,得到授权后的硬件用户锁发送给软件使用者。在这里,每个硬件控制锁在出厂前都会在内部生成一个非对称密钥对,密钥对中的私钥不能更替且不能被导出,用于对输入数据进行签名,密钥对中的公钥不能更替但可以导出给输出数据端,用于在后续对签名的数据进行验签。当输出数据端接收到数据之后,采用硬件控制锁中的公钥对数据进行验签通过后,再采用硬件用户锁的私钥对数据进行解密,并存储。在这里,每把硬件用户锁都会在内部生成一个非对称密钥对,密钥对中的私钥不能更替且不能导出,用于对输入数据进行解密,密钥对中的公钥不能更替可以导出,用于对输入数据进行加密。

也就是说,在计算机网络中的输出数据端中具有硬件用户锁的公钥及硬件控制锁的私钥,依次对要输出的数据进行加密及签名,在计算机网络中的输入数据端具有硬件控制锁的公钥及硬件用户锁的私钥,依次对输入的数据进行解签及解密处理。

图2为现有技术提供的软件使用过程图,如图所示,在软件发布的同时,会将软件中的一些授权或/和重要的数据写入到硬件锁中,一起提供给终端侧。当终端侧接收到后,启动软件,软件中的软件授权控制模块对锁访问模块进行控制,锁访问模块向软件的硬件锁发起授权验证请求,该请求携带终端侧输入的硬件控制锁的公钥及硬件用户锁的私钥;硬件锁的锁内入口模块(entry)接收到并解析得到硬件控制锁的公钥及硬件用户锁的私钥后,由锁内的负载模块(loader)对硬件锁中的安全数据区的数据进行验签及解密后,将数据返回给软件的锁访问模块,软件应用这些数据启动。

采用这种方式由于软件必不可少的数据都被加密且签名后保存在硬件锁中等待验签及解密后才能使用,这样这一方面能够保证软件运行的安全性,软件不会被非法篡改;另一方面能够保证软件开发者的利益,使得非法终端侧由于无法对硬件锁中的数据解签及解密,无法使用非授权的软件。但是,实现上述软件的授权方式,需要为派发的软件设置授权状态的硬件用户锁,目前硬件用户锁常常采用硬件锁提供商提供的手持式的硬件控制锁,由软件开发者将软件中的数据装载到硬件控制锁生成的硬件用户锁中,采用这种方式比较繁琐,不容易管理,常常无法保证不同软件的硬件锁的唯一性,给软件的发布制造了障碍。



技术实现要素:

有鉴于此,本发明实施例提供一种托管硬件控制锁的方法,该方法能够采用计算机网络托管软件的硬件控制锁,简单且易于管理。

本发明实施例还提供一种托管硬件控制锁的系统,该系统能够采用计算机网络托管软件的硬件控制锁,简单且易于管理。

根据上述目的,本发明是这样实现的:

一种托管硬件控制锁的方法,在计算机网络侧设置由多个硬件控制锁组成的硬件控制锁集群,该方法还包括:

计算机网络侧将所述硬件控制锁集群中的硬件控制锁分配给软件开发者,并将分配的硬件控制锁与软件开发者标识关联;

计算机网络侧接收到软件开发者发送的软件数据后,采用软件开发者标识关联的硬件控制锁对软件数据进行签名;

计算机网络侧将签名后的软件数据发送给软件开发者,使得软件开发者将签名后的软件数据加载到硬件用户锁中,发送给软件使用者。

一种托管硬件控制锁的系统,包括:计算机网络侧的云端平台及软件开发者实体,其中,

计算机网络侧的云端平台,用于设置多个硬件控制锁,将硬件控制锁分配给软件开发者,将硬件控制锁与软件开发者标识关联;接收到软件开发者发送的软件数据后,采用软件开发者标识关联的硬件控制锁对软件数据进行签名后,发送给软件开发者;

软件开发者实体,用于向计算机网络侧的云端平台发送软件数据;接收计算机网络侧的云端平台发送的签名后的软件数据后,加载到硬件用户锁中,发送给软件使用者。

由上述方案可以看出,本发明实施例在计算机网络侧设置由多个硬件控制锁组成的硬件控制锁集群,将硬件控制锁分配给软件开发者,将硬件控制锁与软件开发者标识关联;接收到软件开发者发送的软件数据后,采用软件开发者标识关联的硬件控制锁对软件数据进行签名后,发送给软件开发者,使得软件开发者将签名后的软件数据加载到硬件用户锁中,发送给软件使用者。进一步地,将一个硬件控制锁与请求者标识关联后,不再复用已经关联的该硬件控制锁,该硬件控制锁还具有多个备份的硬件控制锁。由于本发明实施例提供的方法及系统是由计算机网络侧统一对硬件控制锁进行分配以及应软件开发者的需求使用,不需要软件开发者再使用手持硬件控制锁,简单且易于管理,从而有利于软件的发布。

附图说明

图1为现有技术提供的软件开发者使用硬件锁的示意图;

图2为现有技术提供的软件使用过程图;

图3为本发明实施例提供的托管硬件控制锁的方法流程图;

图4为本发明实施例提供的托管硬件控制锁的系统结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。

本发明实施例为了使得软件开发者无需从硬件锁提供商那里获取硬件控制锁,所造成的硬件锁提供商的管理复杂且繁琐,而且无法保证不同软件的硬件控制锁的唯一性,采用了在计算机网络侧设置由多个硬件控制锁组成的硬件控制锁集群,将硬件控制锁分配给软件开发者,将硬件控制锁与软件开发者标识关联;接收到软件开发者发送的软件数据后,采用软件开发者标识关联的硬件控制锁对软件数据进行签名后,发送给软件开发者,使得软件开发者将签名后的软件数据加载到硬件用户锁中,发送给软件使用者。

进一步地,将一个硬件控制锁与请求者标识关联后,不再复用已经关联的该硬件控制锁,该硬件控制锁还具有多个备份的硬件控制锁。

这样,由于本发明实施例提供的方法及系统是由硬件控制锁服务器统一对硬件控制锁进行分配以及应软件开发者的需求使用,不需要软件开发者再使用手持硬件控制锁,简单且易于管理,从而有利于软件的发布。

图3为本发明实施例提供的托管硬件控制锁的方法流程图,其具体步骤为:

步骤301、在计算机网络侧设置由多个硬件控制锁组成的硬件控制锁集群;

在本步骤中,在计算机网络侧设置了云端平台,可以同时在不同的机房中管理硬件控制锁提供商提供的多个硬件控制锁;

步骤302、计算机网络侧将所述硬件控制锁集群中的硬件控制锁分配给软件开发者,并将分配的硬件控制锁与软件开发者标识关联;

在本步骤中,当软件开发者通过计算机网络经接入服务接入到计算机网络侧的云端平台上并注册时,云端平台就为软件开发者分配硬件控制锁并将关联关系进行存储;

步骤303、计算机网络侧接收到软件开发者发送的软件数据后,采用软件开发者标识关联的硬件控制锁对软件数据进行签名;

步骤304、计算机网络侧将签名后的软件数据发送给软件开发者,使得软件开发者将签名后的软件数据加载到硬件用户锁中,发送给软件使用者。

在该方法中,一旦存储的硬件控制锁被分配,则所分配的硬件控制锁不能再复用给其他软件开发者,直到所分配的硬件控制锁被回收销毁。

在该方法中,所述硬件控制锁集群设置在硬件控制锁集群服务器中,所述硬件控制锁集群服务器具有多个,不同硬件控制锁集群服务器存储的硬件控制锁互为备份。也就是说,每个硬件控制锁都有多个备用的硬件控制锁,以便某一硬件控制锁出现故障可以启动备用的硬件控制锁进行服务。在该方法中,不同硬件控制锁集群服务器可以作为异地灾备处理。这时,计算机网络侧在为软件开发者分配硬件控制锁时,为一组硬件控制锁,所述一组硬件控制锁中具有一个服务的硬件控制锁及多个备份的硬件控制锁。

在该方法中,计算机网络侧云端平台管理的硬件控制锁是硬件锁提供商提供的。

在该方法中,所述将分配的硬件控制锁与软件开发者标识关联的过程为:通过计算机网络侧接入服务接收软件开发者的分配硬件控制锁请求后,将分配的硬件控制锁与软件开发者标识关联后存储在计算机网络中的数据库中。

在该方法中,所述软件开发者发送的软件数据是通过计算机网络侧接入服务接收到的,发送给硬件控制锁代理服务器,由硬件控制锁代理服务器根据关联确定对应的硬件控制锁。

在该方法中,所述软件数据是软件开发者通过软件开发工具包(sdk)发送的,所述sdk是由计算机网络侧提供给软件开发者,软件开发者加载的。当然。也可以通过请求者的计算机桌面软件、web浏览器或终端应用等等方式实现。

在该方法中,所述计算机网络侧接收软件开发者发送的软件数据为:

所述sdk采用软件开发者的用户名及密码通过计算网络接入到计算机网络侧中;

所述sdk将软件数据输入到计算机网络侧中请求签名;

所述采用软件开发者标识关联的硬件控制锁对软件数据进行签名的过程为:

所述计算机网络侧采用对应的硬件控制锁将软件数据进行签名后,将签名后的软件数据返回给所述sdk;

所述sdk将签名后的软件数据提供给软件开发者。

这样,后续就可以将签名后的软件数据装载到硬件用户锁中,发送给软件使用者,这个过程与使用手持硬件控制锁的过程是一致的。

软件开发者就可以将软件及硬件用户锁同时发布给软件使用者,软件使用者采用硬件控制锁中的公钥验证其中硬件用户锁中的数据签名的合法性,如果合法,再采用硬件用户锁中的私钥对加密数据进行解密,通过则表示输入数据正确,则将输入数据要求进行运算,并将结果返回给软件,用以软件运行。

图4为本发明实施例提供的托管硬件控制锁的系统结构示意图,包括:计算机网络侧的云端平台及软件开发者实体,其中,

计算机网络侧的云端平台,用于设置多个硬件控制锁,将硬件控制锁分配给软件开发者,将硬件控制锁与软件开发者标识关联;接收到软件开发者发送的软件数据后,采用软件开发者标识关联的硬件控制锁对软件数据进行签名后,发送给软件开发者;

软件开发者实体,用于向计算机网络侧的云端平台发送软件数据;接收计算机网络侧的云端平台发送的签名后的软件数据后,加载到硬件用户锁中,发送给软件使用者。

在该系统中,软件开发者实体,还用于在所述计算机网络侧的云端平台将硬件控制锁分配给软件开发者之前,经计算机网络侧的云端平台中的接入服务接入到计算机网络侧的云端平台并注册;

所述系统还包括数据库,用于从计算机网络侧的云端平台接收分配的硬件控制锁与软件开发者标识关联信息并存储。

在该系统中,所述计算机网络侧的云端平台包括硬件控制锁集群服务器,具有多个,不同硬件控制锁集群服务器存储的硬件控制锁互为备份;

所述系统还包括硬件控制锁代理服务器,其中,

硬件控制锁代理服务器,用于通过计算机网络侧的云端平台的接入服务接收软件开发者的分配硬件控制锁请求后,发送给计算机网络侧的云端平台。

在这里,硬件控制锁集群服务器具有多个,形成了云托管硬件控制锁系统,硬件控制锁代理服务器也具有多个,每个硬件控制锁代理服务器通过计算机网络都可以与其中的一个硬件控制锁集群服务器进行交互。

在该系统中,软件开发者实体,还用于发送给所述硬件控制锁服务器的软件数据是通过sdk进行的,或者是通过自身的计算机桌面软件、web浏览器或终端应用等等方式实现。

软件开发者实体采用本发明实施例提供的系统,根据注册的账号及密码登录该系统,从而可以在线使用硬件锁提供商托管的硬件控制锁。

本发明实施例提供的系统具备以下基础服务:1、用户注册功能,该功能面向软件开发者,只有在系统上注册的软件开发者才能使用该系统提供的托管硬件控制锁功能;2、托管硬件控制锁功能,这与背景技术中采用的手持硬件控制锁具有相同的功能,核心就是使用硬件控制锁内私钥进行数据签名功能,标识软件开发者的合法身份;3、该系统具备安全通信信道及数据加密过程,确保软件数据在计算机网络上安全正确的传输;4、该系统提供了sdk、pc桌面软件、web浏览器或/和手机应用等等方式,以便软件开发者可以方便在线使用该系统。

从上述方案可以看出,本发明实施例就可以解决以下问题:软件开发者的硬件控制锁丢失或损毁,重新向硬件锁提供商申请定制硬件控制锁的滞后性问题;硬件锁提供商向软件开发者提供特定硬件控制锁,比如该特定硬件控制锁携带有软件开发者身份信息及软件安全标识信息的过程中可能造成的丢失、漏发、重复及物流等管理或交付安全问题;对于个人的软件开发者则无需随时携带硬件控制锁进行开发测试,只需要能够接入计算机网络就可以随时随地地使用托管硬件控制锁;软件开发者无需担心硬件控制锁的丢失,以及由此带来的损失。

以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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