一种sdk软件接口服务授权方法及装置

文档序号:168994 发布日期:2021-10-29 浏览:32次 >En<

阅读说明:本技术 一种sdk软件接口服务授权方法及装置 (SDK software interface service authorization method and device ) 是由 黄杰 饶轩衡 张习伟 宋京泽 孙晓 汪萌 于 2021-06-25 设计创作,主要内容包括:本发明公开了一种SDK软件接口服务授权方法及装置,属于互联网技术领域,包括:用户方启动API接口时,读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,该授权文件为服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件得到;判断文件内容与当前设备的硬件环境是否一致;若是,从文件内容获取硬件设备对应的授权状态,该授权状态包括永久授权、限时授权和单次授权;若否,确定当前用户方无权限。本发明可使获得授权的用户能够在准许使用的授权时间范围内获得提供的SDK的使用权限并且安全的使用。(The invention discloses a method and a device for authorizing an SDK software interface service, which belong to the technical field of Internet and comprise the following steps: when a user side starts an API (application program interface), reading an authorization file on hardware equipment of the user side, reading file content from the authorization file, generating an authorization serial number for a service provider based on hardware equipment parameters of the user side, and writing the authorization serial number into a file of the hardware equipment to obtain the authorization serial number; judging whether the file content is consistent with the hardware environment of the current equipment; if so, acquiring an authorization state corresponding to the hardware equipment from the file content, wherein the authorization state comprises permanent authorization, time-limited authorization and single authorization; if not, determining that the current user side has no authority. The invention can enable the authorized user to obtain the use authority of the provided SDK within the authorized time range of the permitted use and the safe use.)

一种SDK软件接口服务授权方法及装置

技术领域

本发明涉及互联网技术领域,特别涉及一种SDK软件接口服务授权方法及装置。

背景技术

软件开发工具包(SoftwareDevelopmentKit,简称SDK)是指由第三方服务商提供的实现软件产品某项功能的工具包。通过对SDK进行授权管理方法来提高移动服务的安全性,目前常用的一些SDK设备服务授权授权策略仍存在一些缺陷,比如:缺乏认证时间的属性,对于一些需要永久认证的用户来说,每次调用数据都需要进行一次加密解密的认证操作,极大的浪费了硬件资源开销。加密与解密严重依赖软件系统,每一次打开和关闭都需要加密解密,造成时间浪费,如果批处理文件的话时间浪费更久且执行效率地低下。有些只适用文本类的文件加密,对源代码或者链接库等需要导入程序中运行的文件不是很友好。

发明内容

本发明的目的在于克服现有技术存在的缺陷,节省资源。

为实现以上目的,一方面,本发明采用一种SDK软件接口服务授权方法,包括:

用户方启动API接口时,读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,该授权文件为服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件得到;

判断文件内容与当前设备的硬件环境是否一致;

若是,从文件内容获取硬件设备对应的授权状态,该授权状态包括永久授权、限时授权和单次授权;

若否,确定当前用户方无权限。

进一步地,所述硬件设备参数包括C盘序列号、网卡名称、网卡对应的Mac地址;

所述服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件,包括:

通过加密算法将所述硬件设备参数、授权码和随机数进行混淆,生成机器码,所述授权码包括授权状态和授权时间;

将机器码经des加密后,再进行base64编码,生成加密序列号;

将序列号写入所述用户方的硬件设备的文件中。

进一步地,所述将序列号写入所述用户方的硬件设备的文件中,包括:

将所述序列号写入所述用户方的硬件设备etc目录下的hb_eth0文件中。

进一步地,所述读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,包括:

将所述授权文件经base64解码后,进行des解密,得到授权文件的内容;

从授权文件内容获取设备指纹序列号:硬件设备参数+授权码。

进一步地,在所述授权状态为限时授权时,还包括:

每间隔设定时间读取所述授权文件的授权内容并解析出授权时间,直至授权时间为零,授权截止。

进一步地,在所述判断文件内容与当前设备的硬件环境是否一致之前,还包括:

判断所述授权文件是否存在;

若是,则判断文件内容与当前设备的硬件环境是否一致;

若否,则确定所述用户方无权限。

另一方面,采用一种SDK软件接口服务授权装置,包括布置在服务提供方的第一服务器和布置在用户方的第二服务器,第一服务器和第二服务器连接通信,第二服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如上所述的SDK软件接口服务授权方法。

进一步地,所述第一服务器包括获取模块和加密模块,获取模块用于获取用户方的硬件设备参数,加密模块用于基于硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件。

进一步地,所述硬件设备参数包括C盘序列号、网卡名称、网卡对应的Mac地址。

进一步地,所述加密模块具体用于:

通过加密算法将所述硬件设备参数、授权码和随机数进行混淆,生成机器码,所述授权码包括授权状态和授权时间;

将机器码经des加密后,再进行base64编码,生成加密序列号;

将序列号写入所述用户方的硬件设备的文件中。

与现有技术相比,本发明存在以下技术效果:本发明通过将SDK与硬件设备绑定,可有效防止用户方将SDK提供给第三方使用,同时不会泄露核心算法;且提供了三种功能权限:长期使用、限时使用和一次性试用,方便企业选择,使获得授权的用户能够在准许使用的授权时间范围内获得提供的SDK的使用权限并且安全的使用。

附图说明

下面结合附图,对本发明的

具体实施方式

进行详细描述:

图1是一种SDK软件接口服务授权方法的流程示意图;

图2是SDK软件接口服务授权整体流程图。

具体实施方式

为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。

如图1至图2所示,本实施例公开了一种SDK软件接口服务授权方法,包括如下步骤:

S1、用户方启动API接口时,读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,该授权文件为服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件得到;

