一种软件使用授权方法及客户端与流程

文档序号:16671001发布日期:2019-01-18 23:34阅读:189来源:国知局
一种软件使用授权方法及客户端与流程

本发明涉及软件授权领域,特别涉及一种软件使用授权方法及客户端。



背景技术:

软件授权是软件保护概念的延伸和发展。软件授权的目标是让软件用户按照购买许可来使用软件,涉及软件的安装份数,使用时间,应用范围以及功能模块等内容。对于软件保护来说,其核心理念是防止软件被盗版。目前软件授权的要求包括软件加密、授权管理以及中央服务。

专利申请号cn201310653124.5的一种软件保护、授权和注册的方法,公开了以下内容:接收用户注册时发送的验证信息并进行验证;如果验证通过则获取用户的客户关键信息和硬件特征码;根据所述客户关键信息和硬件特征码、产品id、产品授权、md5校验码(一种不可逆的加密算法)按照自定义算法进行组合编码,将得到的编码通过非对称加密算法生成授权信息并发送至相应的用户端。该申请可以限制对软件产品的未授权使用,但存在以下缺点:

(1)、需要预置用户信息以用于软件使用认证,授权注册步骤麻烦。

(2)、无法对脱机使用进行管控。

(3)、针对软件限制比较大,不能兼容其他应用软件。

(4)、加密方式比较单一。



技术实现要素:

本发明所要解决的技术问题是:提供一种软件使用授权方法及客户端,使得授权注册步骤操作简单。

为了解决上述技术问题,本发明采用的技术方案为:

一种软件使用授权方法,包括步骤:

s1、获取注册邮箱信息,生成并发送包括所述注册邮箱信息的注册码申请请求至服务端;

s2、接收服务端发送的申请应答信息,判断所述申请应答信息内的注册邮箱信息是否为授权邮箱,若是,则生成注册码已发至邮箱信息,否则生成注册码已发至管理员信息,并将所述注册码已发至邮箱信息或所述注册码已发至管理员信息进行弹窗显示;

s3、生成并发送包括注册码信息的软件注册请求,以完成注册授权。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种软件使用授权客户端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

s1、获取注册邮箱信息,生成并发送包括所述注册邮箱信息的注册码申请请求至服务端;

s2、接收服务端发送的申请应答信息,判断所述申请应答信息内的注册邮箱信息是否为授权邮箱,若是,则生成注册码已发至邮箱信息,否则生成注册码已发至管理员信息,并将所述注册码已发至邮箱信息或所述注册码已发至管理员信息进行弹窗显示;

s3、生成并发送包括注册码信息的软件注册请求,以完成注册授权。

本发明的有益效果在于:客户端发送包括邮箱信息的注册码申请请求,若邮箱信息为授权邮箱,则通过用户指定的邮箱接收服务端发送的注册码,若邮箱信息为未授权邮箱,则通过管理员邮箱接收服务端发送的注册码,用户通过询问管理员以得到注册码,最后根据注册码进行注册授权,不仅有效的节省了授权注册步骤,还可以通过管理员对授权用户进行统一而有效的管理,同时,该软件授权方法无需适应软件本身,从而可以兼容所有安卓系统的app和windows系统的应用软件。

附图说明

图1为本发明实施例的一种软件使用授权方法的流程示意图;

图2为本发明实施例涉及的客户端与服务端交互的流程示意图;

图3为本发明实施例涉及的客户端申请注册码的流程示意图;

图4为本发明实施例涉及的客户端进行注册授权的流程示意图;

图5为本发明实施例涉及的客户端选择校验方式的流程示意图;

图6为本发明实施例涉及的客户端进行联机校验的流程示意图;

图7为本发明实施例涉及的客户端进行脱机校验的流程示意图;

图8为本发明实施例的一种软件使用授权客户端的结构示意图。

标号说明:

