CN114499894B - 区块链网络中的文件存储、读取方法及存储读取*** - Google Patents

区块链网络中的文件存储、读取方法及存储读取*** Download PDF

Info

Publication number
CN114499894B
CN114499894B CN202210337490.9A CN202210337490A CN114499894B CN 114499894 B CN114499894 B CN 114499894B CN 202210337490 A CN202210337490 A CN 202210337490A CN 114499894 B CN114499894 B CN 114499894B
Authority
CN
China
Prior art keywords
file
middleware
data
client
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.)
Active
Application number
CN202210337490.9A
Other languages
English (en)
Other versions
CN114499894A (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.)
Nanjing Municipal Design And Research Institute Co ltd
Nanjing Jinninghui Technology Co ltd
Original Assignee
Nanjing Municipal Design And Research Institute Co ltd
Nanjing Jinninghui 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 Nanjing Municipal Design And Research Institute Co ltd, Nanjing Jinninghui Technology Co ltd filed Critical Nanjing Municipal Design And Research Institute Co ltd
Priority to CN202210337490.9A priority Critical patent/CN114499894B/zh
Publication of CN114499894A publication Critical patent/CN114499894A/zh
Application granted granted Critical
Publication of CN114499894B publication Critical patent/CN114499894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种区块链网络中的文件存储、读取方法及文件存储读取***,通过使用秘密共享的方法对存储哈希值进行拆分,得到多个初始元组数据,并且使用节点公钥对初始元组数据进行加密,保证节点只能解密出自己的初始元组数据,无法获取其他节点的初始元组数据。本方案要求客户端进行文件读取时必须获得大于等于门限数量的节点授权才能够还原出存储哈希值进行文件的读取,实现了对文件的读取权限的控制管理,保护了用户的数据隐私。进一步,通过对每个加密元组数据设置有效时间,更细粒度的控制用户对文件的读取权限。

Description

