CN111523133A - 一种区块链与云端数据协同共享方法 - Google Patents

一种区块链与云端数据协同共享方法 Download PDF

Info

Publication number
CN111523133A
CN111523133A CN202010335217.3A CN202010335217A CN111523133A CN 111523133 A CN111523133 A CN 111523133A CN 202010335217 A CN202010335217 A CN 202010335217A CN 111523133 A CN111523133 A CN 111523133A
Authority
CN
China
Prior art keywords
data
ciphertext
key
metadata
cloud
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
CN202010335217.3A
Other languages
English (en)
Other versions
CN111523133B (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.)
Yuanguang Software Co Ltd
Original Assignee
Yuanguang Software 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 Yuanguang Software Co Ltd filed Critical Yuanguang Software Co Ltd
Priority to CN202010335217.3A priority Critical patent/CN111523133B/zh
Publication of CN111523133A publication Critical patent/CN111523133A/zh
Application granted granted Critical
Publication of CN111523133B publication Critical patent/CN111523133B/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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]

Abstract

本发明涉及一种区块链与云端数据协同共享方法,属于安全云存储技术领域,解决链上链下数据的一致性和协同问题;方法包括:采用区块链+云的存储架构,将数据原始文件加密后的密文存储在云端,将数据原始文件的元数据加密存储在区块链上;数据所有者DO从区块链上获取加密后的元数据,解密得到用于加密的密钥和密文存储位置;对密文进行代理重加密,生成新的密钥和重加密密文存储位置;将新的密钥和重加密密文存储位置共享给数据使用者DU;数据使用者DU从新的存储位置下载重加密密文,采用新的密钥对重加密密文进行解密得到云端数据的明文信息。本发明扩展区块链的存储容量、提高共识效率;保证数据的一致性,保护数据共享和传输时的数据隐私。

Description

