首页 / 专利库 / 电脑安全 / 软件盗版 / 一种基于区块链的软件授权方法及系统

一种基于链的软件授权方法及系统

阅读:332发布:2020-05-12

专利汇可以提供一种基于链的软件授权方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 区 块 链 的 软件 授权方法及系统,该方法包括:在待授权软件中增加区块链模块;预先设置第一软件授权信息并写入区块链系统获得第一执行 许可 信息;启动待授权软件时,区块链模块启动并接入区块链系统;进行第一执行许可信息校验,若第一执行许可信息有效,则运行软件,否则拒绝启动;区块链系统用以管理软件授权信息。本发明中软件通过区块链进行授权,利用区块链的特性,使得该软件授权方法通用性强,授权后的软件安全性高,任何通过私自拷贝、重置授权信息等非法行为进行 软件盗版 的,都将导致软件无法通过在区块链的授权验证而无法运行,由于区块链的特性,使得妄图以通过破解区块链的方式对软件进行破解,几乎是不可能的。,下面是一种基于链的软件授权方法及系统专利的具体信息内容。

1.一种基于链的软件授权方法,其特征在于,所述方法包括如下步骤:
在待授权软件中增加区块链模块;
预先设置第一软件授权信息并写入区块链系统,获得第一执行许可信息;
启动所述待授权软件时,所述区块链模块启动并接入所述区块链系统;
进行第一执行许可信息校验,若所述第一执行许可信息有效,则运行软件;否则拒绝运行;
其中,所述区块链系统用以管理软件授权信息。
2.根据权利要求1所述的基于区块链的软件授权方法,其特征在于,所述预先设置第一软件授权信息并写入所述区块链系统,获得第一执行许可信息,包括如下步骤:
所述区块链系统接收所述第一软件授权信息;
所述区块链系统识别并执行所述第一软件授权信息,获取第一执行许可信息;
所述区块链系统记录所述第一执行许可信息。
3.根据权利要求2所述的基于区块链的软件授权方法,其特征在于,进行第一执行许可信息校验,若所述第一执行许可信息有效,则运行软件;否则拒绝运行,包括:
所述区块链模块读取所述区块链系统中的第一执行许可信息;
判断所述第一执行许可信息是否有效,若有效,则运行软件,若无效,则拒绝运行软件。
4.根据权利要求1至3任一项所述的基于区块链的软件授权方法,其特征在于,所述方法还包括:
在软件使用时判断所述第一执行许可信息是否处于有效期内,若所述第一执行许可信息已过期失效,则提示用户进行重新授权;
用户自主选择是否进行重新授权,若是,则提示其购买第二软件授权信息,进行重新授权。
5.根据权利要求4所述的基于区块链的软件授权方法,其特征在于,所述重新授权,包括如下步骤:
设置第二软件授权信息并写入所述区块链系统,获得第二执行许可信息;
启动所述待授权软件时,所述区块链模块启动并接入所述区块链系统;
进行第二执行许可信息校验,若所述第二执行许可信息有效,则运行软件;否则拒绝运行。
6.一种执行如权利要求1至5任一项所述方法的基于区块链的软件授权系统,其特征在于,所述软件授权系统包括通信连接的区块链模块及区块链系统,其中,所述区块链模块包括:
输入子模块:用于输入所述第一软件授权信息;
启动子模块:用于启动所述区块链模块;
接入子模块:用于将所述区块链模块接入所述区块链系统;
校验子模块:用于在软件授权时进行所述第一执行许可信息是否有效的校验:
控制子模块:用于当所述第一执行许可信息校验有效时,启动软件。
7.根据权利要求6所述的基于区块链的软件授权系统,其特征在于,
所述区块链系统包括:
接收模块:用于接收所述第一软件授权信息;
执行模块:用于执行所述第一软件授权信息,获取所述第一执行许可信息;
存储模块:用于记录所述第一执行许可信息。
8.根据权利要求7所述的基于区块链的软件授权系统,其特征在于,
所述区块链模块还包括:
读取子模块:用于读取所述区块链系统中的第一执行许可信息;
9.根据权利要求6至8任一项所述的基于区块链的软件授权系统,其特征在于,所述区块链模块还包括:
判断子模块:用于判断在软件使用时所述第一执行许可信息是否处于有效期内;
输出子模块:用于当所述第一执行许可信息已过期失效时,输出是否需要进行重新授权的提示信息;
识别子模块:用于识别用户输入的是否进行重新授权的信息;
处理子模块:用于根据用户输入的是否进行重新授权的信息进行处理,若是,则提示用户购买第二软件授权信息,若否,则终止软件使用权。