S2、判断文件内容与当前设备的硬件环境是否一致,若是则执行步骤S3,若否则执行步骤S4;

S3、从文件内容获取硬件设备对应的授权状态,该授权状态包括永久授权、限时授权和单次授权;

S4、确定当前用户方无权限。

作为进一步优选的技术方案,所述硬件设备参数包括C盘序列号、网卡名称、网卡对应的Mac地址;

所述服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件,包括:

通过加密算法将所述硬件设备参数、授权码和随机数进行混淆,生成机器码,所述授权码包括授权状态和授权时间;

将机器码经des加密后,再进行base64编码,生成加密序列号;

将序列号写入所述用户方的硬件设备的文件中。

作为进一步优选的技术方案,所述将序列号写入所述用户方的硬件设备的文件中,包括:

将所述序列号写入所述用户方的硬件设备etc目录下的hb_eth0文件中。

需要说明的是,授权程序的执行需用户方提供硬件设备参数(或者授权方售前本地部署获取),这个参数为C盘序列号,网卡名称(例如网卡名称eth0),获取eth0和其对应的mac地址。通过加密算法将网卡名称+c盘序列号+mac地址+授权码(授权状态+授权时间(以小时为单位,比如1024小时))+随机数进行混淆,生成最终的机器码。之后经过des加密后,再进行base64编码,生成一个加密的序列号。将这个序列号写入到硬件设备中的一个文件中(例如放到etc目录下的hb_eth0中,这样重启也不会消失),这个文件的内容就是加密后的字符串。

作为进一步优选的技术方案,所述读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,包括:

将所述授权文件经base64解码后,进行des解密,得到授权文件的内容;

从授权文件内容获取设备指纹序列号:硬件设备参数+授权码。

需要说明的是,内容权限的判读只需判断一次,即在第一次启动api接口的时候,通过将密码经过base64解码,再经过Des解密,解密出第一步中硬件设备中生成的hb_eth0文件的内容从中获取保存的设备指纹序列号:网卡信息+C盘序列号+mac地址和授权码,然后和当前设备的实际网卡信息,mac地址和C盘序列号进行对比,如果成功就说明授权成功,可以进行服务授权。

作为进一步优选的技术方案,本实施例中授权的时间策略上分为永久授权、限时授权和单次授权三种方式。用户在调用SDK中的API服务时(比如提供的so动态库中接口的时候)会立刻单独启动一个线程来读取客户硬件设备上写入的文件hb_eth0,读取到里面的加密内容之后,将加密序列号先使用base64解码,再经过Des解密后可以读取到原本的内容,从而查询到对应的授权状态。若为永久授权则该状态对应的start为“Permanent”,单次体验授权状态对应的start为“Trial”,限时授权则对应的start的状态为“TimeLimit“。

特别地,在解析得到授权状态为限时授权时,还包括:分析start后的授权时间,若分析出start对应的状态为“TimeLimit“的,则之后每隔一个小时会读取前一步骤中在客户的硬件设备上写入的文件hb_eth0中所包含的授权时间内容并解析,(例如解密出时间为1024h)。因为每一小时执行一次,所以每一小时减去1h,之后就变成了1023h,直到0h,授权截止。

作为进一步优选的技术方案,如图2所示,在所述判断文件内容与当前设备的硬件环境是否一致之前,还包括:

判断所述授权文件是否存在;

若是,则判断文件内容与当前设备的硬件环境是否一致;

若否,则确定所述用户方无权限。

本实施例还公开了一种SDK软件接口服务授权装置,包括布置在服务提供方的第一服务器和布置在用户方的第二服务器,第一服务器和第二服务器连接通信,第二服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如上所述的SDK软件接口服务授权方法。

作为进一步优选的技术方案,所述硬件设备参数包括C盘序列号、网卡名称、网卡对应的Mac地址。

作为进一步优选的技术方案,所述加密模块具体用于:

通过加密算法将所述硬件设备参数、授权码和随机数进行混淆,生成机器码,所述授权码包括授权状态和授权时间;

将机器码经des加密后,再进行base64编码,生成加密序列号;

将序列号写入所述用户方的硬件设备的文件中。

本发明实施例提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。

作为进一步优选的技术方案,本实施例中授权文件的安装过程为:

(1)针对不同用户设置相应的用户名和密码打开授权文件:

修改设置固定的用户名和密码,在每个用户的授权文件设置用户名和密码上均使用了16进制的ASCII码来设定,进一步保障了安全性,目的是防止被他人使用strings命令查询到授权程序的用户名和密码。

同时也解决了装配人员在装配后忘记删除授权文件而使得授权文件泄露这种情况的发生。或是对于永久授权的用户而言,可将授权文件进行交付使其自行通过用户名和密码进行永久权限授权。

(2)编译获取硬件指纹和载入二进制文件的脚本:

(3)本地或者远程部署授权文件:

进入用户服务器中进行一键授权

例如:sudo./UpLoadAuthFile eno1 1024

其中参数一为用户网络设备名称参数二为授权期限(单位为小时),程序已经设置自毁模式,执行完生成二进制文件后可执行程序将自动销毁。

本发明具有如下有益效果:

(1)授权序列号(KEY)的生成即通过硬件指纹信息(包含保存的网卡名称+c盘序列号+mac地址来判断服务对象的唯一性,且有效地避免了直接获取cpu信息会使得序列信息过长的问题,并且保存的KEY中末尾包含了随机数的混淆信息,不易被破解。

(2)在时间授权分为了”永久授权Permanent”、”限时授权TimeLimit”和”单次授权Trial”三种授权方式,并且每次调用授权的程序使用时会实时判断授权的时效性,方便用户使用。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种软件识别方法、系统、设备及计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类