System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及云存储数据完整性审计,特别是一种面向群组的高效动态数据完整性审计方法。
技术介绍
1、随着云计算技术的不断发展,云存储服务在实践中得到了广泛的应用,为用户在日常的学习、工作、生活中提供便利,用户通过将本地存储数据上传到云上以获得更加强大,更加经济,更高质量的存储。此外在一些云端多用户协作系统中,多个用户共同拥有同一文件,进行实时编辑、更新和共享,这不仅促进团队协作,还显著提升工作效率。然而用户在享受高效、便利的存储服务的同时,也失去了对数据的物理控制。由于云存储系统并不完全可信,云上数据完整性的保持是用户在使用云存储服务时重点关注的问题之一。如果数据在存储期间发生了篡改或丢失,将直接导致服务中断,严重时还将造成经济损失,影响云存储服务市场的良性发展。
2、目前,云存储数据完整性审计领域已经取得了一定进展,尤其以数据持有性证明(provable datapossession,pdp)和数据可恢复性证明(proofof retrievability,por)两个工作为代表。然而,这些方式仅能提供高效的静态数据完整性审计,如果用户对数据进行动态修改,会破坏数据块索引和数据标签索引的一致性,因此需要将大量数据取回本地进行修改后重新上传,这会显著增加计算开销。更为严重的是,在多用户协作系统中,多个用户同时拥有并频繁修改同一文件,导致计算成本进一步上升。显然,这些解决方案会给用户带来沉重的计算负担,难以适应实际生产环境的需求。
3、对此,为缓解这个冲突,现有方案是通过添加额外的数据结构来维护数据块索引与
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种面向群组的高效动态数据完整性审计方法,解决了上述直接将现有的动态数据完整性审计方案应用到多用户协作系统中,存在的文件无法共享、用户身份隐私泄露和文件修改操作开销大的问题。
2、为实现上述目的,本专利技术采用如下技术方案:一种面向群组的高效动态数据完整性审计方法,包括以下步骤:
3、步骤1:系统基于安全参数λ,生成全局公开参数param,选择一个阶为安全素数p的乘法循环群g,随机选择两个独立的生成元g,h,选择一个哈希到g群中的杂凑函数h;设系统参数param={g,p,g,h,h};
4、步骤2:群组用户根据系统参数生成密钥和公钥,选择两个随机元素(xj,yj)←zp,设私钥skj=(xj,yj),计算公钥
5、步骤3:群组用户生成具有匿名性的完整性审计标签;
6、步骤4:第三方审计者构建哈希链表,根据线性函数f计算数据块索引r1,rn;初始化哈希链表节点a1={n1=n,head1→r1,tail1→rn},其中n为节点存储的数据块数目,head1为节点存储的第一个数据块索引,tail1为节点存储的最后一个数据块索引;
7、步骤5:第三方审计者与云存储服务器交互生成数据完整性审计结果;
8、步骤6:群组用户动态修改数据,第三方审计者高效更新哈希链表。
9、在一较佳的实施例中,所述步骤3包括以下步骤:
10、步骤31:群文件f分割成n个大小一样的数据块mi,并且将mi进一步划分为s个大小相同的数据块mij,其中(1≤i≤n,1≤j≤s),其中s为群组用户数量,根据线性函数f计算数据块mi的索引信息ri;
11、步骤32:群组用户π为数据块mi匿名生成完整性审计标签,计算事件event签名xπ是群组用户π的私钥,选择两个随机数计算其中ri为数据块mi的索引;计算验证辅助信息生成数据块mi的完整性审计标签
12、步骤33:群组用户为各自数据块匿名生成完整性证明标签后,生成群文件f完整性审计标签集合tag={tagi}1≤i≤n;云存储服务器与第三方审计者可根据完整性审计标签对用户身份追溯,验证不同完整性审计标签是否由同一群组用户生成。
13、在一较佳的实施例中,所述步骤33包括以下步骤:
14、步骤331:获得完整性审计标签tag1={t1,·},tag2={t2,·},验证完整性审计标签有效性;
15、步骤332:比较t1是否等于t2,如果相等,则数据块m1和m2由同一群组用户生成,返回验证结果linked,否则数据块m1和m2由不同群组用户生成,返回验证结果unlinked。
16、在一较佳的实施例中,所述步骤5包括以下步骤:
17、步骤51:第三方审计者从数据块集合[1,n]中随机挑选c个元素构成的子集i;对挑战集合中的每一个ci,选择随机数vi,遍历哈希链表,获得索引ri;在有限域zp中随机选择一个元素a;计算h(ri)=a(h(ri)+1),生成随机挑战q=(h(ri),i,vi}i∈i;
18、步骤52:云存储服务器根据挑战集q,查找对应的数据块mi,与其标签其中i∈i,计算生成完整性证明p=(σ,k,z,x,y,(μj}(1≤j≤s),(τi}i∈q),其中:
19、
20、
21、
22、步骤53:第三方审计者根据完整性证明p=(σ,k,z,x,y,(μj}(1<j<s),(τi}i∈q),挑战q=(h(ri),i,vi}i∈i,事件event计算e=h(event),群组用户公钥集γ计算验证等式(1)是否成立:
23、
24、通过验证的辅助数据a,计算参数计算验证等式(2)是否成立:
25、
26、只有当等式(1)和等式(2)同时成立时,则认为得到正确的完整性验证结果,并返回审计结果accept,否则云存储服务器数据完整性遭到破坏,返回审计结果reject。
27、在一较佳的实施例中,所述步骤6包括以下步骤:
28、步骤61:数据插入:群组用户在i处之后插入数据块,随机选择插入数据索引r′←zp,将插入位置i,r′和操作op=″insert",发送给第三方审计者;第三方审计者调用算法1获得数据在哈希链表的插入位置(j,i*),代表数据索引位于哈希块aj内第i*块后,本文档来自技高网...
【技术保护点】
1.一种面向群组的高效动态数据完整性审计方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种面向群组的高效动态数据完整性审计方法,其特征在于,所述步骤3包括以下步骤:
3.根据权利要求2所述的一种面向群组的高效动态数据完整性审计方法,其特征在于,所述步骤33包括以下步骤:
4.根据权利要求1所述的一种面向群组的高效动态数据完整性审计方法,其特征在于,所述步骤5包括以下步骤:
5.根据权利要求1所述的一种面向群组的高效动态数据完整性审计方法,其特征在于,所述步骤6包括以下步骤:
6.根据权利要求5所述的一种面向群组的高效动态数据完整性审计方法,其特征在于,所述步骤6中,提及的算法1,算法2和算法3具体步骤如下:
【技术特征摘要】
1.一种面向群组的高效动态数据完整性审计方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种面向群组的高效动态数据完整性审计方法,其特征在于,所述步骤3包括以下步骤:
3.根据权利要求2所述的一种面向群组的高效动态数据完整性审计方法,其特征在于,所述步骤33包括以下步骤:
4.根据权利要求1所述的...
【专利技术属性】
技术研发人员:尤玮婧,林晓聪,吴宸宸,黄少良,朱海勤,邱伟杨,
申请(专利权)人:福建师范大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。