一种区块链与云端数据协同共享方法
技术领域
本发明涉及安全云存储技术领域,尤其涉及一种区块链与云端数据协同共享方法。
背景技术
公有链上存储的信息向所有用户公开,所有的节点都可以复制和共享区块链上的数据。攻击者可能通过分析交易记录获得特定账户的资金余额和交易详情、特定资金的流向等信息。在许可链中,虽然加入了身份准入机制,关闭了非授权节点接触数据的渠道,隐私泄露风险有所降低,但同样也面临着数据通道隔离的问题。随着区块链应用场景的变化,上链数据除了交易信息外,还出现了半/非结构化的图片、语音、视频、文件数据。一些上链数据涉及安全和隐私,如银行的账务往来和医疗健康数据,不适合所有的节点对其查看和验证。更进一步,随着用户数量的增加,区块链上的区块容量有限,因此需要将数据存储在外部数据库或者云服务器上,这又涉及到链上链下数据的一致性和协同问题,以及在共享链下数据时,如何保证数据不被泄露是关键性问题。
发明内容
鉴于上述的分析,本发明旨在提供一种区块链与云端数据协同共享方法,解决链上链下数据的一致性和协同问题以及保证数据不被泄露问题。
本发明的目的主要是通过以下技术方案实现的:
本发明公开了一种区块链与云端数据协同共享方法,包括:
加密存储步骤:采用区块链+云的存储架构,将数据原始文件加密后的密文存储在云端,将所述数据原始文件的元数据加密存储在区块链上;所述元数据包括用于加密的密钥和密文存储位置信息;
数据共享步骤:数据所有者DO从区块链上获取加密后的元数据,解密得到用于加密的密钥和密文存储位置;对密文进行代理重加密,生成新的密钥和重加密密文存储位置;将新的密钥和重加密密文存储位置共享给数据使用者DU;数据使用者DU从新的存储位置下载重加密密文,采用新的密钥对重加密密文进行解密得到云端数据的明文信息。
进一步地,所述将数据原始文件加密后的密文存储在云端,包括:
将数据原始文件分成相同大小的数据文件块;
利用对称加密算法对每一数据文件块加密得到分块数据文件密文;其中,所述对称加密采用的对称秘钥为第一秘钥;
将分块数据文件密文存储到云端的数据存储节点中;
所述将所述数据原始文件的元数据加密存储在区块链上,包括:
利用数据所有者DO的公钥P1对第一秘钥进行加密,生成密钥密文;
基于所述密钥密文和分块数据文件密文的存储节点,建立每个数据文件块的元数据;用数据所有者DO的公钥P1对元数据进行加密,生成元数据密文;
将元数据密文上链到区块链进行存储。
进一步地,所述元数据包括数据文件块的名字、云端存储节点位置、密钥密文、Hash值、以及副本的URL地址在内的轻量级数据;通过云端存储节点位置,区块链上存储的元数据和云端存储的数据文件块一一对应。
进一步地,所述对密文进行代理重加密包括:
步骤1、数据所有者DO向区块链发出元数据访问请求,请求通过后,数据所有者DO下载元数据密文;数据所有者DO使用其私钥P2对元数据密文进行解密,获得第一密钥以及分块数据文件的存储位置;
步骤2、数据所有者DO对第一密钥加密生成第二密钥,再第一密钥和第二秘钥加密生成一个用于重加密的第三密钥;
步骤3、数据所有者DO将第三密钥通过安全信道传递给文件存储节点,对文件存储节点中的分块数据文件密文进行再次加密,所得到的密文称为重加密密文;
步骤4、数据所有者DO将重加密密文发送到数据共享节点;
步骤5、数据所有者DO通过安全信道将第二密钥以及数据共享节点的位置共享给数据使用者DU;
步骤6、DU从数据共享节点下载重加密密文,并用第二密钥解密重加密密文,得到数据文件块的明文信息。
进一步地,所述第二密钥为数据所有者DO根据第一密钥采用随机算法加密生成的一个对称密钥,所述随机算法的核由数据所有者DO指定。
进一步地,所述数据共享节点由数据所有者DO随机选择确定。
进一步地,所述元数据密文以区块链的交易机制进行流转,随机存储在区块链的P2P网络的节点上。
进一步地,还包括使用Melkle树对元数据密文进行完整性验证。
进一步地,还包括使用冗余文件副本方式进行元数据密文的容错处理。
进一步地,还包括利用智能合约进行云端和区块链交互,使云端数据和区块链上数据保证一致。
本发明有益效果如下:
本发明对数据的接入方式是采用区块链+云的存储架构,将轻量级元数据保存在区块链上、原始文件存储在云端,扩展区块链的存储容量、提高共识效率;
实现了链上链下的数据协同,保证数据的一致性;
实现了云端数据的安全共享,保护数据共享和传输时的数据隐私。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例中的区块链与云端数据协同共享方法流程图;
图2为本发明实施例中的云链融合的文件加密存储方法流程图;
图3为本发明实施例中的置换函数原理示意图;
图4为本发明实施例中的区块链的结构示意图;
图5为本发明实施例中的Melkle树的结构示意图;
图6为本发明实施例中的基于区块链的分布式云存储架构示意图;
图7为本发明实施例中的代理重加密方法流程图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本发明的一个具体实施例,公开了一种区块链与云端数据协同共享方法,如图1所示,包括以下步骤:
步骤S101、加密存储步骤:采用区块链+云的存储架构,将数据原始文件加密后的密文存储在云端,将所述数据原始文件的元数据加密存储在区块链上;所述元数据包括用于加密的密钥和密文在云服务器上的存储位置信息。
步骤S102、数据共享步骤:数据所有者DO获取用于加密的密钥和密文在云服务器上的存储位置后,进行代理重加密,将新的密钥和重加密密文在云服务器上的存储位置共享给数据使用者DU;数据使用者DU用新的密钥解密重加密密文得到云端数据的明文信息。
具体的,数据所有者DO从链上获取用于加密的密钥和密文存储位置后,对密文进行代理重加密,隐藏所述密钥及密文存储位置,生成新的密钥和重加密密文存储位置;将新的密钥和重加密密文存储位置共享给数据使用者DU;数据使用者DU从新的存储位置下载重加密密文,采用新的密钥对重加密密文进行解密得到云端数据的明文信息。
具体的,如图2所示,云链融合的文件加密存储方法包括:
步骤S201、将数据文件分成相同大小的数据文件块;
首先将数据文件分成相同大小的块(例如32MB、64MB…)。如果最后块的大小比指定值小,则以实际大小存放。
步骤S202、利用对称加密算法对数据文件块加密,所述对称加密采用的对称秘钥为第一秘钥S;
对称加密算法公开、计算量小、加密速度快、加密效率高。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方必须事先知道加密密钥。
可选的,本实施例采用DES(Data Encryption Standard)对称加密算法,其入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位(也可以是128位或更长),是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为三步:
(1)明文变换。首先对于输入的64位明文进行初始置换,得到置换后的明文X0,X0依然是64位,只是改变了明文信息的排列顺序,然后将64位置换后的明文等分成左右两部分L0和R0,表示X0的左32位和右32位;
(2)迭代。输入的64位明文分成两组后,进行轮加密,每一轮的加密算法都是相同的,将上一轮的Li-1和Ri-1作为下一轮的输入,输出32位的Li和Ri,迭代规则为:
Li=R i-1,Ri=Li⊕f(R i-1,Ki)(i=1,2,3,…,16),这里f是一个置换函数如图3所示,里面包括E变化规则,S盒和IP变换,符号⊕表示异或;
其中E变化规则如表1
32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11
12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21
22 23 24 25 26 25 26 27 28 29 28 29 30 31 32 1
S盒如表2
Figure BDA0002466326310000061
IP置换表如表3
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
(3):最后经过逆置换表IP-1,就得到了密文Y。
逆置换表IP-1如表4
40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30 37 5 45 13 53 21 64 29
36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25
步骤S203、将分块数据文件密文存储到云端的数据存储节点;一个数据存储节点可以存储一个或多个分块数据文件。
步骤S204、用数据所有者DO的公钥P1对第一秘钥S进行加密,生成密钥密文;
每个区块链用户一经注册成功,即分配一对公/私钥,例如,基于椭圆曲线加密ECC算法生成用户的公钥/私钥对(pk,sk)。公钥公开,私钥由用户自己保存。
ECC允许用户在没有任何密钥生成中心或第三方参与的情况下解密他们的文件。与此同时,利用数字签名算法ECDSA生成签名密钥对(spk,ssk)。在数据流转时,发送者使用ssk在数据文件块上签名,并由接收者使用spk进行验证。
步骤S205、建立每个数据文件块的元数据,用数据所有者DO的公钥P1对元数据进行加密,生成元数据密文;
所述元数据包括数据文件块的名字、云端存储节点位置、密钥密文、Hash值、以及副本的URL地址在内的轻量级数据;通过云端存储节点位置,区块链上存储的元数据和云端存储的数据文件块一一对应。此关系可通过解密元数据密文来获取。
步骤S206、将元数据密文上链到区块链进行存储。
具体的,所述元数据密文以区块链的交易机制进行流转,随机存储在区块链的P2P网络的节点上。
在如图4所示的区块链结构中,以合同文件为例,我们仅存储数据文件的元数据,而不是在区块链中存储数据文件本身。因为区块链是高冗余的,这样做不仅可以为用户节约大量的内存空间、提高运行速度,还更安全。即使攻击者截获了交易数据,也无法获取原始的合同数据。在我们的架构中,区块链上记录的不是传统意义上的交易,而是元数据从一方流转到另一方的过程,这个过程同样也带有时间戳。因此,当用户要更新一个数据文件时,只需要发起新的交易;同样的,当用户审查数据文件时,也只需要审查与之相关的最新交易,因为它是该数据文件的最终状态。当用户需要验证他们的数据时,可以根据身份信息从区块链中追溯交易记录,然后通过区块链上记录的文件位置验证他们的数据。
进一步地,使用Melkle树对元数据密文进行完整性验证。
如图5所示,Melkle树由SHA256单向哈希计算而成,而SHA2562是两次SHA256运算。Melkle树首先通过配对数据,即最底层的叶子节点Ti构建。在比特币系统中Ti通常指交易,而在我们的系统中指合同元数据从DO向DU的流转过程。它们经过哈希运算后得到h(Ti),然后进行两两配对和再哈希,一层一层向上哈希直到得到最终的计算结果,即Melkle树根。在树中,包含合同信息的每个叶子节点都可以通过其相应的路径进行验证。通过比较它们的Melkle树根,我们就可以知道叶子节点中的合同元数据是否被篡改过。
SHA256将任何输入都输出为256位的字符串,它是不可逆的,输入稍有变化,其输出就会有很大的变化。由计算过程可知,Melkle根存储了所有合同文件块相关的信息,因此合同文件的完整性验证仅需要验证Melkle根,计算成本非常低。
进一步地,使用冗余文件副本方式进行元数据密文的容错处理。
为了保证架构的可靠性和性能,我们采用随机存储策略将合同文件块存储到P2P网络的节点上,并使用冗余的文件副本来实现容错机制。同样的,合同文件副本在上传前也要经过加密,其数量(一般是固定的)由合同文件块的数量及文件副本放置策略决定。文件及其副本一式三份存储到一个数据中心或服务器中,其中第一个副本放置在上传文件的数据节点上,如果是集群外提交,则随机选择一台磁盘、内存、CPU不太忙的节点存储;第二个副本放置在与第一个副本不同机架上的节点上;第三个副本放置在与第二个副本相同机架的相邻节点上。为了安全起见,合同文件块及其副本被随机放置在用户节点周围,这样恶意攻击者就几乎无法获取合同文件的所有分块。
如图6所示,为本实施例的区块链+云的存储的整体架构,即基于区块链的分布式云存储架构示意图。
进一步地,利用智能合约进行云端和区块链交互,使云端数据和区块链上数据保证一致。
使用智能合约来存储加密的关键字索引和一些相关数据,并完成检索操作,以保证用户数据的私密性。在合同拟定阶段,合同起草方为数据所有者(Data Owner,DO),合同接收方为数据使用者(Data User,DU),这个身份在合同传签过程中可能随时会发生变化(因为不断有新数据产生)。合同数据交互的智能合约分为两种,分别用于共享合同数据和使用合同数据。前者由合同起草方部署并发送给合同接收方,从而完成合同数据流转;后者由合同接收方发布,用于合同签署、检索及查验,所有过程数据都保存在智能合约中。
1、添加用户AddUser
由于我们采用联盟链的架构,对用户管理实行会员制,因此只有联盟链管理员有权限执行AddUser函数(也可由联盟链成员投票决定是否执行)。首先由用户向管理员发起添加新用户的请求,管理员通过加密通道接收待添加用户的身份证书信息并进行验证,验证成功后通过该函数向用户授权联盟链账户并分配公私钥。
2、删除用户RemoveUser
只有联盟链管理员有权限执行该函数。当需要删除某用户时,管理员通过该函数从授权账户列表中删除用户的联盟链账户。
3、为合同文件添加索引AddIndex
只有合同起草方有权限执行该函数。当起草方上传新的合同文件时,他需要从每个文件中选择关键字列表并构建加密关键字索引,并将其存储到智能合约中。
4、删除合同文件DeleteFile
只有合同起草方有权限执行该函数。当DO删除某个合同文件时,需要提供该文件的加密关键字索引和交易ID。
5、删除关键字DeleteKeyword
只有合同起草方有权限执行该函数。当需要删除合同文件的某个关键字时,需要提供该关键字的索引。
6、检索Search
该函数只能由合同起草方或集中授权的用户执行。用户通过加密关键字索引KeywordIndex进行检索,函数返回交易列表TxID和相关联的关键字列表Index。当检索发起方为授权用户时,索前需核对用户余额$msg.value是否足以支付本次检索,并于检索成功后将检索费用$cost从用户钱包中扣除。
只有合同起草方有权限执行该函数。执行此函数后,DO将合同相关的检索费用返还给用户。
8、发送合同元数据给指定用户
只有合同起草方有权限执行该函数。将合同元数据加密后发送给指定用户。
9、接收合同元数据ReceiveContract
该函数只能由合同接收方执行,用于读取合同元数据。接收成功后,DU也可以在本地调取合同数据,而其他人无法查看该过程。
10、数据查验DataSearch
只有合同接收方有权限执行该函数。通过加密关键字索引KeywordIndex调用Search函数,获取并存储检索结果至合同接收方的智能合约中。
11、价值存入Deposit
该函数用于将供数据共享及检索消耗的价值存入账户钱包。
具体的,本实施例的数据共享采用了代理重加密的技术,数据所有者在共享数据时仅需提供数据位置和新设置的解密密钥;数据接收者从相应位置下载更新的密文后自行解密。如图7所示,步骤如下:
步骤S701、数据所有者DO向区块链发出元数据访问请求,请求通过后,数据所有者DO下载元数据密文,所述元数据密文为数据所有者DO用其公钥加密过的元数据密文;数据所有者DO使用其私钥P2对元数据密文进行解密,获得第一密钥以及分块数据文件的存储位置编号;
本实施例的区块链为联盟链,数据所有者DO向联盟链发出元数据访问请求,联盟节点通过投票通过元数据访问请求。
步骤S702、数据所有者DO对第一密钥加密生成第二密钥,再用第一密钥和第二秘钥加密生成一个用于重加密的第三密钥;
数据所有者DO由第一密钥S加密随机生成另一个64位的随机对称密钥—第二密钥S',随机算法核可由用户自己指定,以此提高安全性。数据所有者DO利用转换密钥生成函数由第一密钥S和第二密钥S'产生一个第三密钥作为代理重加密的转换加密密钥K;
步骤S703、数据所有者DO将第三密钥K通过安全信道传递给文件存储位置节点,对存储节点中的分块数据文件密文进行再次加密,所得到的密文称为重加密密文;
步骤S704、数据所有者DO将重加密密文发送到数据共享节点;
所述数据共享节点为数据所有者DO随机选择。
步骤S705、数据所有者DO通过安全信道将第二密钥S以及数据共享节点的位置共享给数据使用者DU;
步骤S706、DU从数据共享节点下载重加密密文,并用第二密钥解密重加密密文,得到数据文件块的明文信息。
综上所述,本实施例公开的区块链与云端数据协同共享方法,对数据的接入方式是采用区块链+云的存储架构,将轻量级元数据保存在区块链上、原始文件存储在云端,扩展区块链的存储容量、提高共识效率;实现了链上链下的数据交互,保证数据的一致性;云端数据的安全共享,保护数据共享和传输时的数据隐私。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种区块链与云端数据协同共享方法,其特征在于,包括:
加密存储步骤:采用区块链+云的存储架构,将数据原始文件加密后的密文存储在云端,将所述数据原始文件的元数据加密存储在区块链上;所述元数据包括用于加密的密钥和密文存储位置信息;
数据共享步骤:数据所有者DO从区块链上获取加密后的元数据,解密得到用于加密的密钥和密文存储位置;对密文进行代理重加密,生成新的密钥和重加密密文存储位置;将新的密钥和重加密密文存储位置共享给数据使用者DU;数据使用者DU从新的存储位置下载重加密密文,采用新的密钥对重加密密文进行解密得到云端数据的明文信息。
2.根据权利要求1所述的区块链与云端数据协同共享方法,其特征在于,所述将数据原始文件加密后的密文存储在云端,包括:
将数据原始文件分成相同大小的数据文件块;
利用对称加密算法对每一数据文件块加密得到分块数据文件密文;其中,所述对称加密采用的对称秘钥为第一秘钥;
将分块数据文件密文存储到云端的数据存储节点中;
所述将所述数据原始文件的元数据加密存储在区块链上,包括:
利用数据所有者DO的公钥P1对第一秘钥进行加密,生成密钥密文;
基于所述密钥密文和分块数据文件密文的存储节点,建立每个数据文件块的元数据;用数据所有者DO的公钥P1对元数据进行加密,生成元数据密文;
将元数据密文上链到区块链进行存储。
3.根据权利要求2所述的区块链与云端数据协同共享方法,其特征在于,所述元数据包括数据文件块的名字、云端存储节点位置、密钥密文、Hash值、以及副本的URL地址在内的轻量级数据;通过云端存储节点位置,区块链上存储的元数据和云端存储的数据文件块一一对应。
4.根据权利要求2所述的区块链与云端数据协同共享方法,其特征在于,所述对密文进行代理重加密包括:
步骤1、数据所有者DO向区块链发出元数据访问请求,请求通过后,数据所有者DO下载元数据密文;数据所有者DO使用其私钥P2对元数据密文进行解密,获得第一密钥以及分块数据文件的存储位置;
步骤2、数据所有者DO对第一密钥加密生成第二密钥,再第一密钥和第二秘钥加密生成一个用于重加密的第三密钥;
步骤3、数据所有者DO将第三密钥通过安全信道传递给文件存储节点,对文件存储节点中的分块数据文件密文进行再次加密,所得到的密文称为重加密密文;
步骤4、数据所有者DO将重加密密文发送到数据共享节点;
步骤5、数据所有者DO通过安全信道将第二密钥以及数据共享节点的位置共享给数据使用者DU;
步骤6、DU从数据共享节点下载重加密密文,并用第二密钥解密重加密密文,得到数据文件块的明文信息。
5.根据权利要求2所述的区块链与云端数据协同共享方法,其特征在于,第二密钥为数据所有者DO根据第一密钥采用随机算法加密生成的一个对称密钥,所述随机算法的核由数据所有者DO指定。
6.根据权利要求2所述的区块链与云端数据协同共享方法,其特征在于,所述数据共享节点由数据所有者DO随机选择确定。
7.根据权利要求1-6任一项所述的区块链与云端数据协同共享方法,其特征在于,所述元数据密文以区块链的交易机制进行流转,随机存储在区块链的P2P网络的节点上。
8.根据权利要求1-6任一项所述的区块链与云端数据协同共享方法,其特征在于,还包括使用Melkle树对元数据密文进行完整性验证。
9.根据权利要求1-6任一项所述的区块链与云端数据协同共享方法,其特征在于,还包括使用冗余文件副本方式进行元数据密文的容错处理。
10.根据权利要求1-6任一项所述的区块链与云端数据协同共享方法,其特征在于,还包括利用智能合约进行云端和区块链交互,使云端数据和区块链上数据保证一致。
CN202010335217.3A 2020-04-24 2020-04-24 一种区块链与云端数据协同共享方法 Active CN111523133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010335217.3A CN111523133B (zh) 2020-04-24 2020-04-24 一种区块链与云端数据协同共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010335217.3A CN111523133B (zh) 2020-04-24 2020-04-24 一种区块链与云端数据协同共享方法

