CN111639308A - 一种基于区块链的软件序列号分发验证方法和装置 - Google Patents

一种基于区块链的软件序列号分发验证方法和装置 Download PDF

Info

Publication number
CN111639308A
CN111639308A CN202010332329.3A CN202010332329A CN111639308A CN 111639308 A CN111639308 A CN 111639308A CN 202010332329 A CN202010332329 A CN 202010332329A CN 111639308 A CN111639308 A CN 111639308A
Authority
CN
China
Prior art keywords
software
intelligent contract
block chain
component
serial number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010332329.3A
Other languages
English (en)
Inventor
王晓亮
陈林燏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Rivtower Technology Co Ltd
Original Assignee
Hangzhou Rivtower Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Rivtower Technology Co Ltd filed Critical Hangzhou Rivtower Technology Co Ltd
Priority to CN202010332329.3A priority Critical patent/CN111639308A/zh
Publication of CN111639308A publication Critical patent/CN111639308A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

本说明书实施例公开了一种基于区块链的软件序列号分发验证方法和装置,所述方法包括:创建智能合约并部署至区块链,发布软件并更新智能合约,分发用户公私钥对并对授权注册,下载安装并运行相应版本所述软件,通过软件内置功能调用智能合约,实现用户公私钥对的分发验证。本发明通过在区块链的智能合约进行软件的完整性检查,提高软件破解难度,有效降低软件开发者创建、分发、验证软件序列号的管理成本,也能提高软件使用者验证软件序列号正版的可信度。

Description

