软件数字许可服务器签发软件数字许可权限的方法与流程

文档序号:13985869阅读:111来源:国知局

本发明涉及软件数字许可领域,具体涉及一种由软件数字许可服务器给予软件开发商签发软件数字许可权限的方法以及相应的软件数字许可服务器。



背景技术:

软件开发商为了保护其计算机软件,通常采用向软件用户颁发软件数字许可的方式。软件数字许可,就是软件开发商给用户颁发的license,其中主要是规定了软件的允许使用期限、允许使用次数、或允许使用的功能模块等,用户必须拿到数字许可才能使用软件。也就是说,软件数字许可可用来对软件的部分功能进行限制(例如,限时限次)。

现有的软件数字许可通常是由软件开发商通过软件数字许可服务器(例如通过登录云服务平台、网站)进行签发的,签发许可时需要登录在云服务平台中注册的账户密码,软件数字许可服务器对账号密码进行验证,验证通过即可对用户账户进行签发许可。

然而,发明人发现,现有的这种签发许可的过程中,对软件开发商的身份认证不够严格,导致软件开发商签发许可过程的安全性低,而且,一旦签发人员(软件开发商,更具体地,软件开发商管理者)的账号密码泄露或被非法人员破解,将可能导致非法人员胡乱为他人签发许可的恶意行为发生。



技术实现要素:

本发明的目的在于解决现有签发软件数字许可过程的安全性低、非法人员恶意为他人签发许可而损害软件开发商利益的问题。

为此,本发明一个方案中,提供了一种由软件数字许可服务器给予软件开发商签发软件数字许可权限的方法,包括:接收来自软件开发商侧电子设备的用于登录所述软件数字许可服务器的账户名和密码,对所述账户名和密码进行第一验证;获取与所述软件开发商侧电子设备通信地连接的软件保护装置内预存的软件开发商信息,并对所述软件开发商信息进行第二验证;通过所述第一验证和所述第二验证后,给予所述软件开发商以软件数字许可签发权限。

在该方案中,进一步可以包括:向所述软件开发商侧电子设备或软件开发商的便携式通信设备或电子邮箱发送与第三验证有关的验证请求信息;接收来自软件开发商的便携式通信设备或电子邮箱的响应于所述验证请求信息而发送的验证应答信息;根据所述验证应答信息进行所述第三验证;在通过所述第一验证、所述第二验证以及所述第三验证后,给予所述软件开发商以软件数字许可签发权限。

优选地,所述验证请求信息包括条码或动态验证码。

优选地,所述条码包括一维码、二维码或三维码。

优选地,所述软件保护装置为加密锁。

优选地,所述便携式通信设备为手机。

本发明另一方案还提供一种软件数字许可服务器,包括处理器,所述处理器配置为执行计算机指令以实现上述的方法。

本发明的有益效果在于:通过对软件保护装置内预存的软件开发商信息进行进一步的验证,检测出登录软件数字许可服务器的用户身份是否是合法(软件开发商或签发人员)或非法,保障了软件数字许可签发过程中的安全性,防止非法人员恶意为他人签发许可而损害软件开发商的利益。

附图说明

图1为本发明第一实施例的由软件数字许可服务器给予软件开发商签发软件数字许可权限的方法的流程示意图;

图2为本发明第二实施例的由软件数字许可服务器给予软件开发商签发软件数字许可权限的方法的流程示意图;

图3为本发明第二实施例的一个变形实施例的方法流程示意图;

图4为本发明再一实施例的软件数字许可服务器的结构示意图。

具体实施方式

此处参考附图描述本公开的各种方案以及特征。通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。注意的是,在说明书全文中,相同的附图标记指代相同或相似的元件,并省略不必要的重复描述。此外,具体实施例中,以单数形式出现的元件并不排除可以以多个(复数个)形式出现。

图1是本发明第一实施例的由软件数字许可服务器给予软件开发商签发软件数字许可权限的方法的流程示意图。

如图1所示,软件数字许可服务器(或简称为“服务器”)给予软件开发商(或简称为“开发商”)签发软件数字许可权限的方法的步骤包括:

步骤s101,接收来自软件开发商侧电子设备的用于登录软件数字许可服务器的账户名和密码,对账户名和密码进行第一验证。

具体地,软件数字许可服务器上设置有存储单元(例如,数据库),用于对接收到的账户名和密码的合法性进行验证(即,第一验证),如果未通过验证,则不给予用户以签发权限。

