一种用于对算法软件SDK授权管理的方法技术

技术编号:33617345 阅读:21 留言:0更新日期:2022-06-02 00:34
本发明专利技术公开了一种用于对算法软件SDK授权管理的方法,包括以下步骤:S1:首先针对arm/aarch64架构芯片,采用芯片序列号(ChipID),可以预先知道其芯片序列号是否可由底层接口读取到的,能够由底层接口读取到的,在某些无法读取芯片序列号的芯片平台上,可以使用硬盘序列号。本发明专利技术通过设置芯片序列号(ChipID)、硬盘序列号(HDSN)和设备UUID相配合,构成了一种具有跨芯片平台、跨设备、跨操作系统的SDK授权管理机制,可有效的避免无法适配其他类型的硬件或者操作系统的场景,且该授权管理机制的SDK可以运行于云平台上的虚拟机中,并且能够给SDK足够安全的授权保证,满足使用需求。满足使用需求。

【技术实现步骤摘要】
一种用于对算法软件SDK授权管理的方法


[0001]本专利技术涉及SDK授权管理方法领域,尤其涉及一种用于对算法软件SDK授权管理的方法。

技术介绍

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

技术实现思路

[0003]基于
技术介绍
存在的技术问题,本专利技术提出了一种用于对算法软件SDK授权管理的方法。
[0004]本专利技术提出的一种用于对算法软件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自己读取的系统时间,判断是否出现在授权有效期内,如果是,则认为授权成功,否则,授权失败。
[0005]优选的,所述S1中,无法读取芯片序列号的芯片平台包括X64/X86架构的计算机和笔记本设备等。
[0006]优选的,所述S3中,加密算法包括RSA和DES等算法。
[0007]优选的,所述S4中,auth

type取值为0或者1,0表示解密端不使用授权文件中读取的device

type,而是自行根据设定的优先级确认device

type,1表示解密端使用授权文件中读取的device

type。
[0008]优选的,所述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。
[0009]优选的,所述S5中,usr

id是授权方分配给被授权方的一个客户id。
[0010]优选的,所述S5中,device

id是根据device

type确定的类型,得到的具体设备标识码。
[0011]优选的,所述S5中,valid

date则是定义的有效授权期限,采用起止日期的格式。
[0012]与现有的技术相比,本专利技术的有益效果是:本专利技术通过设置芯片序列号(ChipID)、硬盘序列号(HDSN)和设备UUID相配合,构成了一种具有跨芯片平台、跨设备、跨操作系统的SDK授权管理机制,可有效的避免无法适配其他类型的硬件或者操作系统的场景,且该授权管理机制的SDK可以运行于云平台上的虚拟机中,并且能够给SDK足够安全的授权保证,满足使用需求。
具体实施方式
[0013]下面结合具体实施例对本专利技术作进一步解说。
实施例
[0014]本实施例提出了一种用于对算法软件SDK授权管理的方法,包括以下步骤:S1:首先针对arm/aarch64架构芯片,采用芯片序列号(ChipID),可以预先知道其芯片序列号是否可由底层接口读取到的,能够由底层接口读取到的,在某些无法读取芯片序列号的芯片平台上,可以使用硬盘序列号,针对标准Linux系统,可以使用设备UUID,其中无法读取芯片序列号的芯片平台包括X64/X86架构的计算机和笔记本设备等;S2:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于对算法软件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自己读取的系统时间,判断是否出现在授权有效期内,如果是,则认为授权成功,否则,授权失败。2.根据权利要求1所述的一种用于对算法软件SDK授权管理的方法,其特征在于,所述S1中,无法读取芯片序列号的芯片平台包括X64/X86架构的计算机和笔记本设备等。3.根据权利要求1所述的一种用于对算法软件SDK授权管理的方法,其特征在于,所述S3中,加密算法包括RSA和DES等算法。4.根据权利要求1所述的...

【专利技术属性】
技术研发人员:杨猛胡晓宇代金良
申请(专利权)人:大连赛听科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1