云存儲中數據完整性保護方法
【專利摘要】本發明提出一種云存儲中數據完整性的保護方法。它的實現方法是:在將數據文件存儲到云存儲服務器上之前,首先將數據文件分成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日
【發明者】姚念民, 徐文霞, 譚國真, 戰福瑞, 陳炳才 申請人:大連理工大學