一种基于区块链的软件序列号分发验证方法和装置
技术领域
本说明书涉及计算机软件技术领域,尤其涉及一种基于区块链的软件序列号分发验证方法、装置、系统和电子设备。
背景技术
软件开发者对计算机软件设置注册码的初衷在于防止用户使用盗版软件,最为典型的就是安装型注册码。但是,已经有了越来越多软件注册码并非是对软件安装的限制,例如:即输入不正确的注册码,虽可安装并使用,但不能实现软件的全部功能,或者其对软件的使用时间将会受到限制,超过了一定的时间,软件将不能继续使用。综上所述,计算机软件注册码的主要用途或者说目的,在于限制用户对软件的使用,为了实现这一目的,软件开发者赋予了注册码不同的功能。
对于软件序列号的验证技术,可以分为四代:本地验证、加密狗、联网检查和基于区块链的验证。特别是有了区块链技术,可使用区块链中的智能合约,创建一个去中心化的、可永久自动执行的验证服务。对软件开发者而言,急需既能降低软件本地破解的可能性,又能降低软件序列号的分发、验证等管理成本的验证技术;对软件使用者而言,也需要能够持续有效的验证软件序列号是否为正版。
发明内容
本说明书实施例的目的是提供一种基于区块链的软件序列号分发验证方法和装置,以进行软件的完整性检查,提高软件破解难度,有效降低软件开发者创建、分发、验证软件序列号的管理成本,提高软件使用者验证软件序列号正版的可信度。
为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种基于区块链的软件序列号分发验证方法,包括:
第一组件构建智能合约并部署至区块链;
发布软件并更新所述软件信息至所述智能合约,以使软件版本号与软件文件哈希建立关联;
生成所述软件的用户公私钥对、区块链账户地址和授权信息,提交所述授权信息和区块链账户地址至所述智能合约;
分发所述用户公私钥对至软件使用者,以使置于所述软件中的第二组件调用所述智能合约的相应事务处理方法;
发送事务处理的结果数据至所述第二组件,更新智能合约并存储至区块链。
第二方面,提出了一种基于区块链的软件序列号分发验证装置,包括:
区块链管理模块,用于管理区块链上存储的所述软件信息;
智能合约管理模块,用于创建并部署智能合约至所述区块链;
软件发布模块,用于发布软件并更新所述软件信息至所述智能合约;
接收模块,用于接收第二组件发送的区块链账户地址;
发送模块,用于将事务处理的结果数据发送至第二组件。
第三方面,提出了一种基于区块链的软件序列号分发验证方法,下载安装并运行相应版本所述软件,包括:
第二组件根据用户公私钥对获取区块链账户地址;
根据所述区块链账户地址,调用第一组件的智能合约进行验证、激活事务处理;
接收所述第一组件返回的事务处理的结果数据。
第四方面,提出一种基于区块链的软件序列号分发验证装置,包括:
公私钥对解析模块,用于解析用户公私钥对获取区块链账户地址;
发送模块,用于将所述区块链账户地址发送至第一组件的智能合约进行验证、激活事务处理;
接收模块,用于接收所述第一组件返回的事务处理的结果数据。
第五方面,提出了一种基于区块链的软件序列号分发验证系统,包括第一组件和第二组件,其中,
所述第一组件创建智能合约并部署至区块链,授权注册并分发所述用户公私钥对;所述第二组件置于已通过所述智能合约授权注册过的软件中,通过解析所述用户公私钥对获取所述区块链账户地址;
所述第一组件接收多个第二组件发送的所述区块链账户地址;
所述第一组件发送事务处理的结果数据至所述第二组件。
第六方面,提出了一种电子设备,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
第七方面,提出了一种电子设备,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第三方面所述的方法。
第八方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行执行第一方面所述的方法。
第九方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行执行第三方面所述的方法。
本说明书可以达到至少以下技术效果:
本发明的技术方案,通过在区块链的智能合约进行软件的完整性检查,提高软件破解难度,有效降低软件开发者创建、分发、验证软件序列号的管理成本,也能提高软件使用者验证软件序列号正版的可信度。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的软件序列号分发验证方法的步骤示意图之一。
图2为本说明书实施例提供的软件序列号分发验证方法的步骤示意图之二。
图3为本说明书实施例提供的软件序列号分发验证方法的步骤示意图之三。
图4为本说明书实施例提供的软件序列号分发验证方法的步骤示意图之四。
图5为本说明书的一个实施例提供的软件序列号分发验证装置结构示意图之一。
图6为本说明书的一个实施例提供的软件序列号分发验证装置结构示意图之二。
图7为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
关键术语
区块链技术:是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有不可伪造、全程留痕、可以追溯、公开透明、集体维护”等特征。基于这些特征,区块链技术奠定了坚实的信任基础,创造了可靠的合作机制,具有广阔的运用前景。
智能合约:运行在区块链系统内的程序,具有按设定逻辑自动执行、执行结果不可窜改的特性。
下面通过具体的实例对本说明书所涉及的基于区块链的软件序列号分发验证方案进行详述。
实施例一
使用区块链技术做软件序列号的分发、验证、管理,涉及2个执行主体,分别为软件开发者和软件使用者。其中,软件开发者完成部署验证服务、对软件增加验证逻辑、分发序列号和管理软件序列号等4个阶段,封装构成第一组件。软件使用者安装软件后,输入并验证激活序列号,封装构成第二组件。一个软件开发者对应多个软件使用者,也即一个第一组件对应多个第二组件。
对于软件开发者:
在部署验证服务阶段,首先,创建智能合约,包含软件序列号的授权登记、激活、验证、验证、取消授权事务处理方法;然后,将该合约部署到某一条可以公开访问的区块链上。
在软件时增加验证逻辑阶段,首先,软件开发者在所开发的软件中增加通过区块链验证逻辑,该验证逻辑对区块链账户地址进行验证,存在当前区块链用户地址,则调用智能合约相应的事务处理方法;其次,将要发布软件的软件信息更新到智能合约中,实现当前软件版本号与当前软件的文件哈希的映射;最后,把软件发布到可公共下载的网站,提供给用户下载。
在分发验证序列号阶段,当有用户购买软件序列号时,首先,为已经购买了授权的用户生成对应公私钥对和区块链帐号地址;其次,软件开发者将软件授权的软件文件哈希、授权有效期、软件使用者的区块链账户地址,提交到该合约方法中;最后,将获得到的用户公私钥对作为软件序列号的内容,发放给用户。
在软件序列号管理阶段,软件开发者可以通过查询部署在区块链上的智能合约,了解每个软件授权的激活次数,若发现有软件使用者有私自将用户公私钥对多次分发和/或多次激活的嫌疑,可以通过调用智能合约中的方法取消用户的授权。
对于软件使用者:
首先,从软件开发者手中获取用户公私钥对;然后下载并安装对应版本的软件后,输入用户公私钥对,由软件解析用户公私钥对获取区块链账户地址,对运行验证逻辑。
综上所述,在此技术方案基础上可形成基于区块链的软件序列号分发验证系统,包括第一组件与第二组件。其中,
第一组件创建智能合约后部署至区块链,发布软件并事先完成授权注册;当用户购买软件序列号时,分发用户公私钥对;
第二组件被置于已通过所述智能合约授权注册过的软件中,用户输入软件序列号后,通过解析所述用户公私钥对获取所述区块链账户地址;
第一组件接收多个第二组件发送的所述区块链账户地址,通过区块链账户地址调用智能合约中的相应方法,完成验证、激活事务处理;
第一组件发送验证、激活和/或取消授权结果数据至所述第二组件。
实施例二
参照图1所示,为本说明书实施例提供的软件序列号分发验证方法的步骤示意图,该分发验证方法的执行主体可以是软件开发者一侧,本说明书中定义为第一组件;所述第一组件具体可以是应用服务程序也可以是终端等电子设备。所述方法可以包括以下步骤:
步骤101:第一组件构建智能合约并部署至区块链,所述智能合约的事务处理方法至少包括对软件序列号的授权注册、验证、激活和取消授权,并将该合约部署到某一条可以公开访问的区块链上。将编写好的智能合约部署到一条区块链上,得到各个合约方法的地址,用于软件的验证逻辑。
可选地,所述智能合约的授权注册事务处理方法包括将所述授权信息与所述区块链账户地址进行关联。
可选地,所述智能合约的验证事务处理方法如图2所示,包括:
步骤121:根据第二组件提交的区块链用户地址获取授权记录;
步骤122:当所述授权记录存在时,比较授权记录与待验证的软件授权信息是否一致;
步骤123:若比较结果为一致,则通过授权验证。
应理解,比较所述授权记录与待验证的软件授权信息时,可依次对比一致性内容包括:授权的有效性、是否已经激活、软件版本是否一致、用户唯一标识码是否一致、授权是否过期、软件文件哈希是否一致。
可选地,所述智能合约的激活事务处理方法如图3所示,包括:
步骤131:根据第二组件提交的区块链用户地址获取授权记录;
步骤132:当所述授权记录为未激活状态,则将其激活。
可选地,所述智能合约的取消授权事务处理方法包括:当软件序列号的分发和/或激活次数大于阈值,取消相应软件序列号授权。
步骤102:发布软件并更新所述软件信息至所述智能合约,所述软件信息至少包括软件版本号和软件的文件哈希,以使所述软件版本号与所述软件文件哈希进行关联,所述软件的功能至少包括调用所述智能合约验证事务处理方法。
步骤103:生成所述软件的用户公私钥对、区块链账户地址和授权信息,所述区块链账户地址加密后置于所述用户公私钥对中,提交所述授权信息和区块链账户地址至所述智能合约,以使所述软件授权注册数据存储至所述区块链;
可选地,所述授权信息至少包括版本号、有效性、激活状态、授权到期时间、激活到期时间;为了选择是否需要限制用户,授权信息还包括所述软件的运行设备所对应的唯一标识码,其表现形式为用户设备的机器码、身份ID等,可以通过软件运行时读取网卡的MAC地址、硬盘序列号等,完全可根据软件开发者自己的所希望的限制软件使用者的授权范围来自行设定,如果不想限定用户的硬件设备也可以不设定。
步骤104:将所述用户公私钥为所述软件序列号分发所至软件使用者,以使所述软件使用者下载安装相应版本所述软件后,通过置于所述软件中的第二组件调用所述智能合约的验证和/或激活事务处理方法;
步骤105:所述第一组件发送验证、激活、取消授权结果至所述第二组件,更新智能合约并存储至区块链。
参照图4所示,为本说明书实施例提供的软件序列号分发验证方法的步骤示意图,该分发验证方法的执行主体可以是软件使用者一侧,本说明书中定义为第二组件;所述第二组件是置于下载安装并运行相应版本中。所述方法可以包括以下步骤:
步骤201:第二组件根据所述用户公私钥对获取所述区块链账户地址;
步骤202:根据所述区块链账户地址,调用所述智能合约的验证和/或激活事务处理方法;
可选地,还包括根据所述软件的运行设备所对应的唯一标识码,调用所述智能合约的验证和/或激活事务处理方法。
步骤203:接收所述第一组件发送的验证、激活和/或取消授权结果数据。
本发明的技术方案,通过在区块链的智能合约进行软件的完整性检查,提高软件破解难度,有效降低软件开发者创建、分发、验证软件序列号的管理成本,也能提高软件使用者验证软件序列号正版的可信度。
实施例三
图5为本说明书的一个实施例提供的软件序列号分发验证装置500的结构示意图。请参考图5,在一种软件实施方式中,软件序列号分发验证装置包括:
区块链管理模块501:用于管理区块链上存储的所述软件的发布、授权、验证和激活数据;
智能合约管理模块502:用于创建并部署智能合约至所述区块链;
所述智能合约的事务处理流程至少包括对软件序列号的授权注册、验证、激活和取消授权,并将该合约部署到某一条可以公开访问的区块链上。将编写好的智能合约部署到一条区块链上,得到各个合约方法的地址,用于软件的验证逻辑。
所述智能合约的授权注册事务处理流程包括将所述授权信息与所述区块链账户地址进行关联。
所述智能合约的验证事务处理流程包括:根据第二组件提交的区块链用户地址获取授权记录;当所述授权记录存在时,比较授权记录与待验证的软件授权信息是否一致;当完全一致,则通过授权验证。比较所述授权记录与待验证的软件授权信息时,可依次对比一致性内容包括:授权的有效性、是否已经激活、软件版本是否一致、用户唯一标识码是否一致、授权是否过期、软件文件哈希是否一致。
所述智能合约的激活事务处理流程包括:根据第二组件提交的区块链用户地址获取授权记录;当所述授权记录为未激活状态,则将其激活。
所述智能合约的取消授权事务处理流程包括:当软件序列号的分发和/或激活次数大于阈值,取消相应软件序列号授权。
软件发布模块503:用于发布软件并更新所述软件信息至所述智能合约。
所述软件信息至少包括软件版本号和软件的文件哈希,以使所述软件版本号与所述软件文件哈希进行关联。
接收模块504:用于接收第二组件发送的区块链账户地址。
发送模块505:用于将验证、激活和/或取消授权结果数据发送至第二组件。
图6为本说明书的一个实施例提供的软件序列号分发验证装置600的结构示意图。请参考图6,在一种软件实施方式中,软件序列号分发验证装置包括:
公私钥对解析模块601,用于解析所述用户公私钥对获取所述区块链账户地址;
发送模块602,用于发送区块链账户地址至所述智能合约进行验证和/或激活事务处理;
可选地,所述发送模块还包括根据所述软件的运行设备所对应的唯一标识码,调用所述智能合约的验证和/或激活事务处理方法。
接收模块603,用于接收所述第一组件发送的验证、激活和/或取消授权的结果。
应理解,本说明书实施例的软件序列号分发验证装置还可执行图1-图4中软件序列号分发验证装置(或设备)执行的方法,并实现软件序列号分发验证装置(或设备)在图1至图4所示实施例的功能,在此不再赘述。
实施例四
图7是本说明书的一个实施例电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
第一组件构建智能合约并部署至区块链;
发布软件并更新所述软件信息至所述智能合约,以使软件版本号与软件文件哈希建立关联;
生成所述软件的用户公私钥对、区块链账户地址和授权信息,提交所述授权信息和区块链账户地址至所述智能合约;
分发所述用户公私钥对至软件使用者,以使置于所述软件中的第二组件调用所述智能合约的相应事务处理方法;
发送事务处理的结果数据至所述第二组件,更新智能合约并存储至区块链。
或者,
第二组件根据用户公私钥对获取区块链账户地址;
根据所述区块链账户地址,调用第一组件的智能合约进行验证、激活事务处理;
接收所述第一组件返回的事务处理的结果数据。
上述如本说明书图2至图5所示实施例揭示的软件序列号分发验证装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
实施例五
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1至图4所示实施例的方法,并具体用于执行以下方法:
第一组件构建智能合约并部署至区块链;
发布软件并更新所述软件信息至所述智能合约,以使软件版本号与软件文件哈希建立关联;
生成所述软件的用户公私钥对、区块链账户地址和授权信息,提交所述授权信息和区块链账户地址至所述智能合约;
分发所述用户公私钥对至软件使用者,以使置于所述软件中的第二组件调用所述智能合约的相应事务处理方法;
发送事务处理的结果数据至所述第二组件,更新智能合约并存储至区块链。
或者,
第二组件根据用户公私钥对获取区块链账户地址;
根据所述区块链账户地址,调用第一组件的智能合约进行验证、激活事务处理;
接收所述第一组件返回的事务处理的结果数据。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (15)

