英语原文共 15 页,剩余内容已隐藏,支付完成后下载完整资料
基于区块链的公共云存储审计公平支付智能合约
王浩 a , b , lowast; , 洪琴 a, 赵明浩 c, 魏晓超a, 沈华d, Willy Susilo b
a.山东师范大学信息科学与工程学院
b.澳大利亚卧龙岗大学计算机与信息技术学院
c.清华大学软件学院
d.湖北工业大学计算机学院a
文章信息
文章历史
2019年8月28日收到
2020年1月27日修订
2020年1月29日接受
2020年1月30日线上可获取
关键词:
区块链,智能合约,公共审计,公平交易,云存储
摘要
云存储在当今的云生态系统中扮演着重要的角色。越来越多的客户倾向于
把他们的数据外包给云存储。尽管云存储有着丰富的优势,但它始终
有一个重要的问题。审计方法通常用于确保云场景中的完整性。然而,传统的审计方案需要一个第三方审计师(TPA),这在现实世界中并不总是可用的。另外,前一个方案意味着有限的现收现付服务,因为它要求客户提前支付服务费用。
本文旨在通过采用区块链替代TPA,设计一个基于区块链的公共云存储审计公平支付智能合约来解决上述问题。在我们的系统中,数据所有者和云服务提供商(CSP)将基于区块链的智能合约运行。合约确保CSP需要定期提交数据拥有证明。只有通过验证,云服务提供商才能获得报酬;否则,它将得不到任何报酬,而且必须支付罚款。为了减少契约执行过程中的交互次数,我们提出了非交互的公共可证明数据占有的概念,并基于此原语设计了一个基于区块链的公共云存储审计智智能合约。
1.介绍
在云存储服务中,云服务提供商(CSP)以IssS(如Amazon AWS S3和Google cloud storage)或SaaS(如iCloud和Dropbox)的形式向客户提供按需存储服务。直到现在,许多研究都致力于云存储服务的效率、可靠性和用户友好性方面(例如,[37,42,44])。最近,云存储服务已经成为一个大产业,据估计到2022年云存储市场将从2016年的234.8亿美元增长到889.1亿美元[1]。而且,随着物联网设备的迅速普及,计算密集型服务(如无服务计算和机器学习服务)多样性的增长,以及企业移动需求的不断增加,云存储的普及趋势仍在蓬勃发展。lowast;
尽管云存储有许多优点,但其安全性、可靠性和保密性一直是一个严峻的问题[16,17,43]。对于云服务提供商来说,他们的存储数据中心通常被构建为带有商用硬件的分布式系统。因此,它们容易受到独立故障和相关故障的影响[20,22]。尽管许多硬件(例如,RAID设备和ECC内存)和软件(例如,复制和擦除代码)技术已被用于防止数据损坏并确保安全性和可靠性,但数据损坏事故仍时有发生(例如,[5–8])。在这种情况下,客户希望确保其数据是安全的,可靠的且未经修改的存储在云上。
然而,传统的集成保险方法,如哈希函数和签名,不能被应用到云存储场景中,或者在云存储场景中无效,因为这些工具要求客户端拥有数据的完整副本。因此,需要构造特定的方法来检查云存储案例中的数据可靠性和完整性[10,13,23]。云审计协议,特别是可验证数据占有(PDP)方案,已经被提出来满足这一需求。
在一个典型的云审计方案中,存在一个审计师(通常称为第三方审计师,TPA),该审计师使用抽查技术(而不是访问存储在云上的整个数据)来检查数据的完整性。这也被称为公共审计。最近,公共审计系统得到了广泛的研究[10,25,31,33-35]。一个安全的公共审计系统应该能够抵抗伪造攻击、替换攻击和CSP的重放攻击。此外,一个理想的公共审计方案还应采取一些可取的措施,如隐私保护、动态数据审计、批处理审计、多副本审计、共享数据审计和轻量级管理费用[32]。
然而,合适的TPA并不总是存在的。此外,在使用云存储系统时,数据所有者必须提前支付云存储服务的费用。因此,一旦数据被CSP丢失或损坏,数据所有者就很难保护自己的权利。虽然TPA可以提供相关证据,但数据所有者必须使用法律手段维护自己的权利,这实际上需要高昂的额外成本。更令人担忧的是,目前涉及云计算的法律体系尚不健全,一些相关法律问题难以界定。特别是,对于云存储提供商来说,他的存储服务器部署和分布在世界各地。这就引发了很多关于数据法律治理的问题。如果云供应商和客户之间发生冲突,由哪个国家的法律体系来解决争议仍然是一个悬而未决的问题。为了解决上述问题,我们用智能合约取代了传统的TPA,智能合约是在区块链上运行的可执行代码。利用这一技术,我们为云存储系统设计了一个公平支付的智能合约。当数据丢失或损坏时,用户将不再需要为租赁云服务支付,并将自动补偿。
1.1. 我们的贡献
利用区块链的分散性和自动触发性,设计了一个基于区块链的公共云存储审计公平支付智能合约。在我们的系统中,数据所有者和CSP将基于区块链的智能合约运行。智能合约确保CSP需要定期提交数据拥有证明。只有通过审核,CSP才能获利,否则CSP不仅得不到报酬,还将支付罚款。
在使用传统的公共审计协议时,验证者需要与CSP交互。在这个过程中,验证器通常生成一个随机质询,CSP基于这个质询返回一个数据拥有证明。这种交互证明不适合在智能合约平台上执行,因为每个共识节点(作为验证者)都必须与CSP交互,系统通信的复杂性和CSP的计算成本是不可接受的。为了避免智能合约平台与CSP在合约执行过程中的交互,我们提出了非交互的公共可证明数据占有(NI-PPDP)的概念,并在此基础上设计了一个基于区块链的云存储公平支付智能合约。具体来说,我们通过非平凡地扩展Wang等人的交互式公共审计方案,构造了一个有效的NI-PPDP方案[33]。具体来说,本文的贡献主要包括以下三个方面:
bull;提出非交互式可公开证明的数据拥有(NI-PPDP)的概念;
bull;构造一个有效的NI-PPDP方案,并在随机预言模型中给出形式化证明;
bull;基于NI-PPDP为云存储设计基于区块链的公平支付智能合约。
1.2. 组织
我们在第二节中介绍了背景和预备工作,并在第三节中给出了非交互式公共可证明数据占有(NI-PPDP)的正式定义。然后,我们在第四节描述了基于区块链的云存储公平支付合约的设计。在第5节中,我们提出了一个具体的NI-PPDP方案,并分析了我们的NI-PPDP方案满足第6节中的所有设计目标。在第7节中,我们分析了NI-PPDP方案的性能。最后,我们在第8节给出结论。
1.3. 相关工作
1.3.1. 可验证数据占有
当数据所有者使用云存储服务时,他们将失去对数据的物理控制。如何保证远程数据的完整性是最重要的安全问题。2007年,Ateniese等人。[10] 引入了可验证数据占有(PDP)的概念,允许用户在不下载远程数据的情况下对其进行检查。然后,Erway等人。[19]提出了支持数据更新的动态PDP的概念。几乎在同一时期,Sebeacute;et al。[30]做了类似的工作。2008年,Shacham和Waters[31]在Juels-Kaliski模型中引入了第一个完全安全的可检索性证明方案。从那时起,在这一领域进行了大量的研究[14,26,36,39]。然而,这一时期的大多数计划都存在效率问题。2015年,Liu等人。[27]给出了一个基于Merkle散列树的高效公共审计方案。该方案大大降低了通信开销,提高了验证效率。此外,考虑到基于身份的密码系统和无证书
密码系统的情况,Wang[34]提出了一种基于身份的PDP方案,He等。[24]提出了一个无证书的PDP方案。
1.4. 区块链和智能公约
2008年,Satoshi Nakamoto[29]提出了比特币的概念。结合分散一致技术和纯附加数据结构,设计了一种不存在可信方的加密货币。比特币使用的框架通常称为区块链。受比特币的启发,一些基于区块链的加密货币和智能应用相继被提出,如Litecoin[3]、Zcash[11]、Monero[4]、Ethereum[2]。这些系统具有以下共同特点:(1)使用一致性协议来实现数据一致性;(2)使用哈希链结构来存储数据。通常,区块链被视为数据块的链接列表,其中每个块由哈希指针链接。如图1所示,在下一块的头部记录上一块的散列值。每个块都包含一组数据。一旦区块被附加到区块链,对该区块的任何更改都将导致后续区块中的一系列更改。在区块链系统中,分布式节点通过运行一致性协议同步更新哈希链。
智能合约是一种可执行代码,在没有任何可信第三方的情况下,由共识节点在区块链上自动运行。一旦满足预定义的规则,智能合约就可以执行指定的操作[12]。例如,使用智能合约,Bob cloud从Alice接收x个货币单位,前提是他向Alice发送正确的计算结果。
在智能合约系统(图2)中,每个合约都有一个唯一的地址,并且在部署到区块链后不能更改。当用户执行合约时,他们只需要将交易发送到H.Wang、H.Qin和M.Zhao等人在信息科学519(2020)348–362 351合约中规定的地址。然后,每个主动协商节点在智能合约系统中执行该事务,得到协商一致的结果。目前,研究人员正试图利用智能合约解决保险[21]、医疗[38]、电子投票[28]、云计算[18]和物联网[15]等多个领域的各种问题
最近,张等人。[40,41]研究了基于区块链的云存储公平支付问题。在他们的工作中,PDP仍然是在用户和服务器之间以传统的挑战响应方式实现的。他们使用基于比特币的TimedCommission技术[9]实现公平支付。我们的工作采用了不同的方法。在部署智能合约之后,我们的系统中不需要用户、CSP和任何智能合约平台之间的挑战-响应交互。这将有助于公共区块链中共识节点实现智能合约。
2. 预备工作
2.1. 双线性对
设G和GT是素数阶p的乘法循环组,e:Gtimes;G→GT是Gtimes;G到GT的函数。G和GT称为双线性群,如果
bull; (Bilinear) forall; g1 , g 2 isin; G , x, y isin; Z p , e ( g 1x, g2y ) = e( g1 , g 2 )xy
bull; (Non-degenerate) exist; h1 , h 2 isin; G 1 , e ( h 1 , h 2 ) is a generator of G T .
此外,所有的组操作和函数e都应该是可计算的。
2.2. 计算Diffie-Hellman(CDH)假设
定义1。假设G是一个q阶循环群,g是G的随机生成元。对于forall;x,yisin;{0。,q-1},给定(g,gx,gy),计算gxy在计算上是困难的。.
2.3. 回顾王等的互动式公共审计方案 [33]
我们只回顾了王等人方案的基本结构。有关系统模型和安全模型的说明,请参阅[33]。在他们的方案中,有两个阶段:(1)设置和(2)审核:
bull;设置阶段:
KeyGen(1lambda;)→pk,sk:设g为双线性群g的生成元。数据所有者选择两个哈希函数H(·):{0,1}lowast;→G,H(·):GT→Z p,并为数字签名算法生成公钥/私钥对(spk,ssk)。然后,随机选择xlt;Z p,ult;G,计算vlt;gx。密钥是sk=(ssk,x),公钥是pk=(spk,g,u,v,e(u,v),H(·),H(·))。
TagGen(F,pk,sk)—?:我们假设数据文件可以表示为F={m i}1le;ile;n,其中miisin;Z p。数据所有者为iisin;[1,n]随机选择Wi=name | | i和name☆Z p作为文件F的标识符,组成认证器sigma;i☆(H(Wi)·umi)xisin;G。让?={sigma;i}1le;ile;n,为保证文件标识符名称的正确性,对ssk下的名称运行Sig签名算法,并将t=name | | Sigssk(name)设置为F的文件标识符。然后数据所有者上传数据文件F和相应的数据标签?= (? ,t)至CSP。
审核阶段:
验证器首先检索文件标识符t,并通过spk验证签名Sigssk(name),如果验证失败,则通过输出perp;中止。否则,验证程序将恢复该名称。然后,验证器选择一个随机的c元素子集I={s1。,集合[1,n]的s c}。对于每个索引iisin;i,验证者随机选择v j☆Z*p。验证器将chal={(i,v i)}iisin;i发送到服务器。
ProofGen ( pk , ? , F, chal ) → ? : It computes
CSP随机选择s☆Z p,计算T=e(u,v)sisin;GT。然后,它计算:mu;=s gamma;mu;?mod p,其中gamma;=h(T)isin;zp。它发送?={mu;,sigma;,T}作为验证者的数据拥有证明。
验证(pk,?):验证器根据以下等式的正确性计算gamma;=h(T)并输出1或0
3. 非交互式公开可证明数据占有方案
3.1. 系统模型
在非交互式公开可证明数据占有(NI-PPDP)方案中,有三种类型的实体,即数据所有者、CSP和验证器(如图3所示)。与传统的交互式公开可证明数据占有方案不同,CSP和验证器在审计过程中不需要交互。NI-PPDP方案包括4个算法,分为两个阶段:
bull;设置阶段:在此阶段,数据所有者生成数据标签?对应于他们的数据文件F和存储F?在云存储服务上。他们将运行密钥生成算法和标签生成算法,如下所示。
KeyGen(1lambda;)→pk,sk:密钥生成算法由数据所有者运行。它以安全参数lambda;作为输入,并且
输出公钥pk,密钥sk。
TagGen(F,pk,sk)—?:标记生成算法由数据所有者运行。它以数据文
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[234306],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。