[发明专利]一种基于布隆过滤器和交叉编码的数据完整性保护方法有效
申请号: | 201710472920.7 | 申请日: | 2017-06-21 |
公开(公告)号: | CN109101360B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 杨雅辉;张胜军;吴中海 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F11/14;G06F3/06 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 过滤器 交叉 编码 数据 完整性 保护 方法 | ||
1.一种基于布隆过滤器和交叉编码的数据完整性保护方法,其步骤为:
1)用户将文件传送给可信第三方服务器TPA;
2)TPA对该文件进行分块并进行纠删编码得到分块的冗余校验码;然后记录该文件的分块信息,并利用文件块和冗余校验码生成该文件的布隆过滤器;其中TPA对该文件进行分块并进行纠删编码的方法为:首先将该文件划分为n个文件块b1、b2、...、bn;然后将每k个文件块划分为一组,将该组内k个文件块划分为沿两个水平方向和两个交叉方向排列的四个区域,构成一交叉编码组,其中,每一区域包括m个文件块;对每一交叉编码组内水平和交叉方向的文件块进行纠删编码,生成每个区域的冗余校验码;
3)TPA将该文件分块及其冗余校验码上传到云端;
4)当该用户通过TPA向云端发起挑战,即对该文件进行完整性检测时,TPA查找该文件对应的文件块,然后将挑战内容发送至云端;
5)云端利用TPA发送过来的挑战内容计算该文件的文件块所对应的签名值并返回给TPA;
6)TPA验证该文件的布隆过滤器是否满足各所述签名值的查询,如果不满足签名值i的查询,则判定该签名值i对应的文件块被破坏;TPA将验证结果返回给用户。
2.如权利要求1所述的方法,其特征在于,采用动态存储表记录该文件的分块信息,所述动态存储表包括动态数据组表和动态数据块表;其中,所述动态数据组表用来管理所述交叉编码组,每一动态数据组表与一动态数据块表对应,所述动态数据块表中记录对应动态数据组表内的文件块和冗余校验码的基本信息。
3.如权利要求2所述的方法,其特征在于,所述动态数据块表中记录的信息包括文件块的逻辑位置、大小、是否需要存储在云端、指向物理地址的下一个位置和指向物理地址的前一个位置。
4.如权利要求2所述的方法,其特征在于,TPA通过动态存储表查找该文件对应的文件块。
5.如权利要求1所述的方法,其特征在于,对被破坏的文件块进行恢复的方法为:设损坏的文件块为(xi,yi),其中xi,yi为交叉编码组中两个不同水平方向上的文件块;对文件块(xi,yi)进行修复的方法为:首先从文件块(xi,yi)所在交叉编码组中提取3m个文件块,即(pk,pk+4)和(xj,yh);其中,0≤k≤r-h,r是纠删编码的冗余块数目,j≠i,当0≤i≤m-h时,h≠m、…、2m-h;当m≤i≤2m-h时,h≠0、…、m-h;然后水平方向上利用数据块pk和xj采用纠删编码进行一次修复得到修复后的xi,其中j≠i,交叉方向上利用数据块pk+4和(xj,yh)采用纠删编码进行一次修复,其中,当0≤i≤m-h时,m≤j≤2m-h,0≤h≤m-h,h≠i,当m≤i≤2m-1时,0≤j≤m-1,m≤h≤2m-h,h≠i。
6.如权利要求1所述的方法,其特征在于,所述布隆过滤器为计数型的布隆过滤器。
7.如权利要求1所述的方法,其特征在于,所述挑战内容包括该文件的文件块信息及计算文件块签名值的程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710472920.7/1.html,转载请声明来源钻瓜专利网。