首页> 中国专利> 一种加密重复数据删除系统中的高效元数据管理方法

一种加密重复数据删除系统中的高效元数据管理方法

摘要

本发明公开了一种加密重复数据删除系统中的高效元数据管理方法,属于数据存储技术领域。本发明可用于客户端‑服务器的存储模型中,也可应用于云计算。本发明通过将相邻加密数据块的元数据收集到元数据块中,即每一个元数据块对应一个区域的加密数据块,而只在文件元数据和密钥元数据中存储元数据块的相关信息。同时,本发明进一步将重复数据删除操作扩展应用于元数据块:由于跨备份的相同数据块往往聚集形成重复区域,对于这些重复的数据区域只需保留一份元数据块,从而减少元数据存储开销。

著录项

  • 公开/公告号CN110109617A

    专利类型发明专利

  • 公开/公告日2019-08-09

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201910322497.1

  • 发明设计人 李经纬;李柏晴;任彦璟;张小松;

    申请日2019-04-22

  • 分类号

  • 代理机构电子科技大学专利中心;

  • 代理人周刘英

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2024-02-19 12:31:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-12

    授权

    授权

  • 2019-09-03

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20190422

    实质审查的生效

  • 2019-08-09

    公开

    公开

说明书

技术领域

本发明属于数据存储技术领域,尤其涉及面向加密重复数据删除系统的元数据管理。

背景技术

重复数据删除技术广泛应用于备份存储系统,其通常采用的技术方案包括:①将备份文件划分为固定或可变长度的逻辑数据块;②针对每个逻辑数据块,计算基于数据内容的哈希值(称为指纹)来唯一地标识相应数据块;③仅为具有相同指纹的逻辑数据块存储唯一副本(称为物理数据块),以节省存储空间。

为了保护数据隐私,加密重复数据删除增加了一层加密层,作用于逻辑数据块。该加密层基于逻辑数据块的数据内容来产生加密密钥,称为MLE(message-lockedencryption)密钥,例如MLE密钥为数据块的哈希值,从而将相同的明文数据块加密为相同的密文数据块。由于保留了重复数据块,系统可以将重复数据删除应用于加密后的逻辑数据块,在保护数据隐私的基础上支持基于加密数据的重复数据删除。

除了存储非重复的密文数据块外,加密重复数据删除系统(即应用了加密重复数据删除技术的存储系统,如图1所示)还需存储元数据信息,包括指纹索引、文件元数据和密钥元数据:

(1)指纹索引保存了已存储物理数据块的指纹信息,用于与待存储逻辑数据块的指纹进行比对,以执行重复数据删除操作;

(2)文件元数据保存了文件内所有逻辑数据块与相应物理数据块的映射关系,用于重构完整文件;

(3)密钥元数据保存了文件内所有逻辑数据块的解密密钥,用于恢复相应的明文数据块内容,由于密钥元数据包含敏感的密钥信息,需由文件属主的主密钥加密后,以密文形式存储。

以上元数据信息会造成巨大存储开销,一定程度上抵消加密重复数据删除所获得的存储空间节省。以下分别通过理论分析和真实数据集验证来揭示元数据存储的高开销问题。

令L为备份文件的原始大小,P为加密重复数据删除操作后所存储的物理数据的实际开销,f和k分别为文件元数据和密钥元数据与数据块长度的比率,则加密重复数据删除系统需存储f×(L+P)+k×L元数据信息,其中f×P、f×L、k×L分别为指纹索引、文件元数据和密钥元数据的存储开销。假设每个数据块大小为8KB,相应的文件元数据和密钥元数据分别为30字节和32字节(例如使用AES-256加密密钥)。如果重复数据删除因子L/P=50×,且L=50TB,那么加密重复数据删除会产生391.25GB元数据存储开销,即在1TB物理数据存储开销之外,额外消耗38.21%存储空间用于存储元数据。

图2和图3仿真了两种真实备份数据集在加密重复数据删除系统中产生的元数据存储开销:如图2所示,累积的元数据随备份数量的增长而增加,尤其在VM数据集中,元数据的存储开销超过了物理数据的存储开销;图3进一步显示了各种类型元数据的存储开销,文件元数据和密钥元数据占了元数据总存储开销的99.58%。

