CN115544574A - 基于区块链的文件管理方法及装置 - Google Patents

基于区块链的文件管理方法及装置 Download PDF

Info

Publication number
CN115544574A
CN115544574A CN202211316920.5A CN202211316920A CN115544574A CN 115544574 A CN115544574 A CN 115544574A CN 202211316920 A CN202211316920 A CN 202211316920A CN 115544574 A CN115544574 A CN 115544574A
Authority
CN
China
Prior art keywords
file
metadata
channel
block chain
hash value
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
CN202211316920.5A
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202211316920.5A priority Critical patent/CN115544574A/zh
Publication of CN115544574A publication Critical patent/CN115544574A/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于区块链的文件管理方法及装置,涉及区块链技术领域。其中该方法包括:响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值;将文件加密后得到加密文件,通过IPFS存储加密文件;根据哈希值生成文件的元数据;其中,元数据中包括哈希值;将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中;将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中。本发明可以提高文件的安全性。

Description

基于区块链的文件管理方法及装置
技术领域
本发明涉及区块链技术领域,尤其涉及基于区块链的文件管理方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
基于区块链的全局分布式文件***(Distributed file system,DFS)通过利用区块链的特点,为文件的保存提供了激励和安全保障,但某些当前版本的DFS,例如星际文件***(InterPlanetary File System,IPFS),存在访问控制上的问题,无法对文件如何被访问进行审计和跟踪,导致文件的安全性较低。
发明内容
本发明实施例提供一种基于区块链的文件管理方法,用以提高文件的安全性,该方法包括:
响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值;
将文件加密后得到加密文件,通过IPFS存储加密文件;
根据哈希值生成文件的元数据;其中,元数据中包括哈希值;
将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中;
将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中。
可选地,根据哈希值生成文件的元数据可以包括:
调用区块链客户端,将文件的元数据信息发送至区块链客户端;
接收区块链客户端返回的元数据;其中,区块链客户端用于基于区块链链上的智能合约,根据元数据信息生成元数据。
可选地,在将元数据广播在区块链网络的第一通道中之后,该方法还可以包括:
响应于文件使用者请求文件的请求,在第一账本中获取元数据;
通过元数据中的哈希值在IPFS中查找和下载加密文件;
向文件使用者提供用于解密加密文件的密钥;
在区块链网络中添加文件使用者请求文件的交易信息。
可选地,向文件使用者提供用于解密加密文件的密钥可以包括:在文件使用者属于第二通道的情况下,获取存储在第二账本中的密钥。
本发明实施例还提供一种基于区块链的文件管理装置,用以提高文件的安全性,该装置包括:
计算模块,用于响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值;
加密上传模块,用于将文件加密后得到加密文件,通过IPFS存储加密文件;
生成模块,用于根据哈希值生成文件的元数据;
第一广播模块,用于将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中;
第二广播模块,用于将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中。
可选地,生成模块可以包括:
发送单元,用于调用区块链客户端,将文件的元数据信息发送至区块链客户端;其中,元数据信息包括哈希值;
接收单元,用于接收区块链客户端返回的元数据;其中,区块链客户端用于基于区块链链上的智能合约,根据元数据信息生成元数据。
可选地,该装置还可以包括:
获取模块,用于在将元数据广播在区块链网络的第一通道中之后,响应于文件使用者请求文件的请求,在第一账本中获取元数据;
查找下载模块,用于通过元数据中的哈希值在IPFS中查找和下载加密文件;
执行模块,用于向文件使用者提供用于解密加密文件的密钥;
添加模块,用于在区块链网络中添加文件使用者请求文件的交易信息。
可选地,执行模块还用于在文件使用者属于第二通道的情况下,获取存储在第二账本中的密钥。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的文件管理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的文件管理方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的文件管理方法。
本发明实施例中,响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值,将文件加密后得到加密文件,通过IPFS存储加密文件,根据哈希值生成文件的元数据,其中,元数据中包括哈希值,将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中,将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中,与现有技术中的技术方案相比,通过将文件加密后保存至星际文件***,将索引使用的哈希值和解密文件的密钥分别存储至区块链网络的不同通道中,可以提高文件的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种基于区块链的文件管理方法的流程示意图一;
图2为本发明实施例中提供的一种基于区块链的文件管理方法的流程示意图二;
图3为本发明实施例中提供的一种基于区块链的文件管理方法的流程示意图三;
图4为本发明实施例中提供的一种基于区块链的文件管理方法的流程示意图四;
图5为本发明实施例中提供的一种基于区块链的文件管理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
需要说明的是,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
星际文件***(IPFS)是一个分布式文件***,旨在使网络去中心化,并使其更快、更有效。分布式文件***可大致分为7层,即身份层、数据层、数据交换层、网络层、路由层、共识层和激励层,每一层都是分布式文件***的关键模块。作为下一代互联网高效的去中心化存储层,IPFS提供低延迟数据检索、容错保证和分散/分布式存储解决方案。在身份层,IPFS使用多哈希技术,可以存储哈希函数和摘要信息。在网络层,IPFS使用libP2P作为解决方案。IPFS可以用更新的技术替换现有组件。IPFS的分布式网络允许用户在全球范围内共享文件和信息。IPFS被设计用于在不同的协议(如FTP和HTTP)上操作,可以处理在因特网Internet上上传和/或下载可能消耗或需要大带宽的大文件。
本发明实施例中提供了一种基于区块链的文件管理方法,图1示出了本发明一个实施例提供的基于区块链的文件管理方法的流程示意图一。如图1所示,该方法可以包括如下步骤:
步骤101,响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值。
本发明实施例可以通过客户端、网页等形式实现,在接收文件上传方上传文件的请求之后,通过星际文件***IPFS计算文件的哈希值。可选地,IPFS可以将文件分为多个块,计算每个块的哈希值。其中,IPFS通过哈希值作为查找文件的索引。
步骤102,将文件加密后得到加密文件,通过IPFS存储加密文件。
原始的文件可以保存在文件上传方的本地,IPFS将文件通过密钥加密后,将加密文件保存在IPFS的分布式网络中。这样,在IPFS分布式网络中的节点下载到加密文件后,只有通过密钥进行解密才可以获取文件内容,从而提高了文件的安全性。
步骤103,根据哈希值生成文件的元数据。
元数据中包括哈希值。元数据中还可以包括文件上传者的名称、当前日期和时间等。元数据用于描述文件,哈希值用于在IPFS的分布式网络中索引查找文件。
步骤104,将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中。
区块链网络中可以包括多个通道,每个通道维护统一的一个账本,每个通道可以包括多个节点,不同通道的节点可以不同或有交叉,不同通道之间的账本不互通,也即,如果一个节点只在第一通道中,则只拥有第一账本,如果该节点同时在第一通道和第二通道中,则可以同时拥有第一账本和第二账本。
元数据广播在第一通道中,第一通道的节点记录在第一账本中。
步骤105,将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中。
密钥和元数据维护在不同通道中,记录在不同账本中,从而可以通过第二通道将解密加密文件的密钥限制在有限的节点中,可以设置指定的节点允许加入第二通道,从而保证文件的安全性。
本发明实施例中,响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值,将文件加密后得到加密文件,通过IPFS存储加密文件,根据哈希值生成文件的元数据,其中,元数据中包括哈希值,将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中,将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中,与现有技术中的技术方案相比,通过将文件加密后保存至星际文件***,将索引使用的哈希值和解密文件的密钥分别存储至区块链网络的不同通道中,可以提高文件的安全性。
可选地,如图2所示,步骤103根据哈希值生成文件的元数据可以包括:
步骤201,调用区块链客户端,将文件的元数据信息发送至区块链客户端。
执行本发明实施例方法的执行方可以调用区块链客户端(例如超级账本Hyperledger Fabric客户端),将需要在区块链上公开的元数据的信息发送至区块链客户端。
步骤202,接收区块链客户端返回的元数据。
区块链客户端用于基于区块链链上的智能合约,根据元数据信息生成元数据,并且,将元数据公开在区块链的第一通道上。第一通道中的节点都可以下载并查看元数据,进而通过元数据中的哈希值在IPFS中索引查找和下载加密文件。
下载和解密文件的方法可以如图3所示,在将元数据广播在区块链网络的第一通道中之后,执行如下步骤:
步骤301,响应于文件使用者请求文件的请求,在第一账本中获取元数据。
文件使用者在第一通道中,是第一通道中的节点。文件使用者请求文件时,可以通过文件的名称等标识在第一账本中查找文件的元数据,下载元数据之后,可以在元数据中解析得到文件的哈希值。
步骤302,通过元数据中的哈希值在IPFS中查找和下载加密文件。
获得元数据中的哈希值之后,可以调用IPFS,在IPFS中利用哈希值来索引文件。为了提高文件的安全性,IPFS的分布式网络中存储的文件是加密后的加密文件,因此,文件使用者下载到的文件为加密文件。
步骤303,向文件使用者提供用于解密加密文件的密钥。
密钥是存储在第二通道中的,文件使用者获取密钥需要具有相应的权限。可选地,在文件使用者属于第二通道的情况下,可以获取存储在第二账本中的密钥。或者,文件使用者可以在被第二通道中的指定节点授权之后,获取密钥。
步骤304,在区块链网络中添加文件使用者请求文件的交易信息。
交易信息可以添加在第二通道中,由第二通道中的节点维护。交易信息可以包括文件使用者请求文件的记录、获取密钥的时间、授权允许文件使用者获取密钥的节点等信息。通过交易信息,可以为文件的下载提供线索,对文件进行跟踪。交易信息的生成可以通过调用链码的智能合约执行。
本发明实施例在技术方面主要使用了链下存储数据技术,包括帮助以太坊减少链的大小和降低常规节点增长率。方法是将存储在合同创建交易中的源码移出链外并替换为一个更小的哈希值,以便检索代码。这在对***性能影响最小的情况下实现,并确保节点保持完全验证事务的能力。此外,文件***中快速同步节点需要下载更少的数据。本发明实施例提供了一种新的技术(可以简称为BlockIPFS),用超级智能合约账本增强IPFS,为IPFS提供线索来审计和保护文件的作者身份,并用作争议解决的凭证。如果有人将文件从IPFS中移出并非法与他人共享,BlockIPFS可以帮助识别谁下载了该文件,从而缩小了调查范围,使得分布式文件***具有清晰的审计跟踪,以提高数据的可信度和对作者身份保护。
在基于区块链的文件管理方法的一个应用场景中,用户与IPFS交互,可以执行其可用的所有操作。如图4所示为基于区块链的文件管理方法的***间组件交互示意图,用户在初始化IPFS之后,使用IPFS add命令向网络添加文件,IPFS通过生成256位散列地址(哈希值)的SHA256算法运行文件的散列地址来获取文件的散列地址,其中,文件可以被分成多个块,生成每个块的哈希值(multi-hush),IPFS将原始文件存储在本地存储中,并将散列地址添加到其网络中,具体的,散列可以由用户(作者)在专用网络上发布,也可以与网络上的特定节点(其他用户)共享。IPFS调用超级账本Hyperledger Fabric客户端,超级账本客户端接受文件的散列地址、所有者的名称、当前日期和时间,调用链码(chaincode)的智能合约将记录添加到分类账中,此过程遵循向分类账添加记录的标准超级智能合约账本流程。如果此过程失败,用户将收到提示,并可以选择继续或取消。否则,用户会收到交易成功的提示。
在此实现中,当用户访问其他节点上的文件时,不会将记录推送到其本地区块链。但访问日志会记录在文件所有者的BlockIPFS中。用户可以从本地BlockIPFS检索元数据,以跟踪与特定文件或添加到IPFS的所有文件相关的活动。值得注意的是,BlockIFPS中的超级智能合约账本区块链只存储用于跟踪目的的文件元数据,而文件本身仍然由IFPS管理。换句话说,当用户读写文件时,区块链几乎是透明的,IFPS中的任何文件访问控制机制都将被BlockIPFS继承。用户仅通过查询区块链来查看文件的元数据,该元数据可以以加密的方式记录在区块链账本上,只有文件的所有者或被授予权限的用户才能读取。如上所述,BlockIPFS利用超级智能合约账本中的通道来实现灵活和安全的文件共享。类似地,文件本身由IPFS加密和管理,而解密文件的密钥存储在区块链上的特定通道中。
本发明实施例中还提供了一种基于区块链的文件管理装置,如下面的实施例所述。由于该装置解决的问题及原理与本发明实施例提供的基于区块链的文件管理方法相似,因此该装置的实施可以参见基于区块链的文件管理方法的实施,重复之处不再赘述。
如图5所示,本发明实施例提供的基于区块链的文件管理装置包括计算模块10,加密上传模块20,生成模块30,第一广播模块40和第二广播模块50。
计算模块10可以用于响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值;
加密上传模块20可以用于将文件加密后得到加密文件,通过IPFS存储加密文件;
生成模块30可以用于根据哈希值生成文件的元数据;其中,元数据中包括哈希值;
第一广播模块40可以用于将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中;
第二广播模块50可以用于将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中。
可选地,生成模块30可以包括:
发送单元,用于调用区块链客户端,将文件的元数据信息发送至区块链客户端;其中,元数据信息包括哈希值;
接收单元,用于接收区块链客户端返回的元数据;其中,区块链客户端用于基于区块链链上的智能合约,根据元数据信息生成元数据。
可选地,该装置还可以包括:
获取模块,用于在将元数据广播在区块链网络的第一通道中之后,响应于文件使用者请求文件的请求,在第一账本中获取元数据;
查找下载模块,用于通过元数据中的哈希值在IPFS中查找和下载加密文件;
执行模块,用于向文件使用者提供用于解密加密文件的密钥;
添加模块,用于在区块链网络中添加文件使用者请求文件的交易信息。
可选地,执行模块还用于在文件使用者属于第二通道的情况下,获取存储在第二账本中的密钥。
本发明实施例中,响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值,将文件加密后得到加密文件,通过IPFS存储加密文件,根据哈希值生成文件的元数据,其中,元数据中包括哈希值,将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中,将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中,与现有技术中的技术方案相比,通过将文件加密后保存至星际文件***,将索引使用的哈希值和解密文件的密钥分别存储至区块链网络的不同通道中,可以提高文件的安全性。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定,本申请获取的个人、客户和人群等相关的个人身份数据、操作数据、行为数据等多种类型的数据,均已获得授权。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的文件管理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的文件管理方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的文件管理方法。
本发明实施例中,响应于文件上传方上传文件的请求,通过星际文件***IPFS计算文件的哈希值,将文件加密后得到加密文件,通过IPFS存储加密文件,根据哈希值生成文件的元数据,其中,元数据中包括哈希值,将元数据广播至区块链网络的第一通道中,以将元数据同步至第一通道中所有节点自身维护的第一账本中,将用于解密加密文件的密钥广播至区块链网络的第二通道中,以将密钥同步至第二通道中所有节点自身维护的第二账本中,与现有技术中的技术方案相比,通过将文件加密后保存至星际文件***,将索引使用的哈希值和解密文件的密钥分别存储至区块链网络的不同通道中,可以提高文件的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种基于区块链的文件管理方法,其特征在于,包括:
响应于文件上传方上传文件的请求,通过星际文件***IPFS计算所述文件的哈希值;
将所述文件加密后得到加密文件,通过所述IPFS存储所述加密文件;
根据所述哈希值生成所述文件的元数据;其中,所述元数据中包括所述哈希值;
将所述元数据广播至区块链网络的第一通道中,以将所述元数据同步至所述第一通道中所有节点自身维护的第一账本中;
将用于解密所述加密文件的密钥广播至所述区块链网络的第二通道中,以将所述密钥同步至所述第二通道中所有节点自身维护的第二账本中。
2.如权利要求1所述的方法,其特征在于,所述根据所述哈希值生成所述文件的元数据,包括:
调用区块链客户端,将所述文件的元数据信息发送至所述区块链客户端;
接收所述区块链客户端返回的所述元数据;其中,所述区块链客户端用于基于所述区块链链上的智能合约,根据所述元数据信息生成所述元数据。
3.如权利要求1或2所述的方法,其特征在于,在将所述元数据广播在区块链网络的第一通道中之后,还包括:
响应于文件使用者请求所述文件的请求,在所述第一账本中获取所述元数据;
通过所述元数据中的哈希值在所述IPFS中查找和下载所述加密文件;
向所述文件使用者提供用于解密所述加密文件的密钥;
在所述区块链网络中添加所述文件使用者请求所述文件的交易信息。
4.如权利要求3所述的方法,其特征在于,所述向所述文件使用者提供用于解密所述加密文件的密钥,包括:
在所述文件使用者属于所述第二通道的情况下,获取存储在所述第二账本中的所述密钥。
5.一种基于区块链的文件管理装置,其特征在于,包括:
计算模块,用于响应于文件上传方上传文件的请求,通过星际文件***IPFS计算所述文件的哈希值;
加密上传模块,用于将所述文件加密后得到加密文件,通过所述IPFS存储所述加密文件;
生成模块,用于根据所述哈希值生成所述文件的元数据;其中,所述元数据中包括所述哈希值;
第一广播模块,用于将所述元数据广播至区块链网络的第一通道中,以将所述元数据同步至所述第一通道中所有节点自身维护的第一账本中;
第二广播模块,用于将用于解密所述加密文件的密钥广播至所述区块链网络的第二通道中,以将所述密钥同步至所述第二通道中所有节点自身维护的第二账本中。
6.如权利要求5所述的装置,其特征在于,所述生成模块包括:
发送单元,用于调用区块链客户端,将所述文件的元数据信息发送至所述区块链客户端;
接收单元,用于接收所述区块链客户端返回的所述元数据;其中,所述区块链客户端用于基于所述区块链链上的智能合约,根据所述元数据信息生成所述元数据。
7.如权利要求5或6所述的装置,其特征在于,还包括:
获取模块,用于在将所述元数据广播在区块链网络的第一通道中之后,响应于文件使用者请求所述文件的请求,在所述第一账本中获取所述元数据;
查找下载模块,用于通过所述元数据中的哈希值在所述IPFS中查找和下载所述加密文件;
执行模块,用于向所述文件使用者提供用于解密所述加密文件的密钥;
添加模块,用于在所述区块链网络中添加所述文件使用者请求所述文件的交易信息。
8.如权利要求7所述的装置,其特征在于,所述执行模块还用于在所述文件使用者属于所述第二通道的情况下,获取存储在所述第二账本中的所述密钥。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一所述方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一所述方法。
CN202211316920.5A 2022-10-26 2022-10-26 基于区块链的文件管理方法及装置 Pending CN115544574A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211316920.5A CN115544574A (zh) 2022-10-26 2022-10-26 基于区块链的文件管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211316920.5A CN115544574A (zh) 2022-10-26 2022-10-26 基于区块链的文件管理方法及装置

