CN115168811A - 一种软件防破解方法及装置 - Google Patents

一种软件防破解方法及装置 Download PDF

Info

Publication number
CN115168811A
CN115168811A CN202211086697.XA CN202211086697A CN115168811A CN 115168811 A CN115168811 A CN 115168811A CN 202211086697 A CN202211086697 A CN 202211086697A CN 115168811 A CN115168811 A CN 115168811A
Authority
CN
China
Prior art keywords
authorization
payment
user
target software
identity
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.)
Granted
Application number
CN202211086697.XA
Other languages
English (en)
Other versions
CN115168811B (zh
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.)
Beijing Aerospace Aoxiang Ventilation Technology Co ltd
Original Assignee
Beijing Aerospace Aoxiang Ventilation 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 Beijing Aerospace Aoxiang Ventilation Technology Co ltd filed Critical Beijing Aerospace Aoxiang Ventilation Technology Co ltd
Priority to CN202211086697.XA priority Critical patent/CN115168811B/zh
Publication of CN115168811A publication Critical patent/CN115168811A/zh
Application granted granted Critical
Publication of CN115168811B publication Critical patent/CN115168811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/407Cancellation of a transaction

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件防破解方法及装置,涉及区块链技术领域,主要目的在于实现降低软件被破解的风险。本发明主要的技术方案为:授权端获取用户端发送的授权请求,授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;授权端根据支付区块的身份标识获取支付数据,支付数据按照预设加密规则储存在区块链系统中用户对应的支付区块;授权端根据支付数据获取授权标记,且基于授权标记、目标软件的身份标识和用户的身份标识确认授权结果;当授权结果为授权有效时,授权端生成授权信息,且根据预设加密规则将授权信息储存到区块链系统中目标软件对应的授权区块。本发明用于软件授权。

Description

