System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种云存储的加密数据消除冗余方法及其验证方法技术_技高网

一种云存储的加密数据消除冗余方法及其验证方法技术

技术编号:40507475 阅读:4 留言:0更新日期:2024-03-01 13:22
本发明专利技术提供一种云存储的加密数据消除冗余方法及其验证方法,包括:步骤S1,接收上传的备份文件,将备份文件划分为数据块;步骤S2,通过密钥服务器比较数据块的特征以识别相似的数据块,并为每组相似的数据块返回相同的密钥种子,生成基于相似性感知的密钥种子,基于所述密钥种子和数据块的采样数据生成加密密钥;步骤S3,先计算数据块的掩码,以计数器模式和电子密码本模式分别进行双阶加密,以获取加密块;步骤S4,通过客户端维护加密块的加密未压缩块,并跟踪和记录客户端上传的加密未压缩块的特征,执行选择性局部压缩。本发明专利技术能够在存储节省和数据机密性之间获取更好的权衡,在达到节省存储空间的同时,还很好地保证了数据机密性。

【技术实现步骤摘要】

本专利技术涉及一种数据加密方法,尤其涉及一种云存储的加密数据消除冗余方法。


技术介绍

1、2020年全球数据量已达到64.2zb,预计未来五年将增加一倍以上。如此前所未有的数据增长激励企业以及个人越来越多地将存储管理外包给公有云。可行的云存储需要满足两个关键要求:(i)节省存储空间,尽可能占用少的存储资源,最大限度地减少云存储成本;(ii)数据机密性,保护数据,避免受到未授权的访问。

2、为了节省存储空间,一种常见的方法是:在不同粒度层面上应用数据缩减技术来消除内容冗余,以减少云存储开销。现有三种广泛使用的数据缩减技术,即重复数据删除、增量压缩和局部压缩,按序采用这三种压缩技术可以最大限度地节省存储空间具体而言,存储系统首先应用基于块的数据重删来删除具有相同内容的重复块。随后,它应用增量压缩来消除非重复但相似的数据块的冗余,这些相似数据块通常有很大一部分相同的内容。最后,它应用局部压缩将剩余的非重复块编码成更小的码块,删除内部冗余的数据。实际研究表明,数据重删可以为主要数据存储节省两倍的空间,为备份数据节省的空间甚至高达50倍。对于去重后的数据,局部压缩可以节省3.1倍的空间,同时进行增量压缩和局部压缩可以进一步节省10.2倍的空间。

3、为了实现数据机密性,客户应先对数据进行加密后再上传云端,保护数据免遭未经授权的访问;云进一步对来自多个客户端的加密内容进行数据缩减。然而,传统的对称加密与任何数据缩减技术都不兼容,因为每个客户端都使用自己不同的密钥对其数据进行加密,跨客户端数据之间的重复内容将在加密后变成不同的内容。因此,为了节省存储空间同时提高数据机密性文献中广泛研究、探讨了数据缩减技术和加密算法的结合方法。其中一类方法是加密数据重删,它通过使用从每个数据块的内容派生的对称密钥对原始数据块进行加密来将加密和重复数据删除结合起来。重复的原始数据块可以通过确定性加密生成重复的加密数据块,从而可以被从密文中去重移除。另一类方法是加密局部压缩,它对数据块执行局部压缩,并将压缩的数据块加密,得到长度更小的加密数据块。

4、但是,现有的数据缩减和加密相结合的方法在提高存储节省方面仍然存在局限性。首先,现有方法没有解决增量压缩问题,事实证明增量压缩在重复数据删除和局部压缩之外还可以显著节省空间。其次,现有的方法无法扩展支持其他的数据缩减技术。例如,在加密重删之后,剩余的非重复加密块不能进一步应用增量压缩或局部压缩,因为加密打乱了数据块的内容,从而破坏了块内的内容冗余。也就是说,现有技术的文献中并没有提出将所有三种数据缩减技术与加密相结合的方法,即没有将重复数据删除(数据重删)、增量压缩、局部压缩与加密相结合的方法。