步骤s102,获取与软件开发商侧电子设备通信地连接的软件保护装置内预存的软件开发商信息,并对软件开发商信息进行第二验证;

具体地,常见的软件保护装置例如为加密锁、加密狗、硬件锁等,用于保护软件,软件保护装置常规地存储有可执行代码、密钥数据等,例如,软件的执行过程需得到软件保护装置执行可执行代码所返回的结果才能继续进行。软件保护装置可以与软件开发商侧电子设备(或简称为“电子设备”)通信地连接,软件保护装置与电子设备通信的方式包括有线(通过usb口,或电子设备上的串口或并口等)方式、无线(通过蓝牙、wifi、红外等)方式。

软件保护装置内预存有信息,例如软件开发商信息,该信息可以被利用以对软件开发商(具体而言,代表了软件开发商的签发人员)的身份进行验证。

具体地,服务器获取软件保护装置内预存的软件开发商信息例如可以为:电子设备上的浏览器(例如,该浏览器用于登录服务器的云服务平台或网站)上加载有插件程序,通过插件程序访问本地程序,进而访问软件保护装置。由此,服务器可获取到软件保护装置内预存的软件开发商信息。此外,还可以例如以这样的方式获取软件开发商信息:电子设备上的浏览器(例如,该浏览器用于登录服务器的云服务平台或网站)通过软件保护装置的本地服务中间件读取软件保护装置内预存的软件开发商信息,本地服务中间件具体可以利用api接口函数来读取软件保护装置内预存的软件开发商信息。

服务器对软件开发商信息进行第二验证的具体方式可以实现为:服务器上设置有存储单元(例如,数据库),存储单元中预先存储软件开放商信息,通过与所读取到的软件开发商信息进行比对,来验证所获取的软件开发商信息是否是正确的。

如果未通过该第二验证,则不给予该用户以签发权限。

步骤s103,通过第一验证和第二验证后,给予软件开发商以软件数字许可签发权限。

也就是说,软件开发商获取软件数字许可签发权限的前提是必须通过第一验证和第二验证。至于第一验证和第二验证中何者在前或者是否并行地进行第一验证和第二验证,本实施例不作限定。

实施例的方案能够检测出登录软件数字许可服务器的用户身份是否是合法(软件开发商或签发人员)或非法,保障了软件数字许可签发过程中的安全性,防止非法人员恶意为他人签发许可而损害软件开发商的利益。

图2是本发明另一实施例的由软件数字许可服务器给予软件开发商签发软件数字许可权限的方法的流程示意图。本实施例中,软件数字许可服务器具体为云服务器,并以云服务平台的形式呈现给用户,用户可以通过浏览器来访问该云服务平台(网站)。具体地,本实施例包括以下方法步骤:

s201,用户(软件开发商)在云服务平台的交互界面上输入账户名和密码以登录云服务平台;服务器在后台验证账户名和密码是否正确,如果通过验证,则进入到步骤s202,否则,不执行下面的验证,流程结束。

s202,用户在云服务平台的交互界面上点击发布许可按钮,服务器会生成二维码并显示在界面上,然后进入s203;

s203,用户利用便携式通信设备(例如,手机)扫描二维码,并对是否发布许可事项进行确认(即,发送验证应答消息);服务器等待来自便携式通信设备的验证应答消息,根据验证应答消息进行第三验证,当通过第三验证后,进入步骤s204,否则流程结束。

更具体地,服务器可以通过获取验证应答消息中包含的用户id,来进行第三验证,比如当用户使用手机上的一app扫描二维码,然后对发布许可事项进行确认(即,发送验证应答消息)时,所发送的验证应答消息中可包括用户使用该app所用的用户id,服务器上的存储单元可预存有用户id,通过比对接收到的验证应答消息中的用户id,服务器可以进行第三验证;此外,例如,还可以当用户使用手机上的一app扫描二维码,然后对发布许可事项进行确认(即,发送验证应答消息)时,所发送的验证应答消息中可包括用户的手机号码等表征用户身份的信息,服务器可以通过对用户的手机号码等表征用户身份的信息进行第三验证来确认用户身份。

s204,云服务平台的交互界面上提示用户插入硬件锁;

s205,用户将硬件锁插入电子设备的usb接口后,在交互界面上点击确认,进入s206;

s206,服务器获取硬件锁内预存的开发商信息,并对该获取的开发商信息进行验证(第二验证),验证通过,则进入s207,否则,流程结束。

s207,服务器给予用户以软件数字许可签发权限。

用户继而可以在云服务平台上在其获得的软件数字许可签发权限的范围内进行签发许可的操作。