区块链网络中的文件存储、读取方法及存储读取***
技术领域
本申请涉及区块链网络技术,尤其涉及区块链网络中的文件存储、读取方法及存储读取***。
背景技术
区块链作为一种分布式账户技术,在实现分布式信任以及安全性的同时,也牺牲了其处理能力,相比较于传统的web中心化服务器,其处理性能十分有限。在存储大文件的时候,如果将大文件直接上链,则会给区块链网络造成很大压力,消耗大量的带宽。因此通常的做法是将文件进行链下存储,只把文件的指纹,即文件的hash(哈希)值进行上链。
星际文件***(InterPlanetary File System,IPFS)是一个分布式文件***,是一种全新的点到点超媒体文本传输协议,提供了天然去中心化的大文件存储解决方案,完美适配区块链的去中心化特征,因此在实际的落地应用中,很多方案使用了区块链+IPFS的大文件存储解决方案。
目前基于IPFS网络实现的区块链文件存储方法的基本思路是,首先将文件进行切片拆分,将拆分后的文件上传到IPFS网络中,得到对应的hash值,然后将这些hash值上传到区块链网络中。对应的基于IPFS网络的区块链文件读取方法的基本思路是,首先获取文件的hash值,然后根据hash值进行该文件的读取。因为区块链网络中的数据是共享的,链上的各方均能获得文件的hash值,无需得到任何同意就可以对文件进行读取。
随着我国对于数据隐私权的重视,数据的隐私保护变得愈发重要,上述方法没有考虑到文件读取的权限问题,导致文件可以被区块链网络上的各参与方无差别读取,用户的数据隐私安全不能得到保护。
发明内容
为了解决目前的基于IPFS网络实现的区块链文件存储方法没有考虑到文件读取的权限问题,导致文件可以被区块链网络上的各参与方无差别读取,用户的数据隐私安全不能得到保护的问题,本申请通过以下方面公开了一种区块链网络中的文件存储方法、文件读取方法以及文件存储读取***。
本申请第一方面公开了一种区块链网络中的文件存储方法,文件存储方法包括:
客户端向中间件发送文件存储请求,将待存储文件传送至中间件,其中,中间件中存储目标区块链网络中所有节点的节点公钥;文件存储请求包括门限数量;
中间件将待存储文件上传至IPFS网络,并接收IPFS网络返回的与待存储文件对应的存储哈希值;
中间件对存储哈希值按照预设秘密共享方法进行秘密拆分,得到第一数量个初始元组数据;其中,第一数量等于目标区块链网络中节点的数量,一个初始元组数据对应一个目标区块链网络中的节点,预设秘密共享方法的秘密恢复门限值设为门限数量;
中间件对每个初始元组数据分别使用对应的节点公钥进行加密,得到加密元组数据集合,并发送至客户端,其中加密元组数据集合包括第一数量个加密元组数据;
客户端根据加密元组数据集合生成目标交易,并将目标交易发送至目标区块链网络;
目标区块链网络返回目标交易的交易哈希值至客户端。
可选的,中间件对按照预设秘密共享方法进行秘密拆分,得到第一数量个初始元组数据,包括:
生成第一数量个不同的输入数据;
生成加密多项式;其中加密多项式的次数为第二数量;加密多项式的常数项的值为存储哈希值,未知项系数的值为1-9之间的随机整数;第二数量等于门限数量减一;
将输入数据代入到加密多项式中进行计算,得到初始元组数据。
可选的,中间件将待存储文件上传至IPFS网络中,并接收IPFS网络返回的与待存储文件对应的存储哈希值,包括:
中间件将待存储文件分成多个文件分片,并上传至IPFS网络;
IPFS网络返回多个分片哈希值至中间件,其中,一个分片哈希值对应一个文件分片;
中间件将多个分片哈希值按照预设结构进行组装,得到预设结构数据,并上传至IPFS网络;
IPFS网络返回对应于预设结构数据的存储哈希值至中间件。
可选的,客户端为加密元组数据集合中每个加密元组数据分别设置有效时间。
本申请第二方面公开了一种区块链网络中的文件读取方法,所述文件读取方法用于读取按照本申请第一方面公开的区块链网络中的文件存储方法进行存储的文件,所述文件读取方法包括:
客户端根据目标交易的交易哈希值生成查询交易,发送至目标区块链网络;
目标区块链网络返回查询交易对应的加密元组数据集合至客户端;
客户端将加密元组数据集合和加密公钥发送至目标区块链网络,其中加密公钥由客户端向中间件请求获取;
目标区块链网络根据加密元组数据集合和加密公钥返回节点授权数据至客户端;
当节点授权数据的数量大于或者等于门限数量时,客户端根据节点授权数据生成文件读取请求发送至中间件,其中,文件读取请求包括节点授权数据和门限数量;
中间件根据文件读取请求按照预设秘密共享方法进行秘密恢复,得到存储哈希值;
中间件根据存储哈希值从IPFS网络中获取待读取文件,并发送至客户端。
可选的,目标区块链网络根据加密元组数据集合和加密公钥返回节点授权数据至客户端,包括:
节点使用节点私钥对加密元组数据集合进行解密,得到初始元组数据;
节点使用加密公钥对初始元组数据进行加密,并使用节点私钥对加密后数据进行签名,得到节点授权数据,返回至客户端。
可选的,中间件根据文件读取请求按照预设秘密共享方法进行秘密恢复,得到存储哈希值,包括:
中间件验证文件读取请求中的节点授权数据中的签名,若验证通过,则使用解密私钥将节点授权数据进行解密,得到初始元组数据;
构建解密多项式,其中,解密多项式的次数为第二数量,第二数量等于门限数量减一;
将初始元组数据代入到解密多项式中进行计算,得到存储哈希值,其中,存储哈希值等于解密多项式中常数项的值。
可选的,在使用解密私钥将节点授权数据进行解密,得到初始元组数据之后,构建解密多项式之前,所述文件读取方法还包括:
中间件获取初始元组数据对应的有效时间,根据有效时间筛选出有效初始元组数据;其中,有效初始元组数据是有效时间大于当前时间的初始元组数据;
当有效初始元组数据的数量大于或者等于门限数量时,中间件执行构建解密多项式的操作;
当有效初始元组数据的数量小于门限数量时,中间件停止执行后续操作,并生成提示信息反馈至客户端。
可选的,中间件根据存储哈希值从IPFS网络中获取待读取文件,包括:
中间件将存储哈希值发送至IPFS网络;
IPFS网络根据存储哈希值返回对应的预设结构数据至中间件;
中间件根据预设结构数据得到多个分片哈希值,并发送至IPFS网络;
IPFS网络根据分片哈希值返回对应的文件分片至中间件;
中间件将文件分片组装成待读取文件。
本申请第三方面提供了一种区块链网络中的文件存储读取***,包括客户端、中间件、IPFS网络以及目标区块链网络,其中,所述文件存储读取***被配置为执行下列文件存储方法,所述文件存储方法包括:
客户端向中间件发送文件存储请求,将待存储文件传送至中间件,其中,中间件中存储目标区块链网络中所有节点的节点公钥;文件存储请求包括门限数量;
中间件将待存储文件上传至IPFS网络,并接收IPFS网络返回的存储哈希值;
中间件对存储哈希值按照预设秘密共享方法进行秘密拆分,得到第一数量个初始元组数据;其中,第一数量等于目标区块链网络中节点的数量,一个初始元组数据对应一个目标区块链网络中的节点,预设秘密共享方法的秘密恢复门限值设为门限数量;
对每个初始元组数据分别使用对应的节点公钥进行加密,得到加密元组数据集合,并发送至客户端,其中加密元组数据集合包括第一数量个加密元组数据;
客户端根据加密元组数据集合生成目标交易,并将目标交易发送至目标区块链网络;
目标区块链网络返回目标交易的交易哈希值至客户端;
所述文件存储读取***还被配置为执行下列文件读取方法,所述文件读取方法包括:
客户端根据目标交易的交易哈希值生成查询交易,发送至目标区块链网络;
目标区块链网络返回查询交易对应的加密元组数据集合至客户端;
客户端将加密元组数据集合和加密公钥发送到目标区块链网络中,其中加密公钥由客户端向中间件请求获取;
目标区块链网络根据加密元组数据集合和加密公钥返回节点授权数据至客户端;
当节点授权数据的数量大于或者等于门限数量时,客户端根据节点授权数据生成文件读取请求发送至中间件,其中,文件读取请求包括节点授权数据和门限数量;
中间件根据文件读取请求按照预设秘密共享方法进行秘密恢复,得到存储哈希值;
中间件根据存储哈希值从IPFS网络中获取待读取文件,并发送至客户端。
本申请提供了一种区块链网络中的文件存储、读取方法以及文件存储读取***,通过使用秘密共享的方法对存储哈希值进行拆分,得到多个初始元组数据,并且使用节点公钥对初始元组数据进行加密,保证节点只能解密出自己的初始元组数据,无法获取其他节点的初始元组数据。本方案要求客户端进行文件读取时必须获得大于等于门限数量的节点授权才能够还原出存储哈希值进行文件的读取,实现了对文件的读取权限的控制管理,保护了用户的数据隐私。进一步,通过对每个加密元组数据设置有效时间,更细粒度的控制用户对文件的读取权限。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种区块链网络中文件存储方法的调用时序图;
图2为本申请实施例提供的一种区块链网络中文件存储方法的工作流程示意图;
图3为本申请实施例提供的一种区块链网络中文件存储方法中步骤12在一种实现方式下工作流程示意图;
图4为本申请实施例提供的一种区块链网络中文件存储方法中步骤13在一种实现方式下的调用时序图;
图5为本申请实施例提供的一种区块链网络中文件读取方法的调用时序图;
图6为本申请实施例提供的一种区块链网络中文件读取方法的工作流程示意图;
图7为本申请实施例提供的一种区块链网络中文件读取方法中步骤24在一种实现方式下的调用时序图;
图8为本申请实施例提供的一种区块链网络中文件读取方法中步骤27在一种实现方式下的调用时序图。
具体实施方式
为了解决目前的基于IPFS网络实现的区块链文件存储方法没有考虑到文件读取的权限问题,导致文件可以被区块链网络上的各参与方无差别读取,用户的数据隐私安全不能得到保护的问题,本申请通过以下实施例公开了一种区块链网络中的文件存储方法、文件读取方法以及文件存储读取***。
需要说明的是,在执行本申请提供的方法前,需要建立文件存储读取模型,即,本申请的方法是基于特定的模型来完成的,下面先对建立的模型进行说明。
参见图1,为本申请提供的一种区块链网络中的文件存储方法的调用时序图。由图1可知,本申请所建立的模型主要包括客户端、中间件、IPFS网络以及目标区块链网络,其中,客户端为一个通用的概念,任何可以构造调用参数,发起调用的程序、软件或者硬件都可以叫做客户端;同时客户端是无状态的,每一个调用是使用调用者的签名或者类似于用户标识来确定的。客户端用于用户发起文件存储请求,并根据中间件返回的加密元组数据集合生成目标交易进行上链。IPFS网络用于存储待存储的文件,并返回对应的存储哈希值。中间件位于客户端与IPFS网络之间,用于将客户端发送过来的待存储文件传送至IPFS网络,并对IPFS网络返回的存储哈希值进行秘密拆分,并使用节点公钥对拆分后的秘密进行加密。目标区块链网络返回目标交易的交易哈希值至客户端。目标区块链网络可以对应一个联盟链,也可以对应一个公有链或者是一个私有链。其中,联盟链作为区块链3.0的代表,引入了身份认证以及数据隔离,对文件数据的读写权限有了更高的要求。
参见图2,为本申请第一实施例公开的一种区块链网络中的文件存储方法的工作流程示意图。如图1所示,所述文件存储方法包括步骤11-16。
步骤11,客户端向中间件发送文件存储请求,将待存储文件传送至中间件,其中,中间件中存储目标区块链网络中所有节点的节点公钥;文件存储请求包括门限数量。
在本实施例中,用户先使用客户端将目标区块链网络中的参与方(节点)的节点公钥注册到中间件中。注册节点公钥的目的主要是为了实现秘密拆分之后秘密的分发。中间件负责维护目标区块链的节点公钥列表。如果节点退出网络,需要将对应的节点公钥进行注销。
示例性的,本实施例中的文件存储请求的json范式如下:
req{
fileLocation:“D://file”
volumnPath:“/data/file”
account:"root"
password:"root"
ip: "x.x.x.x"
port: "22"
threshold:“n”
}
其中,fileLocation为客户端中待存储文件的位置,volumPath是中间件的文件存储目录,accont、password、ip、port分别是中间件所在的服务器用户名、密码、ip地址、端口。threshold是门限数量n。其中门限数量n对应于后续步骤中预设秘密共享方法中的秘密恢复门限值,也对应于后续文件读取方法中,客户端需要获取授权数据的节点的最少数量;即客户端在文件存储请求中就已经设置好待存储文件对应的读取权限。需要说明的是,n需要为正整数,取值范围为大于等于1并且小于等于目标区块链网络中节点的数量m。
步骤12,中间件将待存储文件上传至IPFS网络,并接收IPFS网络返回的与待存储文件对应的存储哈希值。
在一种实现方式中,中间件直接将待存储文件上传至IPFS网络;IPFS网络返回待存储文件的存储哈希值至中间件。中间件根据存储哈希值从IPFS网络中读取待存储文件。
在另一种实现方式中,为了提高存储效率,中间件将待存储文件分成多个文件分片,上传至所述IPFS网络。参见图3,步骤12进一步包括步骤121-124。
步骤121,中间件将待存储文件分成多个文件分片,并上传至IPFS网络。在本实施例中,多个文件分片可以同时上传至IPFS网络,加快待存储文件的上传速度,提高存储效率。需要说明的是,在其他实施例中,也可以使用客户端对待存储文件进行分片,直接上传至IPFS网络,中间件接收分片哈希值进行后续的步骤处理。本实施例采用中间件进行文件分片处理过程,一方面符合本领域技术人员的开发习惯,另一方面中间件作为web后端,与数据库连接,对应会生成数据处理过程的日志文件,便于后续进行***维护、或者对数据操作记录进行查询统计等。
步骤122,IPFS网络返回多个分片哈希值至中间件,其中,一个分片哈希值对应一个文件分片。
步骤123,中间件将多个分片哈希值按照预设结构进行组装,得到预设结构数据,并上传至IPFS网络。示例性的,预设结构是默克尔(Merkle)树结构。将分片哈希值当做默克尔树的叶节点,并计算出该默克尔树结构的数值。但是如果将默克尔树结构作为后续秘密共享方法中的原始秘密,数据量太大了。因此,将预设结构数据上传至IPFS网络,使用预设结构数据的存储哈希值作为后续秘密分发的原始秘密。
对于组装得到的默克尔树结构,叶节点对应于每个分片文件的分片哈希值,在后续文件读取过程中需要根据所述分片哈希值拿到对应的分片文件,恢复出原文件。其中,默克尔树的层次结构包含分片文件的拼接顺序,并且可以使用默克尔树根值对分片文件的有效性进行验证。需要说明的是,本实施例只是以默克尔树结构进行示例说明,其他数据结构也可以用于所述文件存储方法。本申请对预设结构对应的具体数据结构类型不做限制。
步骤124,IPFS网络返回对应于预设结构数据的存储哈希值至中间件。在本实施例中,将预设结构数据存储到IPFS网络中,可以借助IPFS网络的分布式存储的特点,提高预设结构数据的存储的安全性。
在文件读取过程中,中间件根据存储哈希值从IPFS网络中读取预设结构数据,并根据预设数据结构还原出对应的多个分片哈希值,然后根据多个分片哈希值从IPFS网络中读取对应的多个文件分片,最后根据文件分片还原待存储文件,发送至客户端。
步骤13,中间件对存储哈希值按照预设秘密共享方法进行秘密拆分,得到第一数量个初始元组数据;其中,第一数量等于目标区块链网络中节点的数量m,一个初始元组数据对应一个目标区块链网络中的节点,预设秘密共享方法的秘密恢复门限值设为门限数量。
秘密共享方法的基本思想是:假设有一个原始秘密s,秘密分发者将s运用某种算法来分成m份,然后将m份发给m个参与者。在重构时,在m个参与者中选取n个参与者来重构秘密,任意n个人都可以重构,任意n-1人不能重构。在本实施例中,m对应于目标区块链网络的参与者数量,n为门限数量,其中,n小于等于m,原始秘密s对应于步骤12中的存储哈希值。
在一种实现方式中,中间件采用多项式秘密共享方法对存储哈希值进行秘密拆分,得到m个初始元组数据,对应于目标区块链网络中的节点。参见图4,步骤13包括步骤131-133。
步骤131,生成第一数量个不同的输入数据。在一种实现方式中,中间件将目标区块链网络中的每个节点公钥分别转化成十进制数值,作为输入数据x1,x2,...,xm。示例性的,节点公钥为一个字符串,如“abcdefg”,该字符串可以转换为二进制数字“01100001011000100110001101100100011001010110011001100111”,二进制再转化为十进制,即可得到输入数据“27411251766584936”。在另一种实现方式中,可以随机生成m个不同的输入数据x1,x2,...,xm
步骤132,生成加密多项式;其中加密多项式的次数为第二数量;加密多项式的常数项的值为存储哈希值,未知项系数的值为1-9之间的随机整数;第二数量等于门限数量减一。
在本实施例中,根据步骤11中的文件存储请求中的门限数量n,来生成对应的n-1次加密多项式,y=a0+a1x+a2x2+......+an-1xn-1,其中,a0为该多项式的常数项,取值为步骤12中的存储哈希值,a1~an-1为该多项式的未知数系数,对应的值为1-9之间的随机整数,可以用随机生成器来生成。
步骤133,将输入数据代入到加密多项式中进行计算,得到初始元组数据。在本实施例中,将步骤131中的x1,x2,...,xm代入到上面的加密多项式中计算,得到初始元组对(x1,y1),(x2,y2),.....,(xm,ym)。
需要说明的是,在本申请中的其他实施例中,也可以按照其它秘密共享算法进行秘密拆分,只要满足“在重构时,在m个参与者中选取n个参与者来重构秘密,任意n个参与者都可以重构,任意n-1个参与者不能重构”即可。本申请对中间件所采用的秘密共享算法不做具体限制。
步骤14,中间件对每个初始元组数据分别使用对应的节点公钥进行加密,得到加密元组数据集合,并发送至客户端,其中加密元组数据集合包括第一数量m个加密元组数据。
在一种实现方式中,当输入数据是根据节点公钥转换而来的,示例性的,初始元组数据(x1,y1)使用x1对应的节点公钥进行加密,得到加密元组对Enc(x1,y1),依次类推,得到加密元组数据集合。在另外一种实现方式中,输入数据是随机生成的,一个初始元组数据与节点公钥一一对应即可。示例性的,初始元组数据(x1,y1)使用节点1对应的节点公钥进行加密,初始元组数据(x2,y2)使用节点2对应的节点公钥进行加密,依次类推,得到加密元组数据集合。
步骤15,客户端根据加密元组数据集合生成目标交易,并将目标交易发送至目标区块链网络。
在一种实现方式中,为了更细粒度地控制文件的读取权限,客户端对于每一个加密元组数据分别设置有效时间。每一个加密元组数据的有效时间根据对应节点在业务流程中担任的角色来确定。示例性的,节点1是核心业务角色,则对应的加密元组数据Enc(x1,y1)的有效时间可以设置一个很大的值。在文件读取时,如果超过加密元组数据的有效时间,则该加密元组数据不能用于秘密还原。
步骤16,目标区块链网络返回目标交易的交易哈希值至客户端。
本实施例提供了一种区块链网络中的文件存储方法,所述方法通过使用秘密共享的方法对存储哈希值进行拆分,得到多个初始元组数据,并且使用节点公钥对初始元组数据进行加密,保证节点只能解密出自己的初始元组数据,无法获取其他节点的初始元组数据。本方案要求客户端进行文件读取时必须获得大于等于门限数量的节点授权才能够还原出存储哈希值进行文件的读取,实现了对文件的读取权限的控制管理,保护了用户的数据隐私。
与前述一种区块链网络中的文件存储方法的实施例相对应,本申请第二实施例公开了一种区块链网络中的文件读取方法,所述文件读取方法中客户端使用本申请第一实施例中得到目标交易的交易哈希值来获取待读取文件。对应的,本实施例提供的区块链网络中的文件读取方法也是基于建立的文件存储读取模型执行的。
参见图5,为本申请第二实施例提供的一种区块链网络中的文件读取方法的调用时序图。由图5可知,在本实施例中,客户端通过目标交易的交易哈希值从目标区块链网络中获取加密元组数据集合,并将加密元组数据集合和加密公钥发送至目标区块链网络中;目标区块链网络中的节点返回节点授权数据至客户端。客户端根据节点授权数据生成文件读取请求发送至中间件;中间件使用解密私钥对文件读取请求中的节点授权数据进行解密,获得初始元组数据,然后进行秘密恢复,得到存储哈希值;中间件使用存储哈希值从IPFS网络中获得待读取文件,并返回至客户端。
参见图6,为本申请第二实施例提供的区块链网络中的文件读取方法的工作流程图。如图2所示,所述文件读取方法包括步骤21-27。
步骤21,客户端根据目标交易的交易哈希值生成查询交易,发送至目标区块链网络。
在本实施例中,客户端使用本申请第一实施例得到的目标交易的交易哈希值来获取待读取文件。首先,先使用目标交易的交易哈希值构造查询交易,用于获取上链的加密元组数据集合。
步骤22,目标区块链网络返回查询交易对应的加密元组数据集合至客户端。
步骤23,客户端将加密元组数据集合和加密公钥发送至目标区块链网络,其中加密公钥由客户端向中间件请求获取。
其中,加密公钥由中间件生成,同时,中间件还生成加密公钥对应的解密私钥,其中,中间件仅将加密公钥发送至客户端,自己保管对应的解密私钥。在一种实现方式中,中间件生成一次加密公钥/解密私钥,每次客户端发送申请加密公钥请求时,都发送固定的加密公钥给客户端。在另外一种实现方式中,为了提高安全性,中间件在接收到客户端发送过来的加密公钥请求之后,生成对应于上述请求的加密公钥和解密私钥,将加密公钥发送至客户端。本申请对中间件生成加密公钥和解密私钥的具体算法不作限制,可以采用RSA算法、SM2算法等公私钥对生成算法。
步骤24,目标区块链网络根据加密元组数据集合和加密公钥返回节点授权数据至客户端。目标区块链网络返回节点授权数据的过程包括:节点使用节点私钥对加密元组数据进行解密、使用加密公钥对解密后的初始元组数据进行加密以及使用节点私钥进行签名的过程。
在一种实现方式中,用户通过线下的方式与至少n(门限数量)个节点的管理员沟通好文件读取请求,然后使用客户端向预先沟通好的节点发送加密元组数据集合和加密公钥来获取对应的节点授权数据。在另外一种实现方式中,用户使用客户端向目标区块链网络中的所有节点发送加密元组数据集合和加密公钥来获取节点授权数据。
参见图7,为本申请实施例提供的一种区块链网络中文件读取方法中目标区块链网络中的节点1返回对应的节点授权数据的一种实现方式的调用时序图。由图7可知,步骤24包括步骤241-242。
步骤241,节点使用节点私钥对加密元组数据集合进行解密,得到初始元组数据。
步骤242,节点使用加密公钥对初始元组数据进行加密,并使用节点私钥对加密后数据进行签名,得到节点授权数据,返回至客户端。其中,节点使用加密公钥对初始元组数据进行加密,避免客户端直接获取初始元组数据,保证一个初始元组数据只能被一个节点查看,不被其他节点查看。
示例性的,节点1收到客户端发送的加密元组数据集合和加密公钥,先使用自己的节点私钥对加密元组数据集合中对应于自己的加密元组数据Enc(x1,y1)进行解密,得到对应的初始元组数据(x1,y1);再使用传送过来的加密公钥对(x1,y1)进行加密;然后使用自己的节点私钥进行签名授权,得到节点授权数据发送至客户端。因为加密元组数据集合中的不同加密元组数据分别用不同的节点公钥进行加密,保证每个节点只能解密出对应于自己的初始元组数据。
步骤25,当节点授权数据的数量大于或者等于门限数量时,客户端根据节点授权数据生成文件读取请求发送至中间件,其中,文件读取请求包括节点授权数据和门限数量。
对应于第一实施例中的所述文件存储方法,在本实施例中的文件读取过程中,客户端需要收集至少n(门限数量)个节点授权数据才能进行秘密恢复,获取存储哈希值。因此,客户端在收集到的节点授权数据的数量大于或者等于门限数量时,才会生成对应的文件读取请求发送至中间件。
需要说明的是,每个存储的文件对应的下载门限数量是在文件存储过程中设定的。在一种实现方式中,中间件在文件存储过程中将门限数量写入至加密元组数据集合中。需要进行文件读取的用户可以通过上链的加密元组数据集合得知待读取文件的门限数量。在另一种实现方式中,客户端在文件存储过程中将门限数量写入至目标交易中进行上链。需要进行文件读取的用户通过查询交易读取上链的目标交易时得知待读取文件的门限数量。在实际应用中,可以通过多种方式传递文件的门限数量,本申请对存储和读取过程中门限数量的传递方式不做限制。
示例性的,本实施例中的文件读取请求的json范式如下:
req:{
authorizeSet:[{
encData:””
signature:””
},
……
{
encData:””
signature:””
}
threshold:””
}]
}
其中,authorizeSet为节点授权数据集合,包含客户端收集到的节点授权数据。threshord为门限数量n,只有ahthrizedSet中的节点收取数据数量大于或等于门限数量n,才可以还原出秘密。节点授权数据包含两个字段,encData是步骤242中使用所述加密公钥对初始元组数据进行加密后的数据,siganature是步骤242中使用节点私钥对加密后数据进行签名的签名信息。
步骤26,中间件根据文件读取请求按照预设秘密共享方法进行秘密恢复,得到存储哈希值。中间件对文件读取请求中的节点授权数据的签名信息进行验证,然后通过对应于文件存储方法中的秘密共享方法进行逆过程计算求解得到原始秘密,即存储哈希值。进一步,步骤26包括步骤261-263。
步骤261,中间件验证文件读取请求中的节点授权数据中的签名,若验证通过,则使用解密私钥将节点授权数据进行解密,得到初始元组数据。
在本实施例中,中间件使用存储的节点公钥对文件读取请求中的节点授权数据中的签名信息进行验证。如果验证通过,则使用步骤23中的加密公钥对应的解密私钥将节点授权数据进行解密,得到初始元组数据,如(x1,y1)。其中,解密私钥只在中间件中保管,客户端或者各个节点都不能获取。在步骤261中,中间件得到的初始元组数据的数量大于或者等于n。
需要说明的是,如果某个节点退出了目标区块链网络,客户端会将中间件中节点公钥列表中的对应的节点公钥删除。当所述文件读取请求中包括了该节点对应的节点授权数据时,中间件就无法验证该节点授权数据签名的有效性,保证了如果某节点退出了目标区块链网络后,对应于该节点的初始元组数据永不可用。
步骤262,构建解密多项式,其中,解密多项式的次数为第二数量,第二数量等于门限数量减一。在本实施例中,根据步骤25中的文件读取请求中的门限数量n,构建n-1次多项式,y=a0+a1x+a2x2+......+an-1xn-1
步骤263,将初始元组数据代入到解密多项式中进行计算,得到存储哈希值,其中,存储哈希值等于解密多项式中常数项的值。
将步骤261中得到的初始元组数据代入到上述多项式中,则会得到一个规模至少为n的线性方程组,求解该线性方程组得到的解集为(a0,a1,a2,.....,an-1);其中a0的值就对应是原始秘密s,即存储哈希值。
在一种实现方式中,为了更细粒度地控制文件的读取权限,在步骤261之后,步骤262之前,中间件要根据每个初始元组数据对应的有效时间,来筛选出有效初始元组数据,并判断有效初始元组数据的数量是否大于或者等于门限数量n。如果是,则向客户端返回有效初始元组数据数量未达到门限数量,不能恢复秘密的提示;如果否,则使用有效初始元组数据继续执行后续步骤262。
如此,本实施例提供的所述区块链网络中的文件读取方法还包括:中间件获取初始元组数据对应的有效时间,根据有效时间筛选出有效初始元组数据;其中,有效初始元组数据是有效时间大于当前时间的初始元组数据;当有效初始元组数据的数量大于或者等于门限数量时,中间件执行构建解密多项式的操作;当有效初始元组数据的数量小于门限数量时,中间件停止执行后续操作,并生成提示信息反馈至客户端。
在上述实现方式中,在执行步骤263解密多项式时,使用有效初始元组数据来进行线性方程组的求解;超过有效时间的初始元组数据不能用于秘密恢复,保证了文件读取权限的时效控制。
步骤27,中间件根据存储哈希值从IPFS网络中获取待读取文件,并发送至客户端。
在一种实现方式中,中间件直接将待存储文件上传至IPFS网络,获取待存储文件的存储哈希值。对应的,在文件读取过程中,中间件直接根据存储哈希值从IPFS网络中获取待读取文件。
在另一种实现方式中,为了提高存储效率,文件是分成多个小的文件分片存储在IPFS网络中的。参见图8,为本申请实施例提供的区块链网络中文件读取方法中中间件获取待读取文件的调用时序图。由图8可知,步骤27进一步包括步骤271-275。
步骤271,中间件将存储哈希值发送至IPFS网络。
步骤272,IPFS网络根据存储哈希值返回对应的预设结构数据至中间件。
步骤273,中间件根据预设结构数据得到多个分片哈希值,并发送至IPFS网络。
步骤274,IPFS网络根据分片哈希值返回对应的文件分片至中间件。
步骤275,中间件将文件分片组装成待读取文件。其中,中间件根据预设结构数据中包含的分片文件的拼接顺序将文件分片组装成待读取文件。
本实施例提供的一种区块链网络中的文件读取方法。所述文件读取方法中客户端根据目标交易的交易哈希值生成查询交易,从目标区块链网络中获取对应的加密元组数据集合,并将加密元组数据集合和从中间件中请求获取的加密公钥发送至目标区块链网络中获取对应的节点授权数据;当客户端收集了大于等于门限数量个节点授权数据后,生成文件读取请求发送至中间件。中间件根据节点授权数据进行秘密恢复,得到存储哈希值,最终从IPFS网络读取到待读取文件发送至客户端。
进一步的,在本实施例中,节点对加密元组数据进行解密得到初始元组数据后,再使用加密公钥进行加密,避免客户端直接获取初始元组数据,保证一个初始元组数据只能被一个节点查看,不被其他节点查看,落实对文件的读取权限的控制管理,保护了用户的数据隐私。
对应于第一实施例提供的所述文件存储方法和第二实施例提供的所述文件读取方法,本申请第三实施例提供了一种区块链网络中的文件存储读取***,包括客户端、中间件、IPFS网络以及目标区块链网络。
所述文件存储读取***被配置为执行本申请第一实施例所述的文件存储方法,包括:客户端向中间件发送文件存储请求,将待存储文件传送至中间件,其中,中间件中存储目标区块链网络中所有节点的节点公钥;文件存储请求包括门限数量;中间件将待存储文件上传至IPFS网络,并接收IPFS网络返回的存储哈希值;中间件对存储哈希值按照预设秘密共享方法进行秘密拆分,得到第一数量个初始元组数据;其中,第一数量等于目标区块链网络中节点的数量,一个初始元组数据对应一个目标区块链网络中的节点,预设秘密共享方法的秘密恢复门限值设为门限数量;对每个初始元组数据分别使用对应的节点公钥进行加密,得到加密元组数据集合,并发送至客户端,其中加密元组数据集合包括第一数量个加密元组数据;客户端根据加密元组数据集合生成目标交易,并将目标交易发送至目标区块链网络;目标区块链网络返回目标交易的交易哈希值至客户端。
所述文件存储读取***还被配置为执行本申请第二实施例所述的文件读取方法,包括:客户端根据目标交易的交易哈希值生成查询交易,发送至目标区块链网络;目标区块链网络返回查询交易对应的加密元组数据集合至客户端;客户端将加密元组数据集合和加密公钥发送到目标区块链网络中,其中加密公钥由客户端向中间件请求获取;目标区块链网络根据加密元组数据集合和加密公钥返回节点授权数据至客户端;当节点授权数据的数量大于或者等于门限数量时,客户端根据节点授权数据生成文件读取请求发送至中间件,其中,文件读取请求包括节点授权数据和门限数量;中间件根据文件读取请求按照预设秘密共享方法进行秘密恢复,得到存储哈希值;中间件根据存储哈希值从IPFS网络中获取待读取文件,并发送至客户端。
上述***中在应用所述文件存储方法及所述文件读取方法时的作用效果可参见前述方法实施例中的说明,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由本申请的权利要求指出。