当前,在现有元数据管理技术中,文献《E.Kruus,C.Ungureanu,andC.Dubnicki.Bimodal content defined chunking for backup streams.In Proc.ofUSENIX FAST,2010》和《D.R.Bobbarjung,S.Jagannathan,and C.Dubnicki.Improvingduplicate elimination in storage systems.ACM Transactions on Storage,vol.2,no.4,pp.424–448,2006》通过构建对指纹索引的实时重复查询,并将相邻的若干个重复数据块合并为一个大块(superchunk)以减少文件元数据开销;但是,这些方法无法压缩密钥元数据,因为每个数据块仍然需要通过其自身内容派生的密钥进行加密。文献《J.Li,X.Chen,M.Li,J.Li,P.P.C.Lee,and W.Lou.Secure deduplication with efficient andreliable convergent key management.IEEE Transactions on Parallel DistributedSystems,vol.25,no.6,pp.1615–1625,2014》直接对密钥应用重复数据删除以减少密钥元数据开销;但是,由于密钥的长度通常与指纹索引条目的长度相当(两者均为几十字节),这种基于密钥的重复数据删除导致的额外元数据开销抵消了密钥元数据的存储节省。文献《D.Meister,Andre Brinkmann,and T.Su.β.File>

发明内容

本发明的发明目的在于:针对加密重复数据删除系统的元数据存储开销的技术问题,公开了一种减少元数据存储开销的文件存储管理方案。

本发明的加密重复数据删除系统中的高效元数据管理方法,包括下列步骤:

步骤S1:客户端对本端待上传的目标文件进行上传加密处理并上传至服务器:

对目标文件分块处理,产生若干逻辑数据块{dChunk};

对每个逻辑数据块dChunk,产生其MLE密钥dkey,并使用dkey加密dChunk获得相应的密文数据块[dChunk]dkey

对所有密文数据块进行变长分组,产生若干密文数据块分组Seg;

对产生的每个密文数据块分组Seg,创建对应的元数据块mChunk,所述元数据块mChunk记录的元数据包括:密文数据块分组Seg内每个密文数据块的指纹、长度、MLE密钥;

采用由元数据块mChunk的内容内容派生的MLE密钥mKey加密mChunk,得到加密的元数据块[mChunk]mKey,并将mChunk的文件元数据和密钥元数据添加至目标文件的文件元数据fMeta和密钥元数据kMeta;

客户端基于本端主密钥key加密kMeta,得到加密的密钥元数据[kMeta]key

客户端上传文件元数据fMeta、加密的密钥元数据[kMeta]key、所有加密的元数据块{[mChunk]mKey}和所有密文数据块{[dChunk]dKey}至服务器;

步骤S2:服务器输入指纹索引:

存储服务器对接收的fMeta、[kMeta]key、{[mChunk]mKey}和{[dChunk]dKey},并基于指纹索引删除冗余的数据块和元数据块,仅存储具有唯一内容的{[mChunk]mKey}和{[dChunk]dKey};并存储fMeta和[kMeta]key

同时,针对上述方式上传的目标文件,本发明还公开了其对应的下载处理方案,包括下列步骤:

客户端基于目标文件的唯一文件名向服务器请求元数据信息;

服务器基于目标文件的唯一文件名,查询匹配的文件元数据fMeta、密钥元数据[kMeta]key和{[mChunk]mKey}并将查询匹配结果返回给客户端;

客户端基于本端的主密钥key解密[kMeta]key获得密钥元数据kMeta,再针对每个[mChunk]mKey,从kMeta中检索元数据块mChunk的对应的密钥mKey并解密获得元数据块mChunk;以及基于每个元数据块mChunk中记录的密文数据块的指纹和长度信息,向服务器请求相应的若干密文数据块{[dChunk]dkey};

服务器基于密文数据块的请求信息,匹配对应的密文数据块集合{[dChunk]dKey}并返回给客户端;

客户端对接收的每个[dChunk]dKey,从元数据块mChunk中检索匹配的密钥dKey并解密获得逻辑数据块dChunk,基于目标文件的所有逻辑数据块dChunk重组目标文件。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

本发明通过将相邻加密数据块的元数据收集到元数据块中(每一个元数据块对应一个区域的加密数据块),而只在文件元数据和密钥元数据中存储元数据块的相关信息;同时,本发明进一步将重复数据删除操作扩展应用于元数据块:由于跨备份的相同数据块往往聚集形成重复区域,对于这些重复的数据区域只需保留一份元数据块,从而减少元数据存储开销。

附图说明

图1是加密重复数据删除系统逻辑视图;

图2是加密重复数据删除系统中数据和元数据的累积存储开销;

图3是各种类型元数据在加密重复数据删除系统中的累积存储开销;

图4是本发明的元数据管理方法;

