一种软件授权认证系统及方法技术方案

技术编号:34752386 阅读:61 留言:0更新日期:2022-08-31 18:48
本发明专利技术公开了一种软件授权认证系统及方法。软件授权认证系统通过第一存储模块仅授权密钥提取模块提取第一软件授权密钥,降低了第一软件授权密钥泄露的风险,提高了安全性;通过预先设置软件授权公钥与软件授权私钥,并预先采用第二软件授权密钥加密软件授权私钥得到第一私钥,使得后续通过第二软件授权密钥解密得到的第二私钥与软件授权私钥相同,即无法通过其他密钥解密第一私钥得到软件授权私钥,进而通过第二私钥解密软件授权公钥加密的第一随机数得到第二随机数,并通过比对第一随机数和第二随机数得到授权认证结果,间接验证了第一软件授权密钥,无需依赖外部加密芯片、固件加密和服务器,实现了低成本、安全可靠、复杂度低的软件授权认证。度低的软件授权认证。度低的软件授权认证。

【技术实现步骤摘要】
一种软件授权认证系统及方法


[0001]本申请涉及嵌入式
,尤其是一种软件授权认证系统及方法。

技术介绍

[0002]在嵌入式应用中,如何通过软件授权来保护软件知识产权是软件开发商关心的核心问题之一。根据不同的应用场景,软件授权保护可以分为系统软件的整体保护和部分软件模块保护。其中,系统软件的整体保护通常采用外部加密芯片或者固件加密的方式进行保护,部分软件模块保护铜层采用外部加密芯片、外部加密芯片运行加密代码或者服务器授权认证的方式进行保护。
[0003]然而,在采用外部加密芯片的方式时系统需要预留通信接口,并且在设计时需要额外考虑远程通讯问题,再加上加密芯片的价格较高,提高了成本较高和方案复杂度;同时由于通信信道裸露在系统之外,容易受到攻击,存在信息安全隐患;固件加密仅能用于保护整体的系统软件,并且在固件启动过程中必须先将固件解密,降低了固件启动的速度;服务器授权认证方式应用场景存在局限,且由于服务器的存在,运营成本较高。

技术实现思路