1、一种软件使用授权客户端;2、处理器;3、存储器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:通过邮箱来获取注册码,之后根据注册码进行注册授权。

在此之前,为了便于理解本发明的技术方案,对于本发明中涉及的英文缩写、设备等进行说明如下:

(1)、tcp:在本发明中为transmissioncontrolprotocol的缩写,其中文解释为传输控制协议。

(2)、des:一种对称加密算法。

(3)、rsa:一种非对称加密算法。

(4)安卓系统的app和windows系统的应用软件:安卓系统的app意为手机软件,windows系统的应用软件意为电脑软件。

(5)、cpuid以及硬盘id:cpu为centralprocessingunit/processor的缩写,意为中央处理器,cpu为处理设备,硬盘为存储设备,客户端的唯一标识码同时包括处理设备的唯一标识码和存储设备的唯一标识码。

请参照图1至图7,一种软件使用授权方法,包括步骤:

s1、获取注册邮箱信息,生成并发送包括所述注册邮箱信息的注册码申请请求至服务端;

s2、接收服务端发送的申请应答信息,判断所述申请应答信息内的注册邮箱信息是否为授权邮箱,若是,则生成注册码已发至邮箱信息,否则生成注册码已发至管理员信息,并将所述注册码已发至邮箱信息或所述注册码已发至管理员信息进行弹窗显示;

s3、生成并发送包括注册码信息的软件注册请求,以完成注册授权。

从上述描述可知,本发明的有益效果在于:客户端发送包括邮箱信息的注册码申请请求,若邮箱信息为授权邮箱,则通过用户指定的邮箱接收服务端发送的注册码,若邮箱信息为未授权邮箱,则通过管理员邮箱接收服务端发送的注册码,用户通过询问管理员以得到注册码,最后根据注册码进行注册授权,不仅有效的节省了授权注册步骤,还可以通过管理员对授权用户进行统一而有效的管理,同时,该软件授权方法无需适应软件本身,从而可以兼容所有安卓系统的app和windows系统的应用软件。

进一步地,所述步骤s1具体为:获取注册邮箱信息,生成包括软件名称及注册邮箱信息的申请数据包,对所述申请数据包进行加密,生成并发送包括已加密的所述申请数据包的注册码申请请求至服务端;

所述步骤s2还包括步骤:对所述申请应答信息内的申请应答数据包进行解密并拆分,获取软件名称及注册邮箱信息。

由上述描述可知,客户端与服务端之间进行交互的数据进行加密处理,以保证数据传输的安全。

进一步地,所述步骤s1中对所述申请数据包进行加密具体为:对所述申请数据包进行des加密,对已进行des加密的申请数据包进行rsa加密;

所述步骤s2中对所述申请应答信息内的申请应答数据包进行解密具体为:对所述申请应答信息内的申请应答数据包的进行rsa签名验证,若验证成功,则对已进行rsa签名验证的申请应答数据包进行des解密。

由上述描述可知,用户数据信息经过双重加密,相对于一种加密方式来说,破解难度更大,即双重加密能进一步保证数据传输的安全。

进一步地,所述步骤s3之后还包括步骤:

s4、接收软件启动信息,获取所述软件的注册信息,判断网络连接是否正常,若正常,则进行联机校验,否则进行脱机校验。

由上述描述可知,在软件启动时,校验当前用户的合法性,通过判断网络是否连接,来选择校验方式。

进一步地,所述步骤s4中的联机校验具体为:

接收服务端发送的校验应答信息,根据所述校验应答信息更新软件授权信息。

由上述描述可知,在联网时,通过联机校验,在获得校验应答信息后,自动更新用户资料,更新有效期限。

进一步地,所述步骤s4中的联机校验具体为:

获取当前时间,计算所述注册信息的有效期限,判断当前时间是否小于所述有效期限,若是,则生成校验成功信息,否则生成校验失败信息。