Claims (7)

1.一种区块链网络中的文件存储方法,其特征在于,包括:
客户端向中间件发送文件存储请求,将待存储文件传送至所述中间件,其中,所述中间件中存储目标区块链网络中所有节点的节点公钥;所述文件存储请求包括门限数量;
所述中间件将所述待存储文件上传至IPFS网络,并接收所述IPFS网络返回的与所述待存储文件对应的存储哈希值;
所述中间件对所述存储哈希值按照预设秘密共享方法进行秘密拆分,得到第一数量个初始元组数据;其中,第一数量等于所述目标区块链网络中节点的数量,一个所述初始元组数据对应一个所述目标区块链网络中的节点,所述预设秘密共享方法的秘密恢复门限值设为所述门限数量;
所述中间件对每个所述初始元组数据分别使用对应的节点公钥进行加密,得到加密元组数据集合,并发送至客户端,其中所述加密元组数据集合包括第一数量个加密元组数据;
客户端根据所述加密元组数据集合生成目标交易,并将所述目标交易发送至所述目标区块链网络;
所述目标区块链网络返回所述目标交易的交易哈希值至客户端;
其中,所述中间件将所述待存储文件上传至IPFS网络中,并接收所述IPFS网络返回的与所述待存储文件对应的存储哈希值,包括:
所述中间件将所述待存储文件分成多个文件分片,并上传至所述IPFS网络;
所述IPFS网络返回多个分片哈希值至所述中间件,其中,一个分片哈希值对应一个所述文件分片;
所述中间件将多个所述分片哈希值按照预设结构进行组装,得到预设结构数据,并上传至所述IPFS网络;
所述IPFS网络返回对应于所述预设结构数据的所述存储哈希值至所述中间件。
2.根据权利要求1所述的区块链网络中的文件存储方法,其特征在于,所述中间件对所述存储哈希值按照预设秘密共享方法进行秘密拆分,得到第一数量个初始元组数据,包括:
生成第一数量个不同的输入数据;
生成加密多项式;其中所述加密多项式的次数为第二数量;所述加密多项式的常数项的值为所述存储哈希值,未知项系数的值为1-9之间的随机整数;所述第二数量等于所述门限数量减一;
将所述输入数据代入到所述加密多项式中进行计算,得到初始元组数据。
3.根据权利要求1所述的区块链网络中的文件存储方法,其特征在于,客户端为所述加密元组数据集合中每个加密元组数据分别设置有效时间。
4.一种区块链网络中的文件读取方法,其特征在于,所述文件读取方法用于读取按照权利要求1-3任一所述的区块链网络中的文件存储方法进行存储的文件,所述文件读取方法包括:
客户端根据目标交易的交易哈希值生成查询交易,发送至目标区块链网络;
所述目标区块链网络返回所述查询交易对应的加密元组数据集合至客户端;
客户端将所述加密元组数据集合和加密公钥发送至所述目标区块链网络,其中所述加密公钥由客户端向中间件请求获取;
所述目标区块链网络根据所述加密元组数据集合和所述加密公钥返回节点授权数据至客户端;
当所述节点授权数据的数量大于或者等于门限数量时,客户端根据所述节点授权数据生成文件读取请求发送至所述中间件,其中,所述文件读取请求包括所述节点授权数据和所述门限数量;
所述中间件根据所述文件读取请求按照预设秘密共享方法进行秘密恢复,得到存储哈希值;
所述中间件根据所述存储哈希值从所述IPFS网络中获取待读取文件,并发送至客户端;其中,所述目标区块链网络根据所述加密元组数据集合和所述加密公钥返回节点授权数据至客户端,包括:
节点使用节点私钥对所述加密元组数据集合进行解密,得到初始元组数据;
节点使用所述加密公钥对所述初始元组数据进行加密,并使用节点私钥对加密后数据进行签名,得到节点授权数据,返回至客户端;
其中,所述中间件根据所述存储哈希值从所述IPFS网络中获取待读取文件,包括:
所述中间件将所述存储哈希值发送至所述IPFS网络;
所述IPFS网络根据所述存储哈希值返回对应的预设结构数据至所述中间件;
所述中间件根据所述预设结构数据得到多个分片哈希值,并发送至所述IPFS网络;
所述IPFS网络根据所述分片哈希值返回对应的文件分片至所述中间件;
所述中间件将所述文件分片组装成所述待读取文件。
5.根据权利要求4所述的区块链网络中的文件读取方法,其特征在于,所述中间件根据所述文件读取请求按照预设秘密共享方法进行秘密恢复,得到存储哈希值,包括:
所述中间件验证所述文件读取请求中的所述节点授权数据中的签名,若验证通过,则使用解密私钥将所述节点授权数据进行解密,得到初始元组数据;
构建解密多项式,其中,所述解密多项式的次数为第二数量,所述第二数量等于所述门限数量减一;
将所述初始元组数据代入到所述解密多项式中进行计算,得到所述存储哈希值,其中,所述存储哈希值等于所述解密多项式中常数项的值。
6.根据权利要求5所述的区块链网络中的文件读取方法,其特征在于,在使用所述解密私钥将所述节点授权数据进行解密,得到初始元组数据之后,所述构建解密多项式之前,所述文件读取方法还包括:
所述中间件获取所述初始元组数据对应的有效时间,根据所述有效时间筛选出有效初始元组数据;其中,有效初始元组数据是有效时间大于当前时间的初始元组数据;
当所述有效初始元组数据的数量大于或者等于所述门限数量时,所述中间件执行所述构建解密多项式的操作;
当所述有效初始元组数据的数量小于所述门限数量时,所述中间件停止执行后续操作,并生成提示信息反馈至客户端。
7.一种区块链网络中的文件存储读取***,其特征在于,包括客户端、中间件、IPFS网络以及目标区块链网络,其中,所述文件存储读取***被配置为执行下列文件存储方法,所述文件存储方法包括:
客户端向中间件发送文件存储请求,将待存储文件传送至所述中间件,其中,所述中间件中存储目标区块链网络中所有节点的节点公钥;所述文件存储请求包括门限数量;
所述中间件将所述待存储文件上传至IPFS网络,并接收所述IPFS网络返回的存储哈希值;
所述中间件对所述存储哈希值按照预设秘密共享方法进行秘密拆分,得到第一数量个初始元组数据;其中,第一数量等于所述目标区块链网络中节点的数量,一个所述初始元组数据对应一个所述目标区块链网络中的节点,所述预设秘密共享方法的秘密恢复门限值设为所述门限数量;
对每个所述初始元组数据分别使用对应的节点公钥进行加密,得到加密元组数据集合,并发送至客户端,其中所述加密元组数据集合包括第一数量个加密元组数据;
客户端根据所述加密元组数据集合生成目标交易,并将所述目标交易发送至所述目标区块链网络;
所述目标区块链网络返回所述目标交易的交易哈希值至客户端;
其中,所述中间件将所述待存储文件上传至IPFS网络中,并接收所述IPFS网络返回的与所述待存储文件对应的存储哈希值,包括:
所述中间件将所述待存储文件分成多个文件分片,并上传至所述IPFS网络;
所述IPFS网络返回多个分片哈希值至所述中间件,其中,一个分片哈希值对应一个所述文件分片;
所述中间件将多个所述分片哈希值按照预设结构进行组装,得到预设结构数据,并上传至所述IPFS网络;
所述IPFS网络返回对应于所述预设结构数据的所述存储哈希值至所述中间件;
所述文件存储读取***还被配置为执行下列文件读取方法,所述文件读取方法包括:
客户端根据目标交易的交易哈希值生成查询交易,发送至目标区块链网络;
所述目标区块链网络返回所述查询交易对应的加密元组数据集合至客户端;
客户端将所述加密元组数据集合和加密公钥发送到所述目标区块链网络中,其中所述加密公钥由客户端向中间件请求获取;
所述目标区块链网络根据所述加密元组数据集合和所述加密公钥返回节点授权数据至客户端;
当所述节点授权数据的数量大于或者等于门限数量时,客户端根据所述节点授权数据生成文件读取请求发送至所述中间件,其中,所述文件读取请求包括所述节点授权数据和所述门限数量;
所述中间件根据所述文件读取请求按照预设秘密共享方法进行秘密恢复,得到存储哈希值;
所述中间件根据所述存储哈希值从所述IPFS网络中获取待读取文件,并发送至客户端;
其中,所述目标区块链网络根据所述加密元组数据集合和所述加密公钥返回节点授权数据至客户端,包括:
节点使用节点私钥对所述加密元组数据集合进行解密,得到初始元组数据;
节点使用所述加密公钥对所述初始元组数据进行加密,并使用节点私钥对加密后数据进行签名,得到节点授权数据,返回至客户端;
其中,所述中间件根据所述存储哈希值从所述IPFS网络中获取待读取文件,包括:
所述中间件将所述存储哈希值发送至所述IPFS网络;
所述IPFS网络根据所述存储哈希值返回对应的预设结构数据至所述中间件;
所述中间件根据所述预设结构数据得到多个分片哈希值,并发送至所述IPFS网络;
所述IPFS网络根据所述分片哈希值返回对应的文件分片至所述中间件;
所述中间件将所述文件分片组装成所述待读取文件。
CN202210337490.9A 2022-04-01 2022-04-01 区块链网络中的文件存储、读取方法及存储读取*** Active CN114499894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210337490.9A CN114499894B (zh) 2022-04-01 2022-04-01 区块链网络中的文件存储、读取方法及存储读取***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210337490.9A CN114499894B (zh) 2022-04-01 2022-04-01 区块链网络中的文件存储、读取方法及存储读取***

