一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于对算法软件SDK授权管理的方法与流程

2022-05-31 22:56:12 来源:中国专利 TAG:
一种用于对算法软件sdk授权管理的方法
技术领域
1.本发明涉及sdk授权管理方法领域,尤其涉及一种用于对算法软件sdk授权管理的方法。


背景技术:

2.在新兴电子产品领域,很多智能终端的研发中,厂商会需要使用第三方的软件开发包(software development kit,sdk),而sdk的发布商往往以授权(license)的形式向使用sdk的厂商收费,因为终端产品软硬件环境的不同,sdk的授权分为软件加密授权和硬件加密授权两种形式,前者无需专门的硬件加密狗,而后者需要,软件加密授权的方式中,又可根据授权验证时是否依赖网络分为基于网络的在线授权和不依赖网络的离线授权两种形式,出于成本和使用便利性考虑,大多数情况下会使用软件加密授权的方式,而由于不依赖网络的优点,离线授权的方案更多的受到市场青睐,现有的采用离线授权的方案一般是采用读取运行sdk的终端平台上的一个独特的序列号(uuid),使用该序列号作为加密的输入,然后利用特定的加密算法,如rsa等进行加密,这个uuid可以是主芯片(cpu)的chipid,也可以是系统的磁盘id,还有可能是设备序列号;现有的离线授权的方案,其受限于不同硬件、操作系统的原生能力,如果单纯使用一种id,很可能无法适配其他类型的硬件或者操作系统的场景,使用范围较局限,不能满足使用需求,因此我们提出了一种用于对算法软件sdk授权管理的方法。


技术实现要素:

