CN116244725A - 基于区块链的文件处理方法及装置、设备、文件投稿系统 - Google Patents

基于区块链的文件处理方法及装置、设备、文件投稿系统 Download PDF

Info

Publication number
CN116244725A
CN116244725A CN202111494980.1A CN202111494980A CN116244725A CN 116244725 A CN116244725 A CN 116244725A CN 202111494980 A CN202111494980 A CN 202111494980A CN 116244725 A CN116244725 A CN 116244725A
Authority
CN
China
Prior art keywords
file
account
contribution
blockchain
review
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
CN202111494980.1A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111494980.1A priority Critical patent/CN116244725A/zh
Publication of CN116244725A publication Critical patent/CN116244725A/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请的实施例揭示了一种基于区块链的文件处理方法及装置、设备、文件投稿系统。该方法包括:通过作者账户发起对于区块链上部署的第一智能合约的调用,以将投稿文件和文件相关信息传入所述第一智能合约;在所述第一智能合约中根据第一访问策略生成所述投稿文件对应的密文,并将所述密文和所述文件相关信息存储至所述区块链上,其中,所述第一访问策略包括编辑账户对于所述投稿文件具有访问权限;通过区块链网络向所述作者账户返回所述投稿文件对应的凭证,并向所述编辑账户发送用于指示所述投稿文件已存储至区块链上的通知消息。本申请的实施例能够在较大程度上减小了投稿文件的原文被泄漏的可能性,并且还能对投稿文件进行可信的同行评审。

Description