由上述描述可知,启动软件后,如果网络连接异常,则直接进行离线脱机,读取本地注册信息,判断当前时间是否已经超出注册信息中的有效期限,如果超出有效期限则禁止使用。

进一步地,所述步骤s2之前还包括步骤:

获取待授权邮箱信息以及有效期限,将所述待授权邮箱信息添加至授权列表。

由上述描述可知,处于管理者的客户端,可以通过增加待授权邮箱信息以及有效期限至授权列表当中,以设置离线使用的有效期限。

进一步地,所述步骤s2中的授权邮箱包括邮箱后缀已被授权的公司邮箱以及预先添加的公共邮箱。

由上述描述可知,若为公司邮箱,则添加邮箱后缀即可,若是公共邮箱,由于邮箱后缀都是一样的,所以采用一一添加的方式。

进一步地,所述步骤s3具体为:

获取客户端的唯一标识码,生成并发送包括所述唯一标识码、注册码以及注册信息的注册数据包;

接收服务端发来的注册应答信息,拆分所述注册应答信息内的应答数据包,得到注册应答码、唯一标识码以及注册信息,所述注册应答码为服务端验证所述注册码合法性的返回信息;

判断所述注册应答码是否正确,若是,则判断所述唯一标识码是否与本机标识码一致,若是一致,将添加所述注册信息至注册表,以完成注册;

若所述注册应答码不正确,则生成服务端返回错误信息,若所述唯一标识码与本机标识码不一致,则生成标识码验证失败信息。

由上述描述可知,通过注册应答码来获取服务端验证所述注册码的合法性,通过唯一标识码来判断要授权的客户端,从而完成授权注册。

进一步地,所述步骤s3中的注册信息包括注册邮箱信息、软件名称以及软件版本号。

由上述描述可知,在注册时,需要将软件名称以及软件版本号发送至服务器,以便于服务端进行授权注册。

请参照图8,一种软件使用授权客户端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

s1、获取注册邮箱信息,生成并发送包括所述注册邮箱信息的注册码申请请求至服务端;

s2、接收服务端发送的申请应答信息,判断所述申请应答信息内的注册邮箱信息是否为授权邮箱,若是,则生成注册码已发至邮箱信息,否则生成注册码已发至管理员信息,并将所述注册码已发至邮箱信息或所述注册码已发至管理员信息进行弹窗显示;

s3、生成并发送包括注册码信息的软件注册请求,以完成注册授权。

从上述描述可知,本发明的有益效果在于:客户端发送包括邮箱信息的注册码申请请求,若邮箱信息为授权邮箱,则通过用户指定的邮箱接收服务端发送的注册码,若邮箱信息为未授权邮箱,则通过管理员邮箱接收服务端发送的注册码,用户通过询问管理员以得到注册码,最后根据注册码进行注册授权,不仅有效的节省了授权注册步骤,还可以通过管理员对授权用户进行统一而有效的管理,同时,该软件授权方法无需适应软件本身,从而可以兼容所有安卓系统的app和windows系统的应用软件。

进一步地,所述步骤s1具体为:获取注册邮箱信息,生成包括软件名称及注册邮箱信息的申请数据包,对所述申请数据包进行加密,生成并发送包括已加密的所述申请数据包的注册码申请请求至服务端;

所述步骤s2还包括步骤:对所述申请应答信息内的申请应答数据包进行解密并拆分,获取软件名称及注册邮箱信息。

由上述描述可知,客户端与服务端之间进行交互的数据进行加密处理,以保证数据传输的安全。

进一步地,所述步骤s1中对所述申请数据包进行加密具体为:对所述申请数据包进行des加密,对已进行des加密的申请数据包进行rsa加密;

所述步骤s2中对所述申请应答信息内的申请应答数据包进行解密具体为:对所述申请应答信息内的申请应答数据包的进行rsa签名验证,若验证成功,则对已进行rsa签名验证的申请应答数据包进行des解密。

