云存储中数据完整性保护方法

文档序号:6636329阅读:762来源:国知局
云存储中数据完整性保护方法
【专利摘要】本发明提出一种云存储中数据完整性的保护方法。它的实现方法是:在将数据文件存储到云存储服务器上之前,首先将数据文件分成n个数据块,并使用以用户密钥k为参数的MAC函数对每个数据块进行摘要计算,得到每个数据块的摘要信息;然后对每个摘要信息利用hash函数处理得到每个摘要信息在云存储中的存放位置,同时为每个摘要信息添加标识位S,标识位S表明此摘要信息是否占用了某存储位置,并且每个数据块都有一个描述信息,使用以用户密钥k为参数的任意加密算法对描述信息进行加密处理;最后将数据文件存储到云服务器预定的位置上,并将附加标识信息S、加密后的描述信息以及摘要信息组成的摘要信息块存放到经hash处理得到的存储位置处。
【专利说明】云存储中数据完整性保护方法

【技术领域】
[0001]本发明属于计算机应用【技术领域】,涉及一种云存储中的数据完整性的保护方法。

【背景技术】
[0002]随着信息化进程的深入和数字设备市场的蓬勃发展,数据量正在成倍地增长,海量数据的存储和管理促进了云存储的使用和发展。用户将私密信息存储到云服务器中,保护这些数据的完整性才能保证用户放心安全地使用云存储服务。目前保护云存储中数据完整性的方案大多采用可证明数据持有(provable data possess1n, PDP)和数据证明与恢复(proof of retrievability,P0R)两种方案。PDP利用云存储计算数据某部分散列值等方式来验证云端是否丢失或删除数据,当发现有数据损坏时向用户发送报告,并交给用户进行处理;P0R在检验出数据不完整时,还能提供数据恢复功能。


【发明内容】