基于区块链的文件处理方法及装置、设备、文件投稿系统
技术领域
本申请涉及区块链技术领域,具体涉及一种基于区块链的文件处理方法及装置、设备,还涉及一种文件投稿系统。
背景技术
区块链是新一代信息技术的重要组成部分,是分布式网络、加密技术、智能合约等多种技术集成的新型数据库软件,通过数据透明、不易篡改、可追溯,解决网络空间的信任和安全问题,推动互联网从传递信息向传递价值变革。
目前,区块链技术已逐渐在著作权领域应用,一般是在将投稿文件的原文采用哈希算法进行哈希运算之后,将得到的哈希值上链存证,并提供投稿文件的存在性证明,然后将投稿文件的原文公开在区块链网络中。这样虽然可以实现投稿文件的便捷投稿,也能提供投在文件在区块链上的存在性证明,但也在更大规模上泄漏稿件原文,增加了稿件内容被剽窃的可能性。
发明内容
为解决上述技术问题,本申请的实施例提供了一种基于区块链的文件处理方法、基于区块链的文件处理装置、电子设备、计算机可读存储介质以及计算机程序产品,还提供了一种文件投稿系统。
根据本申请实施例的一个方面,提供了一种基于区块链的文件处理方法,包括:通过作者账户发起对于区块链上部署的第一智能合约的调用,以将投稿文件和文件相关信息传入所述第一智能合约;在所述第一智能合约中根据第一访问策略生成所述投稿文件对应的密文,并将所述密文和所述文件相关信息存储至所述区块链上,其中,所述第一访问策略包括编辑账户对于所述投稿文件具有访问权限;通过区块链网络向所述作者账户返回所述投稿文件对应的凭证,并向所述编辑账户发送用于指示所述投稿文件已存储至区块链上的通知消息。
根据本申请实施例的一个方面,提供了一种基于区块链的文件处理装置,包括:文件传入模块,配置为通过作者账户发起对于区块链上部署的第一智能合约的调用,以将投稿文件和文件相关信息传入所述第一智能合约;文件上链模块,配置为在所述第一智能合约中根据第一访问策略生成所述投稿文件对应的密文,并将所述密文和所述文件相关信息存储至所述区块链上,其中,所述第一访问策略包括编辑账户对于所述投稿文件具有访问权限;信息返回模块,配置为通过区块链网络向所述作者账户返回所述投稿文件对应的凭证,并向所述编辑账户发送用于指示所述投稿文件已存储至区块链上的通知消息。
根据本申请实施例的一个方面,提供了一种文件投稿系统,包括:区块链网络,其所提供的区块链上部署有多个智能合约;密钥管理端,用于生成属性加密所需的公开参数和主密钥,并根据所述公开参数、所述主密钥和每个业务账户的身份属性分别生成每个业务账户的私钥,所述业务账户包括作者账户、编辑账户和评审账户中的至少一种;作者客户端,其中登录有作者账户,其通过调用所述区块链上部署的第一智能合约,将投稿文件对应的密文和文件相关信息上链,并获得所述区块链网络返回的所述投稿文件对应的凭证,所述投稿文件对应的密文是使用所述属性加密算法根据第一访问策略生成,所述第一访问策略中包含对于所述投稿文件具有访问权限的编辑账户;编辑客户端,其中登录有编辑账户,其通过调用第二智能合约获得区块链上是否存在与所述投稿文件的内容相似的目标文件,以及通过调用第三智能合约获得对于所述目标文件的访问权限;评审客户端,其中登录有评审账户,其在所述编辑客户端得到区块链上不存在与所述投稿文件的内容相似的目标文件之后,调用第四智能合约以进行对于所述投稿文件的评审。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的基于区块链的文件处理方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的基于区块链的文件处理方法。
根据本申请实施例的一个方面,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的基于区块链的文件处理方法中的步骤。
在本申请的实施例提供的技术方案中,是通过区块链技术结合属性加密方式来提供投稿文件的存在性证明功能,具体来说,首先采用属性加密的方式根据第一访问策略生成投稿文件对应的密文,然后将密文和文件相关信息上链,由此可以看出,本实施例的技术方案是在区块链网络中公开投稿文件对应的密文,并且由于第一访问策略包括编辑账户对于该投稿文件具有访问权限,编辑账户能够基于区块链上存储的密文成功解密获得原文,其它不被包含在第二访问策略中的账户则无法获得文件原文,在较大程度上减小了文件原文被泄漏的可能性,从而降低文件内容被剽窃的可能性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是一示例性实施例示出的一种区块链网络的结构示意图;
图2是本申请的实施例涉及的应用场景的示意图;
图3是本申请的一示例性实施例示出的一种基于区块链的文件处理方法的流程图;
图4揭示了基于区块链和属性加密算法的文件确权功能的示例性流程;
图5是本申请的另一示例性实施例示出的基于区块链的文件处理方法的流程图;
图6是本申请的另一示例性实施例示出的基于区块链的文件处理方法的流程图;
图7揭示了基于区块链和属性加密算法的文件一稿多投检测功能的示例性流程;
图8是本申请的另一示例性实施例示出的基于区块链的文件处理方法的流程图;
图9是本申请的另一示例性实施例示出的基于区块链的文件处理方法的流程图;
图10揭示了基于区块链和属性加密算法的文件评审功能的示例性流程;
图11是本申请的一示例性实施例示出的一种基于区块链的文件处理装置的框图;
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先说明的是,本申请的实施例涉及区块链(Blockchain)技术。区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链是指一套去中心化、具备分布式存储特点的基础架构,具体是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,能够安全存储有先后关系的、能在系统内进行验证的数据,并以密码学方式保证数据不可篡改和不可伪造。简单的讲,区块链就是去中心化的分布式账本,每一条链相当于一个独立的账本。
图1是一示例性实施例示出的一种区块链网络的结构示意图。图1所示的区块链网络100可以包含节点设备10a、节点设备10b、节点设备10c、节点设备10d。其中,节点设备10a、节点设备10b、节点设备10c、节点设备10d均为图1所示的区块链网络100中的区块链节点(简称为节点),这些节点可以为接入该区块链网络100中的任意形式的计算设备,如服务器、用户终端等。图1所示的节点设备10a、节点设备10b、节点设备10c、节点设备10d之间也可以通过网络通信的形式连接形成区块链网络100。
应当理解,图1所示的区块链网络架构中的这些节点之间可以组成点对点(P2P,PeerTo Peer)网络,这里的P2P协议可以是一个运行在传输控制协议(TCP,TransmissionControl Protocol)协议之上的应用层协议。在区块链网络100所对应的网络架构中,任何机器如服务器、终端都可以加入而成为节点,节点可以具体包括硬件层、中间层、操作系统层和应用层。
区块链网络100中的每个节点均可以用于维护同一区块链账本(即图1所示的区块链账本10e),该区块链账本10e对应的区块链上可以预先部署多个智能合约,比如,可以预先部署:代理合约、权限管理合约、数据合约、代理管理合约等具有不同数据处理功能的智能合约。应理解,智能合约也是指计算机化的协议,其可以执行某个合约的条款,通过部署在区块链账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易。
可以理解的是,在图1所示的区块链网络架构中所涉及的区块链的类型具体可以包括:公有链(Public Blockchain)、私有链(Private Blockchain)和联盟链(ConsortiumBlockchain),不同的区块链应用场景下所采用的区块链的类型可能不同。其中,公有链是指可以对外公开,任何人可以加入并访问的区块链;公有链上的区块可以被任何人查看,任何人也可以在公有链上发起交易,还可以随时参与公有链的共识过程。私有链是指可以在私有组织内部使用,在区块链上的读写权限、参与记账权限可以按照私有组织的规则来制定;通常用于企业内部的数据管理、审计等。联盟链是指参与联盟链的联盟成员在区块链上的读写权限、参与记账权可以按照联盟规则来制定;一般用于机构间的交易、结算或清算等场景。
基于本申请的实施例涉及的应用场景,本申请的实施例涉及的区块链网络的类型具体为联盟链。请参见图2,图2是本申请的实施例涉及的应用场景的示意图,该示例性的应用场景为一种文件投稿系统,该文件投稿系统包括密钥管理端210、作者客户端220、编辑客户端230、评审客户端240和区块链网络250,作者客户端220投稿的文件也称为投稿文件,包括但不限于文章、图片、表格等文件形式,在此不进行限制。
首先说明的是,区块链网络250是由文件编辑方作为区块链节点组成的联盟区块链,也即将文件编辑方作为联盟成员,在区块链上的读写权限、参与记账权按照联盟成员之间的联盟规则来指定,本处不对此进行限制。区块链上预先部署有具有不同数据处理功能的多个智能合约,其中,第一智能合约也称为文件确权智能合约(Confirmation SmartContract,CSC),该合约的逻辑包括接收作者客户端220发送过来的投稿文件和文件相关信息,按照规则将文件上链后也向作者客户端220返回在投的凭证;第二智能合约也称为文件一稿多投检测智能合约(DetectionSmart Contract,DSC),该合约的逻辑用于实现一稿多投检测,在编辑客户端230调用该合约时返回内容相似的目标文件的文件信息;第三智能合约也称为文件权限管理智能合约(Authority Smart Contract,ASC),该合约主要包含了文件权限管理的相关逻辑;第四智能合约也称为论文评审智能合约(ReviewSmart Contract,RSC),该合约主要包含了与文件评审相关的逻辑。
密钥管理端210也称为密钥管理中心(Key Management Center,KMC),用于为区块链网络250通过加密密钥,并提供对这些密钥的备份、归档、回复、更新等相关服务。示例性的,密钥管理端生成属性加密所需的公开参数pk和主密钥msk,并根据公开参数pk、主密钥msk和每个业务账户的身份属性S分别生成每个业务账户的私钥,可表示为公式KeyGen(pk,msk,S),其中KeyGen表示属性加密算法中生成私钥的算法部分,然后将私钥相应发送给业务账户,同时在区块链网络250中公开此公开参数和主密钥。业务账户例如包括作者客户端220中登录的作者账户、编辑客户端230中登录的编辑账户、以及评审客户端240中登录的评审账户中的至少一种。
属性加密算法的公开参数和主密钥可以通过公式Stetup(λ,U)来获得,Stetup表示属性加密算法中含有的用于生成公开参数和主密钥的算法部分,λ表示针对属性加密算法所预设的安全参数,U表示针对属性加密算法所预设的属性总集合。
作者客户端220具有与区块链网络250通信的能力,例如,由于区块链网络250是将文件编辑方作为区块链节点所组成的联盟链网络,作者客户端220可与这些区块链节点进行通信,以向区块链节点对应的文件编辑方进行文件投稿。具体地,作者客户端220通过调用区块链上部署的第一智能合约,将投稿文件对应的密文和文件相关信息上链,并获得区块链网络250返回的该投稿文件对应的凭证,在后续文件内容被剽窃时能为文件作者提供该投稿文件的存在性证明,实现文件确权功能。
编辑客户端230通过调用区块链上部署的第二智能合约来获得区块链上是否存在与作者客户端220投稿的文件的内容相似的目标文件,还通过调用区块链上部署的第三智能合约来获取对于该目标文件的访问权限,由此使得编辑客户端230能够获得目标文件的原文内容,进一步通过对比作者客户端220投稿的文件的内容,来判断作者客户端220投稿的文件是否存在一稿多投或剽窃的情况。
评审客户端240是在编辑客户端230得到区块链上不存在与客户端220投稿的文件内容相似的目标文件之后,调用第四智能合约以对客户端220投稿的文件的内容进行评审,并将评审结果上链。
图2所示的应用场景具体可以实现为论文投稿场景,具体来说,区块链网络250由期刊编辑方作为区块链节点构成,作者客户端220中登录的作者账户为将要发表论文的作者账户,其向区块链网络250中含有的其中一个区块链节点投稿论文,编辑客户端230中登录的编辑账户由收到投稿论文的期刊编辑方的工作人员操作,对投稿论文实现一稿多投检测以及内容剽窃检测,以完成论文发表前的基本形式检测,之后由评审客户端250进一步对投稿论文的内容进行评审。通常而言,在投论文评审完成之后即可进行期刊发表等操作,这根据实际的应用需求来确定。
图2所示的应用场景也可以实现为作业提交批改场景,具体来说,由作者客户端220向区块链网络250提交待审批的作业文件,并由编辑客户端230对该作业文件进行一稿多投检测以及内容剽窃检查,之后由评审客户端进一步对作业文件进行审批打分。在此应用场景下,区块链网络250可以由教师端作为区块链节点构成,编辑客户端230中登录的编辑账户具体为教师账户,评审客户端240中登录的评审账户例如可以是具有资深经验的教师账户,由此形成作业文件先由特定教师完成作业文件的基本形式检测后,再由资深教师对作业内容进行评审打分,由此形成由教师参与作业审批流程的场景。或者在此应用场景下,区块链网络250也可以由家长端作为区块链节点构成,编辑客户端230中登录的编辑账户具体为家长账户,评审客户端240中登录的评审账户为教师账户,由此形成作业文件先由家长完成作业文件的基本形式检查后,再由教师对作业内容进行评审打分,由此形成由家长和教师共同参与作业审批流程的场景。
还需要说明的是,图2所示的应用场景所涉及的详细处理流程请参见后文的实施例中的记载,本处在此不对此进行赘述。可以理解的是,图2所示的应用场景中的作者客户端220执行后文实施例所记载的由作者账号执行的步骤,编辑客户端230执行后文实施例所记载的由编辑账户执行的步骤,评审客户端240执行后文实施例所记载的由目标评审账户执行的目标。
另外还需要说明的是,图2所示的应用场景也可以根据实际需求实现为除前述的论文投稿场景、作业批改场景以外的其它场景,本处在此也不对此进行限制。
请参阅图3,图3是本申请的一示例性实施例示出的一种基于区块链的文件处理方法的流程图。该方法可以适用于图2所示实施例示出的应用场景,因此图2所示的应用场景中的有关描述同样适用于本实施例提及的方法。如图3所示,该方法至少包括步骤S310至步骤S330,详细介绍如下:
步骤S310,通过作者账户发起对于区块链上部署的第一智能合约的调用,以将投稿文件和文件相关信息传入第一智能合约。
首先说明的是,本实施例通过作者账户传入第一智能合约的投稿文件包括但不限于文章、图片、表格等文件形式,文件相关信息是指描述投稿文件的属性的相关信息,例如包括文件名称、作者列表等信息。
第一智能合约也称为文件确权智能合约,用于实现作者账户所传入文件的确权功能。作者账户通过调用第一智能合约,以将投稿文件和文件相关信息传入第一智能合约,通过第一智能合约将该投稿文件进行加密后进行上链,同时将文件相关信息共同上链,以基于文件相关信息生成投稿文件的凭证。
步骤S320,在第一智能合约中根据第一访问策略生成投稿文件对应的密文,并将该密文和文件相关信息存储至区块链上,其中,第一访问策略包括编辑账户对于投稿文件具有访问权限。
如前所述的,智能合约是部署在区块链网络中的程序代码,因此智能合约通过执行程序代码实现预设的数据处理功能。第一智能合约所实现的数据处理功能包括将作者账户传入的投稿文件进行加密后上链,同时向作者账户返回投稿文件对应的凭证。
在本实施例中,第一智能合约生成投稿文件对应的密文的过程是通过属性加密的方式实现的。属性加密也可称作基于属性加密技术(Attribute-Based Encryption,ABE),通过合理配置共享策略,以解决私密数据共享的安全性问题。示例来说,一个数据拥有者需要将一份明文文件加密发送给N个不同的用户,倘若使用传统公钥加密算法,数据拥有者需要首先保存这N个用户的公钥(在不考虑公钥证书的情况下),利用这N个不同公钥,使用该份明文文件,加密N次,形成N份不同的密文,分别发送给这个N个用户。若使用属性加密技术,数据拥有者只需要制定一条仅有这N个用户才能满足的访问策略,接着输入公共参数、该条访问策略以及明文文件至属性加密算法中进行加密一次,形成唯一一份密文。得到密文后,数据拥有者将该份密文分别发送给这N个不同用户,这N个用户则可以对密文进行解密以得到文件原文,其它用户则难以对密文进行解密。由此可见,相较于传统的公钥加密技术,属性加密的方式有着明显的性能优势,这也是本实施例中采用属性加密的方式来加密文件的其中一种原因。
另外需提及的是,本实施例对于文件内容的保密性要求较高,例如在论文投稿场景下,一旦论文内容被泄漏将会造成作者著作权受到侵犯的严重后果,因此采用属性加密的方式来加密文件可以尽可能减少文件上链后被泄漏出去的可能性。
在基于属性的加密技术中,策略和属性是两个重要的参数,策略是由属性以及它们之间的关系所组成的逻辑表达式。在本实施例中,设置属性加密所采用的第一访问策略包括编辑账户对于投稿文件具有访问权限,第一访问策略中的编辑账户可以是由作者账户指定的,所指定的编辑账户的数量为一个或多个,在对投稿文件进行属性加密得到对应的密文后,这一个或多个编辑账户能够对密文进行解密以得到原文。另外,文件的作者通常也应具有投稿文件的访问权限,因此第一访问策略还应包括作者账户对于投稿文件也具有访问权限,投稿文件有多个作者的情况下,每个作者可以分别具有对于投稿文件的访问权限,因此只有第一访问策略中包含的编辑账户和作者账户才能够根据区块链上存储的文件密文成功获得对应的原文。
生成投稿文件对应的密文的过程可以用公式Encrypt(pk,M,A)表示,其中,Encrypt表示属性加密算法中包含的用于计算密文的算法部分,pk表示属性加密算法的公开参数,M表示投稿文件的原文,A表示第一访问策略。第一智能合约在得到投稿文件对应的密文后,将该密文和文件相关信息存储至区块链上,从而完成投稿文件的上链操作。
还需要提及的是,在一些示例性的应用场景中,第一智能合约还需要计算投稿文件对应的摘要哈希。例如在作者账户传入的投稿文件中含有摘要内容的情况下,摘要哈希是对摘要内容进行哈希运算得到的,又例如在作者账户传入的投稿文件不含有摘要内容的情况下,可以对投稿文件进行摘要提取,然后再对提取到的摘要内容进行哈希运算以得到摘要哈希,在此不进行限制。可以看出,摘要哈希能够与投稿文件的内容相关联,因此也可以将摘要哈希作为证明投稿文件的存在性的一种信息,因此第一智能合约也将摘要哈希进行上链,并将摘要哈希作为投稿文件的凭证中含有的一种信息。
步骤S330,通过区块链网络向作者账户返回投稿文件对应的凭证,并向编辑账户发送用于指示投稿文件已存储至区块链上的通知消息。
投稿文件上链完成后,通过区块链网络向作者账户返回投稿文件对应的凭证,其中含有前述的论文相关信息、摘要哈希、上链时间、数据所在交易存储的区块链高度和区块哈希值等信息,以通过这些信息来证明作者账户所传入的投稿文件在区块链上的存在性,在后续出现该投稿文件的内容被剽窃的情况下,投稿文件的作者可以通过该凭证来证明自己对此文件拥有所有权,由此向作者提供一份强有力的权力证明,保证文件作者的利益不受侵犯。
区块链网络还向第一访问策略中含有的编辑账户发送用于指示投稿文件已存储至区块链上的通知消息,以通知相应的编辑人员来对此投稿文件进行后续相关处理,详细的处理过程请参见后续实施例中的记载。
应理解的是,通过区块链网络向作者账户和编辑账户发送数据具体是由相应的区块链节点实现的,通常情况下,二者操作是由同一区块链节点执行,具体为接收作者账户所传入投稿文件的区块链账户,因为对作者投稿的文件进行编辑的人员通常隶属于接收作者投稿的文件编辑方,但本实施例也并不排除二者操作由不同的区块链节点分别执行的情况,这可以根据实际的应用需求进行设置。
由上可以看出,本实施例提供的方法是通过区块链技术结合属性加密方式来提供投稿文件的存在性证明功能,具体来说,首先采用属性加密的方式根据第一访问策略生成投稿文件对应的密文,然后将密文和文件相关信息上链,与现有技术相比,本实施例的技术方案是在区块链网络中公开投稿文件对应的密文,并且由于第一访问策略包括编辑账户对于投稿文件具有访问权限,编辑账户能够基于区块链上存储的密文成功解密获得原文,其它不被包含在第二访问策略中的账户则无法获得文件原文,在较大程度上减小了文件原文被泄漏的可能性,从而降低文件内容被剽窃的可能性。
图3所示例实施例涉及的过程可以示意为图4所示的文件(如待在期刊上发表的论文)投稿应用场景,其揭示了基于区块链和属性加密算法的文件确权功能的示例性流程。如图4所示,先由作者调用第一智能合约将投稿文件进行上链存证,作者相应获得区块链网络返回的投稿文件的凭证,在后续出现该投稿文件的内容被剽窃的情况下,作者可以通过该凭证来证明自己对此文件拥有所有权,区块链网络还向第一访问策略包含的对于投稿文件具有访问权限的期刊编辑发送通知消息,以通知相应的编辑人员关于作者投稿的事件,从而对投稿文件进行后续相关处理。
图5是本申请的另一示例性实施例示出的基于区块链的文件处理方法的流程图。如图5所示,该方法在图3所示实施例的基础上,在步骤S330之后还包括步骤S340至步骤S350,详细介绍如下:
步骤S340,基于编辑账户发起对于区块链上部署的第二智能合约的调用,在第二智能合约中检测区块链上是否存在与该文件的内容相似的目标文件。
如上所述,编辑账户在接收到区块链网络发送的用于指示作者账户所投稿的文件已存储至区块链上的通知消息之后,编辑账户通过调用第二智能合约来检测区块链上是否存在与该文件的内容相似的目标文件,以实现对作者账户所投稿的文件进行一稿多投检测和剽窃检测。
示例性的,在第二智能合约中检测区块链上是否存在与投稿文件的内容相似的目标文件的过程包括如下步骤S341至步骤S343,详细介绍如下:
步骤S341,根据属性加密算法的公开参数和编辑账户的私钥,对投稿文件对应的密文解密以得到投稿文件的原文,通过对该原文进行局部敏感哈希运算,得到投稿文件对应的局部敏感哈希值;
步骤S342,获取区块链上存储的其它文件对应的局部敏感哈希值;
步骤S343,获取二者局部敏感哈希值之间的海明距离,若得到的海明距离小于或等于预设阈值,则将此其它文件作为与投稿文件的内容相似的目标文件。
局部敏感哈希(Locality Sensitive Hashing,LSH)是一种特殊的哈希算法,它的特点是对原文基于语义不变进行修改后,计算得到的哈希值与修改前原文的哈希值之间具有高度相似性,基于此特点,本实施例将其用于文件内容相似度的检测,本实施例具体可采用局部敏感哈希算法中的Sim Hash哈希算法,在此不对局部敏感哈希算法的具体方式进行限制。
在步骤S341中,首先使用公式Decrypt(pk,sk',ct)来获得密文对应的原文,Decrypt表示属性加密算法中对密文进行解密的算法部分,pk表示属性加密算法的公开参数,sk'表示编辑账户的私钥,该私钥是在密钥管理服务端中基于属性加密算法的公开参数和主密钥、以及该编辑账户的身份属性生成的,详细的过程请参见图2所示实施例中的相关记载,ct表示投稿文件对应的密文。在获得密文对应的原文后,通过局部敏感哈希算法对原文进行计算,以得到投稿文件对应的局部敏感哈希值。
在步骤S342中,采用同样的方式来得到区块链上存储的其它文件对应的局部敏感哈希值,在此不进行赘述。
在步骤S343中,海明距离是指两个信息编码对应位上编码不同的位数,也即是两个码字的对应比特取值不同的比特位数,本实施例通过获取投稿文件的局部敏感哈希值与其它文件的局部敏感哈希之间的海明距离,以基于海明距离的大小来判定二者局部敏感哈希值之间的相似度,进而根据海明距离来表征投稿文件和其它文件之间的内容相似度。若获得的海明距离越小,则表示投稿文件和其它文件之间的内容相似度越高。在本实施例中,具体可通过对两个局部敏感哈希值的对应比特位上的取值进行异或计算,当两个比特位上的值不同时得到的结果为1,而当两个比特位上的值相同时得到的结果为0,最后将各比特位对应的结果之和作为海明距离,若获得的海明距离小于或等于预设阈值,则可确定投文件和其它文件之间的内容相似度较高,因此将该其它文件的内容与投稿文件(也即由作者账户传入的、且已上链的文件)的内容相似。示例性的,本实施例提及的预设阈值经过实验可确定为3。
基于如上过程可以看出,本实施例是通过对比密文之间的相似程度来得到原文之间的相似程度,在不泄漏文件原文的前提下实现了投稿文件的一稿多投检测和剽窃检测,不仅保证了投稿文件的安全性,并且,由于本实施例用于对比的密文与原文语义的高度相似性,使得本实施例检测文件内容的相似程度的方式也具有较高的有效性。
步骤S350,若检测到存在目标文件,则通过区块链网络向编辑账户返回目标文件对应的文件相关信息。
如果步骤S340中检测到区块链上存在与投稿文件的内容相似的目标文件,则表示投稿文件的内容存在抄袭或者被抄袭的可能性,通过区块链网络向编辑账户发送该目标文件对应的文件相关信息,以向使用编辑账户的编辑人员进行预警提示。
可以看出,本实施例通过在区块链上设置第二智能合约来执行与投稿文件的内容相似的目标文件的检测过程,在编辑账户所在的编辑客户端中仅需要发起对于第二智能合约的调用即可,使得编辑客户端中的操作十分方便,由此能够提升边缘人员的用户体验。
图6是本申请的另一示例性实施例示出的基于区块链的文件处理方法的流程图。如图6所示,该方法在图3所示实施例的基础上,在步骤S350之后还包括步骤S360至步骤S390,详细介绍如下:
步骤S360,在编辑账户中发起对于区块链上部署的第三智能合约的调用,以申请获得目标文件的访问权限。
第三智能合约是区块链上部署的用于管理文件访问权限的智能合约,编辑账户接收到区块链网络返回的目标文件对应的文件相关信息之后,需要由编辑人员对目标文件的内容进行查验,以判断投稿文件是否存在剽窃或者被剽窃的情况。编辑人员需通过编辑客户端来获得目标文件的原文,因此需要在编辑账户中发起对于第三智能合约的调用,以申请获得目标文件的访问权限。
步骤S370,通过区块链网络向目标文件对应的作者账户发送用于指示编辑账户申请获取目标文件的访问权限的通知消息。
向编辑账户开放目标文件的访问权限需要得到来自于目标文件对应的作者账户的许可,也即开放目标文件的访问权限的前提是得到了目标文件的作者的允许,通过区块链网络向目标文件对应的作者账户发送用于指示编辑账户申请获取目标文件的访问权限的通知消息,以请求获得目标账户的作者账户的许可。
步骤S380,在目标文件对应的作者账户中调用第三智能合约,以通过第三智能合约更新区块链上存储的目标文件对应的密文。
目标文件对应的作者账户通过调用第三智能合约,以通过第三智能合约更新区块链上存储的目标文件对应的密文,更新后的目标文件对应的密文则可以由编辑账户解密获得原文,由此实现向编辑账户开放目标文件的访问权限。
通过第三智能合约更新区块链上存储的目标文件对应的密文的过程可以包括如下步骤S381至步骤S382,详细介绍如下:
步骤S381,在第三智能合约中根据更新后的第二访问策略重新生成目标文件对应的密文,更新的第二访问策略中新增了编辑账户对于目标文件的访问权限;
步骤S382,将更新后的目标文件对应的密文传入第一智能合约,以通过第一智能合约将更新后的目标文件对应的密文存储至区块链上。
参照投稿文件的密文生成过程,步骤S381根据更新后的第二访问策略重新生成目标文件对应的密文的过程中,首先获取密文更新所需的参数,该参数包括属性加密算法的公开参数pk、在首次生成目标文件对应的密文的过程中得到的加密信息Einfo(M')、在首次生成目标文件对应的密文ct'的过程中使用的第二访问策略B、更新的第二访问策略B'以及目标文件对应的密文M',然后使用属性加密算法根据这些参数重新生成目标文件对应的密文。由于更新的第二访问策略B'中新增了编辑账户对于目标文件的访问权限,更新后的目标文件对应的密文能够被该编辑账户解密得到原文。
示例性的,以上记载的重新生成目标文件对应的密文的过程可以通过公式CtUpdate(pk,Einfo(M'),B,B',ct')进行表示,CtUpdate表示属性加密算法中用于更新已上链文件的密文的算法部分。
步骤S390,通过区块链网络向编辑账户返回用于指示访问权限授权完成的通知消息。
由上可以看出,编辑账户能够对区块链上更新的目标文件的密文进行解密得到目标文件的原文,也即是完成了目标文件向编辑账户授予访问权限的,通过区块链网络向编辑账户返回用于指示访问权限授权完成的通知消息,以提示相应的编辑人员可以开始对于目标文件的内容查验。可以看出,本实施例提供的方法即使是在新增文件的访问权限的过程中也不会泄漏文件原文,充分保证了文件内容的安全。
图6所示例实施例涉及的过程可以示意为图7所示的文件(如待在期刊上发表的论文)投稿应用场景,其揭示了基于区块链和属性加密算法的文件一稿多投检测功能的示例性流程。如图7所示,先由期刊编辑调用第二智能合约对投稿文件进行一稿多投检测,如果检测到与投稿文件的内容相似度较高的目标文件,区块链网络向期刊编辑返回目标文件对应的文件相关信息。期刊编辑随后调用第三智能合约以申请获得目标文件的访问权限,区块链网络通知目标文件的作者该申请授权的事件。目标文件的作者则通过调用第三智能合约,向期刊编辑授予目标文件的访问权限,如前所述,向期刊编辑授予目标文件的访问权限的过程也即是对区块链上存储的目标文件的密文进行更新的过程。授权完成后,区块链网络向期刊编辑返回通知消息以通知授权结果。
图8是本申请的另一示例性实施例示出的基于区块链的文件处理方法的流程图。如图8所示,该方法在图6所示实施例的基础上,在步骤S390之后还包括步骤S400至步骤S440,详细介绍如下:
步骤S400,在编辑账户中发起对于区块链上部署的第四智能合约的调用,将由编辑账户选择的至少一个候选的评审账户的介绍信息上链。
编辑账户在获得目标文件的访问权限之后,通过查看目标文件的原文得出在投论文不存在剽窃和被剽窃的情况,从而发起对于在投论文的评审流程。第四智能合约是用于实现文件评审功能的智能合约,因此在编辑账户中通过调用第四智能合约,可以将由编辑账户选择的至少一个候选的评审账户的介绍信息上链,上链后的至少一个候选的评审账户用于进一步供投稿文件的作者进行选择,由此增加了投稿文件的作者对于评审人员选取的可控性。
候选的评审账户可以理解为是由编辑人员选择的可供投稿文件的作者挑选的评审专家的账户信息,评审账户的介绍信息包含了对于相应评审专家的介绍,例如包括评审专家的匿名身份属性信息和学术研究方向信息,匿名身份属性信息例如包括工作单位、学历、年龄等信息。可以理解的是,当评审专家的匿名身份属性运用到具体产品或技术中时,需要获得相应评审账户的许可或者同意,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
步骤S410,通过区块链网络向作者账户发送用于指示选择评审账户的通知消息。
本实施例中通过区块链网络向作者账户发送用于指示选择评审账户的通知消息,以通知投稿文件的作者从至少一个候选的评审账户中选择目标评审账户,由目标评审账户对应的评审专家来对投稿文件进行评审。
步骤S420,在作者账户中调用第四智能合约,以使作者账户获得至少一个候选的评审账户的介绍信息,并从至少一个候选的评审账户中选择目标评审账户,通过调用第三智能合约以基于目标评审账户重新生成投稿文件的密文。
作者账户调用第四智能合约来获得至少一个候选的评审账户的介绍信息,投稿文件的作者即可根据候选的评审账户的介绍信息来选择目标评审账户,目标评审账户的选择相当于是投稿文件的作者向目标评审账户开放投稿文件的访问权限,作者账户还调用第三智能合约基于目标评审账户重新生成投稿文件的密文。
重新生成投稿文件的密文的过程可通过公式CtUpdate(pk,Einfo(M),A,A',ct)进行表示,CtUpdate表示属性加密算法中用于更新已上链文件的密文的算法部分,pk表示属性加密算法的公开参数,Einfo(M)表示在首次生成投稿文件对应的密文的过程中得到的加密信息,ct表示首次生成的投稿文件的密文,A表示用于生成密文ct的第一访问策略,A'表示更新的第一访问策略。应说明的是,更新的第一访问策略中包含目标评审账户对于投稿文件的访问权限。
在一些实施例中,可能存在同一投稿文件中的不同组成内容由不同的评审人员进行评审的需求,例如投稿文件中包含四个技术领域的知识,每个技术领域的知识需由相应领域的专家进行评审。在此情况下,不同的组成内容应关联相应的内容标记,作者账户通过调用第四智能合约所获得的至少一个候选的评审账户的介绍信息,来为每部分组成内容选择对应的目标评审账户后,将所选择的目标评审账户于对应组成内容的标记进行映射。而在重新生成投稿文件的密文的过程中,用于生成密文的更新后的第一访问策略中需包含对于投稿文件的不同组成部分的权限约束。
步骤S430,在第三智能合约中调用第一智能合约,以将重新生成的投稿文件的密文上链。
通过在第三智能合约中调用第一智能合约,将重新生成的投稿文件的密文上链,由此完成向目标评审账户开放投稿文件的访问放权,或者开放投稿文件的组合部分的访问权限。可以理解的,目标评审账户使用自身私钥可以对重新生成的投稿文件的密文解密,以获得投稿文件的原文,或者目标评审账户使用自身私钥可以密文中需要自身进行评审的组成部分解密得到对应的原文,但不能查看自身不具有查看权限的组成部分的原文,进一步保证了投稿文件内容的安全性。
步骤S440,通过区块链网络向目标评审账户发送用于指示对投稿文件进行评审的通知消息。
通过区块链网络向目标评审账户发送用于指示对投稿文件进行评审的通知消息,以通知目标评审账户所在的评审专家启动对于投稿文件或者投稿文件的组成部分的评审操作。
若目标评审账户在接收到指示对投稿文件进行评审的通知消息后,操作目标评审账户的评审人认为自身无法胜任评审任务,则可在目标评审账户中发起对于第四智能合约的调用,并将由目标评审账户选择的至少一个候选的评审账户的介绍信息上链,然后通过执行步骤S410至步骤S440所描述的相同过程确定新的目标评审账户。或者,还可以在目标评审账户中向编辑账户发起用于指示自身无法参加评审的通知消息,由编辑账户重新选择至少一个候选的评审账户供作者账户选择,详细过程本处不再赘述。
基于以上描述可以得出,本实施例提供的方法通过属性加密算法增加作者对于投稿文件的评审人员选取的可控性,投稿文件的作者在编辑账户初步选择的评审人员中,选取更加适合评审投稿文件的评审人员,由此增加了文件评审环节的可靠性。
图9是本申请的另一示例性实施例示出的基于区块链的文件处理方法的流程图。如图9所示,该方法在图8所示实施例的基础上,在步骤S440之后还包括步骤S450至步骤S490,详细介绍如下:
步骤S450,在目标评审账户中调用第四智能合约,以使目标评审账户获得投稿文件的内容,并对投稿文件的内容进行评审,在评审完成后将投稿文件对应的原文和评审结果进行签名,得到签名信息。
为实现目标评审账户对于投稿文件的内容的评审,需在目标评审账户中调用第四智能合约,以使目标评审账户获得投稿文件的内容。目标评审账户对投稿文件的内容进行评审,在评审完成后将投稿文件对应的原文和评审结果进行签名,得到签名信息。
评审结果对应于目标评审账户针对投稿文件的评审流程信息。示例性的,若不涉及对于投稿文件原文的修改,例如评审结果可以包括目标评审账户输入的评语内容、对于投稿文件的打分或者修改建议等内容。在另一些实施例中,评审结果还包括对于投稿文件的修改内容,具体的修改内容包括被修改原文以及修改后内容。
由于区块链上数据的修改也需要在区块链网络中进行共识,在流程上以及资源数据效率上都缺乏便携性,在一个实施例中,若涉及目标评审账户对于投稿文件的原文,将待修改的原文下载到目标评审账户的本地,并在本地存储的原文的基础上进行修改,从而得到评审内容。
步骤S460,再次调用第四智能合约,以将评审结果和签名信息上链。
目标评审账户再次调用第四智能合约,以将评审结果和签名信息上链,以将目标评审账户对于投稿文件的审核结果公布在区块链网络中。
在一些实施例中,目标评审账户还可以针对评审结果的查看权限进行设置。通常来说,作者账户和编辑账户应具有对于评审结果的查看权限,在将评审结果和签名信息上链时,仍基于属性加密的方式对待上链的数据进行加密后执行上链操作,以使作者账户、编辑账户或者其它由目标评审账户选择的其它账户(如参与评审的其它目标评审账户)可以从区块链上查看到评审结果的原文,在此不进行赘述。也即是说,虽然是将评审结果公布在了区块链上,但具体公开的是密文,只有具有查看权限的账户才能够获得评审结果的原本,进一步保证了评审结果不被泄漏。
步骤S470,通过区块链网络向编辑账户发送指示目标评审账户已完成评审的通知消息。
通过区块链网络向编辑账户发送指示目标评审账户已完成评审的通知消息,以通知编辑账户关于目标评审账户的评审结果。
步骤S480,若编辑账户基于接收到的通知消息确定已完成对于投稿文件的评审,则通过调用第四智能合约将最终评审结果上链。
若编辑账户基于接收到的通知消息确定已完成对于投稿文件的评审,表示投稿文件的内容通过了目标评审账户的一致评审,因此编辑账户通过调用第四智能合约将最终评审结果上链,最终评审结果也即是指投稿文件的内容通过了目标评审账户的一致评审。
需要说明的是,编辑账户确定已完成对于投稿文件的评审,可以是编辑账户接收到的通知消息指示全部的目标评审账户对于投稿文件的审核都是通过的,例如所有目标评审账户的评语内容中均包含表征评审通过的信息,或者目标评审账户针对投稿文件的打分均超过预设的分数阈值;或者编辑账户确定已完成对于投稿文件的评审,也可以是编辑账户根据接收到的通知消息确定对于投稿文件的审核结果为通过的目标评审账户与目标评审账户总数之间的比值大于预设的比例阈值;或者编辑账户确定已完成对于投稿文件的评审,还可以是编辑账户对于投稿文件的修改程度不超出预设程度,修改程度可以基于修改的篇幅与原始篇幅之间的比值来表征,在不同的目标评审账户只对投稿文件的其中一个或多个组成部分进行评审的场景下,原始篇幅应包括投稿文件的原文中对于目标评审账户具有查看权限的组成部分的评估,具体细节可根据实际的应用需求来确定,本实施例在此不进行限制。
步骤S490,通过区块链网络向作者账户发送投稿文件已完成评审的通知消息。
通过区块链网络向作者账户发送投稿文件已完成评审的通知消息,使得投稿文件的作者能够及时获知在投论文的评审结果。在论文投稿场景下,编辑账户在确定已完成对于投稿文件的评审后,即可进行论文发表等操作,作者账户基于接收到的投稿文件已完成评审的通知消息,则可获知投稿文件已完成评审,后续将进行发表,由此结束整个论文投稿流程。
若评审结果涉及对于投稿文件原文的修改,投稿文件的作者在接收到区块链网络发送的通知消息之后,通过调用第四智能合约获得目标评审账户针对投稿文件的评审结果。根据这些评审结果,使得投稿文件的作者认识到投稿文件中存在的问题,在针对这些问题进行修改后,可将修改后的投稿文件再次进行如上述实施例中记载的评审流程,直至评审结果并未针对文件内容进行修改。若编辑账户确定待处理的投稿文件为历史文件,则可省去一稿多投、相似度检测、以及目标评审账户的选择的过程,直接在编辑账户中发起相应目标评审账户对于此次投稿文件的评审,以节省流程处理所需的处理资源。
基于如上过程可以看出,本实施例提供的方法进一步细化了评审人员对于投稿文件的评审结果的处理流程,在此处理流程中,使得编辑人员和投稿文件的作者都能参与进来,能够及时掌握评审进度,对于编辑人员和文件作者都具有较好的用户体验。
图9所示例实施例涉及的过程可以示意为图10所示的文件(如待在期刊上发表的论文)投稿应用场景,其揭示了基于区块链和属性加密算法的文件评审功能的示例性流程。如图10所示,期刊编辑首先调用第四智能合约推荐候选的评审专家,然后由区块链网络通知投稿文件的作者选取评审专家,投稿文件的作者调用第四智能合约即可确定自身选取的评审专家,随后区块链网络通知作者选取的评审专家对投稿文件进行评审,具体由这些评审专家调用第四智能合约将评审结果上链,并由区块链网络通知期刊编辑评审完成的事件,最后由期刊编辑调用第四智能合约将最终的评审结果上链。
图11是本申请的一示例性实施例示出的一种基于区块链的文件处理装置的框图。如图11所示,该装置包括:
文件传入模块510,配置为通过作者账户发起对于区块链上部署的第一智能合约的调用,以将投稿文件和文件相关信息传入第一智能合约;文件上链模块520,配置为在第一智能合约中根据第一访问策略生成投稿文件对应的密文,并将密文和文件相关信息存储至区块链上,其中,第一访问策略包括编辑账户对于投稿文件具有访问权限;信息返回模块530,配置为通过区块链网络向作者账户返回投稿文件对应的凭证,并向编辑账户发送用于指示投稿文件已存储至区块链上的通知消息。
以上装置是通过区块链技术结合属性加密方式来提供投稿文件的存在性证明功能,具体来说,首先采用属性加密的方式根据第一访问策略生成投稿文件对应的密文,然后将密文和文件相关信息上链,由此可以看出,本实施例的技术方案是在区块链网络中公开投稿文件对应的密文,并且由于第一访问策略包括编辑账户对于该投稿文件具有访问权限,编辑账户能够基于区块链上存储的密文成功解密获得原文,其它不被包含在第二访问策略中的账户则无法获得文件原文,在较大程度上减小了文件原文被泄漏的可能性,从而降低文件内容被剽窃的可能性。
在另一示例性的实施例中,该装置还包括:
内容监测模块,配置为基于编辑账户发起对于区块链上部署的第二智能合约的调用,在第二智能合约中检测区块链上是否存在与投稿文件的内容相似的目标文件;若检测到存在目标文件,则通过区块链网络向编辑账户返回目标文件对应的文件相关信息。
在另一示例性的实施例中,生成投稿文件对应的密文所采用的算法包括属性加密算法;内容监测模块包括:
第一哈希计算单元,配置为根据属性加密算法的公开参数和编辑账户的私钥,对投稿文件对应的密文解密以得到投稿文件的原文,通过对原文进行局部敏感哈希运算,得到投稿文件对应的局部敏感哈希值;第二哈希计算单元,配置为获取区块链上存储的其它文件对应的局部敏感哈希值;哈希对比单元,配置为获取二者局部敏感哈希值之间的海明距离,若所述海明距离小于或等于预设阈值,则将所述其它文件作为与所述投稿文件的内容相似的目标文件。
在另一示例性的实施例中,该装置还包括:
第一参数生成模块,配置为在密钥管理服务端生成属性加密算法的公开参数和主密钥;第二参数生成模块,配置为根据公开参数、主密钥和每个业务账户的身份属性分别生成每个业务账户的私钥,业务账户包括编辑账户;参数处理模块,配置为公开公开参数和主密钥,并向每个业务账户发送对应的私钥。
在另一示例性的实施例中,该装置还包括:
权限申请模块,配置为在编辑账户中发起对于区块链上部署的第三智能合约的调用,以申请获得目标文件的访问权限;访问通知模块,配置为通过区块链网络向目标文件对应的作者账户发送用于指示编辑账户申请获取目标文件的访问权限的通知消息;密文更新模块,配置为在目标文件对应的作者账户中调用第三智能合约,以通过第三智能合约更新区块链上存储的目标文件对应的密文;授权通知模块,配置为通过区块链网络向编辑账户返回用于指示访问权限授权完成的通知消息。
在另一示例性的实施例中,密文更新模块包括:
新密文生成单元,配置为在第三智能合约中根据更新后的第二访问策略重新生成目标文件对应的密文,更新的第二访问策略中新增了编辑账户对于目标文件的访问权限;新密文上链单元,配置为将更新后的目标文件对应的密文传入第一智能合约,以通过第一智能合约将更新后的目标文件对应的密文存储至区块链上。
在另一示例性的实施例中,新密文生成单元包括:
参数获取子单元,配置为获取密文更新所需的参数,参数包括属性加密算法的公开参数、在首次生成目标文件对应的密文的过程中得到的加密信息、在首次生成目标文件对应的密文的过程中使用的第二访问策略、更新的第二访问策略以及目标文件对应的密文;密文重新生成子单元,配置为使用属性加密算法根据参数重新生成目标文件对应的密文。
在另一示例性的实施例中,该装置还包括:
评审候选模块,配置为在编辑账户中发起对于区块链上部署的第四智能合约的调用,将由编辑账户选择的至少一个候选的评审账户的介绍信息上链;评审选取通知模块,配置为通过区块链网络向作者账户发送用于指示选择评审账户的通知消息;评审选择模块,配置为在作者账户中调用第四智能合约,以使作者账户获得至少一个候选的评审账户的介绍信息,并从至少一个候选的评审账户中选择目标评审账户,通过调用第三智能合约以基于目标评审账户重新生成投稿文件的密文;新密文上链模块,配置为在第三智能合约中调用第一智能合约,以将重新生成的投稿文件的密文上链;评审通知模块,配置为通过区块链网络向目标评审账户发送用于指示对投稿文件进行评审的通知消息。
在另一示例性的实施例中,该装置还包括:
评审操作模块,配置为在目标评审账户中调用第四智能合约,以使目标评审账户获得投稿文件的内容,并对投稿文件的内容进行评审,在评审完成后将投稿文件对应的原文和评审结果进行签名,得到签名信息;评审上链模块,配置为再次调用第四智能合约,以将评审结果和签名信息上链。
在另一示例性的实施例中,该装置还包括:
评审结果通知模块,配置为通过区块链网络向编辑账户发送指示目标评审账户已完成评审的通知消息;评审结果最终上链模块,配置为若编辑账户基于接收到的通知消息确定已完成对于投稿文件的评审,则通过调用第四智能合约将最终评审结果上链;文件作者通知模块,配置为通过区块链网络向作者账户发送投稿文件已完成评审的通知消息。
需要说明的是,上述实施例所提供的基于区块链的文件处理装置与上述实施例所提供的基于区块链的文件处理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的基于区块链的文件处理装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的基于区块链的文件处理方法。
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图12示出的电子设备的计算机系统900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统900包括中央处理单元(Central Processing Unit,CPU)901,其可以根据存储在只读存储器(Read-Only Memory,ROM)902中的程序或者从储存部分908加载到随机访问存储器(Random Access Memory,RAM)903中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(Input/Output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的储存部分908;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入储存部分908。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的基于区块链的文件处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的基于区块链的文件处理方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

Claims (17)

1.一种基于区块链的文件处理方法,其特征在于,包括:
通过作者账户发起对于区块链上部署的第一智能合约的调用,以将投稿文件和文件相关信息传入所述第一智能合约;
在所述第一智能合约中根据第一访问策略生成所述投稿文件对应的密文,并将所述密文和所述文件相关信息存储至所述区块链上,其中,所述第一访问策略包括编辑账户对于所述投稿文件具有访问权限;
通过区块链网络向所述作者账户返回所述投稿文件对应的凭证,并向所述编辑账户发送用于指示所述投稿文件已存储至区块链上的通知消息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述编辑账户发起对于所述区块链上部署的第二智能合约的调用,在所述第二智能合约中检测所述区块链上是否存在与所述投稿文件的内容相似的目标文件;
若检测到存在所述目标文件,则通过所述区块链网络向所述编辑账户返回所述目标文件对应的文件相关信息。
3.根据权利要求2所述的方法,其特征在于,生成所述投稿文件对应的密文所采用的算法包括属性加密算法;所述在所述第二智能合约中检测所述区块链上是否存在与所述投稿文件的内容相似的目标文件,包括:
根据所述属性加密算法的公开参数和所述编辑账户的私钥,对所述投稿文件对应的密文解密以得到所述投稿文件的原文,通过对所述原文进行局部敏感哈希运算,得到所述投稿文件对应的局部敏感哈希值;
获取所述区块链上存储的其它文件对应的局部敏感哈希值;
获取二者局部敏感哈希值之间的海明距离,若所述海明距离小于或等于预设阈值,则将所述其它文件作为与所述投稿文件的内容相似的目标文件。
4.根据权利要求2所述的方法,其特征在于,在通过作者账户发起对于区块链上部署的第一智能合约的调用,以将投稿文件和文件相关信息传入所述第一智能合约之前,所述方法还包括:
在密钥管理服务端生成所述属性加密算法的公开参数和主密钥;
根据所述公开参数、所述主密钥和每个业务账户的身份属性分别生成每个业务账户的私钥,所述业务账户包括所述编辑账户;
公开所述公开参数和所述主密钥,并向每个业务账户发送对应的私钥。
5.根据权利要求2所述的方法,其特征在于,在通过所述区块链网络向所述编辑账户返回所述目标文件对应的文件相关信息之后,所述方法还包括:
在所述编辑账户中发起对于所述区块链上部署的第三智能合约的调用,以申请获得所述目标文件的访问权限;
通过区块链网络向所述目标文件对应的作者账户发送用于指示所述编辑账户申请获取所述目标文件的访问权限的通知消息;
在所述目标文件对应的作者账户中调用所述第三智能合约,以通过所述第三智能合约更新所述区块链上存储的所述目标文件对应的密文;
通过区块链网络向所述编辑账户返回用于指示访问权限授权完成的通知消息。
6.根据权利要求5所述的方法,其特征在于,所述通过所述第三智能合约更新所述区块链上存储的所述目标文件对应的密文,包括:
在所述第三智能合约中根据更新后的第二访问策略重新生成所述目标文件对应的密文,所述更新的第二访问策略中新增了所述编辑账户对于所述目标文件的访问权限;
将更新后的所述目标文件对应的密文传入所述第一智能合约,以通过所述第一智能合约将更新后的所述目标文件对应的密文存储至区块链上。
7.根据权利要求6所述的方法,其特征在于,所述在所述第三智能合约中根据更新后的第二访问策略重新生成所述目标文件对应的密文,包括:
获取密文更新所需的参数,所述参数包括属性加密算法的公开参数、在首次生成所述目标文件对应的密文的过程中得到的加密信息、在首次生成所述目标文件对应的密文的过程中使用的第二访问策略、更新的第二访问策略以及所述目标文件对应的密文;
使用所述属性加密算法根据所述参数重新生成所述目标文件对应的密文。
8.根据权利要求5所述的方法,其特征在于,在通过区块链网络向所述编辑账户返回用于指示访问权限授权完成的通知消息之后,所述方法还包括:
在所述编辑账户中发起对于所述区块链上部署的第四智能合约的调用,将由所述编辑账户选择的至少一个候选的评审账户的介绍信息上链;
通过区块链网络向所述作者账户发送用于指示选择评审账户的通知消息;
在所述作者账户中调用所述第四智能合约,以使所述作者账户获得所述至少一个候选的评审账户的介绍信息,并从所述至少一个候选的评审账户中选择目标评审账户,通过调用所述第三智能合约以基于目标评审账户重新生成所述投稿文件的密文;
在所述第三智能合约中调用所述第一智能合约,以将重新生成的所述投稿文件的密文上链;
通过区块链网络向所述目标评审账户发送用于指示对所述投稿文件进行评审的通知消息。
9.根据权利要求8所述的方法,其特征在于,在通过区块链网络向所述目标评审账户发送用于指示对所述投稿文件进行评审的通知消息之后,所述方法还包括:
在所述目标评审账户中调用所述第四智能合约,以使所述目标评审账户获得所述投稿文件的内容,并对所述投稿文件的内容进行评审,在评审完成后将所述投稿文件对应的原文和评审结果进行签名,得到签名信息;
再次调用所述第四智能合约,以将所述评审结果和所述签名信息上链。
10.根据权利要求9所述的方法,其特征在于,在将所述评审结果和所述签名信息上链之后,所述方法还包括:
通过区块链网络向所述编辑账户发送指示所述目标评审账户已完成评审的通知消息;
若所述编辑账户基于接收到的通知消息确定已完成对于所述投稿文件的评审,则通过调用所述第四智能合约将最终评审结果上链;
通过区块链网络向所述作者账户发送所述投稿文件已完成评审的通知消息。
11.一种文件投稿系统,其特征在于,包括:
区块链网络,其所提供的区块链上部署有多个智能合约;
密钥管理端,用于生成属性加密所需的公开参数和主密钥,并根据所述公开参数、所述主密钥和每个业务账户的身份属性分别生成每个业务账户的私钥,所述业务账户包括作者账户、编辑账户和评审账户中的至少一种;
作者客户端,其中登录有作者账户,其通过调用所述区块链上部署的第一智能合约,将投稿文件对应的密文和文件相关信息上链,并获得所述区块链网络返回的所述投稿文件对应的凭证,所述投稿文件对应的密文是使用所述属性加密算法根据第一访问策略生成,所述第一访问策略中包含对于所述投稿文件具有访问权限的编辑账户;
编辑客户端,其中登录有编辑账户,其通过调用第二智能合约获得区块链上是否存在与所述投稿文件的内容相似的目标文件,以及通过调用第三智能合约获得对于所述目标文件的访问权限;
评审客户端,其中登录有评审账户,其在所述编辑客户端得到区块链上不存在与所述投稿文件的内容相似的目标文件之后,调用第四智能合约以进行对于所述投稿文件的评审。
12.根据权利要求11所述的文件投稿系统,其特征在于,所述编辑客户端通过调用第二智能合约获得区块链上是否存在与所述投稿文件的内容相似的目标文件的过程包括如下步骤:
在所述第二智能合约中根据所述属性加密算法的主密钥、所述编辑端中登录的编辑账户对应的私钥以及所述区块链上存储的所述投稿文件对应的密文,生成所述投稿文件对应的局部敏感哈希值;
获取所述区块链上存储的目标文件对应的局部敏感哈希值;
对二者局部敏感哈希值进行位数对比,若相同的位数与哈希总位数的比值大于或等于预设阈值,则确定所述目标文件的内容与所述投稿文件的内容相似。
13.根据权利12所述的文件投稿系统,其特征在于,所述编辑端在获得对于所述目标文件的访问权限之后,还调用所述第四智能合约,以将至少一个评审账户的介绍信息上链;
所述作者端通过调用所述第四智能合约以获得所述少一个评审账户的介绍信息,并从所述至少一个评审账户中选择目标评审账户,再通过调用所述第三智能合约以将重新生成的所述投稿文件的密文上链,以使所述目标评审账户具有对于重新生成的所述投稿文件的密文的访问权限。
14.一种基于区块链的文件处理装置,其特征在于,包括:
文件传入模块,配置为通过作者账户发起对于区块链上部署的第一智能合约的调用,以将投稿文件和文件相关信息传入所述第一智能合约;
文件上链模块,配置为在所述第一智能合约中根据第一访问策略生成所述投稿文件对应的密文,并将所述密文和所述文件相关信息存储至所述区块链上,其中,所述第一访问策略包括编辑账户对于所述投稿文件具有访问权限;
信息返回模块,配置为通过区块链网络向所述作者账户返回所述投稿文件对应的凭证,并向所述编辑账户发送用于指示所述投稿文件已存储至区块链上的通知消息。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至10中任一项所述的基于区块链的文件处理方法。
16.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至10中任一项所述的基于区块链的文件处理方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的基于区块链的文件处理方法。
CN202111494980.1A 2021-12-08 2021-12-08 基于区块链的文件处理方法及装置、设备、文件投稿系统 Pending CN116244725A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111494980.1A CN116244725A (zh) 2021-12-08 2021-12-08 基于区块链的文件处理方法及装置、设备、文件投稿系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111494980.1A CN116244725A (zh) 2021-12-08 2021-12-08 基于区块链的文件处理方法及装置、设备、文件投稿系统

Publications (1)

Publication Number Publication Date
CN116244725A true CN116244725A (zh) 2023-06-09

Family

ID=86631792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111494980.1A Pending CN116244725A (zh) 2021-12-08 2021-12-08 基于区块链的文件处理方法及装置、设备、文件投稿系统

Country Status (1)

Country Link
CN (1) CN116244725A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117035785A (zh) * 2023-08-09 2023-11-10 云海链控股股份有限公司 一种区块链共识方法、装置、设备及计算机可读存储介质
CN117032565A (zh) * 2023-07-25 2023-11-10 苏州申浪信息科技有限公司 一种基于区块链技术的文件安全管理系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117032565A (zh) * 2023-07-25 2023-11-10 苏州申浪信息科技有限公司 一种基于区块链技术的文件安全管理系统
CN117032565B (zh) * 2023-07-25 2024-06-07 申浪信息科技(江苏)有限公司 一种基于区块链技术的文件安全管理系统
CN117035785A (zh) * 2023-08-09 2023-11-10 云海链控股股份有限公司 一种区块链共识方法、装置、设备及计算机可读存储介质
CN117035785B (zh) * 2023-08-09 2024-05-14 云海链控股股份有限公司 一种区块链共识方法、装置、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
TWI672648B (zh) 業務處理方法、裝置、資料共享系統及儲存介質
EP3864551B1 (en) Distributed ledger-based profile verification
Yavari et al. An Improved Blockchain‐Based Authentication Protocol for IoT Network Management
JP6894007B2 (ja) ブロックチェーンネットワークに基づいたデジタルチケットの転送
EP3005641B1 (en) Certificating authority trust evaluation
US20210089514A1 (en) Tracking and verification of physical assets
CN109274652B (zh) 身份信息验证系统、方法及装置及计算机存储介质
US11734259B2 (en) Anonymous database rating update
US11641364B2 (en) Cross-domain state synchronization
US20210243037A1 (en) Method for information processing in digital asset certificate inheritance transfer, and related device
US20220360450A1 (en) Data anonymization of blockchain-based processing pipeline
WO2021197227A1 (en) Noisy transaction for protection of data
KR20220160100A (ko) 크로스-네트워크 id 프러비저닝
US20220407729A1 (en) Data processing method and apparatus, device, and medium
CN116244725A (zh) 基于区块链的文件处理方法及装置、设备、文件投稿系统
US20210241270A1 (en) System and method of blockchain transaction verification
US20200202468A1 (en) Protocol-based system and method for establishing a multi-party contract
CN110619222A (zh) 基于区块链的授权处理方法、装置、系统及介质
Tomar et al. Blockchain-assisted authenticated key agreement scheme for IoT-based healthcare system
Wu et al. [Retracted] Blockchain‐Based Data Audit Mechanism for Integrity over Big Data Environments
WO2023019903A1 (zh) 跨链交易系统、方法、设备及存储介质
Alexander et al. Cybersecurity, information assurance, and big data based on blockchain
CN113328854B (zh) 基于区块链的业务处理方法及系统
KR20220149556A (ko) 컨텍스트 무결성 보존
CN109828832B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40089557

Country of ref document: HK