首页 基于外包存储的数据完整性检验的研究

基于外包存储的数据完整性检验的研究

举报
开通vip

基于外包存储的数据完整性检验的研究     基于外包存储的数据完整性检验的研究                  现今数字信息的爆炸式增长使存储系统由本地直连向网络化和分布式的方向发展,网络存储成了存储发展的新方向。随着网络存储的发展,外包存储迅速崛起。所谓外包存储,确切地说,就是存储服务的外包,即用户可以将大量的数据存储在外包服务供应商提供的存储环境中,存储服务提供商提供信息存储空间及相关的管理服务,用户只需对这些服务支付较低的费用即可。然而,要想让外包存储被所有的用户接受,一个重要的问题就是外包存储的安全。如何使用户确信他外包出去的数据是安全的...

基于外包存储的数据完整性检验的研究
     基于外包存储的数据完整性检验的研究                  现今数字信息的爆炸式增长使存储系统由本地直连向网络化和分布式的方向发展,网络存储成了存储发展的新方向。随着网络存储的发展,外包存储迅速崛起。所谓外包存储,确切地说,就是存储服务的外包,即用户可以将大量的数据存储在外包服务供应商提供的存储环境中,存储服务提供商提供信息存储空间及相关的管理服务,用户只需对这些服务支付较低的费用即可。然而,要想让外包存储被所有的用户接受,一个重要的问题就是外包存储的安全。如何使用户确信他外包出去的数据是安全的、完整的、可用的呢?解决好这个问题,才能使外包存储得到更广泛的使用。国际存储工业协会(SNIA)给出了存储安全的一个基本定义【1】:保证数据在存储网络中的传输和存储的机密性、完整性和可用性。这里的机密性就是对抗对手的被动攻击,保证信息不泄漏给未经授权的人;完整性就是对抗对手的主动攻击,防止信息被未经授权而遭到篡改;可用性就是确保信息及信息系统能够为授权使用者正常使用。本文主要针对存储安全中的完整性问题,详细讲述两种外包存储环境中数据的完整性验证模型,对他们进行分析比较,归纳总结出各种结构模型的优缺点,并展望了外包存储安全机制的未来发展情况。1三方认证模型1.1结构框架文[2]提出一种安全有效的方法,允许客户对存储在不可信的网络中的数据进行完整性验证。在这个结构中,有三个实体(结构模型如图1):一是外包存储服务器,用来存储客户外包的数据,它是不可信的;二是认证服务器,用来存放和处理所有的认证信息,它也是不可信的;三是客户,这是存储结构中唯一可信的实体。1.2算法和数据结构在认证服务器中,使用认证跳跃列表(图2)来维持所有的认证信息,这里的认证信息也就是每个文件的哈希值。跳跃列表是按层建造的一种数据结构,底层是一个普通的有序链表,每个更高层都充当下面列表的“快速跑道”,在层i中的元素按某个固定的概率p出现在层i+l中。min和max确定出现在每一层,位于表的最左端和最右端,最上层列表只包含min和max。如果跳跃列表在进行查找、插入、删除等操作时的期望时间复杂度均为O(logn),则在认证服务器中使用跳跃列表会使其效率更高。跳跃列表结构I4]中每个节点V存有key值V.key(对应文件的名字)和交换加密哈希值V.hash。在表的同一列的节点有相同的key值。每个文件的哈希值h(f)作为该结构最底层的节点[如图2中的一∞、h(12)、h(17)…]存储在认证服务器上。此外每个节点都有两个指针分别指向它的右节点和下节点。我们用V.hash,R.hash.B.hash表示节点V的哈希值,节点V的右节点的哈希值以及它的下节点的哈希值,用V.level表示节点V的高度(最底层的节点的高度V.level=0),h(A,B)表示交换加密哈希函数(h(A,B)=h(B,A))。在查询一个节点T时,从最左端顶上的min开始,如果R.key>T.key,则向下移至B,否则移至R。每个节点的交换加密哈希的计算规则如下:(1)若V.level=0:如果R.level=0,V.hash=h(V.key,R.hash),否则V.hash=h(V.key,R.key)。(2)若v.level>0:如果R.level=V.level,V.hash=h(B.hash,R.hash),否则v.hash=B.hash。图2表示交换加密哈希的构建过程。我们将结构左上方节点的哈希值称为basis,这个basis是整个结构中所有哈希值的积累。这就是说,如果这个列表中的任何一个节点被改变,这个basis值就会改变。1.3认证过程在这个模型的三个实体中,外包存储服务器不可信,认证服务器不可信,唯一可信的就是客户自己。在客户端保存一个固定大小的basis值,通过从认证服务器返回的一个proof和文件的哈希值,计算proof的值并与basis比较看他们是否一致,从而验证认证服务器是否可信,并通过比较哈希值验证所取文件的完整性。proof就是在跳跃列表中的一个哈希链,具体来说就是查询某个节点时所经过路径节点相邻节点的哈希值组成。例如图2中,取回文件39时经过的路径为:vll,vl0,v9,v8,v7,v6,v5,v4,v3,v2,vl,因此proof为:h(44),h(39),h(38),w3.hash,u4.hash,u6.hash,w7.hash,u8.hash,ulO.hash,对proof中的值依次做交换加密哈希,得到的即为basis的值,具体过程如下:h(h(44),h(39》-*vl.hashh(vl.hash,h(38》-*v2.hashh(v2.hash,w3.hash)-*v3.hashh(v3.hash,u4.hash)-*v4.hashh(v4.hash,u6.hash)-*v6.hash依次类推,由此proof可计算vll的交换加蜜哈希值,就是basis。认证过程如下:(1)客户要存放一个文件到外包存储服务器上(如图3),首先计算文件的哈希值,然后将文件内容传至外包存储服务器,将文件名(即key值)和计算所得的哈希值h(f)传给认证服务器。认证服务器将新的key节点的哈希值插入跳跃列表中,更新跳跃列表,并且将插入此节点的proof和更新后的列表的结构信息返回给客户端,客户根据proof做交换加密哈希运算,得到一个新的值basis’,将它与他先前保存的basis比较,若一致,则说明认证服务器可信,然后再根据更新后的结构信息以及proof和h(f)计算更新basis得到新的basis。(2)客户要取一个文件时(如图4),向外包存储服务器发送请求,取回文件,并计算文件的哈希值h(f),同时向认证服务器发送请求,返回对应文件的哈希值h’(f)和proof。客户端利用proof计算basis’,若与本地的basis-致,则认证服务器可信,否则,认证服务器信息被篡改。在认证服务器可信情况下,比较h(f)和h’(f),若相等,说明文件是完整没被篡改的;不等,说明文件被篡改。本 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 通过比较哈希值检测文件的完整性。一旦文件被改变,改变后文件的哈希值与原哈希值相等的几率非常小,从而可以验证文件的完整性。但为了减轻客户的负担,避免需要保存每个文件的哈希值而占用的空间,方案中引入了认证服务器,专门存放所有文件的哈希值,那么有可能存在这样的可能性,即认证服务器和存储服务器串通合作,篡改存储服务器中存放的文件内容,同时修改存放在认证服务器中文件的哈希值。这样客户端取回被篡改的文件计算得到的哈希值与他从认证服务器得到的文件的哈希值一致,就无法判定出文件已经被篡改。为了解决这一问题,应在客户端保存一个可以检验整个认证服务器可靠性的basis值,一旦认证服务器跳跃列表中任意一节点的哈希值被改变,从认证服务器返回给客户的proof所计算得出的basis与客户端所存的basis就不一致,从而告知客户认证服务器已经遭受攻击,他取回的文件的哈希值也就不可信。由此可以看出,此方案能够很好地对外包文件的完整性进行验证。2S-PDP认证模型2.1结构框架文[5]提出S-PDP结构模型,它使客户对存储在不可信的外包存储服务器上的数据进行完整性验证时不用取回所存的文件。在S-PDP结构中,只有两个实体:客户和外包存储服务器。在客户端只需要保存一个嘲定大小的元数据以验证外包文件的完整性,同样外包存储服务器是不可信的,它的结构模型如图5所示。2.2算法此算法需要使用RSA算法以产生公共私密密钥,加密哈希算法产生一个固定大小的哈希值。因为模型的核心思想就是随机的取样抽查验证,因此还需要使用伪随机函数(PRF)和伪随机排列(PRP)。(1)KeyGen(lk)密钥生成:在客户端输入一个参数k,产生一个公共私密密钥对(pk,sk)。(2)TagBlock(sk,m,i)标签的生成:L是在客户端通过这个函数产生一个认证的标签,它是由文件块的索引号(独一无二的)和文件块的内容计算得到的,因此也就包含了索引信息和内容信息,标签无法由他人伪造。(3)CenProof(pk,F,chal,∑)证明的生成:在服务器端运行以产生一个文件拥有的证明。客户发起一个挑战chal包含了他要随机查询的文件块的集合F,在服务器端,输入为公共密钥pk,客户端发起的挑战chal,文件块集合F,以及F中的文件块对应的元数据标签的集合∑,产生一个证明V。证明V由两个数据项(T,p)组成,T是对要查询文件块标签的一个组合计算,p是对要查询的文件块内容进行哈希计算得到的一个哈希值。(4)CheckProof(pk,sk,chal,V)核查证明:在客户端执行,他利用公钥pk,私钥sk,挑战chal以及服务器发给他的证明V进行验证。T是所查询的文件标签的组合,而标签是客户自己计算的,具有可信性。标签包含了文件块索引信息与文件块内容信息,此时客户对T进行运算去掉T中的索引信息,剩下的就是关于文件块的内容信息,再对他进行计算处理并与p比较,因为p是用服务器存储的文件块内容计算得出的,因此,如果T进行运算得到的文件信息与p相等,则证明服务器端保存了原始的文件块,也就认证了文件的完整性。此模型核心思想就是随机抽样验证,具体算法参考文[5]。它不用取回文件而对文件的完整性进行较准确的验证,对应10000文件块组成的大型文件,如果服务器丢失了10_10的文件,客户只需要查询460个文件块就能验证出服务器的错误,准确率高达到99%。2.3认证过程PDP机制分为两个阶段。(1)建立阶段(如图6)。客户C是文件F的拥有者,在客户端运行KeyGen(lk)产生密钥对(pk,sk),并且利用文件块mi和sk运行TagBlock(sk,m,i)产生标签t。,C存储密钥对,将pk、文件F以及各个块的标签发送给服务器S,然后它删除文件F和标签:(2)挑战阶段(如图7)。C随机产生一个挑战chal,它决定着C想要查询的服务器中的某些文件块。C将chal发送给S,在S端运行GenProof(pk,F,chal,∑)产生一个证明V,并将它送给C,C通过运行CheckProof(pk,sk,chal,V)算法就能验证V。3对比分析三方认证模型和S-PDP模型都能对外包数据进行完整性验证,下面对他们进行分析对比(表1)。S-PDP模型只需客户和外包存储服务器,不需要引入第三方实体;i方认证模型需要加入一个专门的认证服务器。S-PDP模型在对数据的完整性进行验证时不需要取回所有的文件;三方认证模型需要取回文件再对他进行完整性验证。因此S-PDP模型适合大的需要长期存档的文件,定期对它进行完整性检验而不用取回它,减小了花费,适合读取存放比较频繁的文件完整性验证。S-PDP模型在客户端需要计算产生公钥和私钥,产生各个文件块的标签和对服务器发的证明进行计算验证;三方认证模型在客户端只需进行简单的哈希计算,相比而言三方模型计算量较小。S-PDP模型的外包存储服务器除了储存文件数据以外,还需要存储文件的标签等额外信息,并执行必要的计算;而三方认证模型的外包存储服务器只需要简单的存储文件数据,不需要额外的空间存放额外的数据及进行计算。S-PDP模型客户端和服务器端认证时发送的挑战和证明都是固定大小的,因此他们之间的通信带宽固定;三方认证模型需要取回文件,因此其通信带宽取决于文件的大小。不管是S-PDP模型还是三方认证模型,在客户端都只需要一个固定大小的存储空间来存放元数据对服务器发来的proof进行认证。此外他们还有一个共同的特点就是可以允许被授权的其他用户(非文件拥有者)对文件完整性进行验证。4展望随着数据价值不断提升以及存储网络化、网络存储外包服务化的不断发展,数据遭受的安全威胁日益增多,若无存储安全防范措施,一旦攻击者成功渗透到数据存储系统中,其负面影响将是无法估计的。这就要求企业在特定存储系统结构下,从存储系统的角度考虑存储安全性,综合考虑存储机制和安全策略是存储安全的一个研究方向。对于不可信存储中的完整性验证方面,也将会有更为完善、简单、有效的机制出现。 -全文完-
本文档为【基于外包存储的数据完整性检验的研究】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
IT人
暂无简介~
格式:doc
大小:68KB
软件:Word
页数:0
分类:
上传时间:2021-10-19
浏览量:6