技术实现思路

1、本专利技术所要解决的技术问题是需要提供一种能够将数据重删、增量压缩以及局部压缩这三种数据缩减技术与加密结合起来,进而实现云存储的加密数据消除冗余方法,以达到节省存储空间,并增加数据机密性的目的。

2、对此,本专利技术提供一种云存储的加密数据消除冗余方法,包括:

3、步骤s1,接收上传的备份文件,将备份文件划分为数据块;

4、步骤s2,通过密钥服务器比较数据块的特征以识别相似的数据块,并为每组相似的数据块返回相同的密钥种子,生成基于相似性感知的密钥种子,基于所述密钥种子和数据块的采样数据生成加密密钥;

5、步骤s3,先计算数据块的掩码,以计数器模式实现第一阶段的加密,然后在以电子密码本模式进行第二阶段的加密,以获取双阶加密的加密块;

6、步骤s4,通过客户端分别维护加密块的加密未压缩块,用于作为基准块,并跟踪和记录客户端上传的加密未压缩块的特征,当版本索引存在特征时,将发送到云端进行数据重删和增量压缩;当版本索引不存在特征时,则在通过客户端进行局部压缩和数据填充后,发送至云端。

7、本专利技术的进一步改进在于,所述步骤s2包括以下子步骤:

8、步骤s201,客户端根据数据块m生成一组特征{fi},并将特征{fi}发送到密钥服务器;

9、步骤s202,所述密钥服务器维护密钥种子索引,所述密钥种子索引用于跟踪每个特征{fi}和相应密钥种子的键值存储;

10、步骤s203,所述密钥服务器根据特征{fi}检查密钥种子索引,并将与特征{fi}匹配特征数量最多的密钥种子s返回至所述客户端;当所述密钥种子索引中没有找到对应的特征{fi}且数据块m为基准块时,所述密钥服务器先为数据块m生成一个新的密钥种子s=h(f1||...||fi||θ),其中θ表示是密钥服务器的全局秘密,||表示串联运算符,i表示数据块的序号;然后将每个特征{fi}到密钥种子s之间的映射添加至密钥种子索引中,并为所述客户端返回所述密钥种子s。

11、本专利技术的进一步改进在于,所述步骤s2中,基于与特征{fi}相应的密钥种子s以及数据块m的前p字节来生成所述数据块m的密钥k,生成公式为其中,p为可配置参数,||表示串联运算符,表示数据块m的前p字节采样值。

12、本专利技术的进一步改进在于,通过调整所述可配置参数p的数值来调整数据机密性和存储节省之间的权衡关系,所述可配置参数p为零字节和块长度max之间。

13、本专利技术的进一步改进在于,所述步骤s3包括以下子步骤:

14、步骤s301,先将数据块m划分为一系列数据块b1,b2,……,bm,其中,m表示数据块m中的区块总数;

15、步骤s302,对每个数据块bi,1≤i≤m,通过客户端计算掩码ei=e(k,(iv||i)),并将数据块bi以计数器模式加密为ci=ei⊕bi,其中,e(·)表示以密钥和区块数据作为输入的加密函数,k表示数据块m的密钥,||表示串联运算符,iv表示初始化向量,i通过计数器模式下的计数器序号来代表数据块的序号,ei表示掩码,⊕表示按位异或运算符,ci表示第一阶段的加密块;

16、步骤s303,客户端通过电子密码本模式将第一阶段的加密块ci加密为第二阶段的加密块c′i=e(k,ci),生成整个加密块c=c′1||c′2||…||c′m。

17、本专利技术的进一步改进在于,对所述加密块c的解密过程如下:通过公式ci=d(k,c′i)计算每个加密块ci,其中,d是以密钥和区块数据作为输入的解密函数,并恢复数据区块bi=ci⊕ei,进而恢复得到数据块m。

18、本专利技术的进一步改进在于,所述步骤s4包括以下子步骤:

19、步骤s401,获取加密块c的加密未压缩块,并从加密未压缩块中提取一组特征集{gi};