1.一种基于区块链的软件序列号分发验证方法,其特征在于,包括:
第一组件构建智能合约并部署至区块链;
发布软件并更新所述软件信息至所述智能合约,以使软件版本号与软件文件哈希建立关联;
生成所述软件的用户公私钥对、区块链账户地址和授权信息,提交所述授权信息和区块链账户地址至所述智能合约;
分发所述用户公私钥对至软件使用者,以使置于所述软件中的第二组件调用所述智能合约的相应事务处理方法;
发送事务处理的结果数据至所述第二组件,更新智能合约并存储至区块链。
2.根据权利要求1所述的方法,其特征在于,所述智能合约的事务处理方法包括对软件的授权注册、验证、激活和取消授权中的至少一种。
3.根据权利要求1所述的方法,其特征在于,所述区块链账户地址加密后置于所述用户公私钥对中。
4.根据权利要求2所述的方法,其特征在于,所述智能合约的授权注册事务处理方法包括所述授权信息与所述区块链账户地址建立关联。
5.根据权利要求2所述的方法,其特征在于,所述智能合约的验证事务处理方法包括:
根据第二组件提交的区块链用户地址获取授权记录;
对比所述授权记录与待验证的软件授权信息是否一致;
当完全一致,则通过授权验证。
6.根据权利要求2所述的方法,其特征在于,所述智能合约的激活事务处理方法包括:
根据第二组件提交的区块链用户地址获取授权记录;
当所述授权记录为未激活状态,则将其激活。
7.根据权利要求2所述的方法,其特征在于,所述智能合约的取消授权事务处理方法包括:当软件序列号的分发和/或激活次数大于阈值,取消相应软件序列号授权。
8.一种基于区块链的软件序列号分发验证装置,其特征在于,包括:
区块链管理模块,用于管理区块链上存储的软件信息;
智能合约管理模块,用于创建并部署智能合约至所述区块链;
软件发布模块,用于发布软件并更新所述软件信息至所述智能合约;
接收模块,用于接收第二组件发送的区块链账户地址;
发送模块,用于将事务处理的结果数据发送至第二组件。
9.一种基于区块链的软件序列号分发验证方法,其特征在于,下载安装并运行相应版本所述软件,包括:
第二组件根据用户公私钥对获取区块链账户地址;
根据所述区块链账户地址,调用第一组件的智能合约进行事务处理;
接收所述第一组件返回的事务处理的结果数据。
10.一种基于区块链的软件序列号分发验证装置,其特征在于,
公私钥对解析模块,用于解析用户公私钥对获取区块链账户地址;
发送模块,用于将所述区块链账户地址发送至第一组件的智能合约进行事务处理;
接收模块,用于接收所述第一组件返回的事务处理的结果数据。
11.一种基于区块链的软件序列号分发验证系统,其特征在于,包括第一组件和第二组件,其中,
所述第一组件创建智能合约并部署至区块链,授权注册并分发用户公私钥对;所述第二组件置于已通过所述智能合约授权注册过的软件中,通过解析所述用户公私钥对获取所述区块链账户地址;
所述第一组件接收多个第二组件发送的所述区块链账户地址;
所述第一组件发送事务处理的结果数据至所述第二组件。
12.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求1至7任一项所述的方法。
13.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求9所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1至7任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求9所述的方法。
CN202010332329.3A 2020-04-24 2020-04-24 一种基于区块链的软件序列号分发验证方法和装置 Pending CN111639308A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010332329.3A CN111639308A (zh) 2020-04-24 2020-04-24 一种基于区块链的软件序列号分发验证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010332329.3A CN111639308A (zh) 2020-04-24 2020-04-24 一种基于区块链的软件序列号分发验证方法和装置