说明书全文

一种基于链的软件授权方法及系统

技术领域

[0001] 本发明涉及软件保护技术领域,特别涉及一种基于区块链的软件授权方法及系统。

背景技术

[0002] 区块链(Block Chain)技术是基于去中心化的对等网络,将密码学原理与共识机制相结合,来保障分布式各节点的数据连贯和持续,实现信息即时验证、可追溯、难篡改等特性,从而创造了一套隐私、高效、安全的分布式信任体系。
[0003] 软件授权是软件保护概念的延伸和发展。软件授权的目标是让软件用户按照购买许可来使用软件,涉及软件的安装份数,使用时间,应用范围以及功能子模块等内容。对于软件保护来说,其核心理念是防止软件被盗版。
[0004] 软件盗版的方法有很多种,通常有修改系统时间、重置授权信息、重定向验证服务器、反汇编等。其中除了反汇编的盗版方式具有极高的难度,其余方法难度都一般,即软件盗版的成本并不算很高。因此软件授权一直是个影响软件开发者切身权益的问题。
[0005] 目前的软件授权技术通常分为硬件授权和软件授权。前者是软件在编写时加入访问外部设备的代码片段,当软件在运行时,需要依赖外部可插拔的授权硬件(比如加密狗)才能正常执行,如果硬件缺失,则软件将拒绝执行。而后者通常使用加密的授权码实现,将授权码与从运行软件的主机中提取的唯一识别信息一一绑定,当软件被复制或授权信息被滥用时,软件将通过验证绑定关系来对这种行为加以阻止。
[0006] 现有技术存在如下缺点:对于硬件授权,需要额外采购外部加密设备,不仅造成浪费,而且存在诸多无法接入外部设备的使用场景,比如软件使用部署;对于软件授权,一旦其中一份软件被破解,那么被破解的软件通常可以进行无限拷贝,而且往往难以采取措施对这种行为进行管制,从而极大的侵犯了软件开发者的权益。
[0007] 因此,我们需要寻找一种通用性强、安全性更高的软件授权方法。

发明内容