20、步骤s402,判断版本索引是否存在特征gi,若是,则通过客户端将数据组(c,tag)发送到云端,并跳转至步骤s405进行数据重删和增量压缩,其中,tag表示用于双指纹数据重删的标签;若否,则跳转至步骤s403;

21、步骤s403,通过客户端局部压缩数据块m,根据数据块m的指纹生成虚拟填充字节b,并将数据填充后的数据块m本文档来自技高网...

【技术保护点】

1.一种云存储的加密数据消除冗余方法,其特征在于,包括:

2.根据权利要求1所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤S2包括以下子步骤:

3.根据权利要求2所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤S2中,基于与特征{fi}相应的密钥种子S以及数据块M的前P字节来生成所述数据块M的密钥K,生成公式为其中,P为可配置参数,||表示串联运算符,表示数据块M的前P字节采样值。

4.根据权利要求3所述的云存储的加密数据消除冗余方法,其特征在于,通过调整所述可配置参数P的数值来调整数据机密性和存储节省之间的权衡关系,所述可配置参数P为零字节和块长度max之间。

5.根据权利要求1至4任意一项所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤S3包括以下子步骤:

6.根据权利要求5所述的云存储的加密数据消除冗余方法,其特征在于,对所述加密块C的解密过程如下:通过公式ci=D(K,c′i)计算每个加密块ci,其中,D是以密钥和区块数据作为输入的解密函数,并恢复数据区块进而恢复得到数据块M。

<p>7.根据权利要求1至4任意一项所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤S4包括以下子步骤:

8.根据权利要求7所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤S405中,当加密块C是非重复块时,如果云端接收到数据组为(C,tag),则根据加密块C的特征集{gi},从基准块索引中查找最相似的基准块,对加密块C执行增量压缩,并将加密块C的增量块存储在存储池中;如果云端接收到数据组为(C,C′),则以加密块C作为基准块,并将加密块C及其特征添加到基准块索引中,检查最新的特征索引,以压缩数据块C′与当前存储的加密压缩块进行增量压缩,将压缩数据块C′或其增量块存储在存储池中。

9.根据权利要求7所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤S405中,执行数据重删的过程如下:如果客户端的版本索引中存在匹配的特征,则每个客户端将标签tag设置为H(C′),并上传数据组(C,H(C′));当云接收到数据组(C,H(C′))或数据组(C,C′)时,计算加密块C的指纹和压缩数据块C′的指纹,并定义为H(H(C)||H(C′));当加密块C的指纹和压缩数据块C′的指纹均不在索引中时,将加密块C视为重复块。

10.一种云存储的加密数据消除冗余验证方法,其特征在于,用于验证如权利要求1至9任意一项所述的云存储的加密数据消除冗余方法,并包括以下任意一个或几个验证步骤:

...

【技术特征摘要】

1.一种云存储的加密数据消除冗余方法,其特征在于,包括:

2.根据权利要求1所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤s2包括以下子步骤:

3.根据权利要求2所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤s2中,基于与特征{fi}相应的密钥种子s以及数据块m的前p字节来生成所述数据块m的密钥k,生成公式为其中,p为可配置参数,||表示串联运算符,表示数据块m的前p字节采样值。

4.根据权利要求3所述的云存储的加密数据消除冗余方法,其特征在于,通过调整所述可配置参数p的数值来调整数据机密性和存储节省之间的权衡关系,所述可配置参数p为零字节和块长度max之间。

5.根据权利要求1至4任意一项所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤s3包括以下子步骤:

6.根据权利要求5所述的云存储的加密数据消除冗余方法,其特征在于,对所述加密块c的解密过程如下:通过公式ci=d(k,c′i)计算每个加密块ci,其中,d是以密钥和区块数据作为输入的解密函数,并恢复数据区块进而恢复得到数据块m。

7.根据权利要求1至4任意一项所述的云存储的加密数据消除冗余方法,其特征在于,所述步骤s4包括以下子步骤:

<...

【专利技术属性】
技术研发人员:赵佳杨祚儒李经纬李柏晴
申请(专利权)人:云链网科技广东有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1