[0004]本专利技术的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
[0005]为此,本专利技术实施例提供一种软件授权认证系统及方法,实现了低成本、安全可靠、复杂度低的软件授权认证。
[0006]为了达到上述技术目的,本专利技术实施例所采取的技术方案包括:第一方面,本专利技术实施例提供了一种软件授权认证系统,包括:密钥提取模块,用于响应于软件程序运行请求,提取第一软件授权密钥,并对所述第一软件授权密钥进行处理,生成第二软件授权密钥;第一存储模块,用于存储所述第一软件授权密钥,所述第一存储模块仅授权所述密钥提取模块进行所述第一软件授权密钥的提取;随机数生成模块,用于生成第一随机数;对称加密算法模块,用于采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥,所述第一私钥预先通过所述第二软件授权密钥对软件授权私钥进行加密产生;非对称加密算法模块,用于采用软件授权公钥对所述第一随机数进行加密,生成加密的随机数,所述软件授权公钥与所述软件授权私钥为同时产生的密钥对;用于采用所述第二私钥对所述加密的随机数进行解密,生成第二随机数;授权认证模块,用于比对所述第一随机数和所述第二随机数,生成授权认证结果。
[0007]另外,根据本专利技术上述实施例的一种软件授权认证系统,还可以具有以下附加的技术特征:进一步地,本专利技术实施例的一种软件授权认证系统中,所述第一存储模块采用一次性可编程存储器。
[0008]进一步地,在本专利技术的一个实施例中,所述系统还包括第二存储模块,用于存储所述第二软件授权密钥和所述第二私钥,所述第二存储模块仅授权所述对称加密算法模块和所述非对称加密算法模块的访问。
[0009]进一步地,在本专利技术的一个实施例中,所述授权认证模块比对所述第一随机数和所述第二随机数,当所述第一随机数和所述第二随机数相同时,所述授权认证结果为授权认证成功;当所述第一随机数和所述第二随机数不相同时,所述授权认证结果为授权认证失败。
[0010]进一步地,在本专利技术的一个实施例中,所述授权认证模块包括第一处理模块和第二处理模块;响应于授权认证成功,所述第一处理模块运行所述软件程序运行请求对应的软件程序;响应于授权认证失败,所述第二处理模块拒绝所述软件程序运行请求。
[0011]进一步地,在本专利技术的一个实施例中,所述系统还包括寄存器,用于获取所述软件授权公钥和所述第一私钥。
[0012]第二方面,本专利技术实施例提出了一种软件授权认证方法,所述方法应用于软件授权认证系统,所述软件授权认证系统包括密钥提取模块、第一存储模块、随机数生成模块、对称加密算法模块、非对称加密算法模块和授权认证模块,所述方法包括:响应于软件程序运行请求,通过所述密钥提取模块从所述第一存储模块中获取第一软件授权密钥;通过所述密钥提取模块对所述第一软件授权密钥进行处理,生成第二软件授权密钥;通过所述对称加密算法模块采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥,所述第一私钥预先通过所述第二软件授权密钥对软件授权私钥进行加密产生;通过所述随机数生成模块生成第一随机数;通过所述非对称加密算法模块采用软件授权公钥对所述第一随机数进行加密,生成加密的随机数,所述软件授权公钥与所述软件授权私钥为同时产生的密钥对;通过所述非对称加密算法模块采用所述第二私钥对所述加密的随机数进行解密,生成第二随机数;通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果。
[0013]进一步地,在本专利技术的一个实施例中,所述软件授权认证系统还包括寄存器;在所述通过所述对称加密算法模块采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥之前,所述方法还包括:通过所述寄存器获取所述软件授权公钥和所述第一私钥。
[0014]进一步地,在本专利技术的一个实施例中,所述通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果,包括:比对所述第一随机数和所述第二随机数;
当所述第一随机数和所述第二随机数相同时,所述授权认证结果为授权认证成功;当所述第一随机数和所述第二随机数不相同时,所述授权认证结果为授权认证失败。
[0015]进一步地,在本专利技术的一个实施例中,所述授权认证模块包括第一处理模块和第二处理模块;在通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果之后,所述方法还包括:响应于授权认证成功,通过所述第一处理模块运行所述软件程序运行请求对应的软件程序;响应于授权认证失败,通过所述第二处理模块拒绝所述软件程序运行请求。
[0016]本专利技术的优点和有益效果:本专利技术实施例通过第一存储模块仅授权密钥提取模块提取第一软件授权密钥,降低了第一软件授权密钥泄露的风险,提高了安全性;通过预先设置软件授权公钥与软件授权私钥,并预先采用第二软件授权密钥加密软件授权私钥得到第一私钥,使得后续通过第二软件授权密钥解密得到的第二私钥与软件授权私钥相同,即无法通过其他密钥解密第一私钥得到软件授权私钥,进而通过第二私钥解密软件授权公钥加密的第一随机数得到第二随机数,并通过比对第一随机数和第二随机数得到授权认证结果,间接验证了第一软件授权密钥,无需依赖外部加密芯片、固件加密和服务器,实现了低成本、安全可靠、复杂度低的软件授权认证。
附图说明
[0017]为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本申请的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
[0018]图1为本专利技术一种软件授权认证方法具体实施例的流程示意图。
具体实施方式
[0019]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件授权认证系统,其特征在于,包括:密钥提取模块,用于响应于软件程序运行请求,提取第一软件授权密钥,并对所述第一软件授权密钥进行处理,生成第二软件授权密钥;第一存储模块,用于存储所述第一软件授权密钥,所述第一存储模块仅授权所述密钥提取模块进行所述第一软件授权密钥的提取;随机数生成模块,用于生成第一随机数;对称加密算法模块,用于采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥,所述第一私钥预先通过所述第二软件授权密钥对软件授权私钥进行加密产生;非对称加密算法模块,用于采用软件授权公钥对所述第一随机数进行加密,生成加密的随机数,所述软件授权公钥与所述软件授权私钥为同时产生的密钥对;用于采用所述第二私钥对所述加密的随机数进行解密,生成第二随机数;授权认证模块,用于比对所述第一随机数和所述第二随机数,生成授权认证结果。2.根据权利要求1所述的一种软件授权认证系统,其特征在于,所述第一存储模块采用一次性可编程存储器。3.根据权利要求1所述的一种软件授权认证系统,其特征在于,所述系统还包括第二存储模块,用于存储所述第二软件授权密钥和所述第二私钥,所述第二存储模块仅授权所述对称加密算法模块和所述非对称加密算法模块的访问。4.根据权利要求1所述的一种软件授权认证系统,其特征在于,所述授权认证模块比对所述第一随机数和所述第二随机数,当所述第一随机数和所述第二随机数相同时,所述授权认证结果为授权认证成功;当所述第一随机数和所述第二随机数不相同时,所述授权认证结果为授权认证失败。5.根据权利要求4所述的一种软件授权认证系统,其特征在于,所述授权认证模块包括第一处理模块和第二处理模块;响应于授权认证成功,所述第一处理模块运行所述软件程序运行请求对应的软件程序;响应于授权认证失败,所述第二处理模块拒绝所述软件程序运行请求。6.根据权利要求1所述的一种软件授权认证系统,其特征在于,所述系统还包括寄存器,用于获取所述软件授权公钥和所述第一私钥。7.一种软件授权认证方法,其特征在于,所述方法应用于软件授权认证系统,所...

【专利技术属性】
技术研发人员:吴德煌张立鹏段敏涛王大志麦华辉
申请(专利权)人:广州匠芯创科技有限公司
类型:发明
国别省市:

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

1