[0008] 有鉴于此,本发明实施例提供了一种基于区块链的软件授权方法和系统,该软件授权方法通用性强,授权后的软件安全性高。
[0009] 本发明实施例提供的技术方案如下:
[0010] 在待授权软件中增加区块链模块;
[0011] 预先设置第一软件授权信息并写入区块链系统,获得第一执行许可信息;
[0012] 启动所述待授权软件时,所述区块链模块启动并接入所述区块链系统;
[0013] 进行第一执行许可信息校验,若所述第一执行许可信息有效,则运行软件;否则拒绝运行;
[0014] 其中,所述区块链系统用以管理软件授权信息。
[0015] 作为一种较佳的实施方法,所述预先设置第一软件授权信息并写入所述区块链系统,获得第一执行许可信息,包括如下步骤:
[0016] 所述区块链系统接收所述第一软件授权信息;
[0017] 所述区块链系统识别并执行所述第一软件授权信息,获取第一执行许可信息;
[0018] 所述区块链系统记录所述第一执行许可信息。
[0019] 作为一种较佳的实施方法,进行第一执行许可信息校验,若所述第一执行许可信息有效,则运行软件;否则拒绝运行,包括:
[0020] 所述区块链模块读取所述区块链系统中的第一执行许可信息;
[0021] 判断所述第一执行许可信息是否有效,若有效,则运行软件,若无效,则拒绝运行软件。
[0022] 作为一种较佳的实施方法,所述方法还包括:
[0023] 在软件使用时判断所述第一执行许可信息是否处于有效期内,若所述第一执行许可信息已过期失效,则提示用户进行重新授权;
[0024] 用户自主选择是否进行重新授权,若是,则提示其购买第二软件授权信息,进行重新授权。
[0025] 作为一种较佳的实施方法,所述重新授权,包括如下步骤:
[0026] 设置第二软件授权信息并写入所述区块链系统,获得第二执行许可信息;
[0027] 启动所述待授权软件时,所述区块链模块启动并接入所述区块链系统;
[0028] 进行第二执行许可信息校验,若所述第二执行许可信息有效,则运行软件;否则拒绝运行。
[0029] 另一方面,提供了一种执行上述方法的区块链的软件授权系统,所述软件授权系统包括通信连接的区块链模块及区块链系统,其中,
[0030] 所述区块链模块包括:
[0031] 输入子模块:用于输入所述第一软件授权信息;
[0032] 启动子模块:用于启动所述区块链模块;
[0033] 接入子模块:用于将所述区块链模块接入所述区块链系统;
[0034] 校验子模块:用于进行第一执行许可信息的校验;
[0035] 控制子模块:用于当所述第一执行许可信息校验有效时,启动软件。
[0036] 作为一种较佳的实施方法,所述区块链系统包括:
[0037] 接收模块:用于接收所述第一软件授权信息;
[0038] 执行模块:用于执行所述第一软件授权信息,获取所述第一执行许可信息;
[0039] 存储模块:用于记录所述第一执行许可信息。
[0040] 作为一种较佳的实施方法,所述区块链模块还包括:
[0041] 读取子模块:用于读取所述区块链系统中的第一执行许可信息;
[0042] 作为一种较佳的实施方法,所述区块链模块还包括:
[0043] 判断子模块:用于判断在软件使用时所述第一执行许可信息是否处于有效期内;
[0044] 输出子模块:用于当所述第一执行许可信息已过期失效时,输出是否需要进行重新授权的提示信息;
[0045] 识别子模块:用于识别用户输入的是否进行重新授权的信息;
[0046] 处理子模块:用于根据用户输入的是否进行重新授权的信息进行处理,若是,则提示用户购买第二软件授权信息,若否,则终止软件使用权。
[0047] 本发明实施例相比现有技术而言的有益效果在于,本发明实施例提供一种基于区块链的软件授权方法及系统,所述方法包括:在待授权软件中增加区块链模块;预先设置第一软件授权信息并写入区块链系统,获得第一执行许可信息;启动所述待授权软件时,所述区块链模块启动并接入所述区块链系统;进行第一执行许可信息校验,若所述第一执行许可信息有效,则运行软件;否则拒绝运行;其中,所述区块链系统用以管理软件授权信息。本发明中,软件通过区块链进行授权,利用区块链高效、安全、可追溯、难篡改的特性,使得该软件授权方法通用性强,授权后的软件安全性高,任何通过私自拷贝、修改系统时间、重置授权信息等非法行为进行软件盗版的,都将导致软件无法通过在区块链上的授权验证而无法运行,并且由于区块链的特性,使得妄图以通过破解区块链的方式对软件进行破解,几乎是不可能的。附图说明
[0048] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049] 图1是本发明实施例一中一种基于区块链的软件授权方法的流程图
[0050] 图2是本发明实施例二中一种基于区块链的软件授权系统的结构示意图。

具体实施方式

