CN110278076A - 一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议 - Google Patents
一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议 Download PDFInfo
- Publication number
- CN110278076A CN110278076A CN201910457102.9A CN201910457102A CN110278076A CN 110278076 A CN110278076 A CN 110278076A CN 201910457102 A CN201910457102 A CN 201910457102A CN 110278076 A CN110278076 A CN 110278076A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- cloud server
- key
- transparence
- 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
Links
- 238000012550 audit Methods 0.000 title claims abstract description 32
- 230000000977 initiatory effect Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 15
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000209202 Bromus secalinus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 235000011389 fruit/vegetable juice Nutrition 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于信息安全领域,具体为一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议;本发明所述方案包括四个模块:初始化参数、获取加密密钥、双向拥用性检验、透明化完整性审计和透明化去重。与现有方案相比,本发明可以抵抗云服务器的偏见审计和拖延审计,同时可以避免云服务器声称错误的去重等级以收取额外的费用;本发明能够防止单点失效攻击和穷举攻击,能够提供用户与云服务器的双向拥有性证明;本发明基于区块链实现了一种安全有效的,且能同时实现透明化数据完整性审计和透明化数据去重的协议。
Description
技术领域
本发明属于信息安全领域,具体涉及云存储中的一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议。
背景技术
云存储已成为我们日常生活中的一个重要的应用,在数据爆炸的时代,用户为了节省自己本地的存储空间,把数据外存到云服务器;目前有许多云存储提供商例如Dropbox,OneD rive和GoogleDrive。因为云存储提供商之间的竞争,现在的云存储提供商都采用更加有效的存储策略;当用户存储重复数据时,云存储提供商利用数据去重策略,对于相同的数据只存储一次,以此节省存储空间并降低存储成本。
由于云服务器不是完全可信的,所以用户通常对外存的数据加密以保护数据的隐私。利用传统的加密方法可以保护数据的隐私,然而使用传统加密,不同的用户对相同的数据加密,会产生不同的密文,致使无法达到去重的目的。为了达到加密数据去重的目的,Bellare等人形式化一个加密原语—消息锁加密。近些年,很多基于消息锁加密的方案被提出,这些方案主要分成两类:服务器端去重和客户端去重;在服务器端去重中,用户需要上传其数据到云服务器,用户意识不到可能发生的去重;但是,在客户端去重中,用户需要与云服务器交互以检查数据是否已经存储,如果该数据在云服务器中没有存储,云服务器则要求用户上传数据,如果数据已经存储,用户不需要再上传数据;很明显,相比于服务器去重,客户端去重不仅可以节省存储开销而且可以节省带宽。
在客户端去重中,用户判断云服务器是否已经存储数据的方法是:用户先发送数据的哈希值给云服务器,由云服务器判断该哈希值所对应的数据是否已经存储,若已经存储,则用户无需上传数据,若没有存储,云服务器则要求用户上传该数据。用上述方法判断数据是否存储给数据去重带来了很大的安全隐患,攻击者只需窃取数据的哈希值便可向云服务器证明自己拥有该数据,与此同时云服务器把攻击者添加到数据拥有者列表,之后攻击者再向云服务器请求数据具体内容,便可以窃取完整数据。为解决上述的安全隐患,引入拥有性证明技术,拥有性证明指用户和云服务器通过询问-应答机制,由云服务器发起挑战,用户响应,最终由云服务器验证用户是否真正拥有完整数据,然而这种拥有性证明是单向的,只允许云服务器检验用户对于数据的拥有性;由于用户并不确定云服务器是否真正拥有该数据,所以用户也需验证云服务器对数据的拥有性,即实现数据拥有性的双向认证。
数据去重可以节省云服务器的存储空间,提高经济利益,然而,用户在去重策略中没有获得直接利益。Armknecht等人指出云服务器应该根据存储相同数据的用户数量向每个用户收取存储费用,每个用户承担的费用应该与存储相同数据的用户数量成反比。为了避免云服务器为获取高额利润而恶意降低去重等级,Armknecht等人引入了透明化去重的概念,用户可以验证数据的去重等级,然而该方案没有实现数据完整性的审计。
当我们享受云存储服务带来的优势时,也出现了一些安全性问题,其中最受关注的安全问题是外存数据的完整性。用户把数据存储于云服务器,云服务器由于硬件故障或软件错误可能会导致数据丢失或服务不可用,有的服务器为了维护自己的声誉,即使丢失了用户的数据也不会主动告知用户。用户为了确保自己外存数据的完整性,可以随时对外存数据进行完整性审计。关于数据完整性审计的方案已经被提出很多,这些方案让用户雇佣第三方审计者完成审计,然而雇佣第三方会产生很大的代价而且第三方可能会与云服务器合谋生成有偏见的审计结果,比如只审计保存完整的数据块而忽略被损坏或者丢失的数据块。若要求用户自身完成审计,用户无法一直保持在线。若要求云服务器审计,云服务器可能会生成有偏见的审计结果或者拖延审计。
为了解决上述提出的问题,本发明提出了云存储中的一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议
发明内容
针对上述问题,本发明提出了云存储中的一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议。
为实现上述目的,本发明采用如下技术方案:
一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议,所述协议包括三个主体:用户、n个密钥服务器与云服务器,具体包括:
初始化:系统初始化安全系数和参数,每个用户生成自身公钥和私钥,n个密钥服务器共享一个秘密值,密钥服务器相互交互,计算自身子秘密;
用户与n个密钥服务器交互,获取数据的加密密钥:用户选择随机数,并利用该随机数对上传数据的哈希值进行盲化,并把盲化值发送给n个密钥服务器;每个密钥服务器收到盲化值后,用自身子秘密做签名,签名结果返回给用户;用户随机选择t个密钥服务器的合法签名去盲化,并计算数据的加密密钥;
用户与云服务器通信,实现数据的双向拥有性检验:用户用加密密钥加密数据,并且用户用哈希函数生成该数据的标签值;用户选取一个随机数,并且发送该随机数和数据的标签值给云服务器;云服务器通过检查数据的标签值是否已经存储,进而判断该数据是否已经存储于云服务器:若数据没有存储,云服务器要求用户上传数据密文;若数据已经存储,云服务器选取一个随机数,并把该随机数与用户选取的随机数以及数据密文使用哈希函数做运算,得到一个承诺,之后云服务器发送自己选取的随机数和承诺给用户;用户收到承诺后,验证该承诺是否为真,若为真,用户将自己选取的随机数和云服务器选择的随机数以及数据密文使用哈希函数做运算,得到一个新的承诺,并将新承诺发送给云服务器;云服务器验证该承诺是否为真,若为真,云服务器将用户添加到数据拥有者列表中;
透明化数据完整性审计和透明化数据去重:云服务器利用区块链中未生成区块的哈希值的不可预测性,生成随机种子,再利用该随机种子生成数据样本和随机挑战块;云服务器利用数据样本的用户信息构造Merkle hash树,并生成去重等级的证据信息;同时,云服务器利用数据样本的随机块生成相应的数据完整性证明信息;云服务器公布生成的证明信息于区块链,每个用户进行公开验证并公布验证结果。
本发明的有益效果在于:
本发明提供一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议,该协议能够抵抗单点失效攻击、穷举攻击、云服务器的欺骗攻击。在本协议中,为了避免一个密钥服务器的单点失效攻击和敌手穷举攻击,本发明引入多个密钥服务器和Rate-limiting策略,抵御了密钥服务器的单点失效攻击,并且限制了用户与密钥服务器在一个周期内的交互次数,防止了攻击者穷举攻击,在线猜测数据的加密密钥。本协议在双向数据拥有性证明阶段可以抵抗用户和云服务器的欺骗攻击,通过双向数据拥有性证明,避免用户只拥有数据的哈希值,却欺骗云服务器拥有了整个完整数据,也避免了云服务器只保存部分数据或者数据的哈希值,却欺骗用户保存了完整数据。本协议可以抵御云服务器向用户收取费用时的欺骗攻击,同时本协议可以避免云服务器为了保护自身声誉,丢失数据却不向用户反馈的欺骗行为。本系统利用以太坊区块链技术,提供数据完整性和去重等级正确性的验证。然而,发布所有外存数据信息于云服务器会浪费云服务器的计算开销。为了节省开销,我们利用区块链的性质随机选取数据样本和数据样本的随机块,并公布相应的证据于区块链,用户利用区块链上的证据验证数据的完整性和数据去重等级。云服务器利用数据样本的用户信息构造Merkle hash树,并生成去重等级的证据信息,包括选中的数据样本、每个用户信息对应的兄弟路径、最右非零节点的兄弟路径以及数据样本的用户列表,与此同时,云服务器利用数据样本的随机块生成相应的数据完整性证明信息。云服务器公布生成的证明信息于区块链,每个用户进行公开验证并公布验证结果。
综上,本发明的协议确保了数据外存的安全性,包括数据的完整性和去重等级的正确性。
具体实施方式:
下面结合实施例对本发明作进一步详细说明。
本发明提供一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议,其中,涉及符号声明如下表:
本实施例中,具体过程如下:
1、初始化:
初始化参数集合PP={p,P,G,GT,e,h,h1,H,l,qE},其中,G为一个阶为素数p、生成元为P的加法群,e:G×G→GT为双线性映射,h、h1、H均为哈希函数,l是系统安全参数,qE是系统规定每个用户在每个周期向密钥服务器请求密钥的次数;
用户随机选择α∈Zp *作为用户的私钥sk,并计算y=αP作为用户的公钥pk;n个密钥服务器KSi、i∈[1,n]之间共享秘密值,Zp *表示p阶循环群;具体生成方法如下:
1)每个密钥服务器KSi随机选择ai0∈Zp *和一个t-1的多项式fi(x),例如fi(0)=ai0,而 fi(x)=ai0+ai1x+...+ai,t-1xt-1;
2)对于ε=1,2,...,t-1,每一个KSi发送ai0P和aiεP到其他密钥服务器;KSi秘密发送fi(j) 给密钥服务器KSj,其中,j=1,2,...,n;j≠i;
3)当密钥服务器KSi收到来自密钥服务器KSj发送的fj(i)后,KSi通过验证fj(i),若验证通过、KSi接收,否则、KSi拒绝;
4)KSi计算自身子秘密:并计算自身子公钥:Qi=siP;所有密钥服务器的秘密共享值为公开值为
5)每个密钥服务器KSi保存每一个用户向其请求MLE密钥次数的列表,采用qN表示用户请求密钥次数,qN初始化为0。
2、用户与n个密钥服务器交互,获取数据M的加密密钥:
1)用户u随机选择r∈Zp *,并计算用户u将发送给每一个密钥服务器 KSi;
2)密钥服务器KSi收到用户发送的首先检测qN≤qE是否成立,若不成立、密钥服务器拒绝,否则、KSi使用自身子秘密si对进行签名并把签名结果发送给用户u;且,KSi设置qN=qN+1;
3)用户u通过检查等式验证签名σi,随机选择通过验证的t个签名值σ1,σ2,…σt;并计算其中,
4)用户u验证e(σ,P)=e(H(M),Q),若成立,用户u计算K=h(σ)作为MLE密钥;否则,用户u终止程序。
3、用户与云服务器通信,实现数据的双向拥有性证明:
1)对于数据M,用户u利用MLE密钥加密获得数据密文C=EK(M),并且计算标签值tag=h1(C);并且,用户u选择随机数β∈Zp *;用户u发送tag和β到云服务器;
2)云服务器收到tag后,首先通过检测tag值是否已经存储判断数据C是否已存;若不存在,云服务器发送false给用户;若已存,云服务器随机选择并生成一个承诺云服务器发送随机数和承诺给用户;
3)用户收到和用户验证该承诺;若该承诺为真,用户计算一个新承诺并发送新承诺给云服务器;否则,用户丢弃该消息(和);
4)云服务器收到用户发送的新承诺验证新承诺,若承诺为真,云服务器将用户添加到密文C的用户列表;否则,云服务器丢弃该消息(新承诺);
4)若用户收到false,用户上传数据,具体为:
4.1)用户u把数据密文C分为v块,每块分为q个扇区,表示为:
c11…c1q,c21…c2q,……,cv1…cvq∈Zp *;
4.2)用户u随机选择U1,U2,…,Uq←G,计算:
其中,1≤i≤v、1≤j≤q,K为数据M的MLE密钥,name为数据M的名字;
用户u发送C={c11…c1q,c21…c2q,……,cv1…cvq}、标签值{δ1,δ2,…,δv}以及随机数集合 {U1,U2,…,Uq}到云服务器。
4、透明化数据完整性审计和透明化数据去重:
1)云服务器获取当前时间,并选取当前时间最近的周期ep;
2)云服务器计算种子:
θ1=h1(BT||BT-1||BT-2||BT-3||...||BT-11||1)
θ2=h1(BT||BT-1||BT-2||BT-3||...||BT-11||2)
θ3=h1(BT||BT-1||BT-2||BT-3||...||BT-11||3)
其中,{BT,BT-1,BT-2,BT-3,...,BT-11}是最新确认的12个块的哈希值,T是当前时间下最新被验证的块的序列号;
3)云服务器利用θ3作为种子在周期ep中选取数据样本密文C′,并且计算其中,φ为包括数据样本的证明信息的证明,C′ID为数据样本密文C′的文件标识,CC′ID为数据样本密文C′的用户列表,是Merkle hash树的根节点签名,具体构造如下:
3.1)云服务器根据数据样本拥有者列表构造Merkle hash树:
拥有相同样本数据的用户充当非零叶子结点,每一个用户计算作为叶子节点(即非零节点),其中,W(·)为哈希函数,IDu为用户身份,ep为周期;云服务器利用叶子节点构造树高为的Merkle hash树,其中,需要填充的叶子节点作为零节点,零节点表示为W(0);
3.2)云服务器计算Merkle hash树的树根rootC′,并对其进行签名
3.3)云服务器生成每个用户u的证明,云服务器计算叶子结点用户u到达根节点的兄弟路径apmC′;云服务器获取Merkle hash树的最右非零叶子节点hC′,并计算最右非零叶子节点 hC′到达根节点的兄弟路径apcC′;
3.4)云服务器生成去重等级的证明φ=(apmC′,hC′,apcC′);
4)云服务器利用{θ1,θ2}种子,生成随机挑战块,并计算相应的证明;c是挑战块的块数;具体为:
4.1)云服务器计算一系列的挑战块I={ki}、1≤i≤c,其中,并计算
4.2)云服务器计算j∈[1,q],并计算之后云服务器生成数据完整性审计的证明({μ1,μ2,…,μq},δ);c′ij为样本密文C′={c′11…c′1q,c′21…c′2q,……,c′v1…c′vq}的第 i块第j扇区;
5)云服务器公布数据样本和挑战块的证明于区块链:
6)数据样本的用户验证区块链上的证明,具体为:
6.1)透明化去重验证过程如下:
6.1.1)用户u首先获取到T,θ3,然后验证下述等式是否成立:
θ3=h1(BT||BT-1||BT-2||BT-3||...||BT-11||3),
若成立、进行6.1.2),否则、进行6.1.5);
6.1.2)用户验证基于θ3生成的数据样本密文C′与公布的是否一致,若是、进行6.1.3),否则、进行6.1.5);
6.1.3)用户u从区块链上获取并且根据CC′ID验证去重等级:
6.1.3.1)用户u从φ中获取并且验证兄弟路径,确保该用户的身份信息包含在数据样本拥有者列表CC′ID中,若验证成果、进行6.1.3.2),否则、进行6.1.5);
6.1.3.2)用户u从φ中获取(apmC′,hC′,apcC′),并且验证最右非零节点以及该最右非零节点的兄弟路径;若验证成果、进行6.1.4),否则、进行6.1.5);
6.1.4)用户u验证是否只有一个数据样本拥有者列表若是、用户记录云服务器所公布的信息正确,否则、进行6.1.5);
6.1.5)用户记录云服务器公布的信息不正确;
6.2)透明化数据完整性审计过程如下:
6.2.1)用户u获取T,θ1,θ2,c,再验证下述等式是否成立:
θ1=h1(BT||BT-1||BT-2||BT-3||...||BT-11||1)
θ2=h1(BT||BT-1||BT-2||BT-3||...||BT-11||2)
若成立、进行6.2.2),否则、进行6.2.4);
6.2.2)用户u计算随机挑战块I={ki}(1≤i≤c),其中,并计算
6.2.3)用户u从区块链上获取{({μ1,μ2,…,μq},δ),{U1,U2,…,Uq}},并且验证等式是否成立;若等式成立,则证明了外存数据的完整性;否则,进行6.2.4);
6.2.4)用户公布外存数据完整性被破坏。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。
Claims (5)
1.一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议,所述协议包括三个主体:用户、n个密钥服务器与云服务器,具体包括:
初始化:系统初始化安全系数和参数,每个用户生成自身公钥和私钥,n个密钥服务器共享一个秘密值,密钥服务器相互交互,计算自身子秘密;
用户与n个密钥服务器交互,获取数据的加密密钥:用户选择随机数,并利用该随机数对上传数据的哈希值进行盲化,把盲化值发送给n个密钥服务器;每个密钥服务器收到盲化值后,用自身子秘密做签名,签名结果返回给用户;用户随机选择t个密钥服务器返回的合法签名后去盲化,并计算数据的加密密钥;
用户与云服务器通信,实现数据的双向拥有性检验:用户用加密密钥加密数据,并用哈希函数生成该数据的标签值;用户选取一个随机数,并且发送该随机数和数据的标签值给云服务器;云服务器通过检查数据的标签值是否已经存储,进而判断该数据是否已经存储于云服务器:若数据没有存储,云服务器要求用户上传数据密文;若数据已经存储,云服务器选取一个随机数,并把该随机数与用户选取的随机数以及数据密文使用哈希函数做运算,得到一个承诺,之后云服务器发送自己选取的随机数和承诺给用户;用户收到承诺后,验证该承诺是否为真,若为真,用户将自己选取的随机数和云服务器选择的随机数以及数据密文使用哈希函数做运算,得到一个新的承诺,并将新承诺发送给云服务器;云服务器验证该承诺是否为真,若为真,云服务器将用户添加到数据拥有者列表中;
透明化数据完整性审计和透明化数据去重:云服务器利用区块链中未生成区块的哈希值的不可预测性,生成随机种子,再利用该随机种子生成数据样本和随机挑战块;云服务器利用数据样本的用户信息构造Merkle hash树,并生成去重等级的证据信息;同时,云服务器生成随机挑战块的证明信息;云服务器在区块链公布生成的证明信息,每个用户可进行验证并公布验证结果。
2.按权利要求1所述一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议,其特征在于,所述初始化的具体过程为:
初始化参数集合PP={p,P,G,GT,e,h,h1,H,l,qE},其中,G为一个阶为素数p、生成元为P的加法群,e:G×G→GT为双线性映射,h、h1、H均为哈希函数,l是系统安全参数,qE是系统规定每个用户在每个周期向密钥服务器请求密钥的次数;
用户随机选择α∈Zp *作为用户的私钥sk,并计算y=αP作为用户的公钥pk;n个密钥服务器KSi、i∈[1,n]之间共享秘密值,Zp *表示p阶乘法群;具体生成方法如下:
1)每个密钥服务器KSi随机选择ai0∈Zp *和一个t-1的多项式fi(x),例如fi(0)=ai0,而fi(x)=ai0+ai1x+...+ai,t-1xt-1;
2)对于ε=1,2,…,t-1,每一个KSi发送ai0P和aiεP到其他密钥服务器;KSi秘密发送fi(j)给密钥服务器KSj,其中,j=1,2,…,n;j≠i;
3)当密钥服务器KSi收到来自密钥服务器KSj发送的fj(i)后,KSi通过验证fj(i),若验证通过、KSi接收,否则、KSi拒绝;
4)KSi计算自身子秘密:并计算自身子公钥:Qi=siP;所有密钥服务器的秘密值为公开值为
5)每个密钥服务器KSi保存每一个用户向其请求MLE密钥次数的列表,采用qN表示用户请求密钥次数,qN初始化为0。
3.按权利要求1所述一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议,其特征在于,所述用户与n个密钥服务器交互,获取数据M的加密密钥,具体过程为:
1)用户u随机选择r∈Zp *,并计算用户u将发送给每一个密钥服务器KSi;
2)密钥服务器KSi收到用户发送的首先检测qN≤qE是否成立,若不成立、密钥服务器拒绝,否则、KSi使用自身子秘密si对进行签名并把签名结果发送给用户u;并且,KSi设置qN=qN+1;
3)用户u通过检查等式验证签名σi,随机选择通过验证的t个签名值σ1,σ2,…σt;并计算其中,
4)用户u验证e(σ,P)=e(H(M),Q),若成立,用户u计算K=h(σ)作为MLE密钥;否则,用户u终止程序。
4.按权利要求1所述一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议,其特征在于,所述用户与云服务器通信,实现数据的双向拥有性证明,具体过程为:
1)对于数据M,用户u利用MLE密钥加密获得数据密文C=EK(M),并且计算标签值tag=h1(C);并且,用户u选择随机数β∈Zp *;用户u发送tag和β到云服务器;
2)云服务器收到tag后,首先通过检测tag值是否已经存储判断数据密文C是否已存;若不存在,云服务器发送false给用户;若已存,云服务器随机选择并生成一个承诺云服务器发送随机数和承诺给用户;
3)若用户收到和用户验证该承诺;若该承诺为真,用户计算一个新承诺并发送新承诺给云服务器;否则,用户丢弃该消息(和);云服务器收到用户发送的新承诺验证新承诺,若承诺为真,云服务器将用户添加到密文C的用户列表;否则,云服务器丢弃该消息(新承诺);
4)若用户收到false,用户上传数据,具体为:
4.1)用户u把数据密文C分为v块,每块分为q个扇区,表示为:
c11…c1q,c21…c2q,……,cv1…cvq∈Zp *;
4.2)用户u随机选择U1,U2,…,Uq←G,计算认证值:
其中,1≤i≤v、1≤j≤q,K为数据M的MLE密钥,name为数据M的名字;
4.3)用户u发送C={c11…c1q,c21…c2q,……,cv1…cvq}、认证值{δ1,δ2,…,δv}以及随机数集合{U1,U2,…,Uq}到云服务器。
5.按权利要求1所述一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议,其特征在于,所述透明化数据完整性审计和透明化数据去重,具体过程为:
1)云服务器获取当前时间,并选取当前时间最近的周期ep;
2)云服务器计算种子:
θ1=h1(BT||BT-1||BT-2||BT-3||...||BT-11||1)
θ2=h1(BT||BT-1||BT-2||BT-3||...||BT-11||2)
θ3=h1(BT||BT-1||BT-2||BT-3||...||BT-11||3)
其中,{BT,BT-1,BT-2,BT-3,...,BT-11}是最新确认的12个块的哈希值,T是当前时间最新被验证的块的序列号;
3)云服务器利用θ3作为种子在周期ep中选取数据样本密文C′,并且生成其中,φ为包括数据样本的证明信息的证明,C′ID为数据样本密文C′的文件标识,CC′ID为数据样本密文C′的用户列表,是Merkle hash树的根节点签名,具体构造如下:
3.1)云服务器根据数据样本拥有者列表构造Merkle hash树:
拥有相同样本数据的用户充当非零叶子结点,每一个用户计算作为叶子节点(即非零节点),其中,W(·)为哈希函数,IDu为用户身份,ep为周期;云服务器利用叶子节点构造树高为的Merkle hash树,其中,需要填充的叶子节点作为零节点,零节点表示为W(0);
3.2)云服务器计算Merkle hash树的树根rootC′,并对其进行签名其中Sig()为签名算法;
3.3)云服务器生成每个用户u的证明,云服务器计算叶子结点用户u到达根节点的兄弟路径apmC′;云服务器获取Merkle hash树的最右非零叶子节点hC′,并计算最右非零叶子节点hC′到达根节点的兄弟路径apcC′;
3.4)云服务器生成去重等级的证明φ=(apmC′,hC′,apcC′);
4)云服务器利用{θ1,θ2}种子,生成随机挑战块,并计算相应的证明;c为挑战块的块数。具体计算如下:
4.1)云服务器计算一系列的挑战块I={ki}、1≤i≤c,其中,并计算
4.2)云服务器计算并计算之后云服务器生成数据完整性审计的证明({μ1,μ2,…,μq},δ);c′ij为样本密文C′={c′11…c′1q,c′21…c′2q,……,c′v1…c′vq}的第i块第j扇区;
5)云服务器公布数据样本和挑战块的证明于区块链:
6)数据样本的用户验证区块链上的证明,具体为:
6.1)透明化去重验证过程如下:
6.1.1)用户u首先获取到T,θ3,然后验证下述等式是否成立:
θ3=h1(BT||BT-1||BT-2||BT-3||...||BT-11||3),
若成立、进行6.1.2),否则、进行6.1.5);
6.1.2)用户验证基于θ3生成的数据样本密文C′与公布的是否一致,若是、进行6.1.3),否则、进行6.1.5);
6.1.3)用户u从区块链上获取并且根据CC′ID验证去重等级:
6.1.3.1)用户u获取并且验证兄弟路径,确保该用户的身份信息包含在数据样本拥有者列表CC′ID中。若验证成功、进行6.1.3.2),否则、进行6.1.5);
6.1.3.2)用户u获取(apmC′,hC′,apcC′),并且验证最右非零节点以及该最右非零节点的兄弟路径。若验证成功、进行6.1.4),否则、进行6.1.5);
6.1.4)用户u验证是否只有一个数据样本拥有者列表若是、用户记录云服务器所公布的信息正确,否则、进行6.1.5);
6.1.5)用户记录云服务器所公布的信息不正确;
6.2)透明化数据完整性审计过程如下:
6.2.1)用户u获取T,θ1,θ2,c,再验证下述等式是否成立:
θ1=h1(BT||BT-1||BT-2||BT-3||...||BT-11||1)
θ2=h1(BT||BT-1||BT-2||BT-3||...||BT-11||2)
若成立、进行6.2.2),否则、进行6.2.4);
6.2.2)用户u计算随机挑战块I={ki}(1≤i≤c),其中,并计算
6.2.3)用户u从区块链上获取{({μ1,μ2,…,μq},δ),{U1,U2,…,Uq}},并且验证等式是否成立;若等式成立,则证明了外存数据的完整性;否则,进行6.2.4);
6.2.4)用户公布外存数据完整性被破坏。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910457102.9A CN110278076B (zh) | 2019-05-29 | 2019-05-29 | 一种基于区块链的透明化数据完整性审计和透明化加密数据去重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910457102.9A CN110278076B (zh) | 2019-05-29 | 2019-05-29 | 一种基于区块链的透明化数据完整性审计和透明化加密数据去重方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110278076A true CN110278076A (zh) | 2019-09-24 |
CN110278076B CN110278076B (zh) | 2022-06-03 |
Family
ID=67960337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910457102.9A Expired - Fee Related CN110278076B (zh) | 2019-05-29 | 2019-05-29 | 一种基于区块链的透明化数据完整性审计和透明化加密数据去重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110278076B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083105A (zh) * | 2019-11-05 | 2020-04-28 | 湖南大学 | 一种基于区块链的云数据持有性验证方法及系统 |
CN111339572A (zh) * | 2020-03-04 | 2020-06-26 | 鹏城实验室 | 云数据完整性的验证方法、系统、终端设备及存储介质 |
CN111698278A (zh) * | 2020-04-10 | 2020-09-22 | 湖南大学 | 一种基于区块链的多云数据存储方法 |
CN112580083A (zh) * | 2020-12-30 | 2021-03-30 | 电子科技大学 | 一种基于双向可延展持有权证明的数据外包去重复方法 |
CN112866990A (zh) * | 2021-01-07 | 2021-05-28 | 哈尔滨工业大学(深圳) | 一种具有激励机制的条件身份匿名隐私保护公共审计方法 |
CN113098681A (zh) * | 2021-03-05 | 2021-07-09 | 电子科技大学 | 云存储中口令增强且可更新的盲化密钥管理方法 |
US11816069B2 (en) | 2020-07-27 | 2023-11-14 | International Business Machines Corporation | Data deduplication in blockchain platforms |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254374A (zh) * | 2016-09-05 | 2016-12-21 | 电子科技大学 | 一种具备去重功能的云数据公开审计方法 |
CN107395349A (zh) * | 2017-08-16 | 2017-11-24 | 深圳国微技术有限公司 | 一种基于自认证公钥体制的区块链网络密钥分发方法 |
CN108600263A (zh) * | 2018-05-09 | 2018-09-28 | 电子科技大学 | 一种基于拥有性证明的安全有效的客户端去重协议 |
WO2018213519A1 (en) * | 2017-05-17 | 2018-11-22 | Trotter Douglas H | Secure electronic transaction authentication |
CN108924092A (zh) * | 2018-06-07 | 2018-11-30 | 北京航空航天大学 | 基于区块链的可公开仲裁分布式云存储方法及系统 |
CN109391621A (zh) * | 2018-10-24 | 2019-02-26 | 电子科技大学 | 基于区块链的公共云存储数据完整性检验方法 |
CN109462581A (zh) * | 2018-10-24 | 2019-03-12 | 电子科技大学 | 能够抵御暴力字典敌手持续攻击的密文去重方法 |
-
2019
- 2019-05-29 CN CN201910457102.9A patent/CN110278076B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254374A (zh) * | 2016-09-05 | 2016-12-21 | 电子科技大学 | 一种具备去重功能的云数据公开审计方法 |
WO2018213519A1 (en) * | 2017-05-17 | 2018-11-22 | Trotter Douglas H | Secure electronic transaction authentication |
CN107395349A (zh) * | 2017-08-16 | 2017-11-24 | 深圳国微技术有限公司 | 一种基于自认证公钥体制的区块链网络密钥分发方法 |
CN108600263A (zh) * | 2018-05-09 | 2018-09-28 | 电子科技大学 | 一种基于拥有性证明的安全有效的客户端去重协议 |
CN108924092A (zh) * | 2018-06-07 | 2018-11-30 | 北京航空航天大学 | 基于区块链的可公开仲裁分布式云存储方法及系统 |
CN109391621A (zh) * | 2018-10-24 | 2019-02-26 | 电子科技大学 | 基于区块链的公共云存储数据完整性检验方法 |
CN109462581A (zh) * | 2018-10-24 | 2019-03-12 | 电子科技大学 | 能够抵御暴力字典敌手持续攻击的密文去重方法 |
Non-Patent Citations (6)
Title |
---|
DONGDONG YUE ET AL.: "《Blockchain Based Data Integrity Verification in P2P Cloud Storage》", 《2018 IEEE 24TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS)》 * |
TAEK-YOUNG YOUN ET AL.: "《Efficient Client-Side Deduplication of Encrypted Data With Public Auditing in Cloud Storage》", 《IEEE ACCESS》 * |
YUAN ZHANG ET AL.: "《Blockchain-Based Public Integrity Verification for Cloud Storage against Procrastinating Auditors》", 《IEEE TRANSACTIONS ON CLOUD COMPUTING》 * |
YUAN ZHANG ET AL.: "《Blockchain-Based Secure Data Provenance for Cloud Storage》", 《INFORMATION AND COMMUNICATIONS SECURITY》 * |
刘忆宁等: "《基于区块链的云数据删除验证协议》", 《计算机研究与发展》 * |
李亚楠: "《基于区块链的数据存储应用研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083105A (zh) * | 2019-11-05 | 2020-04-28 | 湖南大学 | 一种基于区块链的云数据持有性验证方法及系统 |
CN111339572A (zh) * | 2020-03-04 | 2020-06-26 | 鹏城实验室 | 云数据完整性的验证方法、系统、终端设备及存储介质 |
CN111698278A (zh) * | 2020-04-10 | 2020-09-22 | 湖南大学 | 一种基于区块链的多云数据存储方法 |
US11816069B2 (en) | 2020-07-27 | 2023-11-14 | International Business Machines Corporation | Data deduplication in blockchain platforms |
CN112580083A (zh) * | 2020-12-30 | 2021-03-30 | 电子科技大学 | 一种基于双向可延展持有权证明的数据外包去重复方法 |
CN112866990A (zh) * | 2021-01-07 | 2021-05-28 | 哈尔滨工业大学(深圳) | 一种具有激励机制的条件身份匿名隐私保护公共审计方法 |
CN112866990B (zh) * | 2021-01-07 | 2022-02-01 | 哈尔滨工业大学(深圳) | 一种具有激励机制的条件身份匿名隐私保护公共审计方法 |
CN113098681A (zh) * | 2021-03-05 | 2021-07-09 | 电子科技大学 | 云存储中口令增强且可更新的盲化密钥管理方法 |
CN113098681B (zh) * | 2021-03-05 | 2022-03-15 | 电子科技大学 | 云存储中口令增强且可更新的盲化密钥管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110278076B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110278076A (zh) | 一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议 | |
CN104811450B (zh) | 云计算中一种基于身份的数据存储方法及完整性验证方法 | |
CN104811300B (zh) | 云存储的密钥更新方法及云数据审计系统的实现方法 | |
US7725730B2 (en) | Cryptographic methods and apparatus for secure authentication | |
CN104993937B (zh) | 一种用于云存储数据完整性的检验方法 | |
EP4254857A2 (en) | Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network | |
CN107181599A (zh) | 基于区块链的路由位置数据保密存储及共享方法 | |
Yang et al. | Arbitrated quantum signature with an untrusted arbitrator | |
CN116566660B (zh) | 基于医疗区块链的身份认证方法 | |
CN106656907A (zh) | 用于认证的方法、装置、终端设备及系统 | |
CN107483585A (zh) | 云环境中支持安全去重的高效数据完整性审计系统及方法 | |
US10756889B2 (en) | Certificated quantum cryptography system and method | |
CN105978695A (zh) | 一种用于云存储数据的批量自审计方法 | |
CN104320259B (zh) | 基于Schnorr签名算法的无证书签名方法 | |
CN108777616B (zh) | 一种抗量子计算机攻击的电子选举方法、管理装置和电子选举系统 | |
CN106506165B (zh) | 基于同态加密的虚拟资产匿名排序方法 | |
CN104980437B (zh) | 一种基于身份的授权第三方数据完整性证明方法 | |
CN109639426A (zh) | 一种基于标识密码的双向自认证方法 | |
CN109391621A (zh) | 基于区块链的公共云存储数据完整性检验方法 | |
Momeni et al. | Fairblock: Preventing blockchain front-running with minimal overheads | |
CN112511307A (zh) | 一种基于单粒子的量子保密投票方法 | |
CN107682379A (zh) | 基于同态加密的信息安全传输装置、传输方法及存储方法 | |
Yang et al. | Towards practical anonymous password authentication | |
Riadi et al. | Block-hash of blockchain framework against man-in-the-middle attacks | |
Huszti et al. | A simple authentication scheme for clouds |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220603 |