[0003]本发明提出一种云存储中数据完整性的保护方法,将数据文件和验证时需要的摘要信息都存放在云服务器中,减少了用户本地的存储开销。
[0004]本发明的技术方案如下:
[0005](1)生成数据文件的MAC
[0006]将数据文件分成η个数据块,并使用以用户密钥k为参数的MAC函数对每个数据块进行摘要计算,得到每个数据块的摘要信息Μ ;
[0007](2)利用摘要信息Μ计算得到Μ的存储位置
[0008]对摘要信息Μ利用hash函数计算得到摘要信息Μ在云存储服务器中的存放位置(a,p) ;a表示存储摘要的文件位置,p表示在此文件中的偏移位置;同时为每个摘要信息添加标识位S,标识位S表明此摘要信息是否占用了某存储位置,或者存储位置是否存储了某摘要信息,并且每个数据块都有一个描述信息E,描述信息包括数据块所属的文件名和该数据块在该文件中的位置等,使用以用户密钥k为参数的任意加密算法对描述信息进行加密处理;可以预先建立多个空白摘要文件,也可以随着存储数据的增多动态建立和增加空白摘要文件。每个新建立的空白摘要文件中所有的标示位S都为未占用状态。
[0009](3)不同时将数据文件和Μ存放到预定的位置
[0010]将数据文件存放到预定的位置,并将附加标识信息S、加密后的描述信息Ε以及摘要信息Μ存放到位置(a,p)处;同时为了不被敌手发现数据块与其摘要信息的存储地址之间的对应关系,不同步写数据块与其摘要信息,延迟或批量写摘要信息或者打乱写摘要信息的顺序;
[0011]⑷数据验证
[0012]在验证阶段,用户从云存储服务器中读取数据块Block,并对数据块进行和存储时同样的处理操作,重新计算得到该数据块的摘要信息Μ以及存储在云存储服务器中的验证信息的存放位置,从云服务器中读取该数据块的摘要信息Μ。,并和重新计算得到的摘要信息Μ进行比较,如果相同,则完整性验证通过,否则,可以确认数据已被篡改。数据块与其摘要信息不是同时读的。
[0013]存储摘要信息的地址是由其自身通过hash变换得到的,由hash函数的特性可知有可能会产生地址冲突,当存储摘要信息发生地址冲突时,需要使用冲突处理函数进行地址冲突处理,以免覆盖掉有用信息;
[0014]每个数据文件被分成等长的η个数据块,得到η个等长的摘要信息M”M2.....Μη,
对每个摘要信息hash处理后得到η个摘要信息的存放位置(a” 、(a2, p2)、...、(an, pn),这样n个数据块的摘要信息并不是存放在一起的,而是依据相应的处理机制分开存储的。如果知道(a,p),可以快速定位该摘要信息的存储位置。数据文件最后一块如果不足一块的大小,可以添加特殊的字符凑成一块。
[0015]在验证阶段时,读取的摘要信息有可能是发生过冲突的,当标识位为假时,说明数据完整性被破坏;当标识位为真,描述信息不符时,需采用上述的相同冲突处理函数进行冲突处理,以期找到正确的存储位置读取到正确的验证信息,然后再进行摘要信息的比较。
[0016]数据文件和数据块的摘要信息并不存放在一起,而是分开存储,隐藏它们的存储地址之间的对应关系,增大敌手分析的难度。不同步写数据块与其摘要信息,防止敌手窃听其对应关系。同时,每个数据文件分块之后,得到的每个数据块的摘要信息也并不是存放在一个文件里的,而是分散在多个文件中。
[0017]本发明可以采用用户自身对存储在云服务器中的数据进行完整性验证,这样安全性也更高,同时也可以将验证信息发送给可信的第三方来进行数据的完整性验证,以此减少用户本地的计算开销。

【具体实施方式】
[0018]预先建立多个空白摘要文件,每个新建立的空白摘要文件中所有的标示位S都为未占用状态。
[0019]当用户向云存储写一个文件时:
[0020](1)数据文件被分成等长的η个数据块,每块1ΜΒ,数据文件最后一块如果不足1ΜΒ,添加特殊的字符凑成一块。使用以用户秘钥Κ为参数的MAC函数得到η个等长的摘要信息Μ” M2.....Μη,对每个摘要信息hash处理后得到η个摘要信息的存放位置(&1,Pl)、
(a2, p2)、...、(an, ρη)。al,…,an为摘要文件,pl,…pn为摘要文件中的偏移。
[0021 ] (2)为每个摘要信息添加标识位S,标识位S表明此摘要信息是否占用了某存储位置,并且每个数据块都有一个描述信息E,描述信息包括数据块所属的文件名和该数据块在该文件中的位置等,使用以用户密钥k为参数的任意加密算法对描述信息进行加密处理;
[0022](3)将数据文件存放到预定的位置,并将附加标识信息S、加密后的描述信息E的多个摘要信息,如Mi存放到位置(ai,pi)处;不同步写数据块与其摘要信息,延迟或批量写摘要信息或者打乱写摘要信息的顺序;
[0023]当对某个数据块验证其完整性时:
[0024]用户从云存储服务器中读取数据块Block,并对数据块进行和存储时同样的处理操作,重新计算得到该数据块的摘要信息Μ以及存储在云存储服务器中的验证信息的存放位置,从云服务器中读取该数据块的摘要信息Μ。,并和重新计算得到的摘要信息Μ进行比较,如果相同,则完整性验证通过,否则,可以确认数据已被篡改。同样,数据块与其摘要信息不是同时读的。
【权利要求】
1.一种云存储中数据完整性保护方法,其特征在于: (1)生成数据文件的MAC 将数据文件分成η个数据块,以用户密钥k为参数的MAC函数对每个数据块进行摘要计算,得到每个数据块的摘要信息M ; (2)利用摘要信息M计算得到M的存储位置 对摘要信息M利用hash函数计算得到摘要信息M在云存储服务器中的存放位置(a, p) ;a表示存储摘要的文件位置,P表示在此文件中的偏移位置;同时为每个摘要信息添加标识位S,标识位S表明此摘要信息是否占用了某存储位置,或者存储位置是否存储了某摘要信息,并且每个数据块都有一个描述信息E,描述信息包括数据块所属的文件名和该数据块在该文件中的位置等,使用以用户密钥k为参数的任意加密算法对描述信息进行加密处理;预先建立多个空白摘要文件或随着存储数据的增多动态建立和增加空白摘要文件;每个新建立的空白摘要文件中所有的标示位S都为未占用状态; (3)不同时将数据文件和M存放到预定的位置 将数据文件存放到预定的位置,并将附加标识信息S、加密后的描述信息E以及摘要信息M存放到位置(a,p)处;同时为了不被敌手发现数据块与其摘要信息的存储地址之间的对应关系,不同步写数据块与其摘要信息,延迟或批量写摘要信息或者打乱写摘要信息的顺序; (4)数据验证 在验证阶段,用户从云存储服务器中读取数据块Block,并对数据块进行和存储时同样的处理操作,重新计算得到该数据块的摘要信息M以及存储在云存储服务器中的验证信息的存放位置,从云服务器中读取该数据块的摘要信息M。,并和重新计算得到的摘要信息M进行比较,如果相同,则完整性验证通过,否则,确认数据已被篡改;数据块与其摘要信息不是同时读取。
2.如权利要求1所述的保护方法,其特征在于:存储摘要信息的地址是由其自身通过hash变换得到的,由hash函数的特性可知有可能会产生地址冲突,当存储摘要信息发生地址冲突时,需要使用冲突处理函数进行地址冲突处理,以免覆盖掉有用信息。
3.如权利要求1或2所述的保护方法,其特征在于:每个数据文件被分成等长的η个数据块,得到η个等长的摘要信息Mp M2.....Mn,对每个摘要信息hash处理后得到η个摘要信息的存放位置(?, Pl)、(a2, p2).....(an, pn),η个数据块的摘要信息并不是存放在一起的,而是依据相应的处理机制分开存储的;如果知道(a,p),快速定位该摘要信息的存储位置;数据文件最后一块如果不足一块的大小,添加特殊的字符凑成一块。
4.如权利要求1或2所述的云存储中数据完整性的保护方案,其特征在于:在权利要求I所述的验证阶段时,读取的摘要信息有可能是发生过冲突的,当标识位为假时,说明数据完整性被破坏;当标识位为真,描述信息不符时,需采用同权利要求2所述的相同冲突处理函数进行冲突处理,以期找到正确的存储位置读取到正确的验证信息,然后再进行摘要信息的比较。
5.如权利要求3所述的云存储中数据完整性的保护方案,其特征在于:在权利要求1所述的验证阶段时,读取的摘要信息有可能是发生过冲突的,当标识位为假时,说明数据完整性被破坏;当标识位为真,描述信息不符时,需采用同权利要求2所述的相同冲突处理函数进行冲突处理,以期找到正确的存储位置读取到正确的验证信息,然后再进行摘要信息的比较。
【文档编号】G06F21/64GK104408381SQ201410705930
【公开日】2015年3月11日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】姚念民, 徐文霞, 谭国真, 战福瑞, 陈炳才 申请人:大连理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1