虽然本实施例中,先进行了第一验证,然后进行第三验证,最后进行第二验证,但是需要说明的是,第一验证、第二验证、第三验证的顺序并不是固定的,并且它们可以先后串行执行或者并行执行。

通过本实施例,使得签发软件数字许可过程的安全性进一步提高。

下面,描述上述实施例的一变型实施例,在该实施例中,用步骤s302和步骤s303替代上一实施例中的s202和s203,对于其他的相同或相似的步骤,省略了详细描述。本实施例的方法的具体流程如图3所示,包括以下步骤:

s201,用户(软件开发商)在云服务平台的交互界面上输入账户名和密码以登录云服务平台;

s302,用户在云服务平台的交互界面上点击发布许可按钮,服务器向用户绑定的手机发送动态验证码,然后进入s303;

s303,用户在交互界面上输入其绑定的手机上接收到的动态验证码,以对发布许可事项进行确认(即,发送验证应答消息);服务器根据验证应答消息中的动态验证码进行第三验证,当通过第三验证后,进入步骤s204。

s204,云服务平台的交互界面上提示用户插入硬件锁;

s205,用户将硬件锁插入电子设备的usb接口后,在交互界面上点击确认,进入s206;

s206,服务器获取硬件锁内预存的开发商信息,并对该获取的开发商信息进行验证,验证通过,则进入s207,否则,流程结束。

s207,服务器给予用户以软件数字许可签发权限。

在第二实施例的另一变型实施例中,s202和s203被s402和s403(未图示)所替代。在步骤s402中,用户在云服务平台的交互界面上点击发布许可按钮后,服务器向用户绑定的手机发送验证链接(例如以短信形式),在s403中,用户在手机上点击验证链接,完成验证。

在第二实施例的再一变型实施例中,s202和s203被s502和s503(未图示)所替代。在步骤s502中,用户在云服务平台的交互界面上点击发布许可按钮后,服务器向用户绑定的电子邮箱发送验证链接,然后在s503中,用户在通过进入电子邮箱点击验证链接,完成验证。

在下面的实施例中,如图4所示,提供了一种软件数字许可服务器600。软件数字许可服务器600包括:处理器6001,用于执行计算机指令;通信模块6002,其包括通信接口,通信模块6002能够通过接入网络以与外部的电子设备700进行通信,以接收/发送数据;存储模块6003,包括非易失性存储模块,用于预先存储对登录用户的验证所需的信息。电子设备700,即权利要求中的软件开发商侧电子设备,可以例如通过浏览器接入云服务平台(网站)与服务器600交互。电子设备700具有各种接口,例如串口、并口、usb接口,以供软件保护装置1000与其通信地连接。

处理器6001可执行程序指令以实现如下的操作(未图示):

s8001,接收用户通过电子设备700访问云服务平台后,在云服务平台的交互界面上输入的用于登录服务器600的账户名和密码;

s8002,在存储模块6003中搜索用户输入的账户名和密码,如搜索到相应的账户名和密码,则进行下一步骤s8003;否则,结束操作。

s8003,获取软件保护装置1000内预存的软件开发商信息,在存储模块6003中搜索是否存在与所接收的预存的软件开发商信息相匹配的软件开发商信息,如存在,则进行下一步骤s8004;否则,结束操作;

s8004,给予用户以软件数字许可签发权限。

实施例的软件数字许可服务器保障了软件数字许可签发过程中的安全性。

在另一实施例中,软件数字许可服务器600所包括的处理器6001还可以执行指令以实现进一步的操作,并且在实施例中,还存在软件开发商的便携式通信设备(以下简称,便携式通信设备)900(未图示),其特征信息(例如唯一标识符、手机号码)预存在存储模块6003中。处理器6001的进一步的操作(未图示)包括:

s80031,生成与第三验证有关的验证请求信息,并向电子设备700或便携式通信设备发送验证请求消息;

s80032,根据接收到的相应于验证请求消息的验证应答消息进行第三验证。

上述操作s80031和s80032可以在s8003和s8004之间进行,也可以在s8003之前进行。

实施例的软件数字许可服务器进一步地提高了软件数字许可签发过程中的安全性。

说明的是,便携式通信设备典型的为手机、但也可以是平板电脑、笔记型电脑等方便用户携带的具有通信功能的电子设备。

实际上,根据本发明的原理,可以理解,软件数字许可服务器可实现上述方法实施例的每一个以及它们的变形/组合/等同替代。

以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

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