3.基于背景技术存在的技术问题,本发明提出了一种用于对算法软件sdk授权管理的方法。
4.本发明提出的一种用于对算法软件sdk授权管理的方法,包括以下步骤:s1:首先针对arm/aarch64架构芯片,采用芯片序列号(chipid),可以预先知道其芯片序列号是否可由底层接口读取到的,能够由底层接口读取到的,在某些无法读取芯片序列号的芯片平台上,可以使用硬盘序列号,针对标准linux系统,可以使用设备uuid;s2:输入字符串:auth-type, device-type, usr-id, device-id,valid-date,经过组合,形成“auth-type,device-type,usr-id,device-id”这样一个长字符串;s3:在sdk内置授权校验的机制,然后经过特定加密算法,将auth-type, device-type, usr-id和checksum写入一个授权文件中;s4:sdk对s3中的授权文件进行读取,从授权文件中读取auth-type, device-type, usr-id和checksum;s5:根据s4中的auth-type和device-type确定读取device-id的方法,读到device-id,然后使用auth-type, device-type, usr-id,device-id和checksum,解密出valid-date;
s6:根据sdk自己读取的系统时间,判断是否出现在授权有效期内,如果是,则认为授权成功,否则,授权失败。
5.优选的,所述s1中,无法读取芯片序列号的芯片平台包括x64/x86架构的计算机和笔记本设备等。
6.优选的,所述s3中,加密算法包括rsa和des等算法。
7.优选的,所述s4中,auth-type取值为0或者1,0表示解密端不使用授权文件中读取的device-type,而是自行根据设定的优先级确认device-type,1表示解密端使用授权文件中读取的device-type。
8.优选的,所述s4中,device-type的取值可以定义成形如x-y的形式,x表示芯片序列号、硬盘序列号或设备uuid,y表示操作系统类型,比如芯片序列号用1,硬盘序列号用2,设备uuid用3,windows用1,linux用2,android用3,mac os用4等等,其中如果auth-type取值为0,表示auth-type是解密端根据预先设定的优先级判断,定义先使用操作系统提供的命令接口读取芯片序列号(chipid),如果读取成功,则使用芯片序列号(chipid),如果sdk所处的操作系统是linux,则device-type取值为1-2;如果读取芯片序列号(chipid)不成功,则进一步读取硬盘序列号(hdsn),如果硬盘序列号(hdsn)能够读取成功,则使用硬盘序列号(hdsn),如果操作系统是windows,则device-type取值为2-1;如果硬盘序列号(hdsn)也无法读取成功,则使用uuid,操作系统为linux,则device-type取值为3-2。
9.优选的,所述s5中,usr-id是授权方分配给被授权方的一个客户id。
10.优选的,所述s5中,device-id是根据device-type确定的类型,得到的具体设备标识码。
11.优选的,所述s5中,valid-date则是定义的有效授权期限,采用起止日期的格式。
12.与现有的技术相比,本发明的有益效果是:本发明通过设置芯片序列号(chipid)、硬盘序列号(hdsn)和设备uuid相配合,构成了一种具有跨芯片平台、跨设备、跨操作系统的sdk授权管理机制,可有效的避免无法适配其他类型的硬件或者操作系统的场景,且该授权管理机制的sdk可以运行于云平台上的虚拟机中,并且能够给sdk足够安全的授权保证,满足使用需求。
具体实施方式
13.下面结合具体实施例对本发明作进一步解说。
实施例
14.本实施例提出了一种用于对算法软件sdk授权管理的方法,包括以下步骤:s1:首先针对arm/aarch64架构芯片,采用芯片序列号(chipid),可以预先知道其芯片序列号是否可由底层接口读取到的,能够由底层接口读取到的,在某些无法读取芯片序列号的芯片平台上,可以使用硬盘序列号,针对标准linux系统,可以使用设备uuid,其中无法读取芯片序列号的芯片平台包括x64/x86架构的计算机和笔记本设备等;s2:输入字符串:auth-type, device-type, usr-id, device-id,valid-date,经过组合,形成“auth-type,device-type,usr-id,device-id”这样一个长字符串;
s3:在sdk内置授权校验的机制,然后经过特定加密算法,将auth-type, device-type, usr-id和checksum写入一个授权文件中,其中加密算法包括rsa和des等算法;s4:sdk对s3中的授权文件进行读取,从授权文件中读取auth-type, device-type, usr-id和checksum,其中auth-type取值为0或者1,0表示解密端不使用授权文件中读取的device-type,而是自行根据设定的优先级确认device-type,1表示解密端使用授权文件中读取的device-type,对于加密端而言,无论auth-type如何取值,device-ype都是应该预先知道的,device-type的取值可以定义成形如x-y的形式,x表示芯片序列号、硬盘序列号或设备uuid,y表示操作系统类型,比如芯片序列号用1,硬盘序列号用2,设备uuid用3,windows用1,linux用2,android用3,mac os用4等等,其中如果auth-type取值为0,表示auth-type是解密端根据预先设定的优先级判断,比如按照chipid 》 hdsn 》 uuid的优先级,定义先使用操作系统提供的命令接口读取芯片序列号(chipid),如果读取成功,则使用芯片序列号(chipid),如果sdk所处的操作系统是linux,则device-type取值为1-2;如果读取芯片序列号(chipid)不成功,则进一步读取硬盘序列号(hdsn),如果硬盘序列号(hdsn)能够读取成功,则使用硬盘序列号(hdsn),如果操作系统是windows,则device-type取值为2-1;如果硬盘序列号(hdsn)也无法读取成功,则使用uuid,操作系统为linux,则device-type取值为3-2;s5:根据s4中的auth-type和device-type确定读取device-id的方法,读到device-id,然后使用auth-type, device-type, usr-id,device-id和checksum,解密出valid-date,其中usr-id是授权方分配给被授权方的一个客户id,device-id是根据device-type确定的类型,得到的具体设备标识码,valid-date则是定义的有效授权期限,采用起止日期的格式,如2021100120220931,表示授权从2021年10月1日生效,到2022年9月31日失效;s6:根据sdk自己读取的系统时间,判断是否出现在授权有效期内,如果是,则认为授权成功,否则,授权失败。
15.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献