图5是基于本发明所实现的系统Metadedup和原始系统CDStore针对10GB文件的读写性能比较;

图6是本发明与现有方法关于元数据存储节省和索引开销的比较。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。

本发明致力于解决加密重复数据删除系统的元数据存储开销问题,尤其降低文件元数据和密钥元数据的存储空间。

本发明通过将相邻加密数据块的元数据收集到元数据块中(每一个元数据块对应一个区域的加密数据块),而只在文件元数据和密钥元数据中存储元数据块的相关信息。同时,本发明进一步将重复数据删除操作扩展应用于元数据块:由于跨备份的相同数据块往往聚集形成重复区域,对于这些重复的数据区域只需保留一份元数据块,从而减少元数据存储开销。

本发明可用于客户端-服务器的存储模型中,也可应用于云计算:在用户端部署客户端支持数据读写;在云端部署服务器管理远端数据。

定义[X]Y表示使用密钥Y加密数据对象X,本发明的具体工作流程如下。

(1)写操作流程。

客户端输入目标文件file和主密钥key:

步骤1:初始化文件元数据fMeta和密钥元数据kMeta;

步骤2:将file进行分块(例如通过RabinFingerprinting算法实现,其具体实现方式可参考文献《M.O.Rabin.Fingerprinting by random polynomials.Center forResearch in Computing Technology,Harvard University.Tech.Report TR-CSE-03-01,1981》),产生若干逻辑数据块{dChunk},与现有处理方式相似,本发明通过文件分块支持细粒度重复数据删除,进而达到更高存储节省;

步骤3:对于每个逻辑数据块dChunk,产生其MLE密钥dkey,并使用dkey加密dChunk获得相应的密文数据块[dChunk]dkey

步骤4:对所有密文数据块{[dChunk]dkey}进行变长分组,产生若干密文数据块分组Seg。

具体的,变长分组方案基于了最小分组长度、平均分组长度和最大分组长度配置,其中平均分组长度用于定义除数div。分组引擎依次遍历每个密文数据块[dChunk]dkey,并判断:①如果当前分组长度大于预定义的最小分组长度且[dChunk]dkey的哈希值模div等于1;或②包含[dChunk]dkey的当前分组长度超过预定义的最大分组长度,则在密文数据块[dChunk]dkey之后确定分组边界。默认情况下,分别将预定义的最小和最大分组长度固定为平均分组长度的一半和两倍。现有变长分组方法主要用于解决分组边界移动问题,以节省数据存储空间;而在本发明中,通过变长分组形成大量重复元数据块,进而支持通过元数据块的重复数据删除来降低元数据存储开销。

步骤5:针对产生的每个密文数据块分组Seg,创建相应的元数据块mChunk,保存Seg内每个密文数据块的指纹、长度、MLE密钥和其他必要的元数据信息(例如:该密文数据块在原始明文文件中的位置索引(索引编号)等)。

进一步使用由mChunk内容派生的MLE密钥mKey加密mChunk,并将mChunk的文件元数据和密钥元数据添加至fMeta和kMeta,如图4所示。

需要指出的是,现有重复数据删除方法不能直接应用于元数据,主要原因是元数据长度较小(例如仅为若干字节),产生的额外索引开销将抵消元数据的存储空间节省;本发明将数据块聚集形成元数据块,并针对元数据块做重复数据删除,一方面由于跨备份的相同数据块聚集形成重复分组,对于这些重复的分组只需保留一份元数据块,从而减少元数据存储开销;另一方面,由于元数据块较大(例如若干KB),基于元数据块的重复数据删除只需增加极小的额外索引开销。

步骤6:使用客户端主密钥加密kMeta,并上传:①文件元数据fMeta和加密的密钥元数据[kMeta]key;②加密的元数据块{[mChunk]mKey};③加密的数据块{[dChunk]dKey}。

服务器输入指纹索引:

步骤7:接收fMeta、[kMeta]key、{[mChunk]mKey}和{[dChunk]dKey},并基于指纹索引删除冗余的(加密)数据块和元数据块,仅存储具有唯一内容的{[mChunk]mKey}和{[dChunk]dKey}。

步骤8:存储fMeta和[kMeta]key

(2)读操作流程。

客户端输入目标文件的唯一文件名:

步骤1:基于目标文件的唯一文件名向服务器请求元数据信息。

服务器输入文件元数据fMeta、加密的元数据块{[mChunk]mKey}和密钥元数据[kMeta]key

步骤2:接收客户端请求的唯一文件名,并检索相应的fMeta和[kMeta]key