Publications (1)

Publication Number Publication Date
CN111639308A true CN111639308A (zh) 2020-09-08

Family

ID=72328724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010332329.3A Pending CN111639308A (zh) 2020-04-24 2020-04-24 一种基于区块链的软件序列号分发验证方法和装置

Country Status (1)

Country Link
CN (1) CN111639308A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813441A (zh) * 2020-09-10 2020-10-23 腾讯科技(深圳)有限公司 智能合约发布方法、装置、计算机可读介质及电子设备
CN112181482A (zh) * 2020-09-29 2021-01-05 平安科技(深圳)有限公司 版本验证方法、装置、电子设备及存储介质
CN112348463A (zh) * 2020-10-30 2021-02-09 杭州溪塔科技有限公司 一种基于区块链的软件工程持续构建方法和装置
CN112699344A (zh) * 2020-12-29 2021-04-23 无锡井通网络科技有限公司 基于区块链的软件授权方法、激励方法和授权交易方法
CN113312640A (zh) * 2021-05-31 2021-08-27 天津理工大学 一种基于可信计算的软件数据完整性多方共识方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190164157A1 (en) * 2017-11-28 2019-05-30 American Express Travel Related Services Company, Inc. Transaction authorization process using blockchain
CN110278462A (zh) * 2019-06-20 2019-09-24 北京工业大学 一种基于区块链的流动放映授权管理方法
WO2019190394A1 (en) * 2018-03-29 2019-10-03 Agency For Science, Technology And Research Methods of distributing software across a network and distribution systems
US20200106610A1 (en) * 2018-09-28 2020-04-02 Infosys Limited System and method for decentralized identity management, authentication and authorization of applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190164157A1 (en) * 2017-11-28 2019-05-30 American Express Travel Related Services Company, Inc. Transaction authorization process using blockchain
WO2019190394A1 (en) * 2018-03-29 2019-10-03 Agency For Science, Technology And Research Methods of distributing software across a network and distribution systems
US20200106610A1 (en) * 2018-09-28 2020-04-02 Infosys Limited System and method for decentralized identity management, authentication and authorization of applications
CN110278462A (zh) * 2019-06-20 2019-09-24 北京工业大学 一种基于区块链的流动放映授权管理方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813441A (zh) * 2020-09-10 2020-10-23 腾讯科技(深圳)有限公司 智能合约发布方法、装置、计算机可读介质及电子设备
CN112181482A (zh) * 2020-09-29 2021-01-05 平安科技(深圳)有限公司 版本验证方法、装置、电子设备及存储介质
CN112181482B (zh) * 2020-09-29 2023-03-21 平安科技(深圳)有限公司 版本验证方法、装置、电子设备及存储介质
CN112348463A (zh) * 2020-10-30 2021-02-09 杭州溪塔科技有限公司 一种基于区块链的软件工程持续构建方法和装置
CN112699344A (zh) * 2020-12-29 2021-04-23 无锡井通网络科技有限公司 基于区块链的软件授权方法、激励方法和授权交易方法
CN113312640A (zh) * 2021-05-31 2021-08-27 天津理工大学 一种基于可信计算的软件数据完整性多方共识方法
CN113312640B (zh) * 2021-05-31 2022-05-24 天津理工大学 一种基于可信计算的软件数据完整性多方共识方法