[0051] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052] 实施例一
[0053] 本实施例中提供一种基于区块链的软件授权方法,其通用性强,授权后的软件安全性高。
[0054] 本实施例一所保护的软件授权方法是基于区块链实现的,因此在进行授权之前需要维护相应规模的用以管理授权信息的区块链系统。在选取区块链系统时,可根据软件的具体授权场景,选择不同的区块链系统。如果授权场景是企业内部的软件批量授权,那么可以采用运行在该企业内部的私链系统;如果授权场景是面向多个企业的软件批量授权,那么可以采用运行在多个企业之间的联盟连系统;如果授权场景是面向互联网个体用户的软件授权,可以采用运行在互联网上的公链系统。
[0055] 由于在软件授权的特定场景下,对区块链的性能、存储要求都不高,因此采用极其轻量级的区块链系统,即可满足授权功能的需求,同时又不会对软件自身的执行带来大的影响。
[0056] 图1为本发明实施例一提供的一种基于区块链的软件授权方法的流程图,参照图1,该方法具体包括如下步骤:
[0057] S1、在待授权软件中增加区块链模块。
[0058] 由于区块链系统本身也是软件系统,与待授权的软件是可以无缝衔接的产品。在待授权的软件中增加区块链模块,并不会对软件本身带来影响。区块链模块所需的配置信息,可以合并在软件本身的配置信息当中。
[0059] 由于软件可能是采用各种编程语言编写,我们选用的区块链系统需要能够解决各种编程语言导致的信息兼容问题。因此,我们可以采用一些兼容性良好的信息编码方式,如:json,protobuf等。
[0060] S2、预先设置第一软件授权信息并写入区块链系统,获得第一执行许可信息。
[0061] 当软件使用者向软件开发者购买软件时,软件使用者会获得第一软件授权信息,通过区块链系统的验证,软件得以授权,可以启动。
[0062] 在软件部署时,进行第一软件授权信息的设置,该第一软件授权信息是区块链系统可以识别的信息。软件使用者向软件开发者购买第一软件授权信息,软件开发者将第一软件授权信息写入区块链系统,第一软件授权信息被区块链系统识别并执行之后,获得第一执行许可信息,区块链中便会记录相应软件的第一执行许可信息,该第一执行许可信息将在软件启动时使用。
[0063] 具体地,软件开发者将第一软件授权信息写入区块链系统,其包括如下子步骤:
[0064] S21、区块链系统接收第一软件授权信息;
[0065] S22、区块链系统识别并执行第一软件授权信息,获取第一执行许可信息;
[0066] S23、区块链系统记录第一执行许可信息。
[0067] 当然,在区块链系统接受第一软件授权信息之前,软件开发者需要通过相应节点向区块链系统发送第一软件授权信息。
[0068] S3、启动待授权软件时,区块链模块启动并接入区块链系统。
[0069] 待授权软件启动时,区块链模块首先启动。区块链模块启动之后,便可以接入区块链系统,并读取区块链系统中的信息,进行通信传输。
[0070] S4、进行第一执行许可信息校验,若第一执行许可信息有效,则运行软件;否则拒绝运行,其包括如下子步骤:
[0071] S41、区块链模块读取区块链系统中的第一执行许可信息。
[0072] 具体地,区块链模块接入区块链系统后,可以读取区块链中的信息,从而发现预先记录的待授权软件的第一执行许可信息。
[0073] S42、判断所述第一执行许可信息是否有效,若有效,则运行软件,若无效,则拒绝运行软件。
[0074] 至此,软件得以授权,可以正常使用。
[0075] 软件授权后,具有一定的使用有效期,当授权到期后,软件停止运行,软件使用者可根据需要进行软件的重新授权。
[0076] 因此,本实施例中的一种基于区块链的软件授权方法还包括:
[0077] 在软件使用时判断第一执行许可信息是否处于有效期内,若第一执行许可信息已过期失效,则提示用户进行重新授权;
[0078] 用户自主选择是否进行重新授权,若是,则提示其购买第二软件授权信息,进行重新授权。
[0079] 其中,重新授权包括如下步骤:
[0080] 设置第二软件授权信息并写入区块链系统,获得第二软件执行信息;
[0081] 启动待授权软件时,区块链模块启动并接入区块链系统;
[0082] 进行第二软件执行信息校验,若所述第二软件执行信息有效,则运行软件;否则拒绝运行。
[0083] 本实施例提供的一种基于区块链的软件授权方法,软件通过区块链进行授权,利用区块链高效、安全、可追溯、难篡改的特性,使得该软件授权方法通用性强,授权后的软件安全性高,任何通过私自拷贝、修改系统时间、重置授权信息等非法行为进行软件盗版的,都将导致软件无法通过在区块链上的授权验证而无法运行,并且由于区块链的特性,使得妄图以通过破解区块链的方式对软件进行破解,几乎是不可能的。
[0084] 实施例二:
[0085] 基于上述实施例一中的一种基于区块链的软件授权方法,本实施例提供一种基于区块链的软件授权系统。图2是本实施例中一种基于区块链的软件授权系统的结构示意图,参照图2,该软件授权系统包括通信连接的区块链模块及区块链系统,其中,[0086] 区块链模块包括:
[0087] 输入子模块:用于输入第一软件授权信息;
[0088] 启动子模块:用于启动区块链模块;
[0089] 接入子模块:用于将区块链模块接入区块链系统;
[0090] 校验子模块:用于在软件授权时进行第一执行许可信息是否有效的校验;
[0091] 控制子模块:用于当第一执行许可信息校验有效时,启动软件。
[0092] 区块链系统包括:
[0093] 接收模块:用于接收第一软件授权信息;
[0094] 执行模块:用于执行第一软件授权信息,获取第一执行许可信息;
[0095] 存储模块:用于记录第一执行许可信息。
[0096] 区块链模块还包括:
[0097] 读取子模块:用于读取区块链系统中的第一执行许可信息。
[0098] 区块链模块还包括:
[0099] 判断子模块:用于判断所述第一软件授权信息是否处于有效期内;
[0100] 输出子模块:用于输出是否需要进行重新授权的提示信息;
[0101] 识别子模块:用于识别用户输入的是否进行重新授权的信息;
[0102] 处理子模块:用于根据用户输入的是否进行重新授权的信息进行处理,若是,则提示用户购买第二软件授权信息,若否,则终止软件使用权。
[0103] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