步骤3:基于fMeta检索相应的{[mChunk]mKey}。

步骤4:向客户端返回fMeta、{[mChunk]mKey}和[kMeta]key

客户端输入主密钥key:

步骤5:接收fMeta、{[mChunk]mKey}和[kMeta]key

步骤6:使用key解密[kMeta]key获得kMeta,然后针对每个[mChunk]mKey,从kMeta中检索相应的mKey并解密获得mChunk。

步骤7:基于元数据块{mChunk}中的元数据,向服务器请求相应数据块。

服务器输入加密数据块{[dChunk]dKey}:

步骤8:接收数据块的元数据。

步骤9:基于元数据,检索相应{[dChunk]dKey},并返回给客户端。

客户端输入元数据块{mChunk}:

步骤10:接收{[dChunk]dKey}。

步骤11:针对每个[dChunk]dKey,从{mChunk}中检索相应密钥dKey并解密获得dChunk。

步骤12:基于{dChunk}重组目标文件。

实施例

CDStore系统(具体可参考文献《M.Li,C.Qin,and P.P.C.Lee.CDStore:Towardreliable,secure,and cost-efficient cloud storage via convergent dispersal.InProc.of USENIX ATC,2015》)是支持加密重复数据删除的多云存储系统。CDStore系统客户端通过重复数据删除感知的秘密共享算法(deduplication-awaresecretsharing)将逻辑数据块编码为n份密文,分别存储在n个云存储服务器;各服务器可基于接收的密文执行重复数据删除以节省存储空间;下载时,客户端从至少k个服务器下载密文,解码后恢复相应的明文数据块。

CDStore系统本身不支持高效的元数据管理机制。本实施例中,基于CDStore系统实现本发明的方法形成Metadedup系统,并比较Metadedup系统与原始CDStore系统性能。

测试环境如下:客户端部署在具有24核心2.40GHzCPU E5-2620 v3和32GB RAM的计算机上;服务器部署在具有20核2.40GHzCPU E5-2640 v4和32GB RAM的计算机上;客户端和服务器通过1Gb/s局域网连接。所有实验结果基于了10次测试平均值的90%置信区间。

图5展示了不同平均分组长度对应的Metadedup系统实例(Md-X,这里X表示基于平均分组长度为X产生的Metadedup系统实例,X可为512KB、1MB、2MB和4MB)和CDStore系统在处理10GB文件时的读写性能对比。Metadedup系统的文件写入速度接近于CDStore系统,例如平均当分组长度为1MB时,Metadedup系统的写入速度达到了60.33MB/s。Metadedup系统的文件读取速度随平均分组长度的增加而提升,例如当平均分组长度为4MB时,Metadedup系统的读取速度达到93.62MB/s。

基于两种真实数据集FSL和VM比较Metadedup系统与现有方法的元数据存储节省比率。

FSL数据集(http://tracer.filesystems.org/)是Stony Brook University收集的2011年到2015年期间39个用户文件系统镜像的日常备份,本实施例中,采用2013年1月22日到6月17日期间所有可用用户的镜像,共占56.20TB;VM数据集是自行收集的2014年春季编程课程中学生使用的156个虚拟机镜像的日常备份,共占39.61TB。

考虑参与比较的现有元数据压缩方法包括:①零压缩(ZC),将零数据块的元数据项替换为一个字节的特殊编码;②基于页面的压缩(PC),根据指纹索引对应的内存页面对块的文件元数据进行编码;③统计目录(SD),将低熵块的文件元数据替换为固定大小的短编码;④统计预测(SP),利用数据块的局部性对最有可能出现的相邻数据块的文件元数据进行编码。

定义测试指标:存储节省为测试方法减少的元数据的比率(不包括指纹索引);索引开销为对指纹索引增加的额外存储比率。

图6对比了五种方法的存储节省和索引开销。Metadedup系统的存储节省随着备份数量的增加而增加,最终分别在FSL和VM数据集中达到97.46%和95.81%。其他方法的存储节省相对较低,例如ZC为8.29%和52.74%,PC为41.51%和41.71%,SD为27.99%和40.79%,SP为35.20%和40.81%。另一方面Metadedup系统也只产生有限的指纹索引开销,例如低于3.33%。

综上,本发明的加密重复数据删除系统中的高效元数据管理方法可以在引入极小计算开销的前提下(例如基于本发明的Metadedup系统与原始CDStore系统具有相当的系统性能),极大程度地节省了元数据存储空间(例如能够为真实的备份数据集节省95.81%-97.46%元数据存储空间)。

以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号