Similar Documents

Publication Publication Date Title
CN109981679B (zh) 在区块链网络中执行事务的方法和装置
CN109033774B (zh) 获取、反馈用户资源的方法、装置及电子设备
CN111639308A (zh) 一种基于区块链的软件序列号分发验证方法和装置
CN107086909B (zh) 身份信息的生成方法和装置、身份审核的方法和装置
CN107360001B (zh) 一种数字证书管理方法、装置和系统
CN111353903B (zh) 一种网络身份保护方法、装置及电子设备和存储介质
CN109992285B (zh) 区块链代码块独立升级方法、装置及电子设备
CN111770112B (zh) 一种信息共享方法、装置及设备
CN112100594B (zh) 一种基于区块链的业务处理方法、装置及设备
CN112200585B (zh) 业务处理方法、装置、设备及系统
CN114553515A (zh) 基于区块链的nft资产的检验方法、业务处理方法及硬件
CN111460400A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN110674531A (zh) 基于区块链的居住信息管理方法、装置、服务器及介质
CN110445768B (zh) 一种登录方法、装置及电子设备
CN113704775A (zh) 一种基于分布式数字身份的业务处理方法及相关装置
CN111783051A (zh) 身份认证方法及装置和电子设备
CN113704734A (zh) 基于分布式数字身份实现凭证验证的方法及相关装置
CN111600882A (zh) 一种基于区块链的账户密码管理方法、装置及电子设备
CN102187345B (zh) MIDlet签名和撤销
CN111884808B (zh) 一种防止交易跨链重放的方法、装置及电子设备
CN113065120B (zh) 接口调用鉴权方法、装置、电子设备及可读存储介质
CN112100610B (zh) 登录及用户登录相关业务的处理方法、装置和设备
KR20160109241A (ko) 리소스의 안전성 검증 장치와 서버 및 검증방법
CN112131545B (zh) 语音授权及语音相关业务的处理方法、装置和设备
CN111163113B (zh) 注册处理方法、装置、设备及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination