CN112732695B - 一种基于区块链的云存储数据安全去重方法 - Google Patents
一种基于区块链的云存储数据安全去重方法 Download PDFInfo
- Publication number
- CN112732695B CN112732695B CN202110080490.0A CN202110080490A CN112732695B CN 112732695 B CN112732695 B CN 112732695B CN 202110080490 A CN202110080490 A CN 202110080490A CN 112732695 B CN112732695 B CN 112732695B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- storage
- user
- csp
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于区块链的云存储数据安全去重方法,将生成的文件标签发送给云存储服务提供商进行重复性检测;若结果为文件重复,用户将生成文件重复存储日志,并通过智能合约管理中心执行智能合约来将存储日志整合成交易并上传到区块链上存储,以此安全地保存当前的存储状态信息;若结果为文件不重复,密钥服务器通过构建角色层次哈希树来生成用户的权限密钥,使用该权限密钥对数据执行安全的加密操作,并将密文上传到云存储服务器存储;在智能合约管理中心的协助下生成文件未重复存储日志及交易。本发明可实现云用户的数据安全去重及存储,抵制云存储服务提供商的窃取、篡改恶意行为,并大幅度减轻云存储服务器的计算开销,保证隐私安全。
Description
技术领域
本发明属于区块链技术领域,具体涉及一种基于区块链的云数据安全去重方法。
背景技术
目前,云计算技术已在信息领域中得到了广泛的应用,其能够有效地分配计算资源,提高数据存储的效率。随着云计算技术的不断发展,越来越多的用户选择将其数据外包给云存储服务器提供商,云存储服务提供商面临着大数据环境下的数据存储管理问题。随着用户数据的快速增长,大量的冗余数据被上传存储到云存储服务器上,这将消耗了大量的云存储服务提供商的通信带宽和存储空间。重复数据删除技术能够检测和消除云存储服务器上的冗余数据,避免云存储服务器多次存储相同的用户数据,但是其无法与传统的加密算法兼容。通常来讲,为了保证数据的安全性,用户在将其数据外包之前需要使用传统的加密算法对数据执行加密操作。由于用户可能会选择不同的加密密钥,即使相同的数据最终也会被加密成不同的密文,这使得云存储服务提供商无法执行相应的重复数据删除技术。
为了实现对加密数据的有效去重,相关研究者提出了基于收敛加密的安全去重算法,即通过安全的哈希函数计算出用户数据的收敛密钥,再通过收敛密钥对数据进行加密得到唯一的密文,这种确定性加密操作使得相同的数据明文能生成相同的密文,从而实现重复数据删除技术。然而由于该加密算法为确定性的加密策略,云存储服务提供商可以通过暴力攻击破解密钥,进而得到原始密文。相关研究者提出了收敛密钥的安全保障方案,即先使用秘密共享方案将密钥切分成碎片,分散到多个云存储服务器上进行存储,同时使用确定性哈希值代替传统秘密共享方案产生的随机值,从而实现更高的可靠性;然而,该方案仍然无法抵制云存储服务提供商进行的串谋攻击,一旦多个云存储服务器相互串谋,密钥碎片仍然能够重构恢复成完整的密钥,进而获得原始文件。
近年来,区块链技术由于其去中心化,信息可溯源,数据不可篡改等特点引起了学术界与工业界的广泛关注和应用。相关研究者提出了基于区块链的安全去重方案,通过将区块链作为一种安全的日志数据库来存储用户数据的标签信息,当用户数据需要验证时,即从区块下载对应的标签信息,并通过匹对标签信息来用户数据是否完整。然而,由于缺乏有效的加密算法参与以及安全协议的保证,都无法保证数据在存储状态和传输状态的机密性和安全性。因此需要有更好的方法来保证用户数据的安全性,抵制云存储提供商对用户数据进行的恶意篡改、窃取行为。
发明内容
本发明的目的是提出一种基于区块链的云存储数据安全去重方法,保证云存储服务器上数据的机密性和安全性,利用区块链技术将用户数据的信息生成存储日志,并将存储日志整合成一笔交易上传到区块链进行存储;用户可随时通过区块链上的交易信息,进行解密文件和执行本地数据审计协议,以此来完成安全存储及完整性验证。
为实现上述目的,本发明采用如下的技术方案:
一种基于区块链的云存储数据安全去重方法,包括以下步骤:
步骤S1、通过构造Merkle哈希树来生成文件标签,并将文件标签发送给云存储服务提供商进行重复性检测;
步骤S2、若结果为文件重复,生成文件重复存储日志,并通过智能合约管理中心执行智能合约来将存储日志整合成交易并上传到区块链上存储,以此安全地保存当前的存储状态信息;
步骤S3、若结果为文件不重复,密钥服务器通过构建角色层次哈希树来生成用户的权限密钥,通过所述该权限密钥对数据执行安全的加密操作,并将密文上传到云存储服务器存储;同时在智能合约管理中心的协助下生成文件未重复存储日志及交易。
作为优选,步骤S1中,将文件F划分为n个数据块F={Bi}(1≤i≤n-1),将数据块作为叶子节点构造Merkle哈希树,计算出根节点R;将根节点R作为文件F的标签,并发送给云存储服务提供商CSP进行重复性检查;CSP将检查标签是否已经存在,并将检测结果返回给用户。
作为优选,如果文件标签存在,则将用户身份标识IDU和云存储服务提供商的身份标识IDCSP上传到区块链,并将文件已存储的请求发送给区块链,区块链会将请求委托给智能合约管理中心SCMC,SCMC将上传的身份标识IDU和IDCSP通过椭圆曲线算法转化成区块链账户EAU和EACSP,并通过执行智能合约I,生成一笔包含文件重复存储日志Data的交易TX=To||From||Value||Data||Sig(TX),SCMC将该笔交易TX提交到区块链;
其中,To为发送方的账户EAU,From为接收方的账号EACSP,Value为创建该交易的需要支付的费用,Data为存储在该交易TX中的信息,Sig(TX)是用户U对该交易TX的签名。
作为优选,如果文件标签不存在,则计算出收敛密钥为KCEi=H(Bi),密钥服务器KS将根据角色层次哈希树生成对应的密钥权限KR并发送给用户;用户计算最终的加密密钥和文件的附加信息I=IDU||IDF||KR||n||T,并将数据Bi和附加信息I加密为密文CI=Encrypt(pk,I)和CBi=Encrypt(KBi,Bi),其中,Encrypt(.)为DES对称加密算法;然后用户计算文件未重复存储日志信息Data=IDU||IDCSP||CI||Sigsk(R)和检测值Y=m·H(Data),并发送信息(H(Data),Y,CBi)给CSP;CSP检测式子e(Y,g)=e(H(Data),pk)是否成立,以此来验证附加信息的正确性;如果式子成立,SCMC接受(IDU,IDCSP,Data)并执行智能合约II,来创建一笔包含日志信息Data的交易为TX=To||From||Value||Data||Sig(TX),其中日志信息Data=IDU||IDCSP||CI||Sigsk(R);SCMC向区块链提交TX以生成新区块。
作为优选,将与区块链共同创建一个存储日志TX,其包括文件重复存储日志和文件未重复存储日志,用于记录文件存储的情况。
作为优选,还包括:当需要对文件的完整性验证时,通过下载该存储日志来执行本地数据审计算法,以此验证下载的文件是否完整。
作为优选,当下载文件F′后,先划分文件F′为n个数据块F′={B′i}1≤i≤n-1,然后将数据块作为叶子节点构造Merkle哈希树,最后计算出其根节点R′;从区块链中下载存储日志信息Data=IDU||IDCSP||C(I)||Sigsk(R),并检查时间戳T以及数据块数量n的正确性;若正确,使用其公钥pk解密交易签名Sigsk(R),得到文件标签R,最后验证式子R′=R是否成立,若成立,则说明下载的文件为完整的,即F=F′。
作为优选,当数据存储在云服务器时,用户向SCMC发送完整性审核请求,SCMC选择包含c个元素的索引集S={s1,s2,...,sc}和集合Q={(i,vi)},其中,vi是第i个随机值,满足i∈S及然后BSC将该集合Q={(i,vi)}作为挑战发送给CSP,并输出结果t(t=1表示验证成功,t=0表示验证失败);当t=1时,CSP需要利用集合Q挑选出服务器上对应的数据块序号,并生成对应数据块的证明标签P=GenProof(CBi,Q,Φi),其中,GenProof(,)是证明标签生成函数,CBi是数据块对应的密文及Φi是数据块对应的同态标签,CSP返回证明标签P给用户,用户通过验证P的正确性来确定云端数据的完整性。
本发明通过区块链技术实现云用户的数据安全去重及存储,抵制云存储服务提供商的窃取、篡改等恶意行为,并大幅度减轻云存储服务器的计算开销,保证隐私安全。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;其中,
图1为本发明云存储数据安全去重方法的流程图;
图2是本发明所述的层次角色哈希树示意图;
图3是本发明所述的默克尔哈希树示意图(当数据块n=6);
图4是本发明所述的智能合约I;
图5是本发明所述的智能合约II;
图6是本发明所述文件已存储时的交易示意图;
图7是本发明所述文件未存储时的交易示意图;
图8是本发明所述的智能合约III。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供一种基于区块链的云存储数据安全去重方法,包括以下步骤:
步骤S1、通过构造Merkle哈希树来生成文件标签,并将文件标签发送给云存储服务提供商进行重复性检测;
步骤S2、若结果为文件重复,则生成文件重复存储日志,并通过智能合约管理中心执行智能合约来将存储日志整合成交易并上传到区块链上存储,以此安全地保存当前的存储状态信息;
步骤S3、若结果为文件不重复,则密钥服务器通过构建角色层次哈希树来生成用户的权限密钥,通过所述该权限密钥对数据执行安全的加密操作,并将密文上传到云存储服务器存储;同时在智能合约管理中心的协助下生成文件未重复存储日志及交易。
本发明通过区块链技术实现云用户的数据安全去重及存储,抵制云存储服务提供商的窃取、篡改等恶意,并大幅度减轻云存储服务器的计算开销,保证隐私安全。
进一步,步骤S1具体为:
将文件F划分为n个数据块F={Bi}(1≤i≤n),将数据块作为叶子节点出构造Merkle哈希树(如图3所示),计算出根节点R,用户将根节点R作为文件F的标签,并发送给云存储服务提供商(CSP)进行重复性检查;CSP将检查标签是否已经存在,并将检测结果返回给用户。
进一步,设用户身份标识表示为IDU,其拥有的文件身份标识表示为IDF,设定e:G×G→GT是一个双线性映射,G和GT为两个乘法群,具有相同的素数阶p,g是G的生成元。将与区块链共同创建一个存储日志TX,其包括文件重复存储日志和文件未重复存储日志,以此来记录文件存储的情况。
如果文件标签存在,说明该文件F已经被存储。首先,将用户身份标识IDU和云存储服务提供商的身份标识IDCSP上传到区块链,并将文件已存储的请求发送给区块链,区块链会将请求委托给智能合约管理中心(SCMC),SCMC先将上传的身份标识IDU和IDCSP通过椭圆曲线算法ECDSA-secp256k1转化成区块链账户EAU和EACSP,并通过执行智能合约I(如图4所示),生成一笔包含文件重复存储日志Data的交易TX=To||From||Value||Data||Sig(TX),如图6所示,To为发送方的账户EAU,From为接收方的账EACSP,Value为创建该交易的需要支付的费用,其值为存储文件F的服务费;Data为存储在该交易TX中的信息,其值为0,Sig(TX)是用户U对该交易TX的签名。最后SCMC将该笔交易TX提交到区块链。
如果文件标签不存在,说明文件尚未被存储在云服务器上,首先计算出收敛密钥为KCEi=H(Bi)。密钥服务器KS将根据角色层次哈希树生成对应的密钥权限KR并发送给用户。用户计算最终的加密密钥和文件的附加信息I=IDU||IDF||KR||n||T,并将数据Bi和附加信息I加密为密文CI=Encrypt(pk,I)和CBi=Encrypt(KBi,Bi),其中,Encrypt(.)为DES对称加密算法。然后用户计算文件未重复存储日志信息Data=IDU||IDCSP||CI||Sigsk(R)和检测值Y=m·H(Data),并发送信息(H(Data),Y,CBi)给CSP。CSP先检测式子e(Y,g)=e(H(Data),pk)是否成立,以此来验证附加信息的正确性。如果式子成立,SCMC接受(IDU,IDCSP,Data)并执行智能合约II(如图5所示),来创建一笔包含日志信息Data的交易TX=To||From||Value||Data||Sig(TX),如图7所示,此时Value为存储服务费,日志信息Data=IDU||IDCSP||CI||Sigsk(R)。最后SCMC向区块链提交TX以生成新区块。
其中,生成的加密密钥包括两种:公私密钥对和权限密钥。对于公私密钥对的生成,密钥服务器(KS)可随机选择一个整数m作为私钥sk=m,公钥可以计算为pk=gm。对于权限密钥的生成,密钥服务器(KS)根据用户的权限差异来出计算权限密钥,可利用平衡二叉树来构造一种角色层次哈希树如图2所示,以此来映射用户权限和加密密钥之间的关系。由于用户在公共层次***中会拥有各自的不同角色,不同的角色也对应具有不同的权限级别。本发明将用户的角色属性定义为L(L∈N),每个用户都有各自的角色属性L,因此m个用户的角色属性将组成一个有序集合{Li}1≤i≤m,将该有序集合{Li}1≤i≤m作为节点的键,利用平衡二叉树的性质来构造角色层次哈希树。该哈希树的每个节点可代表一个角色组。其中第i个节点node的值为RG||Li,RG表示为该节点的唯一标识。当权限属于角色组RGU||Li的用户U需要将数据F上传到云服务器,并且其规定权限属于角色组里RGU’||Lj中的成员U′才能够访问该数据F。该权限密钥KR的计算公式为:KR=H1(RGU||Li)||H2(RGU,||Lj),其中,H1和H2为安全的哈希函数,||表示连接符。当用户所属的角色群RGU需要更新时,只需要更新权限层次哈希树上对应的节点值即可。
进一步,为了下载文件F,需要恢复出加密密钥KBi。首先用户将下载请求发送给SCMC。SCMC从区块链下载存储日志信息Data=IDU||IDCSP||C(I)||Sigsk(R),并发送给用户。用户从存储日志Data中解析出文件附加信息的密文C(I),并使用其私钥sk解密出附加信息的明文I=IDU||IDF||KR||n||T,用户可继续从附加信息I解析出权限密钥KR,并利用权限密钥KR和收敛密钥KCEi得到加密密钥最后用户利用加密密钥KBi从云存储服务器中解密出数据块Bi=Decrypt(KBi,CBi)和恢复文件F={Bi}。
进一步,本发明还包括:当需要对文件的完整性验证时,通过下载该存储日志来执行本地数据审计算法,以此验证下载的文件是否完整。具体为:
当下载文件F′后,先划分文件F′为n个数据块F′={B′i}1≤i≤n-1,然后将数据块作为叶子节点构造Merkle哈希树,最后计算出其根节点R′;从区块链中下载存储日志信息Data=IDU||IDCSP||C(I)||Sigsk(R),并检查时间戳T以及数据块数量n的正确性;若正确,使用其公钥pk解密交易签名Sigsk(R),得到文件标签R,最后验证式子R′=R是否成立,若成立,则说明下载的文件是完整性,即F=F′。
本发明还支持远程云数据的完整性验证,可通过基于智能合约的随机抽样算法来验远端云服务器上数据的完整性。当数据存储在云服务器时,用户向SCMC发送完整性审核请求。SCMC执行如图8所示的智能合约III来发送随机采样的数据块序号集合Q。具体为,SCMC选择包含c个元素的索引集S={s1,s2,...,sc}和集合Q={(i,vi)},其中vi是第i个随机值,满足i∈S及然后BSC将该集合Q={(i,vi)}作为挑战发送给CSP,并输出结果t(t=1表示验证成功,t=0表示验证失败)。当t=1时,CSP需要利用集合Q挑选出服务器上对应的数据块序号,并生成对应数据块的证明标签P=GenProof(CBi,Q,Φi)。其中GenProof(,)是证明标签生成函数,CBi是数据块对应的密文及Φi是数据块对应的同态标签,最后CSP返回证明标签P给用户,用户通过验证P的正确性来确定云端数据的完整性。
本发明的云存储数据安全去重方法,保证云存储服务器上数据的机密性和安全性,其主要利用区块链技术将用户数据的信息生成存储日志,并将存储日志整合成一笔交易上传到区块链进行存储。用户可随时通过区块链上的交易信息,进行解密文件和执行本地数据审计协议,以此来完成安全存储及完整性验证。
显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的精神和范围。应注意到的是,以上所述仅为本发明的具体实施例,并不限制本发明,凡在本发明的精神和原则之内,所做的调制和优化,皆应属本发明权利要求的涵盖范围。
Claims (6)
1.一种基于区块链的云存储数据安全去重方法,其特征在于,包括以下步骤:
步骤S1、通过构造Merkle哈希树来生成文件标签,并将文件标签发送给云存储服务提供商进行重复性检测;
步骤S2、若结果为文件重复,生成文件重复存储日志,并通过智能合约管理中心执行智能合约来将存储日志整合成交易并上传到区块链上存储,以此安全地保存当前的存储状态信息;
步骤S3、若结果为文件不重复,密钥服务器通过构建角色层次哈希树来生成用户的权限密钥,通过所述该权限密钥对数据执行安全的加密操作,并将密文上传到云存储服务器存储;同时在智能合约管理中心的协助下生成文件未重复存储日志及交易;其中,构建角色层次哈希树来生成用户的权限密钥具体为:将用户的角色属性定义为L(L∈N),每个用户都有各自的角色属性L,m个用户的角色属性将组成一个有序集合{Li}1≤i≤m,将该有序集合{Li}1≤i≤m作为节点的键,利用平衡二叉树的性质来构造角色层次哈希树;该哈希树的每个节点可代表一个角色组,第i个节点node的值为RG||Li,RG表示为该节点的唯一标识;当权限属于角色组RGU||Li的用户U需要将数据F上传到云服务器,并且其规定权限属于角色组里RGU’||Lj中的成员U′才能够访问该数据F;该权限密钥KR的计算公式为:KR=H1(RGU||Li)||H2(RGU’||Lj),其中,H1和H2为安全的哈希函数,||表示连接符;
如果文件标签存在,则将用户身份标识IDU和云存储服务提供商的身份标识IDCSP上传到区块链,并将文件已存储的请求发送给区块链,区块链会将请求委托给智能合约管理中心SCMC,SCMC将上传的身份标识IDU和IDCSP通过椭圆曲线算法转化成区块链账户EAU和EACSP,并通过执行智能合约I,生成一笔包含文件重复存储日志Data的交易TX=To||From||Value||Data||Sig(TX),SCMC将该笔交易TX提交到区块链;其中,To为发送方的账户EAU,From为接收方的账EACSP,Value为创建该交易的需要支付的费用,Data为存储在该交易TX中的信息,Sig(TX)为用户U对该交易TX的签名;
如果文件标签不存在,则计算出收敛密钥为KCEi=H(Bi),密钥服务器KS将根据角色层次哈希树生成对应的密钥权限KR并发送给用户;用户计算最终的加密密钥和文件的附加信息I=IDU||IDF||KR||n||T,其中,IDF为用户所上传文件F的标志,KR为用户对文件F所生成的权限密钥,n为文件F所切分的数据块的数量,T为当前的时间,并将数据Bi和附加信息I加密为密文CI=Encrypt(pk,I)和CBi=Encrypt(KBi,Bi),其中,Encrypt(.)为DES对称加密算法,pk为用户所持有的公钥,KBi为数据块Bi的加密密钥;然后用户计算文件未重复存储日志信息Data=IDU||IDCSP||CI||Sigsk(R)和检测值Y=m·H(Data),其中,m为用户所持有的私钥,并发送信息(H(Data),Y,CBi)给CSP;CSP检测式子e(Y,g)=e(H(Data),pk)是否成立,以此来验证附加信息的正确性,其中,e为双线性配对中的映射函数;如果式子成立,SCMC接受(IDU,IDCSP,Data)并执行智能合约II,来创建一笔包含日志信息Data的交易为TX=To||From||Value||Data||Sig(TX),其中的日志信息Data=IDU||IDCSP||CI||Sigsk(R),其中,R为通过数据块所构建的Merkle哈希树的根节点值;SCMC向区块链提交TX以生成新区块。
2.如权利要求1所述的基于区块链的云存储数据安全去重方法,其特征在于,步骤S1中,将文件F划分为n个数据块F={Bi}(1≤i≤n),将数据块作为叶子节点构造Merkle哈希树,计算出根节点R;将根节点R作为文件F的标签,并发送给云存储服务提供商CSP进行重复性检查;CSP将检查标签是否已经存在,并将检测结果返回给用户。
3.如权利要求1或2所述的基于区块链的云存储数据安全去重方法,其特征在于,将与区块链共同创建一个存储日志TX,其包括文件重复存储日志和文件未重复存储日志,用于记录文件存储的情况。
4.如权利要求3所述的基于区块链的云存储数据安全去重方法,其特征在于,还包括:当需要对文件的完整性验证时,通过下载该存储日志来执行本地数据审计算法,以此验证下载的文件是否完整。
5.如权利要求4所述的基于区块链的云存储数据安全去重方法,其特征在于,当下载文件F′后,先划分文件F′为n个数据块F′={B′i}1≤i≤n-1,然后将数据块作为叶子节点构造Merkle哈希树,最后计算出其根节点R′;从区块链中下载存储日志信息Data=IDU||IDCSP||C(I)||Sigsk(R),并检查时间戳T以及数据块数量n的正确性;若正确,使用其公钥pk解密交易签名Sigsk(R),得到文件标签R,最后验证式子R′=R是否成立,若成立,则说明下载的文件为完整的,即F=F′。
6.如权利要求1所述的基于区块链的云存储数据安全去重方法,其特征在于,当数据存储在云服务器时,用户向SCMC发送完整性审核请求,SCMC选择包含c个元素的索引集S={s1,s2,...,sc}和集合Q={(i,vi)},其中,vi是第i个随机值,满足i∈S及然后BSC将该集合Q={(i,vi)}作为挑战发送给CSP,并输出结果t,t=1表示验证成功,t=0表示验证失败;当t=1时,CSP需要利用集合Q挑选出服务器上对应的数据块序号,并生成对应数据块的证明标签P=GenProof(CBi,Q,Φi),其中,GenProof(.)是证明标签生成函数,CBi是数据块对应的密文及Φi是数据块对应的同态标签,CSP返回证明标签P给用户,用户通过验证P的正确性来确定云端数据的完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110080490.0A CN112732695B (zh) | 2021-01-21 | 2021-01-21 | 一种基于区块链的云存储数据安全去重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110080490.0A CN112732695B (zh) | 2021-01-21 | 2021-01-21 | 一种基于区块链的云存储数据安全去重方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732695A CN112732695A (zh) | 2021-04-30 |
CN112732695B true CN112732695B (zh) | 2022-02-18 |
Family
ID=75594583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110080490.0A Active CN112732695B (zh) | 2021-01-21 | 2021-01-21 | 一种基于区块链的云存储数据安全去重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732695B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656818B (zh) * | 2021-08-17 | 2023-07-28 | 山东大学 | 满足语义安全的无可信第三方云存储密文去重方法与*** |
WO2023156669A1 (en) * | 2022-02-21 | 2023-08-24 | Nchain Licensing Ag | Computer implemented method and system for the provision of access to a plurality of functions and applications associated with a blockchain |
CN117010000B (zh) * | 2023-09-28 | 2024-03-01 | 之江实验室 | 一种数据安全服务方法、装置、计算机设备和存储介质 |
CN117874777A (zh) * | 2023-11-29 | 2024-04-12 | 中国民航信息网络股份有限公司 | 一种基于区块链的数据存储方法、装置及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701801A (zh) * | 2013-12-26 | 2014-04-02 | 四川九洲电器集团有限责任公司 | 一种资源访问控制方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899934B2 (en) * | 2003-03-31 | 2011-03-01 | Symantec Corporation | Handling un-partitioning of a computer network |
CN102710757B (zh) * | 2012-05-21 | 2014-11-05 | 北京航空航天大学 | 一种分布式云存储数据完整性保护方法 |
CN106910072A (zh) * | 2017-02-15 | 2017-06-30 | 捷德(中国)信息科技有限公司 | 数字货币管理方法和*** |
CN106961431B (zh) * | 2017-03-17 | 2019-11-08 | 福建师范大学 | 角色对称加密所有权证明的方法及*** |
CN107360156B (zh) * | 2017-07-10 | 2019-10-29 | 广东工业大学 | 一种大数据环境下基于区块链的p2p网络云端存储方法 |
GB201720946D0 (en) * | 2017-12-15 | 2018-01-31 | Nchain Holdings Ltd | Computer-implemented system and method |
CN108494552B (zh) * | 2018-03-16 | 2020-11-20 | 西安电子科技大学 | 支持高效收敛密钥管理的云存储数据去重方法 |
CN109829326B (zh) * | 2018-11-20 | 2023-04-07 | 西安电子科技大学 | 基于区块链的跨域认证与公平审计去重云存储*** |
CN109670334A (zh) * | 2018-12-19 | 2019-04-23 | 平安科技(深圳)有限公司 | 电子病历共享方法、装置、计算机设备及存储介质 |
CN111355705B (zh) * | 2020-02-08 | 2021-10-15 | 西安电子科技大学 | 一种基于区块链的数据审计与安全去重云存储***、方法 |
CN111859412A (zh) * | 2020-06-11 | 2020-10-30 | 中国科学院信息工程研究所 | 一种基于cpor模型的云数据位置公开验证方法及*** |
CN111949602A (zh) * | 2020-07-16 | 2020-11-17 | 桂林电子科技大学 | 一种支持完整性验证的外包数据安全迁移方法与*** |
-
2021
- 2021-01-21 CN CN202110080490.0A patent/CN112732695B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701801A (zh) * | 2013-12-26 | 2014-04-02 | 四川九洲电器集团有限责任公司 | 一种资源访问控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112732695A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Blockchain-based public auditing for big data in cloud storage | |
CN111639361B (zh) | 一种区块链密钥管理方法、多人共同签名方法及电子装置 | |
CN112732695B (zh) | 一种基于区块链的云存储数据安全去重方法 | |
EP4120114A1 (en) | Data processing method and apparatus, smart device and storage medium | |
CN111130757B (zh) | 一种基于区块链的多云cp-abe访问控制方法 | |
Aujla et al. | SecSVA: secure storage, verification, and auditing of big data in the cloud environment | |
Zhu et al. | Dynamic audit services for integrity verification of outsourced storages in clouds | |
CN110213042A (zh) | 一种基于无证书代理重加密的云数据去重方法 | |
CN111066285A (zh) | 基于sm2签名恢复公钥的方法 | |
Thompson | The preservation of digital signatures on the blockchain | |
CN112800450B (zh) | 数据存储方法、***、装置、设备和存储介质 | |
CN111523133A (zh) | 一种区块链与云端数据协同共享方法 | |
CN111526197A (zh) | 一种云端数据安全共享方法 | |
CN112906056A (zh) | 一种基于区块链的云存储密钥安全管理方法 | |
CN111475866A (zh) | 一种区块链电子证据保全方法和*** | |
CN111656386A (zh) | 管理账本***中的交易请求 | |
CN111630545B (zh) | 管理账本***中的交易请求 | |
CN116599665A (zh) | 一种区块链数据的传输方法及相关装置 | |
CN112699123A (zh) | 一种数据存储***中数据存在性和完整性校验方法及*** | |
Pardeshi et al. | Improving data integrity for data storage security in cloud computing | |
CN112382376A (zh) | 基于区块链的医疗器械管理追溯*** | |
CN113225318B (zh) | 一种政务大数据加密传输及安全存储的方法及*** | |
CN108809996B (zh) | 不同流行度的删重存储数据的完整性审计方法 | |
Cheng et al. | Ocean data sharing based on blockchain | |
CN114826607B (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 |