一种软件防破解方法及装置
技术领域
本发明涉及区块链技术领域,尤其涉及一种软件防破解方法及装置。
背景技术
软件是软件授权方开发的可通过收费授权和联机验证等方式进行授权的产品。用户可以通过付费或联机验证的方式获取软件的使用权限。收费授权是基于授权码进行验证,该授权码是用户通过付费给软件授权方而获得的;联机验证是基于已注册信息进行验证,该已注册信息是用户在软件授权方注册后而获得的。
但是,盗版者在授权码验证方式下可以通过篡改本地信息修改验证过程,从而完成软件破解使用或者盗版;盗版者在联机验证方式下用户可以通过代理服务器完成软件破解使用或者盗版。因此,目前的授权方式存在软件易被破解使用的问题。
发明内容
鉴于上述问题,本发明提供一种软件防破解方法及装置,主要目的是为了实现降低软件被破解的风险。
为解决上述技术问题,本发明提出以下方案:
第一方面,本发明提供一种软件防破解方法,所述方法包括:
授权端获取用户端发送的授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;
所述授权端根据所述支付区块的身份标识获取所述用户端对应所述目标软件的支付数据,所述支付数据按照预设加密规则储存在区块链系统中所述用户对应的所述支付区块;
所述授权端根据所述支付数据获取授权标记,且基于所述授权标记、所述目标软件的身份标识和所述用户的身份标识确认授权结果,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;
当所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块。
优选地,所述当所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块,包括:
当所述授权结果为授权有效时,所述授权端生成授权信息,所述授权信息至少包括授权用户的唯一身份标识、支付区块的唯一身份标识、授权软件版本号、授权时间和授权截止日期;
所述授权端将所述授权软件版本号、所述授权时间和所述授权截止日期利用所述授权用户对应的公钥进行加密储存到所述区块链系统中所述目标软件对应的授权区块,且将所述授权用户的唯一身份标识和所述支付区块的唯一身份标识通过明文储存到所述区块链系统中所述目标软件对应的授权区块。
优选地,在所述授权端获取用户端发送的授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识之前,所述方法包括:
所述授权端通过身份认证方式获取授权方对应的唯一身份标识;
所述授权端基于所述授权方对应的唯一身份标识将所述目标软件的信息进行注册,得到所述目标软件注册信息,所述目标软件注册信息至少包含所述目标软件的唯一身份标识、版本号、软件包、软件大小、发布日期、授权费用规则和MD5值以及所述授权方的唯一身份标识;
所述区块链系统将所述目标软件注册信息储存到所述目标软件对应的版本区块;
所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息支付授权费用,获得所述支付数据;
所述用户端根据所述预设加密规则将所述支付数据储存到所述区块链系统中所述用户对应的所述支付区块;
所述用户端利用所述区块链系统将所述授权请求发送至所述授权端,所述授权请求至少携带所述支付区块的身份标识、所述目标软件的身份标识和所述用户的身份标识。
优选地,所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息支付授权费用,获得所述支付数据,包括:
所述用户端通过身份认证方式获取所述用户对应的唯一身份标识;
所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息获取所述目标软件的授权费用规则;其中,所述目标软件的授权费用规则是根据不同的授权时长设定不同的授权费用,所述授权时长包括有限时间周期和永久;
所述用户端根据所述目标软件的授权费用规则选取目标授权时长,得到所述目标授权时长对应的授权费用;
所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付数据,所述支付数据至少包括支付凭证、支付金额、支付时间、随机数、随机数散列值、授权期限、授权标记、所述用户的唯一身份标识和所述目标软件的版本号。
优选地,所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付数据,包括:
所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付凭证;
基于所述支付凭证将所述授权标记设置为所述申请中授权标记;
所述用户端监控在预设阈值时间内是否接收到确定授权信息;
当所述用户端在所述预设阈值时间内接收到所述确定授权信息时,则确定授权成功,将所述授权标记更新为所述已授权标记;
当所述用户端在所述预设阈值时间内未接收到所述确定授权信息时,则确定授权失败,且发起退款请求;
当所述用户端获取到退款成功信息时,将所述授权标记更新为所述授权失败标记。
优选地,所述用户端根据所述预设加密规则将所述支付数据储存到所述区块链系统中所述用户对应的所述支付区块,包括:
所述授权端利用所述区块链系统通过非对称加密算法生成所述授权方对应的公钥和私钥;
所述用户端将所述支付凭证、所述支付金额、所述随机数、所述授权期限、所述用户的唯一身份标识和所述目标软件的版本号利用所述授权方对应的公钥进行加密储存到所述区块链系统中所述用户对应的所述支付区块,且将所述支付时间、所述授权标记和所述随机数散列值通过明文储存到所述区块链系统中所述用户对应的所述支付区块。
优选地,在所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息支付授权费用,获得所述支付数据之前,所述方法包括:
所述授权端获取更新的所述目标软件注册信息,所述更新的所述目标软件注册信息与所述目标软件注册信息的区别至少为不同的版本号和不同的MD5值;
所述区块链系统基于所述更新的所述目标软件注册信息生成所述目标软件对应的新版本区块;
将所述更新的所述目标软件注册信息储存到所述目标软件对应的新版本区块。
第二方面,本发明提供一种软件防破解装置,包括:
第一获取单元,用于授权端获取用户端发送的授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;
第二获取单元,用于所述授权端根据所述支付区块的身份标识获取所述用户端对应所述目标软件的支付数据,所述支付数据按照预设加密规则储存在区块链系统中所述用户对应的所述支付区块;
第三获取单元,用于所述授权端根据所述支付数据获取授权标记,且基于所述授权标记、所述目标软件的身份标识和所述用户的身份标识确认授权结果,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;
第一储存单元,用于当所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块。
优选地,所述第一储存单元包括:
生成模块,用于当所述授权结果为授权有效时,所述授权端生成授权信息,所述授权信息至少包括授权用户的唯一身份标识、支付区块的唯一身份标识、授权软件版本号、授权时间和授权截止日期;
储存模块,用于所述授权端将所述授权软件版本号、所述授权时间和所述授权截止日期利用所述授权用户对应的公钥进行加密储存到所述区块链系统中所述目标软件对应的授权区块,且将所述授权用户的唯一身份标识和所述支付区块的唯一身份标识通过明文储存到所述区块链系统中所述目标软件对应的授权区块。
优选地,所述装置包括:
认证单元,用于所述授权端通过身份认证方式获取授权方对应的唯一身份标识;
注册单元,用于所述授权端基于所述授权方对应的唯一身份标识将所述目标软件的信息进行注册,得到所述目标软件注册信息,所述目标软件注册信息至少包含所述目标软件的唯一身份标识、版本号、软件包、软件大小、发布日期、授权费用规则和MD5值以及所述授权方的唯一身份标识;
第二储存单元,用于所述区块链系统将所述目标软件注册信息储存到所述目标软件对应的版本区块;
支付单元,用于所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息支付授权费用,获得所述支付数据;
第三储存单元,用于所述用户端根据所述预设加密规则将所述支付数据储存到所述区块链系统中所述用户对应的所述支付区块;
发送单元,用于所述用户端利用所述区块链系统将所述授权请求发送至所述授权端,所述授权请求至少携带所述支付区块的身份标识、所述目标软件的身份标识和所述用户的身份标识。
优选地,所述支付单元包括:
认证模块,用于所述用户端通过身份认证方式获取所述用户对应的唯一身份标识;
获取模块,用于所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息获取所述目标软件的授权费用规则;其中,所述目标软件的授权费用规则是根据不同的授权时长设定不同的授权费用,所述授权时长包括有限时间周期和永久;
选取模块,用于所述用户端根据所述目标软件的授权费用规则选取目标授权时长,得到所述目标授权时长对应的授权费用;
支付模块,用于所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付数据,所述支付数据至少包括支付凭证、支付金额、支付时间、随机数、随机数散列值、授权期限、授权标记、所述用户的唯一身份标识和所述目标软件的版本号。
优选地,所述支付模块包括:
支付子模块,用于所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付凭证;
设置子模块,用于基于所述支付凭证将所述授权标记设置为所述申请中授权标记;
监控子模块,用于所述用户端监控在预设阈值时间内是否接收到确定授权信息;
更新子模块,用于当所述用户端在所述预设阈值时间内接收到所述确定授权信息时,则确定授权成功,将所述授权标记更新为所述已授权标记;
请求子模块,用于当所述用户端在所述预设阈值时间内未接收到所述确定授权信息时,则确定授权失败,且发起退款请求;
所述更新子模块,还用于当所述用户端获取到退款成功信息时,将所述授权标记更新为所述授权失败标记。
优选地,所述第三储存单元包括:
生成模块,用于所述授权端利用所述区块链系统通过非对称加密算法生成所述授权方对应的公钥和私钥;
储存模块,用于所述用户端将所述支付凭证、所述支付金额、所述随机数、所述授权期限、所述用户的唯一身份标识和所述目标软件的版本号利用所述授权方对应的公钥进行加密储存到所述区块链系统中所述用户对应的所述支付区块,且将所述支付时间、所述授权标记和所述随机数散列值通过明文储存到所述区块链系统中所述用户对应的所述支付区块。
优选地,所述装置包括:
第四获取单元,所述授权端获取更新的所述目标软件注册信息,所述更新的所述目标软件注册信息与所述目标软件注册信息的区别至少为不同的版本号和不同的MD5值;
生成单元,用于所述区块链系统基于所述更新的所述目标软件注册信息生成所述目标软件对应的新版本区块;
第四储存单元,用于将所述更新的所述目标软件注册信息储存到所述目标软件对应的新版本区块。
为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第一方面所述软件防破解方法。
为了实现上述目的,根据本发明的第四方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面所述用于软件防破解装置的全部或部分步骤。
借由上述技术方案,本发明提供的软件防破解方法及装置,是由于目前的授权码方式和联机验证模式存在软件被破解使用的问题。为此,本发明通过将支付数据根据预设加密规则储存到区块链系统中所述用户对应的支付区块,可以保证只有授权方可以解密所述支付数据,以便只有所述授权方才能予以授权;所述授权端获取授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;所述授权端基于所述支付区块的身份标识获取对应的所述支付区块储存的所述支付数据;所述授权端根据所述支付数据获取授权标记,且基于所述授权标记、所述目标软件的身份标识和所述用户的身份标识确认授权结果,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;当所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块,可以保证只有授权用户可以进行验证,提高了授权验证安全性;本发明非常安全高效地完成软件授权使用,极大程度地降低软件被破解甚至盗版的风险。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本发明实施例提供的一种软件防破解方法流程图;
图2示出了本发明实施例提供的另一种软件防破解方法流程图;
图3示出了本发明实施例提供的一种软件防破解装置的组成框图;
图4示出了本发明实施例提供的另一种软件防破解装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
区块链系统基于P2P网络技术、加密技术、时间戳技术、区块链等技术,由数据层、网络层、共识层、应用层等组成,在区块链系统中,存在运行区块链软件的若干个节点,各节点通过P2P网络进行通信,按照共识机制共同维护基于时间戳的链式区块结构。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此,篡改区块链中的信息是一件极其困难的事。相比于传统的中心化系统而言,区块链系统具有两大核心特点:一是数据难以篡改、二是去中心化。基于这两个特点,区块链所记录的信息更加真实可靠。
软件产业是信息产业的核心,是信息社会的基础性、战略性产业,所以也出现了一批提供软件的授权方将软件开发完成后,通过收费授权的方式分发给软件的使用者或者个人,称之为用户。
授权方主要通过两种方式进行授权,一种是授权码,一种是联机验证。授权码的方式是用户通过在授权方处购买授权码,将授权码输入进软件中完成授权。联机验证的方式是用户在授权方处注册并获取授权后,每次软件启动后,都通过网络去验证用户是否已经被授权。
但是,授权码的方式下授权码的解析和验证在本地完成,盗版分子很容易通过反编译等手段修改验证过程,从而完成软件破解使用或者盗版;联机验证模式下盗版分子可以通过代理服务器模拟授权方对授权验证进行响应,从而完成软件破解使用或者盗版。因此,以上两种方式都存在软件被破解使用甚至盗版的问题。
对于目前如何有效地防止软件被破解使用甚至盗版的问题。针对此问题,发明人想到在区块链系统内为每个软件划分授权子链,由区块链系统中的网络节点共同进行子链维护及授权验证,结合加密技术的使用,极大提高了授权的可靠性和安全性;通过设置身份认证节点完成授权双方的身份认证及可信支付节点进行授权费的存取,在保证授权安全的情况下高效地完成软件授权。
为此,本发明实施例提供了一种软件防破解方法,通过该方法实现降低软件被破解甚至盗版的风险,其具体执行步骤如图1所示,包括:
101、授权端获取用户端发送的授权请求。
其中,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识。
所述用户端为区块链系统中的区块节点,所述区块节点用于用户进行授权操作,所述用户可以为个人,也可以为企业;所述目标软件是所述用户需要授权使用的软件。在所述区块链系统中预先针对目标软件设置专属对应的版本子链,在所述版本子链上设置版本区块,在所述版本区块内储存所述目标软件注册信息,所述目标软件注册信息是授权方(软件开发者)将目标软件的相关信息通过软件注册模块根据需要进行注册得到的,可以包括待授权软的唯一身份标识、版本号、软件包、授权费用规则等,本步骤不做具体限定,可根据需要扩充注册信息。其中,所述目标软件的唯一身份标识可以是ID,所述ID是授权方注册软件时软件注册模块为软件分配的软件ID;也可以是令牌等其他身份标识,对此,本步骤不做具体限定。
用户通过所述用户端构造授权请求,通过区块链系统将所述授权请求发送到授权端,所述授权端接收到授权请求,所述授权请求携带待验证信息,所述待验证信息是用于使授权方进行验证是否符合授权条件的信息;所述待验证信息至少包括支付区块的身份标识、目标软件的身份标识和用户的身份标识,在此基础上可以进行扩充,本步骤不做具体限定。
102、授权端根据支付区块的身份标识获取用户端对应目标软件的支付数据。
其中,所述支付数据按照预设加密规则储存在区块链系统中所述用户对应的所述支付区块。
所述支付区块储存的支付数据中包含经加密处理的信息和未加密处理的信息。授权端根据所述支付区块的身份标识可以获取到对应的支付区块,再获取所述支付区块储存的支付数据,将所述支付数据中经加密处理的信息进行解密,再结合未加密处理的信息,得到完整的原始的支付数据。
用户通过所述用户端根据预先储存在所述版本区块的所述授权费用规则支付授权费用,获得支付数据,所述支付数据可以包括支付凭证、支付金额等,本步骤不做具体限定。
在所述区块链系统中预先针对所述用户设置专属对应的支付子链,在所述支付子链上设置若干支付区块,每个支付区块对应一个用户储存其支付数据;其中,所述支付数据中包括需要加密储存的信息和不需要加密储存的信息,所述需要加密储存的信息可以为授权版本号、授权时间等,本步骤不做具体限定;所述不需要加密储存的信息可以为授权用户的身份ID、支付区块ID等,本步骤不做具体限定。
所述预设加密规则是将需要加密储存的支付数据进行加密处理后储存,将不需要加密储存的支付数据进行明文储存即可,具体的加密方式,不做具体限定;所述加密储存的支付数据,只有对应的授权方才能解密。
本步骤可以保证只有拥有解密方法的授权方才能获取到经加密处理的支付数据,才能完成对应的授权,避免其他方获知关键性支付数据,提高授权的安全性。
103、授权端根据支付数据获取授权标记,且基于授权标记、目标软件的身份标识和用户的身份标识确认授权结果。
其中,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记。
授权方已获取支付数据,所述支付数据包括被支付授权费用的目标软件的身份标识和已支付授权费用的用户的身份标识和授权标记,当所述授权标记为已授权标记时,代表重复授权则忽略该授权请求;当所述授权标记为授权失败标记时,代表授权已失效,则忽略该授权请求;当所述授权标记为申请中授权标记时,先匹配所述用户的身份标识与支付数据中的所述已支付授权费用的用户的身份标识来确定进行授权确认的用户是否为已付费用户;再匹配所述目标软件的身份标识与所述被支付授权费用的目标软件的身份标识来确定进行授权确认的目标软件是否为被付费软件。当上述均通过确认后,可以确定待确定授权的用户与目标软件是正确的,那么确认授权结果为授权有效。本步骤不做具体限定。
104、当授权结果为授权有效时,授权端生成授权信息,且根据预设加密规则将授权信息储存到区块链系统中目标软件对应的授权区块。
当根据步骤103得到的授权结果为授权有效时,授权端根据所述支付数据生成授权信息,所述授权信息可以为授权版本号、授权时间等,本步骤不做具体限定。
所述授权信息包括需要加密处理的信息和不需要加密处理的信息。所述预设加密规则是将需要加密储存的授权信息进行加密处理后储存,将不需要加密储存的授权信息进行明文储存即可,具体的加密方式,不做具体限定;所述加密储存的授权信息,只有对应的用户才能解密。
本步骤可以保证只有拥有解密方法的用户才能获取到经加密处理的授权信息,才能完成对应的授权验证,提高授权验证的安全性。
所述区块链系统预先针对目标软件设置专属对应的授权子链,所述授权子链上设置若干授权区块,每个授权区块对应储存一个授权用户的授权信息。
基于上述图1实施例的实现方式可以看出,本发明提供的软件防破解方法及装置,是由于目前的授权码方式和联机验证模式存在软件被破解使用的问题。为此,本发明通过将支付数据根据预设加密规则储存到区块链系统中所述用户对应的支付区块,可以保证只有授权方可以解密所述支付数据,以便只有所述授权方才能予以授权;所述授权端获取授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;所述授权端基于所述支付区块的身份标识获取对应的所述支付区块储存的所述支付数据;所述授权端根据所述支付数据获取授权标记,且基于所述授权标记、所述目标软件的身份标识和所述用户的身份标识确认授权结果,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;当所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块,可以保证只有授权用户可以进行验证,提高了授权验证安全性;本发明非常安全高效地完成软件授权使用,极大程度地降低软件被破解甚至盗版的风险。
进一步的,作为对图1所示实施例的细化及扩展,本发明实施例还提供了另一种软件防破解方法,如图2所示,其具体步骤如下:
201、授权端通过身份认证方式获取授权方对应的唯一身份标识授。
所述授权端是区块链系统中的区块节点,用于授权方用于对申请授权的用户进行授权操作。所述授权方可以为个人,也可以为企业。
所述身份认证方式是对授权双方进行身份认证,支持企业和个人两种认证主体。针对企业用户使用营业执照等企业证件进行认证,针对个人用户使用实名认证方式进行认证。认证的好处在于确保授权活动的双方的安全性,软件开发企业认证后,可以确保某款软件仅该企业可以授权;用户认证后,可在后续的授权及验证活动中识别用户的身份。认证成功后,认证主体获得唯一的一个身份ID,同时认证主体可以被赋予使用非对称加密算法生成的公钥和私钥。
202、授权端基于授权方对应的唯一身份标识将目标软件的信息进行注册,得到目标软件注册信息。
其中,所述目标软件注册信息至少包含所述目标软件的唯一身份标识、版本号、软件包、软件大小、发布日期、授权费用规则和MD5值以及所述授权方的唯一身份标识;
软件注册是完成软件资源的注册,认证完成后的授权方注册目标软件,目标软件的软件注册信息可以包含8个基本信息:(1)目标软件ID(注册目标软件时分配的ID),目标软件ID是某款软件的唯一身份标识;(2)目标软件版本号(需手工输入);(3)目标软件软件包(手工上传);(4)目标软件软件大小(根据上传的目标软件包自动计算);(5)发布日期(需手工输入);6)授权费用规则(需手工选择);(7)授权方的身份ID;(8)目标软件MD5值,MD5值是使用md5算法对软件包计算数字摘要,软件包的改动会导致md5变化,所以使用md5来验证目标软件的合法性。目标软件注册成功后,不提供修改功能,当目标软件有更新时,可以在该软件下发布新的版本即可,每个版本的软件均对应一个版本号和md5值;其他信息可根据需要进行扩充。
203、区块链系统将目标软件注册信息储存到目标软件对应的版本区块。
进一步的,所述授权端获取更新的所述目标软件注册信息,所述更新的所述目标软件注册信息与所述目标软件注册信息的区别至少为不同的版本号和不同的MD5值;所述区块链系统基于所述更新的所述目标软件注册信息生成所述目标软件对应的新版本区块;将所述更新的所述目标软件注册信息储存到所述目标软件对应的新版本区块。
目标软件注册成功后,区块链系统为所述已经注册成功的目标软件生成版本子链和授权子链,版本子链的创世区块ID为目标软件ID,储存了目标软件当前注册的授权方的身份ID、版本号、软件大小、发布日期、授权费用规则及md5等信息。当所述目标软件发布新版本时,区块链系统在版本子链上继续生成新的区块,保存新的软件信息,综上版本子链保存了目标软件的所有发布信息,用于后续的授权软件验证。授权子链用于保存所述目标软件的授权信息,授权子链的创世区块ID使用软件ID+Auth,授权子链的其他每一个区块,保存一个用户的授权信息,授权信息包括:(1)授权用户的身份ID、(2)授权版本号、(3)授权时间、(4)授权截止日期、(5)支付区块ID,其中信息(2)-(4)使用授权用户的公钥进行加密储存,这样保证了只有授权用户可以进行授权验证,保证了授权的安全性。
204、用户端根据储存到目标软件对应的版本区块的目标软件注册信息支付授权费用,获得支付数据。
本步骤结合上述方法中102步骤的描述,在此相同的内容不赘述。
所述用户端通过身份认证方式获取所述用户对应的唯一身份标识;所述用户端根据所述在区块链系统中所述目标软件对应的版本区块的目标软件注册信息获取所述目标软件的授权费用规则;其中,所述目标软件的授权费用规则是根据不同的授权时长设定不同的授权费用,所述授权时长包括有限时间周期和永久,例如:有限时间周期为2年(授权费用为268元),有限时间周期为5年(授权费用为530元),永久为永久使用(授权费用为2280元);所述用户端根据所述目标软件的授权费用规则选取目标授权时长,得到所述目标授权时长对应的授权费用,例如:选取目标授权时长为5年,则授权费用为530元;所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付数据,所述支付数据至少包括支付凭证、支付金额、支付时间、随机数、随机数散列值、授权期限、授权标记、所述用户的唯一身份标识和所述目标软件的版本号;例如:所述用户端在2022年7月25日8点整支付530元,获得所述支付数据,所述支付数据包括支付凭证、支付金额530元、支付时间2022年7月25日8点整、随机数25、随机数散列值XXXXXXXX、授权期限5年、授权标记为2(2为已授权)、所述用户的唯一身份标识为ID和所述目标软件的版本号YYYYYY;
进一步的,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付数据,包括:所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付凭证;基于所述支付凭证将所述授权标记设置为所述申请中授权标记;所述用户端监控在预设阈值时间内是否接收到确定授权信息;当所述用户端在所述预设阈值时间内接收到所述确定授权信息时,则确定授权成功,将所述授权标记更新为所述已授权标记;当所述用户端在所述预设阈值时间内未接收到所述确定授权信息时,则确定授权失败,且发起退款请求;当所述用户端获取到退款成功信息时,将所述授权标记更新为所述授权失败标记。
例如:所述用户首先获取目标软件的授权费用规则为“有限时间周期为2年(授权费用为268元),有限时间周期为5年(授权费用为530元),永久为永久使用(授权费用为2280元)”,选择“有限时间周期为2年(授权费用为268元)”进行支付,支付后生成支付凭证。支付子链的每一个区块保存支付凭证、用户ID、目标软件ID、待授权版本号、授权期限、随机数、支付金额、支付时间、授权标记、随机数散列值,其中支付凭证、用户ID、目标软件ID、版本号、授权期限、随机数、支付金额使用授权方的公钥进行加密储存,支付时间、授权标记、随机数散列值使用明文储存。在支付完成后至获得授权前,授权标记为1,代表正在申请授权;当授权成功后,授权标记为2,代表获得了授权;当授权失败退款后,授权标记为3。判断是否授权成功的方法是将支付时间记为t1,当前时间记为t2,监控t2-t1是否大于等于86400秒,若是,且授权标记为1时,代表授权失败,发起支付退款流程,退款成功后,授权标记更新为3。
205、用户端根据预设加密规则将支付数据储存到区块链系统中用户对应的支付区块。
本步骤结合上述方法中102步骤的描述,在此相同的内容不赘述。
所述用户端根据预设加密规则将所述支付数据储存到区块链系统中所述用户对应的支付区块,包括:所述授权端利用区块链系统通过非对称加密算法生成所述授权方对应的公钥和私钥;所述用户端将所述支付凭证、所述支付金额、所述随机数、所述授权期限、所述用户的唯一身份标识和所述目标软件的版本号利用所述授权方对应的公钥进行加密储存到区块链系统中所述用户对应的支付区块,且将所述支付时间、所述授权标记和所述随机数散列值通过明文储存到区块链系统中所述用户对应的支付区块。
206、用户端利用区块链系统将授权请求发送至授权端。
其中,授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识。
本步骤结合上述方法中101步骤的描述,在此相同的内容不赘述。
在所述用户支付成功后,所述用户端构造授权请求:将用户ID、支付区块ID和目标软件ID发送至区块链系统。
207、授权端获取用户端发送的授权请求。
其中,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识。
本步骤结合上述方法中101步骤的描述,在此相同的内容不赘述。
所述授权端接收所述步骤206的用户端发送的授权请求。
208、授权端根据支付区块的身份标识获取用户端对应目标软件的支付数据。
本步骤结合上述方法中102步骤的描述,在此相同的内容不赘述。
所述授权端通过区块链系统接收到所述授权请求携带的待授权数据包,所述待授权数据包包括用户ID、支付区块ID和目标软件ID,再通过支付区块ID,得到加密后的支付凭证、用户ID、目标软件ID、版本号、授权期限、随机数、支付金额以及明文的支付时间、授权标记、随机数散列值信息,对加密的信息进一步使用自身的私钥解密后,得到支付凭证、用户ID、目标软件ID、版本号、授权期限、随机数和支付金额信息。
209、授权端根据支付数据获取授权标记,且基于授权标记、目标软件的身份标识和用户的身份标识确认授权结果。
本步骤结合上述方法中103步骤的描述,在此相同的内容不赘述。
210、当授权结果为授权有效时,授权端生成授权信息,且根据预设加密规则将授权信息储存到区块链系统中目标软件对应的授权区块。
本步骤结合上述方法中104步骤的描述,在此相同的内容不赘述。
所述授权信息至少包括授权用户的唯一身份标识、支付区块的唯一身份标识、授权软件版本号、授权时间和授权截止日期;所述授权端将所述授权软件版本号、所述授权时间和所述授权截止日期利用所述授权用户对应的公钥进行加密储存到区块链系统中所述授权方对应的授权区块,且将所述授权用户的唯一身份标识和所述支付区块的唯一身份标识通过明文储存到区块链系统中所述授权方对应的授权区块。
进一步的,本发明在所述根据预设加密规则将授权信息储存到区块链系统中目标软件对应的授权区块之后,利用区块链系统将目标软件对应的支付区块的授权标记更新为已授权标记。
结合步骤204的例子说明步骤209和210以及上述步骤,在所述授权端获取解密后的支付数据后,执行如下步骤:
Step1:当授权标记为2时,代表已授权,代表重复授权则忽略该授权请求。
Step2:当授权标记为3时,代表授权已失效,则忽略该授权请求。
Step3:当授权标记为1时,代表授权中,此时执行如下判断:
Step3.1:对随机数使用散列函数进行运算,与随机数散列值信息进行比较是否相同,相同则进行下一步。
Step3.2:检查所述支付区块中解密后的用户ID、目标软件ID是否与授权请求中的用户ID,目标软件ID相同,相同则进行下一步。
Step3.3:判断支付金额是否与对应目标软件的授权期限相匹配,如果匹配则说明本次授权有效。此时区块链系统构造授权区块,保存本次授权信息,授权信息包括:(1)授权用户的身份ID、(2)授权版本号、(3)授权时间、(4)授权截止日期、(5)支付区块ID,其中信息(2)-(4)使用授权用户的公钥进行加密储存,这样保证了只有授权用户可以进行授权验证,保证了授权的安全性。将授权区块及随机数封装为授权确认请求发送至区块链网络中,区块链网络中的其他节点收到授权确认请求后,通过对随机数使用散列函数进行计算得到随机数散列值与通过支付区块ID获取到的随机数散列值进行比较,如果相同,则代表授权确认成功,当前区块链网络中超过半数以上的节点确认后,则将授权区块同步至授权软件对应的授权子链中,然后更新支付区块的授权标记为2,代表已经完成授权。
基于本发明提供的授权方法,其对应的验证过程为:
当用户使用软件时,进行授权验证,首先验证当前软件的合法性,步骤如下:
S1:通过软件版本子链查找与当前软件版本对应的版本区块,若找到,则进行下一步;
S2:判断版本区块中的软件大小是否和本地软件大小一致,若一致,则进行下一步;
S3:判断版本区块中的软件md5值是否和本地软件的md5值一致,若一致,则验证授权的合法性:
S3.1:在软件授权子链上查找授权区块寻找当前用户ID对应的授权信息区块。找到则进行下一步;
S3.2:使用当前用户公钥对授权信息区块中的授权版本号、授权时间、授权截止日期进行解密,若解密成功,则进行下一步;
S3.3:判断授权截止日期是否已到期,未到期或者授权截止日期为永久则进行下一步;
S3.4:判断授权版本号是否与本地版本号匹配,匹配或者授权版本号为所有版本则代表当前用户已经获得当前软件的使用授权,且在授权有效期内,可以继续使用该软件。
S1-S3.4有任何一个条件不满足,则代表当前用户未获得当前软件的使用授权,无法使用软件。
基于上述图2的实现方式可以看出,本发明提供一种软件防破解方法,通过授权端利用区块链系统通过非对称加密算法生成所述授权方对应的公钥和私钥;再根据所述公钥和私钥配合使用对支付数据和授权信息进行部分加密储存,再对应解密获取,可以对特定用户和授权方进行权利限定,保证只有特定对象才可以获取支付数据和授权信息,避免第三方基于上述信息进行软件授权破解,提高了授权验证的安全性。
进一步的,作为对上述图1所示方法的实现,本发明实施例还提供了一种软件防破解装置,用于对上述图1所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图3所示,该装置包括:
第一获取单元31,用于授权端获取用户端发送的授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;
第二获取单元32,用于所述授权端根据从所述第一获取单元31得到的所述支付区块的身份标识获取所述用户端对应所述目标软件的支付数据,所述支付数据按照预设加密规则储存在区块链系统中所述用户对应的所述支付区块;
第三获取单元33,用于所述授权端根据从所述第二获取单元32得到的所述支付数据获取授权标记,且基于所述授权标记、所述目标软件的身份标识和所述用户的身份标识确认授权结果,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;
第一储存单元34,用于当从所述第三获取单元33得到的所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块。
进一步的,作为对上述图2所示方法的实现,本发明实施例还提供了另一种软件防破解装置,用于对上述图2所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图4所示,该装置包括:
第二方面,本发明提供一种软件防破解装置,包括:
认证单元35,用于所述授权端通过身份认证方式获取授权方对应的唯一身份标识;
注册单元36,用于所述授权端基于从所述认证单元35得到的所述授权方对应的唯一身份标识将所述目标软件的信息进行注册,得到所述目标软件注册信息,所述目标软件注册信息至少包含所述目标软件的唯一身份标识、版本号、软件包、软件大小、发布日期、授权费用规则和MD5值以及所述授权方的唯一身份标识;
第二储存单元37,用于所述区块链系统将从所述注册单元36得到的所述目标软件注册信息储存到所述目标软件对应的版本区块;
第四获取单元41,所述授权端获取更新的所述目标软件注册信息,所述更新的所述目标软件注册信息与所述目标软件注册信息的区别至少为不同的版本号和不同的MD5值;
生成单元42,用于所述区块链系统基于从所述第二获取单元41得到的所述更新的所述目标软件注册信息生成所述目标软件对应的新版本区块;
第四储存单元43,用于将所述更新的所述目标软件注册信息储存到从所述生成单元42得到的所述目标软件对应的新版本区块;
支付单元38,用于所述用户端根据从所述第二储存单元37或所述第四储存单元43得到的所述储存到所述目标软件对应的版本区块的所述目标软件注册信息支付授权费用,获得所述支付数据;
第三储存单元39,用于所述用户端根据所述预设加密规则将从所述支付单元38得到的所述支付数据储存到所述区块链系统中所述用户对应的所述支付区块;
发送单元40,用于所述用户端利用所述区块链系统将所述授权请求发送至所述授权端,所述授权请求至少携带从所述第三储存单元39得到的所述支付区块的身份标识、所述目标软件的身份标识和所述用户的身份标识;
第一获取单元31,用于授权端获取从所述发送单元40得到的用户端发送的授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;
第二获取单元32,用于所述授权端根据从所述第一获取单元31得到的所述支付区块的身份标识获取所述用户端对应所述目标软件的支付数据,所述支付数据按照预设加密规则储存在区块链系统中所述用户对应的所述支付区块;
第三获取单元33,用于所述授权端根据从所述第二获取单元32得到的所述支付数据获取授权标记,且基于所述授权标记、所述目标软件的身份标识和所述用户的身份标识确认授权结果,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;
第一储存单元34,用于当从所述第三获取单元33得到的所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块。
进一步的,所述第一储存单元34包括:
生成模块341,用于基于从所述获取模块341得到的所述已授权标记所述授权端生成授权信息,所述授权信息至少包括授权用户的唯一身份标识、支付区块的唯一身份标识、授权软件版本号、授权时间和授权截止日期;
储存模块342,用于所述授权端将从所述生成模块341得到的所述授权软件版本号、所述授权时间和所述授权截止日期利用所述授权用户对应的公钥进行加密储存到所述区块链系统中所述目标软件对应的授权区块,且将所述授权用户的唯一身份标识和所述支付区块的唯一身份标识通过明文储存到所述区块链系统中所述目标软件对应的授权区块。
进一步的,所述支付单元38包括:
认证模块381,用于所述用户端通过身份认证方式获取所述用户对应的唯一身份标识;
获取模块382,用于所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息获取所述目标软件的授权费用规则;其中,所述目标软件的授权费用规则是根据不同的授权时长设定不同的授权费用,所述授权时长包括有限时间周期和永久;
选取模块383,用于所述用户端根据从所述获取模块382得到的所述目标软件的授权费用规则选取目标授权时长,得到所述目标授权时长对应的授权费用;
支付模块384,用于所述用户端根据从所述选取模块383得到的所述目标授权时长对应的授权费用进行支付,获得所述支付数据,所述支付数据至少包括支付凭证、支付金额、支付时间、随机数、随机数散列值、授权期限、授权标记、从所述认证模块381得到的所述用户的唯一身份标识和所述目标软件的版本号。
进一步的,所述支付模块384包括:
支付子模块3841,用于所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付凭证;
设置子模块3842,用于基于从所述支付子模块3841得到的所述支付凭证将所述授权标记设置为所述申请中授权标记;
监控子模块3843,用于所述用户端监控在预设阈值时间内是否接收到确定授权信息;
更新子模块3844,用于当从所述监控子模块3843得到的所述用户端在所述预设阈值时间内接收到所述确定授权信息时,则确定授权成功,将所述授权标记更新为所述已授权标记;
请求子模块3845,用于当从所述监控子模块3843得到的所述用户端在所述预设阈值时间内未接收到所述确定授权信息时,则确定授权失败,且发起退款请求;
所述更新子模块3844,还用于当从请求子模块3845得到的所述用户端获取到退款成功信息时,将所述授权标记更新为所述授权失败标记。
进一步的,所述第三储存单元39包括:
生成模块391,用于所述授权端利用所述区块链系统通过非对称加密算法生成所述授权方对应的公钥和私钥;
储存模块392,用于所述用户端将所述支付凭证、所述支付金额、所述随机数、所述授权期限、所述用户的唯一身份标识和所述目标软件的版本号利用从所述生成模块391得到的所述授权方对应的公钥进行加密储存到所述区块链系统中所述用户对应的所述支付区块,且将所述支付时间、所述授权标记和所述随机数散列值通过明文储存到所述区块链系统中所述用户对应的所述支付区块。
进一步的,本发明实施例还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述图1-2中所述的软件防破解方法。
进一步的,本发明实施例还提供一种存储介质,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述图1-2中所述的软件防破解方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种软件防破解方法,其特征在于,所述方法包括:
授权端获取用户端发送的授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;
所述授权端根据所述支付区块的身份标识获取所述用户端对应所述目标软件的支付数据,所述支付数据按照预设加密规则储存在区块链系统中所述用户对应的所述支付区块;
所述授权端根据所述支付数据获取授权标记,且基于所述授权标记、所述目标软件的身份标识和所述用户的身份标识确认授权结果,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;
当所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块。
2.根据权利要求1所述的方法,其特征在于,所述当所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块,包括:
当所述授权结果为授权有效时,所述授权端生成授权信息,所述授权信息至少包括授权用户的唯一身份标识、支付区块的唯一身份标识、授权软件版本号、授权时间和授权截止日期;
所述授权端将所述授权软件版本号、所述授权时间和所述授权截止日期利用所述授权用户对应的公钥进行加密储存到所述区块链系统中所述目标软件对应的授权区块,且将所述授权用户的唯一身份标识和所述支付区块的唯一身份标识通过明文储存到所述区块链系统中所述目标软件对应的授权区块。
3.根据权利要求2所述的方法,其特征在于,在所述授权端获取用户端发送的授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识之前,所述方法包括:
所述授权端通过身份认证方式获取授权方对应的唯一身份标识;
所述授权端基于所述授权方对应的唯一身份标识将所述目标软件的信息进行注册,得到所述目标软件注册信息,所述目标软件注册信息至少包含所述目标软件的唯一身份标识、版本号、软件包、软件大小、发布日期、授权费用规则和MD5值以及所述授权方的唯一身份标识;
所述区块链系统将所述目标软件注册信息储存到所述目标软件对应的版本区块;
所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息支付授权费用,获得所述支付数据;
所述用户端根据所述预设加密规则将所述支付数据储存到所述区块链系统中所述用户对应的所述支付区块;
所述用户端利用所述区块链系统将所述授权请求发送至所述授权端,所述授权请求至少携带所述支付区块的身份标识、所述目标软件的身份标识和所述用户的身份标识。
4.根据权利要求3所述的方法,其特征在于,所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息支付授权费用,获得所述支付数据,包括:
所述用户端通过身份认证方式获取所述用户对应的唯一身份标识;
所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息获取所述目标软件的授权费用规则;其中,所述目标软件的授权费用规则是根据不同的授权时长设定不同的授权费用,所述授权时长包括有限时间周期和永久;
所述用户端根据所述目标软件的授权费用规则选取目标授权时长,得到所述目标授权时长对应的授权费用;
所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付数据,所述支付数据至少包括支付凭证、支付金额、支付时间、随机数、随机数散列值、授权期限、所述授权标记、所述用户的唯一身份标识和所述目标软件的版本号。
5.根据权利要求4所述的方法,其特征在于,所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付数据,包括:
所述用户端根据所述目标授权时长对应的授权费用进行支付,获得所述支付凭证;
基于所述支付凭证将所述授权标记设置为所述申请中授权标记;
所述用户端监控在预设阈值时间内是否接收到确定授权信息;
当所述用户端在所述预设阈值时间内接收到所述确定授权信息时,则确定授权成功,将所述授权标记更新为所述已授权标记;
当所述用户端在所述预设阈值时间内未接收到所述确定授权信息时,则确定授权失败,且发起退款请求;
当所述用户端获取到退款成功信息时,将所述授权标记更新为所述授权失败标记。
6.根据权利要求4所述的方法,其特征在于,所述用户端根据所述预设加密规则将所述支付数据储存到所述区块链系统中所述用户对应的所述支付区块,包括:
所述授权端利用所述区块链系统通过非对称加密算法生成所述授权方对应的公钥和私钥;
所述用户端将所述支付凭证、所述支付金额、所述随机数、所述授权期限、所述用户的唯一身份标识和所述目标软件的版本号利用所述授权方对应的公钥进行加密储存到所述区块链系统中所述用户对应的所述支付区块,且将所述支付时间、所述授权标记和所述随机数散列值通过明文储存到所述区块链系统中所述用户对应的所述支付区块。
7.根据权利要求3-6中任一项所述的方法,其特征在于,在所述用户端根据所述储存到所述目标软件对应的版本区块的所述目标软件注册信息支付授权费用,获得所述支付数据之前,所述方法包括:
所述授权端获取更新的所述目标软件注册信息,所述更新的所述目标软件注册信息与所述目标软件注册信息的区别至少为不同的版本号和不同的MD5值;
所述区块链系统基于所述更新的所述目标软件注册信息生成所述目标软件对应的新版本区块;
将所述更新的所述目标软件注册信息储存到所述目标软件对应的新版本区块。
8.一种软件防破解装置,其特征在于,包括:
第一获取单元,用于授权端获取用户端发送的授权请求,所述授权请求至少携带支付区块的身份标识、目标软件的身份标识和用户的身份标识;
第二获取单元,用于所述授权端根据所述支付区块的身份标识获取所述用户端对应所述目标软件的支付数据,所述支付数据按照预设加密规则储存在区块链系统中所述用户对应的所述支付区块;
第三获取单元,用于所述授权端根据所述支付数据获取授权标记,且基于所述授权标记、所述目标软件的身份标识和所述用户的身份标识确认授权结果,所述授权标记至少包括申请中授权标记、已授权标记和授权失败标记;
第一储存单元,用于当所述授权结果为授权有效时,所述授权端生成授权信息,且根据所述预设加密规则将所述授权信息储存到所述区块链系统中所述目标软件对应的授权区块。
9.一种存储介质,所述存储介质包括存储的程序,其特征在于,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求7中任一项所述软件防破解方法。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至权利要求7中任一项所述软件防破解方法。
CN202211086697.XA 2022-09-07 2022-09-07 一种软件防破解方法及装置 Active CN115168811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211086697.XA CN115168811B (zh) 2022-09-07 2022-09-07 一种软件防破解方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211086697.XA CN115168811B (zh) 2022-09-07 2022-09-07 一种软件防破解方法及装置

Publications (2)

Publication Number Publication Date
CN115168811A true CN115168811A (zh) 2022-10-11
CN115168811B CN115168811B (zh) 2022-11-29

Family

ID=83481102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211086697.XA Active CN115168811B (zh) 2022-09-07 2022-09-07 一种软件防破解方法及装置

Country Status (1)

Country Link
CN (1) CN115168811B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120259781A1 (en) * 2011-04-07 2012-10-11 Fote Charles T Broker-mediated payment systems and methods
CN108197913A (zh) * 2017-12-18 2018-06-22 深圳前海微众银行股份有限公司 基于区块链的支付方法、系统以及计算机可读存储介质
CN108923908A (zh) * 2018-06-25 2018-11-30 百度在线网络技术(北京)有限公司 授权处理方法、装置、设备及存储介质
CN110619222A (zh) * 2019-08-21 2019-12-27 上海唯链信息科技有限公司 基于区块链的授权处理方法、装置、系统及介质
CN111209542A (zh) * 2020-04-23 2020-05-29 雪球(北京)技术开发有限公司 一种权限管理方法、装置、存储介质及电子设备
CN111552950A (zh) * 2020-04-27 2020-08-18 腾讯科技(深圳)有限公司 一种软件授权方法、装置及计算机可读存储介质
CN113190868A (zh) * 2021-05-27 2021-07-30 银清科技有限公司 一种基于区块链系统的支付信息查看方法及节点

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120259781A1 (en) * 2011-04-07 2012-10-11 Fote Charles T Broker-mediated payment systems and methods
CN108197913A (zh) * 2017-12-18 2018-06-22 深圳前海微众银行股份有限公司 基于区块链的支付方法、系统以及计算机可读存储介质
CN108923908A (zh) * 2018-06-25 2018-11-30 百度在线网络技术(北京)有限公司 授权处理方法、装置、设备及存储介质
CN110619222A (zh) * 2019-08-21 2019-12-27 上海唯链信息科技有限公司 基于区块链的授权处理方法、装置、系统及介质
CN111209542A (zh) * 2020-04-23 2020-05-29 雪球(北京)技术开发有限公司 一种权限管理方法、装置、存储介质及电子设备
CN111552950A (zh) * 2020-04-27 2020-08-18 腾讯科技(深圳)有限公司 一种软件授权方法、装置及计算机可读存储介质
CN113190868A (zh) * 2021-05-27 2021-07-30 银清科技有限公司 一种基于区块链系统的支付信息查看方法及节点

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李志龙: "基于非对称加密算法的软件授权方案", 《福建电脑》 *

Also Published As

Publication number Publication date
CN115168811B (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
CN107566116B (zh) 用于数字资产确权登记的方法及装置
JP5695120B2 (ja) システム間シングルサインオン
US20210152343A1 (en) Data processing method and apparatus
CN106230784B (zh) 一种设备验证方法及装置
US8843415B2 (en) Secure software service systems and methods
KR100912276B1 (ko) 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템
TWI454111B (zh) 用於確保通訊之鑑別及完備性的技術
KR100746030B1 (ko) 권리 위임에 의해 권리 객체를 대리하여 생성하는 방법 및장치
CN112364305B (zh) 基于区块链平台的数字内容版权保护方法和装置
JP2005537559A (ja) トランザクションの安全な記録
CN114329529A (zh) 一种基于区块链的资产数据管理方法及系统
CN113312664B (zh) 用户数据授权方法及用户数据授权系统
US20130173923A1 (en) Method and system for digital content security cooperation
CN111914293A (zh) 一种数据访问权限验证方法、装置、计算机设备及存储介质
EP2289013B1 (en) A method and a device for protecting private content
CN112800392A (zh) 基于软证书的授权方法和装置、存储介质
US8220059B2 (en) Method and apparatus for generating rights object by reauthorization
CN116167017A (zh) 一种基于区块链技术的鞋类原创设计ai数字版权管理系统
JP2004140636A (ja) 電子文書の署名委任システム、署名委任サーバ及び署名委任プログラム
CN115168811B (zh) 一种软件防破解方法及装置
CN102236753A (zh) 版权管理方法及系统
CN115225286A (zh) 应用访问鉴权方法及装置
KR102321204B1 (ko) 스마트 재산화를 이용한 디지털 콘텐츠의 지적재산권 보호 방법 및 그 시스템
US12120247B2 (en) Owner identity confirmation system, certificate authority server and owner identity confirmation method
KR100834754B1 (ko) 실행흐름 측정 및 검증이 가능한 프로그램 배포 방법

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
GR01 Patent grant
GR01 Patent grant