Publications (2)

Publication Number Publication Date
CN114499894A CN114499894A (zh) 2022-05-13
CN114499894B true CN114499894B (zh) 2022-09-09

Family

ID=81488275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210337490.9A Active CN114499894B (zh) 2022-04-01 2022-04-01 区块链网络中的文件存储、读取方法及存储读取***

Country Status (1)

Country Link
CN (1) CN114499894B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499249B (zh) * 2022-11-17 2023-04-07 南京可信区块链与算法经济研究院有限公司 一种基于区块链分布式加密的文件存储方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555783A (zh) * 2019-07-18 2019-12-10 中国南方电网有限责任公司 一种基于区块链的电力营销数据保护方法及***
CN113347266A (zh) * 2021-06-21 2021-09-03 上海计算机软件技术开发中心 一种基于区块链的权限控制***、方法以及ipfs
CN113821478A (zh) * 2021-11-24 2021-12-21 南京金宁汇科技有限公司 一种基于区块链的大文件存储方法及***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111615810A (zh) * 2018-01-16 2020-09-01 区块链控股有限公司 获取数字签名的数据的计算机实现方法和***
US10673626B2 (en) * 2018-03-30 2020-06-02 Spyrus, Inc. Threshold secret share authentication proof and secure blockchain voting with hardware security modules
CN109150968B (zh) * 2018-07-13 2021-09-14 上海大学 一种基于秘密共享的区块链分布式存储方法
EP3654578B1 (en) * 2018-11-16 2022-04-06 SafeTech BV Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information
CN109639406B (zh) * 2018-12-24 2022-03-04 国泰君安证券股份有限公司 基于区块链和ipfs的高效信任解决方法
CN112434336A (zh) * 2020-11-25 2021-03-02 深圳前海微众银行股份有限公司 基于区块链的电子病历共享方法、装置、***及存储介质
CN112685763B (zh) * 2021-03-18 2021-08-03 上海众旦信息科技有限公司 一种基于密文授权访问的数据开放方法及***
CN113901005A (zh) * 2021-09-01 2022-01-07 微易签(杭州)科技有限公司 一种基于区块链便携式文件存储的方法、***和介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555783A (zh) * 2019-07-18 2019-12-10 中国南方电网有限责任公司 一种基于区块链的电力营销数据保护方法及***
CN113347266A (zh) * 2021-06-21 2021-09-03 上海计算机软件技术开发中心 一种基于区块链的权限控制***、方法以及ipfs
CN113821478A (zh) * 2021-11-24 2021-12-21 南京金宁汇科技有限公司 一种基于区块链的大文件存储方法及***

