基于网络编码存储系统中的远程检测.docx
基于网络编码的存储系统中的远程检测远程数据检查(RDC)是一种技术,客户端可以建立外包在不受信任的效劳器上的数据保持不变的随着时间的推移。RDC是有用的作为一种预防工具,允许客户端定期检查是否数据己被破坏,以及修复工具每当检测到己损坏。最初提议在单个效劳器的上下文中,RDC后来犷大到在依靠复制和擦除编码,数据存储在多个效劳器冗余的分布式的存储系统中验证数据的完整性。最近,一种技术提出了添加冗余基于网络编码技术,由于其显著低通信开销来修复损坏的效劳器提供有趣的权衡。不同于以往关于RDC侧重于预防阶段的本钱最小化的工作,我们采取整体上来看,主动调查的RDC方案依靠网络编码,以预防和修复阶段合并的本钱最小化的分布式系统。我们建议RDC数控、平安和高效RDC水印的网络编码为根底的分布式的存储系统。RDC数控缓解源于网络编码的根本原那么的新的攻击。这项方案是能够保持在对抗性设置维修组件通过网络编码在一个良性的设置的最小的通信开销。我们执行我们的方案和实验说明它是计算上的开销为客户端和效劳器类别和主题描述符H.3.2信息存储和检索:信息存储:E.4编码和信息理论:过失控制编码一般条款平安性,可靠性,性能关键字远程数据检杳,网络编码,归档存储,平安,分布式存储系统、重放攻击、污染攻击1 .介绍远程数据检查(RDC)已被证明是有价值的技术,(作为一个验证程序)的客户端可以更加有效确实立是不受信任的效劳器上存储的数据保持不变的随着时间的推移。这种保证是必须确保数据外包在数据中心或云存储提供商的长期可靠性。当用一台效劳器,远程数据检查的最有价值的用途在于其预防能力范围内:验证程序可以定期检查效劳器上的数据拥有,因而可以检测到数据损坏。然而,一旦检测到损坏,单效劳器设置不一定允许数据恢复。因此,远程数据检查有必须辅以存储在多个效劳器的冗余数据。这种方式,验证程序可以使用远程数据检查每个效劳器,以及根据检测数据撮坏,在任何一台效劳器,它可以使用其余正常运行的效劳器,通过将数据存储在一个新的效劳器上复原所需的冗余级别。在分布式的存储系统中引入冗余的主要途径是通过复制,擦除编码,以及最近通过网络编码8,9。数据复制的根本原理是存储在不同的存储效劳器数据的多个副本而擦除编码的原始数据被编码成了跨多个存储效劳器存储的碎片。在网络编码,编码的块存储跨效劳器计算为线性组合的原始数据块。网络编码的分布式的存储系统和应用场景.网络编码存储8,9提供了非同寻常的性能,很适合去深档案的商店,其特点是读很少的工作量。网络编码的参数使读取数据比数据维护更贵。与纠删码类似,网络编码可用于冗余编码成碎片的文件和存储这些碎片在n效劳器,以便该文件可以被恢复(和读取)从k的任何效劳器。然而,网络编码提供擦除编码时编码的片段是由于效劳器故障而丧失,需要进行重构,以保持同样水平的可靠性有显著优势:新编码的片段可以通过联系一些正常运行的效劳器(修复带宽可低至修复片段)构造最优最小的通讯本钱。这是与传统纠删码,例如里德所罗门码19必须重建整个文件然后再恢复丧失数据形成鲜明比照。最近的结果,网络编码存储中建立维护带宽可以减少相比,标准的纠删码的数量级。建议使用网络编码存储中虽然有一个缺点:该代码不是系统性;它不会嵌入编码的输出作为输入。小局部的文件无法读取而不需要重构整个文件。在线存储系统不使用网络编码,因为他们更喜欢以优化性能读(共同操作)。他们使用系统码来支持对数据的子文件访问。网络编码存储真的只意义系统中哪些数据修复发生更多经常比读。规管存储、数据托管和深存档应用程序目前读很少相配的网络编码性能的工作负载。这些应用程序用在任何时间段期间被访问的几个对象保存为将来能够访问数据。许多这些应用程序不需要子文件的访问:他们检索他们的全部文件。审计提出了几个例子,包括根据萨班斯-奥克斯利法案七年保持业务记录和隐瞒五年的报税表。只有那些正在审核或修改正的记录需要访问,但保存所有数据是-个法律或法规的要求。医疗纪录是同样适用的。约翰斯霍普金斯大学医学图像归档保存所有的MRI.CAT扫描,和X射线图像中收集超过6的中央储存库的医院,铅。图像的一小局部是有史以来访问历史跟踪的病人或类似情况下的结局进行研究。保存系统用于存储旧书籍、手稿、数据集还提出读很少的工作量。此外,标准归档存储1表示作为不可分割的-揽子方案的数据并不支持子文件访问。在应用程序中,数据的大小和读取的次数决定性能的存储维护,重新编码,减轻设备或系统故障引起的数据丧失主导读取的性能要求。长期的可靠性采取全面的方法。为了确保长期数据的可靠性在分布式的存储系统中,数据冗余存储在多个效劳器后,我们可以松散地分类验证为两个分量的行动:预防和修复.在预防组件,验证程序使用远程数据检查协议以确保在存储效劳器上数据的完整性。在修复组件,调用时在任何效劳器检测到数据损坏时,客户端使用正常运行的效劳器的数据恢复所需的冗余级别。在存储系统的生命周期内,预防和修复组件将交替。最后,还将检索组件,其中客户端恢复原始数据(尽管这很少发生的存档存储系统)。在本文中,我们采取综合方法,并建议新技术来防止合并的本钱最小化和修复组件。以往关于远程数据检查的工作完全侧重于预防组件的本钱最小化(例如,复制7和纠删码24,4基于方法)。然而,在我们考虑的分布式的存储设置,修复组件的本钱很高因为段长的时间效劳器失败,需要重新分发到新的效劳器上的数据。我们的工作是基于最近在分布式存储8,9.利用网络编码实现通信开销的修复组件擦除基于编码方法相比显著减少编码的工作。然而,这项工作提出了一种良性的设置。从本质上说,我们寻求在对抗性设置维修组件的最小的通信开销时使用网络编码维护。为实现这一目标的主要挑战来自于网络编码的本质:在修复阶段,客户端必须确保效劳器,而无需对原始数据的访问方面的编码操作的正确性。同时,客户端存储应该保持小和不断随着时间推移,以符合外包存储的概念。需要签入的远程数据的分布式存储系统.归档存储还需要反思和数据检查,以确保数据受到保护,并可以检索。因为很少会读取数据,它是缺乏以仅检查的正确性和检索数据的完整性。存储错误,设备故障,撕裂写入17、21发现潜在错误和管理不善,可能会损坏数据无法发觉。此外,存储提供商可能希望在试图保护他们的声誉或删除恶意地减少开支2的数据隐藏数据丧失事件。深层归档应用程序使用数据中心、云存储和数据的管理与第三方驻留在其中的对等存储系统18:不是用数据的所有者。这进一步加强了数据所有者检查存储数据的保存状态需要审核是否第三方履行其义务,以保存数据。性能特性的远程数据检查的协议例如可证明数据拥有2和15,检索证明也符合读很少的工作负载。这些协议允许-名核数师,以保证数据都完好无损地保存在存储和检索使用的客户端元数据的恒定量、恒定量的网络交通,和(最重要的是)通过阅读数量恒定的文件碎片2o大型档案数据集让人望而却步,定期读取每个字节。检查协议的远程数据样本存储的数据,以实现概率的保证。当结合纠错码,保证能到达信心1010实际参数6.纠错码确保少量的数据损坏做没有损坏,因为可能由代码,恢复损坏的数据和大量的数据腐败很容易被发觉,因为他们必须腐败要克服了冗余的数据块多。远程数据校验和网络编码的结合使得专门管理少量的读取很少归档,你可以检测到数据损坏,从使用分段线性的文件大小的I/O数据恢复:每个文件来检测损伤和I/O量与损伤修复文件的恒定量I/O。奉献。在本文中,我们采取整体看看远程数据检查和考虑预防和修复组件的组合的本钱最小化的分布式的存储系统。我们提出了小说的RDC方案建立在最近的工作,在编码的分布式的存储系统中,利用网络编码以实现显著减少通信开销修复组件相比,擦除编码为根底的方法的根底上(I尽我们所知,我们是第-次审议检查网络编码为根底的分布式的存储系统依赖于不受信任的效劳器的远程数据。在这方面,我们识别新的攻击,并提出新型RDC方案网络基于编码的存储系统。具体来说,我们提出了以下奉献:一我们采取综合方法,并建议新的远程数据检查预防和修复组件的组合的本钱最小化的分布式的存储系统的方案。网络编码为根底的系统表现出修复组件在-个良性的设置最小的通信开销。我们方案在对抗性设置的网络通信开销优势基于编码在擦除基于编码的系统保存。-我们的RDC方案克服对网络编码为根底的分布式的存储系统(详见局部3)是唯-的挑战:I不同单效劳器RDC方案2、15、22,只能检测是否腐败存在某处的数据中,实际的考虑需要RDC方案进行本地化多效劳器设置中的故障效劳器。I不像擦除基于编码的分布式的存储系统,网络编码系统缺乏一个固定的文件布局,使它具有挑战性的RDC方案,随着时间的推移保持恒定的客户端存储。表1:各RDC方案参数。我们假设我们的方案RDC数控使用MBR代码,以尽量减少总的效劳器存储(更多细节在局部3.1.5)增加的额外约束下。在修复阶段,我们描述了案件的费用一个存储效劳器失败时I相比擦除编码为根底的分布式系统,网络编码为根底的系统很容易受到更多攻击。我们确定的重播和污染的攻击。RDC方案成功地减轻这些攻击。假设要使其变为无害的重播攻击,我们使用一个简单而有效的解决方案:网络编码系数都存储在效劳器上进行加密此外,客户端就是那个选择编码系数和强制他们使用。为了防止污染攻击,我们使用一个额外维修核查标记,允许客户端进行检杳一台效劳器结合其块正确修复阶段。-我们对如何运用网络编码在依赖于不受信任的效劳器(秒3.1.5)的分布式的存储系统的上下文中提供指引。我们通过实验评价拟议的RDC方案的执行情况。解决方案概述。表1比拟了我们的方案(RDCNC)与以往的RDC方案。在RDC数控中添加冗余基板基于网络编码,而在以前的工作根据有关复制和纠删码。为了确保预防组件的平安性,我们适应RDC技术中的单效劳器设置22使用。我们提出一项方案,只有数据所有者可以检杳数据拥有(即,它是私下核查)。然而,我们的方案可以使用扩展的技术2,22为实现预防阶段(即,任何人,而不仅仅是数据的所有者,可以挑战要证明数据拥有的效劳器的可公开懿证性。对于修复组件的平安性,我们的解决方案可确保所派遣的效劳器提供的数据是有效的和在系统中保存所需的冗余量。最终,这将确保原始数据可以在任意多的维修后回收。我们确定的重播攻击可能会导致减少数据冗余,类似于在网络设置中,在中间节点转发非创新数据包确定由江等人14的墙攻击。然而,江etal.解决方案依赖于检查新的编码的数据包是否线性独立与以前编码的所有数据包。在我们的分布式的存储环境中,他们的解决方案不能维护维修组件的最小的通信开销。我们确定污染攻击是通信的类似与网络编码技术使用来提高吞吐量网络时可能出现的污染攻击。工作上的签名系网络编码3,11确保中间节点正确执行编码操作。然而,我们存储设置是不同的因为客户端是选择编码系数和强制他们效劳器所使用的那个。而且解决方案11中的,每个编码的术后导致编码区块的大小增加,不能用于长期存储设置维修业务是无界。2 .在分布式的存储系统上的背景我们给概要提出r要跨多个存储效劳器存储冗余数据的分布式的存储系统的主要途径:编码为根底,基于复制的擦除和基于编码的网络。这些都是有效的非对抗性的设置,只有良性故障会在哪里发生。对于每个,我们概述本钱存储冗余数据的存储和网络本钱,当一个效劳器出现故障时恢复所需的冗余级别。我们还制订数据恢复条件下,捕获量而不会影响恢复原始数据的能力是可以容忍的腐败。这些方法都是图I所示"我们认为需要冗余存储文件F我们表示jjF的大小)。要表达修复组件的网络开销,我们将定义为网络开销因素之间的需要(从正常运行的效劳器)中检索的数据量的比率作为创立新的效劳器上存储的数据量。这将是我们主要的度量来测量维修组件的通信本钱。2.1 复制(拷贝)复制是最简单的形式的冗余和很多存储系统均采用它。客户端存储在每一个文件副本的效劳器。因此,可以从任何恢复原始文件的效劳器。存储本钱是'jFj跨所有效劳器。经检测损坏的副本,客户端可以使用任何一个健康的副本来创立新的副本。作为维修组件的一局部,以创立新的副本的大小j(j购置,客户端需要检索副本的大小Kj购置。因此,网络开销因子为1.数据恢复情况:可以,只要至少一个恢复原始文件'副本不会被破坏。2.2 擦除编码在擦除编码中,给出了个文件Fk块,客户端使用(n,k)的最大距离可分擦除代码来创立编码的n块走出原始的k文件块,并将它们存储在n效劳器(每台效劳器的一个编码块)。因此,可以从任何kn效劳器恢复原始文件。每当客户端检测到损坏的编码块之一,它可以使用其余的健康块重新生成损坏的编码的块。存储木钱F峰跨越所有的效劳器(早每个效劳器).这是最优的冗余可靠性存储进行权衡。然而,与基于复制的解决方案相比,纠删码具有更高的网络开销本钱为修复组件:假设要创立一个新的编码的块,客户端必须首先重建整个文件(即,检索k编码块),因而招致的k的网络开销因素。数据恢复情况:可以恢复原始文件作为长时间至少n编码块中的取k未损坏。34页(Ie引人注目的是,它会导致网络架空因子为1,一个基于复制的方法相同。代价是这点要求每个效劳器来存储(略更多的数据,比在纠删码。数据恢复情况:可以恢复原始文件作为长时间至少kn效劳器集体存储在最小的m编码数据块,是原始的m文件块的线性无关的组合。一个例子,我们说明了在图1中的三种方法3 .远程数据检查方案的网络编码为根底的分布式的存储系统在本节中,我们给出检杳(RDC)方案基于网络编码的分布式的存储系统的远程数据。一旦客户端检测到效劳器失败,就需要采取措施,确保数据恢复状态。最近,RDC方案提出了基于复制的7和擦除基于编码24,4分布式存储系统。尽我们所知,到RDC不是考虑网络编码为根底的分布式的存储系统。在本文中,我们力求实现远程数据检查使用网络编码,数据存储在多个存储效劳器冗余的分布式系统。提出了挑战。我们总结的挑战,需要克服时将从一台效劳器移动到多个效劳器设置。我们还指出网络codingbased系统中擦除基于编码系统将出现的挑战。一需要本地化多效劳器设置中的故障效劳器。在单效劳器环境中,使用远程数据检查,检测文件损坏后客户端需要修复整个文件的决定,而并不关心检测哪些文件块已损坏,并仍然有效。分布式存储中然而,发生故障时,客户端不能修复的所有效劳器上的数据。相反,客户端具有确定缺陷的效劳器并使用在剩余的效劳器要将故障效劳器恢复到良好状态。因为随着时间的推移保持恒定的客户端存储和定位故障效劳器是对面目标,技术用于动态RDC10在单效劳器环境中并不直接适用。缺乏网络编码基于分布式存储与擦除基于编码存储在一个固定的文件布局。在纠删码,当检测到一个错误的块,修复阶段重建同样精确的块。而在网络编码,修复计算一个新的块,是不同于原始的块。因此,它是更具挑战性,为保存的功能完整性进行检查的新编码的块,同时保持常数存储在客户端上。一额外的攻击。网络基于编码系统是易受攻击,特定于网络编码和擦除基于编码的系统中不会发生。在重播攻击,敌人试图重用旧编码的块,从而减少了冗余存储效劳器到原始数据变得不可恢复的点上。在污染攻击中,损坏的效劳器使用正确的数据,以防止检测在挑战的阶段,但提供已损坏的数据的编码在修复阶段的新的块。客户端必须确保效劳器正确组合它们的块修复期间,而不需要访问原始的块。系统和对抗模型.最初,客户端数据冗余可以跨不同存储组n存储效劳器Sl;S2;:;锡。我们采用对抗模式类似于冰直4中的一个。我们假设-个移动的对手,可以任意的行为(即表现出拜占庭的行为)和在系统生命周期内可以损坏任何(和潜在所有)的效劳器。然而,攻击者可以在任何给定的时间间隔内腐败顶多nkn效劳器。我们是指作为-个时代的这种时间间隔。从对立的角度来看,存储效劳器被视为有两个组件、代码和存储。代码指的软件,运行在效劳器和客户端上,与相互作用中定义效劳器的行为,而存储是指由效劳器存储的数据。在每一个时代,对手可能会选择一套新的nk效劳器和腐败的代码和在这些效劳器上的存储组件。然而,在每一个时代的结束,我们假设每个效劳器的代码组件复原到正确的状态4。虽然恢复了代码组件,存储组件可能仍然跨世纪损坏的一次。因此,在没有显式的防御机制,在超过nk效劳器存储可能会损坏,导致原始数据变得不可恢复。客户端的目标是检测并修复存储损坏之前它的形式呈现数据不可用。为此目的,该客户端检查数据藏与效劳器在每个时代,如果它检测到故障的效劳器,它使用冗余在其余正常运行的效劳器来修复故障效劳器上的数据。时代包括两个阶段:1。一个挑战阶段包含两个分阶段:(a)腐败分阶段:敌人腐化bl台效劳器。(b)挑战分阶段:客户端执行检查与效劳器的数据拥有。其结果是,客户端可能会检测到已损坏的存储(即故障效劳器)的效劳器。2 .修复阶段包含两个分阶段和只当挑战阶段检测到损坏,那么触发:(a)腐败分阶段:敌人腐化b2台效劳器.(b)修复分阶段:客户端修复在挑战阶段中检测到任何故障效劳器上的数据。可以由攻击者时期已损坏的效劳器总数至少是n-k(ieb+62n-k).一个时代的结构是类似与一个在4,作一项修改:我们显式允许对手数据损坏后挑战阶段。这模特挑战阶段,老实,但在修复阶段恶意的攻击者。3.1 RDC的网络编码在这一节,我们提出了我们主要的RDC数控方案.为了便于论述,我们逐渐引入系列的挑战和我们的方法去克服它们,导致局部3.1.4主要的RDC数控方案。我们认为检查方案依赖于网络编码来存储和修复秒2.3中所述的数据的存储系统的远程数据。客户端选择一组参数(n,hA'V)。(在秒3.1.5中我们给指引如何选择参数中设置存储效劳器在哪里不受信任)。F文件拆分成m块,bibtn客户端计算和存储下T编码块在每个n效劳器Se效劳器Si将存储编码块*1*d).编码的块被计算作为原始的m文件块线性组合。3.1.1 可以扩展现有RDC方案吗?我们开始通过检查当RDC网络编码为根底的分布式的存储系统的方案设计时出现的挑战。这些障碍来自网络编码,计算新的根本工作原理在修复阶段为线性组合的现有块编码的块。我们第一次专注挑战阶段,紧接着修复阶段。4挑战阶段,单效劳器RDC方案计算验证元数据,它与数据-起存储,有助于数据完整性检查2,22。这种方案可以推广到多个效劳器的设置,如果我们作为细分和客户端集合计算每个细分市场的挑战验证标记的每个编码的块。一种基于现场检查2.22的单效劳器RDC方案可以用于检查每个块存储的每个n效劳器的完整性。这种方法必须确保该效劳器寺存储块,它是存储(iq,blocks01,.,己。)"注意单效劳器RDC方案直接应用没有到达这项保证如寺Si的恶意效劳器可以只存储的块和标记(老实的)的另个效劳器,并成功通过完整性的挑战。这将减少整体冗余跨效劳器,并将最终导致在哪里在文件变得无法恢复的客户端的不知情的情况下的状态。索引块的嵌入与那块段关联的验证标记来防止这种攻击在使用擦除编码冗余存储文件,跨多个效劳器的分布式的存储系统,每个n存储效劳器分配一个擦除编码块(i.e.,已分配的效劳器Si是擦除编码块i).擦除编码,编码文件的布局固定的众所周知的客户端(因为客户端知道奇偶校验矩阵用于擦除代码).作为-个结果,在编码时我发现损坏,我将重建修复阶段同样精确的块的块。因此,很容易嵌入到挑战验证标记的块的索引作为客户端可以使用相同的索引挑战藏有第i个附件阻止无论发生了多少的修复操作。然而,当存储系统依赖于网络编码(而不纠删码),-个复杂的问题上出现因为编码文件的布局不固定的了。当效劳器出现故障,客户端并不重建相同的块上发生故障的效劳器(如在擦除基于编码的解决方案)。相反,客户端从正常运行的效劳器中检索新的编码的块和重组他们使用随机选择的系数,以获取其他新编码块。因而,保持常数存储在客户端上的,并在同一时间,验证每个效劳器存储的块,它是存储具有挑战性。修复阶段,恶意效劳器可能会存储正确的块,它是存储,并可老实说在挑战阶段。但是,效劳器可能会在修复阶段,当它被要求在效劳器出现故障后重构块的过程中奉献编码的块恶意行为。如果效劳器不会正确组合其块并造成损坏的块,损坏的块将导致进-步腐败系统中他们是被结合块从其他效劳器。这种污染攻击是可能的因为客户端没有访问原始块以检查是否编码操作执行的正确的效劳器。秒3.1.4我们RDC数控方案可以防止污染攻击,在修复阶段通过使用修复验证标记(不同于挑战核查标记)。3.1.2 如何保持恒定的客户端存储?背后我们的解决方案,以维护常数存储在客户端上的直觉是我们到编码的块存储在每个效劳器分配逻辑标识符和挑战验证标签嵌入这些标识符。每个效劳器上存储编码的块,因此n效劳器集体存储n编码的块.在那里我是效劳器数量和j是块编号存储在效劳器将逻辑标识符分配到这些n的编码块,"i:j"的形式。例如,在图1(c),块存储在效劳器Sl具有标识符"1.1"和"1.2"和存储在S3的块有标识符"3.1"和"3.2"。请注意的效劳器Sl不能通过使用块与标识符"2.1"或"2.2",应该存储在S2上通过完整性的挑战。当S3失败时,由客户端存储在SO上计算的新编码的块保持相同的标识符"3.1"和"3.2"。此标识符被嵌入到每个编码的块段的挑战核查标记。当客户端想要挑战SO上存储的块时,它可以再生"3.1"和"3.2"(因此客户端可以保持恒定的存储)的逻辑标识符。我们将放在哪个效劳器上存储一个块具有-定逻辑标识符,只要为每个效劳器跟踪的块存储的逻辑标识符没有限制。因此,我们允许编码的块存储效劳器之间自由迁移。我们唯一的假设是-项发现效劳,可以找到该效劳器的存储与一个给定的逻辑标识符"i:j"块的存在。3.1.3 重播攻击使用逻辑标识符的一个关切是恶意效劳器可以成功地为了重用以前编码的块具有相同的逻辑标识符即使是旧编码块以前存储在发生故障的效劳器上)通过完整性核查的挑战。恶意效劳器是否能够找到并重用旧编码的块,这样他们是线性依赖于其他编码的块的当前存储在效劳器的数据恢复条件可能被打破。从本质上说,这是有可能导致破坏数据恢复条件的重播攻击。在附录B中,我们给混凝土重播攻击例如类似与图1所示的配置。简单的针对重播攻击的防御。客户端将附加的版本信息存储在挑战核查标记。版本作为-个计数器,从0开始,每次的块在效劳器上重新创立效劳器故障都会递增。那里是只有个版本计数器(修复发生故障的效劳器涉及再生在该效劳器上的所有块)的效劳器上的所有块。客户端需要为每个n效劳器本地存储计数器的最新值。除了通常的完整性检查,客户端还会检查其当前的计数器值嵌入在效劳器用于通过检查,防止效劳器路过检查一块旧版本使用相同的逻辑标识符的标记。客户端的存储本钱现在变成o(n),或许能够接受在实际设置其中n(存储效劳器数目)是小。然而,。(n)客户端存储并不符合我们的外包存储的概念,并从渐近的角度来看,一个更高效的解决方案是可取。减轻重播攻击。而在附录B中的例如说明成功重播攻击是可能的该例如是有点人工,在修复阶段中使用的编码系数专门选择为了打破数据恢复条件事实上,重播旧编码的块只是有害的如果它介绍了编码的块存储在效劳器的附加线性相关性的。否那么,重播攻击不是有害的因为保存的根本原那么,确保网络编码的有效性。通过使用相结合的方法,我们将减少重播攻击:一在传统的网络编码,编码系数存储中以明文形式在效劳器及及其相应的编码块。相反,我们需要客户端加密的格式,将会阻止对手知道如何原始块组合,得到的编码的块存储编码系数。因此,即使敌人腐化的效劳器,其执行有害的重放攻击的能力是可以忽略不计,因为它并没有所需的知识,针对某些效劳器上的某些块或知道哪些老的编码的块重播。一在修复阶段,客户端选择应由效劳器使用随机系数,并强制他们使用由效劳器。这是Sec3.1.4我们RDC数控方案中所述。定理3.1说明通过加密编码系数,恶意效劳器能够执行有害的重播攻击变得可以忽略不计。定理3.1。我们认为,任何kn效劳器可以恢复的文件与高概率的网络基于编码的分布式的存储系统。让Pl的概率要恢复的文件中的设置地点编码系数以明文形式存储,存储效劳器不恶意(即良性的设置)。让的P2的概率来恢复设置编码系数的存储位置加密的文件和对手可以损坏存储效劳器并执行重播攻击.Then,1-AW自whereWTO(i.e.,这些概率是可以忽略不计密切).证明。(草图)在图2中,我们使用的类似的分布式的存储系统表示与信息流图中使用8,9,来描述如何编码的数据存储在存储节点和数据如何传播的为了修复发生故障的存储节点,也是为恢复原始数据。在每-个时代在大多数nk效劳器上的数据可能损坏由于良性故障或由于攻击者。在每-个时代的结束,与损坏的数据效劳器检测和修复使用k正常运行的效劳器中的数据。我们首先考虑的良性的设置,只有非对抗性故障会在哪里发生。该系统保证可以从任何节点n中取k恢复原始文件,与高概率。这种保证适用于任何时代后修复阶段。等价的说,有接收器13,可以恢复该文件(即1接收器可以恢复该文件从效劳器1;总院;k,接收机2可以恢复该文件从效劳器I:;k1;k+1,等)。我们然后考虑设置在哪些数据可能损坏非对抗性或对立的故障(即效劳器由于良性故障可能会失败或敌人可能指向损坏的数据,在特定效劳器上)。检测到损坏的数据并将其修复每个时期。然而,攻击者记录损坏之前的所有数据,并积累了所有旧编码的块。让Nt后t时代,除了(这包括健康和已损坏的节点)的源节点表示的信息流量图中的所有节点数量。因此,在时代t+1,攻击者可以从Nt节点执行重播攻击来访问数据。我们区分两种情况:-未加密的系数。编码系数中编码的数据以明文形式存储。我们现在说明,一端时代t,系统必须保证从Nt任何k节点可以恢复该文件,属于不同的效劳器(因为逻辑标识符可以确保一个节点仅可用于特定的效劳器)的k节点的条件下。如果时代t末尾,存在至少一个组的k节点Nt附属于不同的效劳器并不具有足够的信息来恢复文件,然后,攻击者可以使用这套造成永久性的伤害,(我们指作为"坏"集这一套)。然后,顶多时代(n-每个时代的k效劳器,当然,攻击者可以执行重播攻击,并逐步取代中"坏"从"坏"的组中的节点设置带有陈旧数据的节点所对应的k效劳器上的当前数据。重播攻击不是会被识破的。然后,在接下来的时代,攻击者败坏了数据对其他n-k效劳器永久文件破坏,因为"坏的"集对应的k效劳器没有足够的信息来恢复文件。等价的说,有(:')-/")应该能够恢复的文件,其中f(t)表示接收器连接到属于同效劳器的节点数目的接收器。Wehave(t-i)(2)-i)+C)")(t)W"Mn3中定理1,根据固定的字段大小,基于随机线性网络编码的系统有上限接收器可支持的数目。因此,此后件)T(C)生长无界随着t,该系统不能保证可以恢复原始文件。-加密的系数。编码系数存储加密和编码的数据。由于攻击者没有知识编码系数,它有没有更好的策略,比随意采摘它已从过去,被损坏的节点存储的数据并使用此数据来替换当前存储在效劳器上的数据。注意到重播攻击仍检测不到,只有当旧的数据从效劳器我我,因为存在逻辑标识符中嵌入挑战验证标签的同一台效劳器上重播。这意味着不像在未加密的系数,系统应只保证时代t结尾,可以从任何节点n中取k恢复该文件。但这是同样的保证,己经通过良性的情形下的系统!直观地说,保证保持,因为即使有一-整套"坏"的k节点(属于k不同的效劳器),攻击者无法识别这些节点(如系数进行加密),只能选择节点随机的重播攻击。因此,我们得出结论当编码系数加密的重放攻击是可以忽略不计的威胁。其结果是,客户端不需要采取其他明确的对策,以减轻重放攻击,除了加密的系数。对于本节的其余局部,我们会被存储在效劳器上前加密编码系数的解决方案。3.1.4 远程数据检查网络编码(RDCNC)现在我们已经准备好目前的网络基于编码的RDC方案(RDCNC)提供直接数据腐败攻击和重放攻击、防御和能够保持恒定的客户端存储.这项方案是本文的主要结果。记得文件F分成m块B,6m在客户端计算和存储在0=羊每个n效劳器编码的块(i.e.,存储编码i的块的效劳器Ei,己S).我们使用符号d"来引用由第i个效劳器存储的j-th编码块)。编码的块被计算作为原始的m文件块线性组合.图3:RDC数控:网络基于编码的RDC方案图4:RDC数控方窠组件为不同的目的,我们使用两个独立的逻辑表示形式的文件块:一一为了检查数据拥有的(在挑战阶段),(原始或编码)的块被视为S片段的有序集合。例如编码的块cij=(cijl.cijs),其中每个段Cijk是块cij连续局部(事实上,每个局部包含一个符号)。一为网络编码,一个块(原始或编码)看作是一个列向量的你符号(如秒2.3中所述)。例如,编码的块Cij=(CijI.ciju),其中cijkGF(p)5.因此,我们使用两种类型的验证标签。要检杳数据拥有的(在挑战阶段)我们(在短挑战标记),使用挑战核查标记和确保平安的修复阶段我们使用修复验证标记(在短修复标记)。还有一个挑战标记在一个块中的每个细分市场和一个修理标记为每个块。从符号的角度来看,我们使用t(小写)挑战标签和T(大写)修复标记。假设要检测直接数据腐败攻击,客户端执行现场检查基于挑战类似POR22和2PDP由每个n效劳器存储每个网络编码块的完整性进行检查。在编码的块中的线段的挑战标记将数据绑定中的局部用于获取该块的系数向量与块的逻辑标识符。因此,客户端隐式验证,效劳器不能使用从-个块段具有不同的逻辑标识符,通过挑战,而且由客户端检索到的系数向量对应块效劳器用于传递所面临的挑战。如果发生故障的效劳器在挑战阶段中找到的客户端使用其余正常运行的效劳器来构造新的编码的块在修复阶段,并将它们存储在一个新的效劳器上。5图3和4中介绍了RDC数控方案的细节。我们依靠消息身份验证代码,如由鲍尔斯等人4,己经有人提议作为普遍哈希与26、16、20、23PRF组合施工。哈姆和水域22使用其他类似的构造。我们把这种结构适应我们网络编码为根底的分布式的存储设置。安装阶段.客户端首先生成机密密钥材料P然后生成编码的块和要存储每个n效劳器上的元数据。对于每个效劳器,客户端调用GenBlockAndMetadata倍以生成编码的块、编码系数、挑战标签对应于每个编码的块中,段和修复标记对应于每个编码的块。编码系数和标记然后存储在效劳器上,与它们相应的块(由客户端首先进行加密的系数)。在GenBIockAndMetadata.客户端随机系数摘自GF(p),并使用它们来计算新的编码的块°"(步骤2和3)。每个线段编码的块中,客户端计算一个挑战的标记,它存储在效劳器和将用于由效劳器在挑战阶段证明数据持有。为每个线段在编码的块3j,客户端将嵌入到该段系数向量用于从原始文件块(步骤4)获取&j挑战标签。例如,在图1(C),第二个块存储在效劳器Sl已计算使用系数向量0;1;0(和其逻辑标识符是"1.2")。因此,在此块中的第k个段的挑战标记是对于每个编码的块,客户端还计算了修复验证标记(步骤5),将在修复阶段用来确保使用正确的块的效劳器和客户端,产生新的提供的系数编码块。挑战阶段.这一阶段,我们所依靠的是22适应第3.1.1和3.1.2节中所述的方案(简而言之,挑战标签包含块,局部的索引的逻辑标识符和编码系数用于获取那块)。请注意我们依赖的方案22,允许私人可验证性(即,只有数据所有者可以检查持有的数据)。然而,允许2,22可公开验证的RDC方案也可以适应遵循着一个类似的策略。修复阶段.客户端联系£正常运行的效劳器SIl,.,S,并旦要求每个人都要生成一个新的编码的块(步骤D7,客户还将这些信息组合£'编码块来生成新的编码的块和元数据(步骤2),然后将它们存储在新效劳器上S(步骤3).作为第-步,为每个联系到的效劳器,客户端选择随机系数从GF(P)效劳器应该用于生成新的编码的块(步骤l(a).每个联系到的效劳器,基于其Q存储的块和系数由客户端,提供运行GenRepairBlock(一步I(C)来计算新的编码块三(GenRepairBlock,第1步)和证明的正确的编码Tl(GenRepairBlock,第2步);然后,效劳器将发送到客户端,并对应用于计算新的编码的块的块的加密系数这些。客户端解密系数(一步执行,重新生成用于计算修复标记的入值(步1(e),然后检杳是否编码正确完成了由效劳器(步骤1(f)"其结果是,客户端被确保效劳器己通过使用正确的块和由客户端提供的系数计算的新的编码的块。存储和通信之间的权衡。在图3和图4中所述的RDC数控方案中,每一段包含只有一个符号(即,从GF(p)的元素),和伴随着挑战标记的长度相等。但是,可以修改该方案使用了类似的策略,如22:每-段可以包含r符号,这减少了效劳器的存储开销由r因子和挑战阶段的客户端-效劳器通信开销增加研发的一个因素。针对较小的数据损坏提供保护.现场的检查机制,挑战阶段只是有效的检测2,15的"大"的数据损坏。为了防止"小"的数据损坏,我们可以RDC数控方案结合纠错码"效劳器代码"等5,4或一种方法来添加"健全性"6。在计算的挑战和修复标记之前客户端效劳器代码对网络编码块处理。在修复阶段,效劳器并不包括效劳器代码局部,当计算新编码块。相反,客户端计算的新的编码块的效劳器代码。我们离开作为今后的工作方案,效劳器的代码局部的设计可以计算以及其他成员使用网络编码的块。平安分析.我们现在重申网络基于编码系统的数据恢复条件,然后给出一个定理,指出这种情况以确保文件的可恢复性的充分性。数据恢复情况:在任何给定的时代,可以恢复原始数据作为长时间至少kn效劳器集体存储在最小的m编码数据块,是原始的m文件块的线性无关的组合。定理3.2.数据恢复条件是充分的条件,以确保数据可恢复性在RDC数控方案增加针对较小的数据损坏提供保护。证明。(草图)在它的初始状态(即,右侧安装后),基于RDC数控系统保证可以从任何kn效劳器恢复原始文件,与高概率。我们想要展示RDC数控方案保存这种保证其终生,从而确保文件的可恢复性。在任何给定的时代,敌人可以在大多数nk效劳器损坏。敌人可能分裂之间直接数据损坏和重播攻击的腐败。受直接数据损坏的故障效劳器检测到通过完整性检查在挑战阶段,或者在修复阶段的正确编码检查。客户端使用其余正常运行的效劳器(至少k保持健康)重新生成新的编码的块存储在新的效劳器上。针对较小的数据损坏提供保护是层提供的效劳器代码。从定理3.1RDC数控重播攻击并不是有害的并且他们不增加攻击者的优势在打破数据恢复条件。在修复,步骤1(0,检查可确保污染攻击的保护。因此,在世纪的结尾,该系统被恢复到相当于它的初始状态,在其中可以从任何kn效劳器中恢复该文件的状态。3.1.5 指南为RDC数控选择参数对于良性的设置,由一个元组参数的特点是网络基于编码的承印物上的我们的RDC数控方案(n,"a,m,3).对抗性的设置与良性的设置相比,施加额外的限制,选择这些参数。在本节中,我们为选择参数,两个约束提供指导方针:(a)对n-k效劳器可以在每个时代,损坏和(b)尽量减少总的效劳器存储。并不是所有这些参数都是独立的和我们将会看到的些参数固定的值将确定其余参数的值。表2,实验测试用例S.本