由上述描述可知,用户数据信息经过双重加密,相对于一种加密方式来说,破解难度更大,即双重加密能进一步保证数据传输的安全。

进一步地,所述步骤s3之后还包括步骤:

s4、接收软件启动信息,获取所述软件的注册信息,判断网络连接是否正常,若正常,则进行联机校验,否则进行脱机校验。

由上述描述可知,在软件启动时,校验当前用户的合法性,通过判断网络是否连接,来选择校验方式。

进一步地,所述步骤s4中的联机校验具体为:

接收服务端发送的校验应答信息,根据所述校验应答信息更新软件授权信息。

由上述描述可知,启动软件后,如果网络连接异常,则直接进行离线脱机,读取本地注册信息,判断当前时间是否已经超出注册信息中的有效期限,如果超出有效期限则禁止使用。

进一步地,所述步骤s4中的联机校验具体为:

获取当前时间,计算所述注册信息的有效期限,判断当前时间是否小于所述有效期限,若是,则生成校验成功信息,否则生成校验失败信息。

由上述描述可知,启动软件后,如果网络连接异常,则直接进行离线脱机,读取本地注册信息,判断当前时间是否已经超出注册信息中的有效期限,如果超出有效期限则禁止使用。

进一步地,所述步骤s2之前还包括步骤:

获取待授权邮箱信息以及有效期限,将所述待授权邮箱信息添加至授权列表。

由上述描述可知,处于管理者的客户端,可以通过增加待授权邮箱信息以及有效期限至授权列表当中,以设置离线使用的有效期限。

进一步地,所述步骤s2中的授权邮箱包括邮箱后缀已被授权的公司邮箱以及预先添加的公共邮箱。

由上述描述可知,若为公司邮箱,则添加邮箱后缀即可,若是公共邮箱,由于邮箱后缀都是一样的,所以采用一一添加的方式。

进一步地,所述步骤s3具体为:

获取客户端的唯一标识码,生成并发送包括所述唯一标识码、注册码以及注册信息的注册数据包;

接收服务端发来的注册应答信息,拆分所述注册应答信息内的应答数据包,得到注册应答码、唯一标识码以及注册信息,所述注册应答码为服务端验证所述注册码合法性的返回信息;

判断所述注册应答码是否正确,若是,则判断所述唯一标识码是否与本机标识码一致,若是一致,将添加所述注册信息至注册表,以完成注册;

若所述注册应答码不正确,则生成服务端返回错误信息,若所述唯一标识码与本机标识码不一致,则生成标识码验证失败信息。

由上述描述可知,通过注册应答码来获取服务端验证所述注册码的合法性,通过唯一标识码来判断要授权的客户端,从而完成授权注册。

进一步地,所述步骤s3中的注册信息包括注册邮箱信息、软件名称以及软件版本号。

由上述描述可知,在注册时,需要将软件名称以及软件版本号发送至服务器,以便于服务端进行授权注册。

请参照图1至图7,本发明的实施例一为:

一种软件使用授权方法,包括步骤:

s1、获取注册邮箱信息,生成包括客户端的唯一标识码、软件名称、软件版本号及注册邮箱信息的申请数据包,对申请数据包进行rsa加密,生成并发送包括已进行rsa加密的申请数据包的注册码申请请求至服务端;

s2、接收服务端发送的申请应答信息,对申请应答信息内的申请应答数据包进行rsa签名验证,若验证成功,则拆分申请应答数据包以获取申请应答码、软件名称及注册邮箱信息,判断申请应答码是否成功,若成功,则判断注册邮箱信息是否为授权邮箱,若是,则生成注册码已发至邮箱信息,否则生成注册码已发至管理员信息,并将注册码已发至邮箱信息或注册码已发至管理员信息进行弹窗显示;

若长时间未收到申请应答信息,则生成并弹窗显示请重试信息;若rsa签名验证失败,则生成并弹窗显示签名验证失败,请更新程序的信息;若申请应答码为失败,则生成并弹窗显示服务端返回错误信息;

s31、获取客户端的唯一标识码,生成包括唯一标识码、注册码以及注册信息的注册数据包,其中,注册信息包括注册邮箱信息、软件名称以及软件版本号,对注册数据包进行rsa加密,生成并发送包括已进行rsa加密的注册数据包的注册请求至服务端;

s32、接收服务端发来的注册应答信息,对注册应答信息内的注册应答数据包进行rsa签名验证,若验证成功,则拆分注册应答数据包,得到注册应答码、唯一标识码以及注册信息,注册应答码为服务端验证注册码合法性的返回信息;

s33、判断注册应答码是否正确,若是,则判断唯一标识码是否与本机标识码一致,若是一致,则将注册信息进行组包并进行des加密,添加已加密后的注册信息至注册表,以完成注册;

s34、若长时间未收到申请应答信息,则生成并弹窗显示请重试信息;若rsa签名验证失败,则生成并弹窗显示签名验证失败,请更新程序的信息;若注册应答码不正确,则生成并弹窗显示服务端返回错误信息,若唯一标识码与本机标识码不一致,则生成并弹窗显示标识码验证失败信息;

s4、接收软件启动信息,根据软件名称获取该软件在注册表中的注册信息,并对其进行解密,然后再对包括注册信息的校验数据包进行rsa加密,判断网络连接是否正常,若正常,则生成并发送包括已进行rsa加密的校验数据包的校验请求至服务端,之后执行步骤s41,否则进行步骤s42;

步骤s41、接收服务端发送的校验应答信息,对校验应答信息的校验应答数据包进行rsa签名验证,若验证成功,则拆分校验应答数据包,得到校验应答码、唯一标识码、注册邮箱信息、有效期限以及注册信息,校验应答码为服务端验证用户合法性的返回信息,有效期限是服务端根据当前时间、注册时间和授权天数来更新的,更新注册时间为当前时间,有效期限=注册时间-当前时间+授权天数,比如当前时间为2018年7月27日,注册时间为2018年7月26日,授权天数为180天,则返回的有效期限为179天。

判断校验应答码是否正确,若是,则判断唯一标识码是否与本机标识码一致,若是一致,则将注册信息进行组包并进行des加密,添加已加密后的注册信息至注册表,更新有限期限,之后生成并弹窗显示校验成功信息;

若长时间未收到申请应答信息,则进行步骤s42;

若rsa签名验证失败,则生成并弹窗显示签名验证失败,请更新程序的信息;若校验应答码不正确,则生成并弹窗显示服务端返回错误信息,若唯一标识码与本机标识码不一致,则生成并弹窗显示标识码验证失败信息;同时,生成并弹窗显示校验失败信息,同时清楚注册表中关于该软件的注册信息;

步骤s42、对校验数据包进行rsa签名验证,若验证成功,则拆分校验数据包,获取唯一标识码、当前时间以及注册邮箱信息,计算注册信息的有效期限,判断唯一标识码是否与本机标识码一致,若是一致,判断当前时间是否在授权期限内,此处实际上是判断当前时间是否小于注册时间与授权天数之和,若是,则生成并弹窗显示校验成功信息,否则判断是否为授权邮箱,若是,则生成并弹窗显示请联网获取权限信息,若不是,则生成请重新申请注册信息,之后生成并弹窗显示校验失败信息。

其中,户端的唯一标识码包括cpuid以及硬盘id,上述的邮箱为预先添加的邮箱。

其中,在步骤s2之前还包括预先添加邮箱的步骤:

获取待授权邮箱信息以及有效期限,将待授权邮箱信息添加至授权列表。

其中,若用户的授权天数有变化,则有效期限的计算采用的是变化后的授权天数,比如当前时间为2018年7月27日,注册时间为2018年7月26日,起始的授权天数为180天,后来该用户的授权天数变为360天,则返回的有效期限为359天。

其中,上述所有步骤中在将信息发送至服务端时还进行以下步骤:

判断网络连接是否正常,若是,则发送信息,否则生成并弹窗显示连接失败信息。

请参照图1至图7,本发明的实施例二为:

在实施例一的基础上,本实施例在对申请数据包或注册数据包或校验数据包进行rsa加密之前,还进行des加密,之后对已进行des加密的申请数据包或注册数据包或校验数据包进行rsa加密;

同时,在对申请数据包或注册数据包或校验数据包进行rsa解密验证之后,还进行des解密。

请参照图1至图7,本发明的实施例三为:

在实施例一的基础上,预先添加邮箱的步骤还包括:

将待授权邮箱后缀信息添加至授权列表。

在其他步骤中,判断是否为授权邮箱,先判断邮箱后缀是否已被授权,若是,则为授权邮箱,否则判断整个邮箱信息是否已被授权。

这是处于公司邮箱和普遍使用的公共邮箱,其中,公共邮箱包括qq邮箱、163邮箱等等,无法通过邮箱后缀来判断其用户的合法性。而对于公司邮箱而言,以公司名义购买的软件授权,只需要验证公司邮箱的邮箱后缀,即验证是否为该公司的用户即可判断用户的合法性。

请参照图8,本发明的实施例四为:

一种软件使用授权客户端1,包括存储器2、处理器3以及存储在存储器2上并可在处理器3上运行的计算机程序,处理器3执行计算机程序时实现上述实施例一中的步骤s1至步骤s42。

其中,本发明的一种软件使用授权客户端1与服务端进行交互的过程简单说明如下:

1、客户端执行步骤s1之后,服务端接收到注册码申请请求,生产一个注册码,判断是否为授权邮箱,若是,则直接发送注册码至注册码申请请求内的注册邮箱,若不是,则发送注册码至管理员邮箱,用户需要找管理员索取注册码;

2、客户端执行步骤s31之后,服务端接收到注册请求,验证注册码是否合法有效即可。

3、客户端执行步骤s4之后,服务端接收到校验请求,验证用户信息是否合法有效之后,更新有效期限,有效期限的更新见上述实施例一中的步骤s41。

4、客户端执行预先添加邮箱的步骤之后,服务端同步更新授权列表,另外也可以通过服务端进行用户的权限配置。

请参照图8,本发明的实施例五为:

在上述实施例四的基础上,本实施例的处理器3执行计算机程序时实现上述实施例二中的步骤s1至步骤s42。

请参照图8,本发明的实施例六为:

在上述实施例四的基础上,本实施例的处理器3执行计算机程序时实现上述实施例三中的步骤s1至步骤42。

值得说明的是,可以将上述实施例一的rsa加密解密替换为des加密解密、将上述实施例二中两种加密方式进行顺序调换、将上述实施例二和上述实施例三合并等等所形成新的实施例均属于上述实施例的等同实施例。

综上所述,本发明提供的一种软件使用授权方法及客户端,客户端发送包括邮箱信息的注册码申请请求,若邮箱信息为授权邮箱,则通过用户指定的邮箱接收服务端发送的注册码,若邮箱信息为未授权邮箱,则通过管理员邮箱接收服务端发送的注册码,用户通过询问管理员以得到注册码,最后根据注册码进行注册授权,不仅有效的节省了授权注册步骤,还可以通过管理员对授权用户进行统一而有效的管理,同时,该软件授权方法无需适应软件本身,从而可以兼容所有安卓系统的app和windows系统的应用软件;同时,采用联机申请注册使用,联机使用时自动更新使用期限,实现对自主开发软件进行的使用授权管控;用户数据信息经过双重加密,保证了数据传输的安全;并且支持脱机使用校验,脱机使用时判断是否超过授权期限,如果超过则禁止使用

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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