Publications (2)

Publication Number Publication Date
CN111523133A true CN111523133A (zh) 2020-08-11
CN111523133B CN111523133B (zh) 2023-05-09

Family

ID=71910453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010335217.3A Active CN111523133B (zh) 2020-04-24 2020-04-24 一种区块链与云端数据协同共享方法

Country Status (1)

Country Link
CN (1) CN111523133B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532580A (zh) * 2020-10-23 2021-03-19 暨南大学 一种基于区块链及代理重加密的数据传输方法及系统
CN112650901A (zh) * 2020-12-24 2021-04-13 浙江海露空旅游发展有限责任公司 一种具有验证功能可以进行数据分类的科研共享系统
CN112685763A (zh) * 2021-03-18 2021-04-20 上海众旦信息科技有限公司 一种基于密文授权访问的数据开放方法及系统
CN112702160A (zh) * 2020-12-16 2021-04-23 江苏通付盾区块链科技有限公司 一种云端数据加密存储与分享的方法、装置及系统
CN112751673A (zh) * 2021-04-02 2021-05-04 之江实验室 一种基于端边云协同的可监管数据隐私共享方法
CN112910834A (zh) * 2020-12-08 2021-06-04 北京众享比特科技有限公司 数据共享方法、装置、系统、设备及介质
CN112927080A (zh) * 2021-03-05 2021-06-08 广东电网有限责任公司 基于区块链技术的电力行业多方信息共享方法
CN112989111A (zh) * 2021-04-20 2021-06-18 南京百伦斯智能科技有限公司 一种基于区块链的视频存储管理方法及系统
CN115208692A (zh) * 2022-09-07 2022-10-18 浙江工业大学 一种基于链上链下协同的数据分享方法
CN116155619A (zh) * 2023-04-04 2023-05-23 江西农业大学 数据处理方法、数据请求端、数据拥有端及数据处理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140301545A1 (en) * 2013-04-05 2014-10-09 International Business Machines Corporation Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters
CN108259169A (zh) * 2018-01-09 2018-07-06 北京大学深圳研究生院 一种基于区块链云存储的文件安全分享方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140301545A1 (en) * 2013-04-05 2014-10-09 International Business Machines Corporation Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters
CN108259169A (zh) * 2018-01-09 2018-07-06 北京大学深圳研究生院 一种基于区块链云存储的文件安全分享方法及系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532580B (zh) * 2020-10-23 2022-09-06 暨南大学 一种基于区块链及代理重加密的数据传输方法及系统
CN112532580A (zh) * 2020-10-23 2021-03-19 暨南大学 一种基于区块链及代理重加密的数据传输方法及系统
CN112910834A (zh) * 2020-12-08 2021-06-04 北京众享比特科技有限公司 数据共享方法、装置、系统、设备及介质
CN112702160B (zh) * 2020-12-16 2022-07-01 江苏通付盾区块链科技有限公司 一种云端数据加密存储与分享的方法、装置及系统
CN112702160A (zh) * 2020-12-16 2021-04-23 江苏通付盾区块链科技有限公司 一种云端数据加密存储与分享的方法、装置及系统
CN112650901A (zh) * 2020-12-24 2021-04-13 浙江海露空旅游发展有限责任公司 一种具有验证功能可以进行数据分类的科研共享系统
CN112927080A (zh) * 2021-03-05 2021-06-08 广东电网有限责任公司 基于区块链技术的电力行业多方信息共享方法
CN112685763A (zh) * 2021-03-18 2021-04-20 上海众旦信息科技有限公司 一种基于密文授权访问的数据开放方法及系统
CN112751673A (zh) * 2021-04-02 2021-05-04 之江实验室 一种基于端边云协同的可监管数据隐私共享方法
CN112751673B (zh) * 2021-04-02 2021-06-25 之江实验室 一种基于端边云协同的可监管数据隐私共享方法
CN112989111A (zh) * 2021-04-20 2021-06-18 南京百伦斯智能科技有限公司 一种基于区块链的视频存储管理方法及系统
CN115208692A (zh) * 2022-09-07 2022-10-18 浙江工业大学 一种基于链上链下协同的数据分享方法
CN116155619A (zh) * 2023-04-04 2023-05-23 江西农业大学 数据处理方法、数据请求端、数据拥有端及数据处理装置