Also Published As

Publication number Publication date
CN114499894A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
US10903991B1 (en) Systems and methods for generating signatures
US20230396426A1 (en) Communication network with cryptographic key management for symmetric cryptography
Li et al. Secure deduplication with efficient and reliable convergent key management
Barsoum et al. Enabling dynamic data and indirect mutual trust for cloud computing storage systems
Youn et al. Efficient client-side deduplication of encrypted data with public auditing in cloud storage
CN102025503B (zh) 一种集群环境下数据安全实现方法和一种高安全性的集群
CN111523133A (zh) 一种区块链与云端数据协同共享方法
CN110635912B (zh) 数据处理方法及装置
CN106936579A (zh) 基于可信第三方代理的云存储数据存储及读取方法
Chattaraj et al. HEAP: an efficient and fault-tolerant authentication and key exchange protocol for Hadoop-assisted big data platform
Pardeshi et al. Improving data integrity for data storage security in cloud computing
CN114499894B (zh) 区块链网络中的文件存储、读取方法及存储读取***
CN104168320A (zh) 一种用户数据分享的方法和***
CN112003690B (zh) 密码服务***、方法及装置
CN110166460B (zh) 业务帐号的注册方法和装置、存储介质、电子装置
CN109412788B (zh) 基于公共密钥池的抗量子计算代理云存储安全控制方法和***
CN114510734B (zh) 数据访问控制方法、装置及计算机可读存储介质
Kavuri et al. An improved integrated hash and attributed based encryption model on high dimensional data in cloud environment
Kamboj et al. DEDUP: Deduplication system for encrypted data in cloud
Kanagamani et al. Zero knowledge based data deduplication using in-line Block Matching protocolfor secure cloud storage
CN116032499A (zh) 分布式云文件存储方法、***及其用户端和云端设备
Yasmin et al. Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds
CN109302283B (zh) 基于公共非对称密钥池的抗量子计算代理云存储方法和***
Yan et al. Encrypted big data deduplication in cloud storage
US10439810B2 (en) Device and method for administering a digital escrow server

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