Publications (1)

Publication Number Publication Date
CN115544574A true CN115544574A (zh) 2022-12-30

Family

ID=84718087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211316920.5A Pending CN115544574A (zh) 2022-10-26 2022-10-26 基于区块链的文件管理方法及装置

Country Status (1)

Country Link
CN (1) CN115544574A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185291A (zh) * 2023-02-06 2023-05-30 深圳市迈科龙电子有限公司 中间件存储方法、装置、电子设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185291A (zh) * 2023-02-06 2023-05-30 深圳市迈科龙电子有限公司 中间件存储方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US8565422B2 (en) Method and system for enryption key versioning and key rotation in a multi-tenant environment
CN110689349B (zh) 一种区块链中的交易哈希值存储和搜索方法及装置
RU2531569C2 (ru) Защищенное и конфиденциальное хранение и обработка резервных копий для доверенных сервисов вычисления и данных
WO2002077747A2 (en) Distributed, scalable cryptographic access control
US11256662B2 (en) Distributed ledger system
JP2004126639A (ja) データ管理システム、データ管理方法及びプログラム
Wu et al. Secure personal health records sharing based on blockchain and IPFS
Periasamy et al. An enhanced secure content de-duplication identification and prevention (ESCDIP) algorithm in cloud environment
Tan et al. Blockchain-based healthcare management system with two-side verifiability
CN112000632A (zh) 密文的分享方法、介质、分享客户端及***
Almutairi et al. Survey of centralized and decentralized access control models in cloud computing
Riad et al. Secure storage and retrieval of IoT data based on private information retrieval
Hiemenz et al. Dynamic searchable symmetric encryption for storing geospatial data in the cloud
CN115544574A (zh) 基于区块链的文件管理方法及装置
Kaci et al. Toward a big data approach for indexing encrypted data in cloud computing
Hao et al. Decentralized data integrity verification model in untrusted environment
Yan et al. Secure and efficient big data deduplication in fog computing
Selvam et al. On developing dynamic and efficient cryptosystem for safeguarding healthcare data in public clouds
CN113505098A (zh) 文件共享***、方法和存储介质
Kumar et al. Improved write access control and stronger freshness guarantee to outsourced data
Chandran et al. Data management issues in cloud integrated computing: A big picture
CN114793237B (zh) 基于区块链技术的智慧城市数据共享方法、设备及介质
Ho et al. Speed up querying encrypted data on outsourced database
Chen et al. A design for scalable and secure key-value stores
Chen et al. Searchable encryption system for big data storage

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