一种面向用户的云存储数据完整性保护方法_4

文档序号:9564821阅读:来源:国知局
间冗余校验码;
[0091] 3)更新 r(v.j)、χ(ν.)与 p(v),j = 1,…k,树用 T '表示。
[0092] rb23Tree. I (T, i, e)
[0093] 此算法允许用户在树的第i个节点后插入一个新的叶子,值为e,并正确的更新树 T,执行步骤如下:
[0094] 1)执行:rb23Tree. I (T,i,e):在树的第i个叶子节点后插入一个新的叶子值为e, 对数据e进行纠删码的计算,生成数据块内冗余校验码;
[0095] 2)根据树形结构,重新计算数据块间冗余校验码,更新r (Vj)、X (Vj)与p (V),j = 1,…k,树用T 7表不。
[0096] rb23Tree. D (T, i)
[0097] 此算法允许用户删除树的第i个节点,并正确的更新树T,修改步骤如下:
[0098] 1)执行rb23Tree. D(T,i):删除树的第i个叶子节点;
[0099] 2)根据树形结构,重新计算数据块间冗余校验码,更新r (Vj)、X (Vj)与p (V),j = 1,…k,树用T 7表不。
[0100] 2、基于纠删码和代数签名技术的完整性验证方法
[0101] ECAS-FDP0R方案针对FDPOR中基于标签的验证方法需计算并保存所有数据块的 验证标签并在验证时需对每一个数据块进行一次哈希值计算的问题进行了改进。改进的方 法是结合纠删码的代数特性,利用代数签名的方法对用户存储在云端的数据进行完整性验 证,这个方法是使用的SFC方案中的完整性验证方法。相比FDPOR方案,代数签名由云存储 管理节点根据存储节点上保存的原始数据和冗余校验码计算产生,用户只需保存一个纠删 码生成矩阵,而无需事先计算标签并节省不必要的存储开销。另外,通过对冗余校验码进行 流置换加密,确保此验证方法可以抵抗服务器合谋攻击、替换攻击,确保完整性验证过程的 安全性。验证是通过对分散存储在不同存储服务器上的纠删码的码字是否一致进行判断, 因此每次验证会挑战多个存储服务器上的数据,如果检测出一个存储服务器上的数据块损 坏,那么这个服务器上其他的数据块同时被损坏的概率是较大的,这时应重点检测这个服 务器上的数据,有助于将焦点关注在更可能发生数据损坏的位置。
[0102] 在ECAS-FDP0R方案中使用代数签名的方法要结合2-3树与动态数据的背景,每 次挑战是对一个分支数对应的原始数据和冗余校验码进行挑战,因此需要对每一个分支 数对应的冗余校验码进行流置换加密以抵抗服务器合谋攻击破解出纠删码的生成矩阵。 ECAS-FDP0R方案对FDPOR方案的文件上传流程与文件验证流程做相应的变动并增加了文 件恢复流程。
[0103] 文件上传阶段
[0104] 1)当数据块之间的冗余校验码计算完成以后,需要对数据块间的冗余校验码进 行一次流加密运算,这样做的目的是为了在进行数据完整性验证时可以抵抗服务器联合攻 击,以防攻击者破解纠删码的代数组合,将一个码字对应的数据篡改但保持数据内部一致。
[0105] 2)对一个分支树(假设分支树有z个)的节点进行数据块间的纠删编码,生成的 冗余校验码α = ι,···ζ),由用户用流加密密钥S进行流置换,生成P1", "·,ΡΖ"。
[0106] 文件验证阶段 [0107] 算法描述如下:
[0108] 1)用户选择一个索引集合(X,n,s,y, c),发给云存储管理节点,其中X是起始偏 移量,η是想要挑战的样本数量,s是一个纠删码码字,y是分支树的编号,c是服务器编号 集合。
[0109] 2)云存储管理节点将用户想要挑战的数据索引与用户端地址发给云存储服务器 编号集合为c对应的存储节点;
[0110] 3)每一个云存储节点对第y分支树上的原始数据与块间冗余校验码计算代 数签名,设D 1, D2, D3为一个分支树上的三个叶子节点对应的真实数据,返回代数签名 SigIiD1], sig[D2],sig[D3],sig[P"]给管理节点。代数签名计算公式如下:sig[a]= (d x, dx+s, dx+2s, · · ·,dx+(n 1)s),dk 是数据块 Fi 的第 k 个字。
[0111] 4)云存储节点将代数签名的结果返回给用户;
[0112] 5)用户收到从云存储管理节点返回的代数签名,进行如下操作:
[0113] a)计算 sig[S] ? SigIiPi" ] (i = j),得到 SigIiPi '];
[0114] b)计算 parity (SigQ)1] ? sig[D2] ? sig[D3]),即对 DpD27D3 的代数签名进行纠 删码计算,得出代数签名的冗余校验码;
[0115] c)判断等式 parity (SigQ)1] ? sig[D2] ? sig[D3]) = sig[P ']是否成立。艮P 代数签名的冗余校验码与冗余校验码的代数签名是否相同。如果等式成立,则数据完整,如 果等式不成立,则数据不完整,转到文件恢复流程。
[0116] 文件恢复阶段
[0117] 算法描述如下:
[0118] 1)在文件验证流程结束后,检测出数据不完整时,可以得到数据在这一个分支中 是有错误的,但是具体在哪一个分支上出现错误还需要进一步的错误定位。因为数据恢复 是要在用户端进行的,所以用户要取回检测有损坏数据的那一个分支树上的用户数据。
[0119] 2)由于用户在一开始上传文件的步骤里保存了这个文件的树形结构,在树的每一 个叶子节点里保存了数据分块的哈希值,因此对这个分支上的每一个数据块进行哈希值的 快速计算,用户对哈希值进行比对从而进行错误定位。
[0120] 3)如果只定位到某一个数据块F1有错误以后,则先用这个数据块内部的纠删码P 1 对其进行恢复;若数据的损坏率超过了数据块内部纠删码的恢复能力,则用数据块间的纠 删码P1 '对其进行恢复。
[0121] 4)用数据块间的纠删码对数据进行恢复的流程如下:
[0122] 1)通过云存储管理节点从云存储节点上取回有损坏数据分支树对应的块间纠删 码 P1";
[0123] 2)用流置换密钥S对其进行解密,得到P1 ';
[0124] 3)用P1 '与这个分支树上剩余的完好的数据块对损坏的数据进行恢复。
[0125] ECAS-FDP0R方案使用代数签名的方法,不用事先存储任何的标签,只需要用户保 存一个流置换加密的密钥和纠删码生成矩阵,减小了存储标签的开销。同时,代数签名是十 分小的数据,不会泄露原有的数据,同时能检测出比特级别的数据错误。对冗余校验码进行 加密使用的是流置换加密,基于异或的运算,所以增加的计算开销是可以接受的。
[0126] 与现有技术相比,本发明的积极效果为:
[0127] 1、引入纠删码支持局部动态数据的校验,当数据损坏时通过纠删码对其进行恢 复,相比于原方案,增强了数据受损后的检错和纠错能力。通过在2-3树中增加冗余校验码 的映射信息实现了纠删码局部动态更新,使得引入纠删码后带来的系统开销尽可能小。同 时,将纠删码应用于数据块内部和数据块之间两种场合,提供两种粒度的冗余保护,根据受 损数据量灵活选用适当的恢复方法。利用了云存储的分布式存储优势,将原始数据与冗余 数据分散存储,增加恢复数据的机率。
[0128] 2、结合纠删码的代数特性,利用代数签名的方法对用户存储在云端的数据进行完 整性验证,当文件损坏或遭到篡改时,用户可以检测出异常。相比原方案,代数签名由云存 储平台根据原始数据和冗余校验码计算产生,用户只需保存一个纠删码生成矩阵,而无需 事先计算并保存所有数据块的验证标签,节省不必要的存储开销。另外,通过对冗余校验码 进行流置换加密,确保此验证方法可以抵抗服务器合谋攻击、替换攻击,确保完整性验证过 程的安全性。
【附图说明】
[0129] 图1为FDPOR方案中rb2_3树结构;
[0130] 图2为文件验证示意图;
[0131] 图3为基于纠删码的范围2-3树;
[0132] 图4为系统物理组成结构;
[0133] 图5为原型系统组成结构。
【具体实施方式】
[0134] 方案中有两个角色,用户与云存储平台。用户负责对文件进行预处理等操作,将文 件上传到云存储服务器,与云平台交互更新数据、验证数据等。云存储平台由一个云存储管 理节点与多个存储节点组成,云存储管理节点负责对用户的文件进行管理,文件的所有元 数据都保存在管理节点上。云存储节点负责存储用户的数据并负责计算指定数据的代数签 名。系统物理组成结构如图4所示。
[0135] ?用户
[0136] 用户就是文件所有者,在文件上传阶段负责对文件进行分块、进行块内与块间的 纠删码编码、对校验数据加密、对数据块计算数字签名;在文件更新阶段,验证云存储平台 是否正确的更新了数据并重新计算数据更新后的纠删码;在文件验证阶段,要对云存储平 台发起挑战,并对服务器端返回的签名进行验证;在文件恢复阶段,要进行错误的定位并用 纠删码进行恢复。
[0137] ?云存储平台
[0138] 云存储管理节点负责接受用于请求并管理用户的数据,保存文件的一些元数据信 息等,当用户发送请求时,如对文件进行更新操作或验证数据完整性等操作进行回应,生成 数据完整性证明等数据返回给用户,同时,当数据更新时,要对附属信息进行更新等操作。 云存储节点负责存储数据,同时其也有一定的计算能力,可以进行一些常规的计算。
[0139] 原型系统由四部分组成:文件上传子系统、文件更新子系统、文件验证子系统和文 件恢复子系统。其中文件上传子系统和文件更新子系统是在原有云存储相应的两个子系统 的基础之上通过增加完整性保护模块而实现的,通过这两个子系统为用户提供支持完整性 保护的文件上传和更新工具。文件验证子系统和文件恢复子系统是云存储系统中为实现数 据完整性保护而增加的子系统,通过这两个子系统为用户提供对文件完整性进行验证工具 和对已破坏数据进行恢复工具。以上四个子系统均设计为C/S架构,由客户端模块和服务 器端模块组成。四个子系统的组成如图5所示。用户端主要由文件存储、文件更新、文件验 证、文件恢复等四个模块组成,用户通过这四个模块,与云平台互相通信,完成对文件的各 种操作、对文件完整性的验证的对已破坏数
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1