Also Published As

Publication number Publication date
CN111523133B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN111523133B (zh) 一种区块链与云端数据协同共享方法
CN111526197B (zh) 一种云端数据安全共享方法
WO2020259635A1 (zh) 一种区块链数据共享方法及装置
US9959065B2 (en) Hybrid blockchain
CN108632292B (zh) 基于联盟链的数据共享方法和系统
Wang et al. Toward secure and dependable storage services in cloud computing
Barsoum et al. Enabling dynamic data and indirect mutual trust for cloud computing storage systems
Barsoum et al. On verifying dynamic multiple data copies over cloud servers
CN111047324B (zh) 用于更新区块链节点处的公钥集合的方法及装置
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US11296879B2 (en) Encrypted search
Fan et al. TraceChain: A blockchain‐based scheme to protect data confidentiality and traceability
Yan et al. A scheme to manage encrypted data storage with deduplication in cloud
Zhang et al. Improved secure fuzzy auditing protocol for cloud data storage
Giri et al. A survey on data integrity techniques in cloud computing
Kim et al. Client‐Side Deduplication to Enhance Security and Reduce Communication Costs
Li et al. Lattice-based privacy-preserving and forward-secure cloud storage public auditing scheme
Agarwala et al. DICE: A dual integrity convergent encryption protocol for client side secure data deduplication
Ni et al. Secure outsourced data transfer with integrity verification in cloud storage
CN108809996B (zh) 不同流行度的删重存储数据的完整性审计方法
Le et al. Auditing for distributed storage systems
Abo-Alian et al. Auditing-as-a-service for cloud storage
Yang et al. Provable Ownership of Encrypted Files in De-duplication Cloud Storage.
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
CN108494552A (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
GR01 Patent grant
GR01 Patent grant