程曉榮 岳 嬌 張 蘭
(華北電力大學計算機系 河北 071003)
隨著數據的產生,數據保護也因此誕生。許多數據信息都遷移到“云”中,云存儲在為用戶提供服務時,通常為用戶數據提供加密的方式實現對數據的保護,如AES加密技術。云存儲中,用戶對數據僅擁有所有權而無管理權。目前,對于云存儲服務商所提供的安全策略用戶很難完全相信,為了實現對數據的保護,尤其是隱私性,用戶大多采用本地加密的方法。加密算法的安全性主要依賴于密鑰,如果需要對大量文件進行加密也會產生大量的密鑰,對其的管理問題也不容忽視。本文從數據存儲方面進行研究,給出了位拆分、位合并技術的規則,設計了HDFS中數據存儲的策略。
主流的數據保護通常采用加密的方式,即對于數據的比特位采用移位和擴散的方式。本文也采用該思想,假設將一份文件拆分成兩份,給出如下規則。
首先從文件中按順序先讀取兩個字節的數據叫字節1和字節2,并將字節1、2分離出高、低四位,即字節1(高1、低1),字節 2(高 2、低 2);其次交換高、低四位的順序,即字節 1(低1、高1),字節2(低2、高2),并將此時字節1的高四位和字節2的低四位相組合,組成一個新的字節1’,即(低1、高2),將此時字節1的低四位和字節2的高四位相組合,組成一個新的字節2’,即(低2、高1);最后將得到的字節1’、字節2’分別寫入到文件1、2中,重復執行此過程直到文件讀取完畢。
位合并技術實際上是位拆分技術的逆過程,假設按照上述拆分技術規則得到了文件1和文件2,按照如下過程進行位合并:分別讀取上述兩個文件各一個字節的數據,分別分離這兩個字節的高、低四位,即假設讀取的是上述位拆分技術拆分的數據,即字節1’(低1、高2),字節2’(低2、高1),此時將字節1’的高四位和字節2’的低四位組合成一個新的字節1,即字節1(低1、高1);將字節1’的低四位和字節2’的高四位組合成另外一個新的字節2.即字節2(低2、高2);然后分別交換字節1、2的高、低四位,此時字節1、2分別變為字節1(高1、低1),字節2(高2、低2);按照字節1在前,字節2在后的順序將這兩個字節寫入到新文件里,重復執行直到文件1和文件2結束。
由于云存儲提供商可以直接獲取云端各類用戶的數據,所以用戶存儲數據時為了不讓云端知道,可以在客戶端和 HDFS集群之間添加一個接口從而保護數據,該接口是位于客戶端之上的。如圖1所示。

圖1 存儲策略架構圖
元數據(Metadata)是最小的數據單位,在云存儲中元數據主要分為兩種,即元數據文件和內存元數據,其能夠維護HDFS(分布式文件系統)中文件和目錄的信息。當客戶端需要寫入若干文件時,首先在接口中對文件進行拆分(按照之前提到的拆分規則),在拆分的過程中,生成相關的元數據信息,比如原文件名到拆分文件名的映射文件、拆分文件名到拆分文件元數據的映射文件、拆分文件元數據等。然后將拆分后的文件和相關元數據,按照原HDFS寫入文件的方式一同上傳至HDFS中,其中名字節點存儲相關元數據,數據節點存儲拆分的文件。
當客戶端需要取某個文件時,首先從名字節點獲取該文件所在的元數據信息,然后從數據節點讀取該文件被拆分后的所有拆分文件,并在接口中對拆分文件進行位合并并緩存到客戶端。
除了HDFS原有的元數據之外,又增加了兩個映射文件和兩類元數據。兩個映射文件分別為 Origina1ToSp1itFi1eMap(原文件名到拆分文件名的映射文件)和 Sp1itToMetadataMap(拆分文件名到拆分文件元數據的映射文件)。兩類元數據分別為Origina1Fi1eMetadata(原文件元數據)和Sp1itF1ieMetadata(拆分文件元數據)。這兩類映射文件是為了在NameNode中查找原文件拆分后的拆分文件所必須的信息。在讀取原文件時,首先在NameNode內查找原文件名到拆分文件名的映射文件,得到拆分文件名,然后查找拆分文件名到拆分文件元數據的映射文件,得到原文件被拆分后拆分文件的元數據,這樣才能連接DataNode獲取原文件被拆分后的各個拆分文件。
當C1ient端將所有原文件拆分得到拆分文件之后,會將生成的拆分文件元數據、原文件名到拆分文件名的映射文件、拆分文件名到拆分文件元數據的映射文件一起上傳至 NameNode的內存中,拆分文件會被存儲在DataNode。
現今云存儲的技術發展地非常迅速,其數據安全問題開始越來越受到人們的重視,非常值得人們好好研究。本文從數據存儲方向入手,分析了當前主流數據存儲策略,利用移位和擴散的基本思想,給出了位拆分、位合并技術的規則,設計了HDFS中數據存儲的策略,構建的策略能夠不依賴于密鑰就可以加密文件,無需管理密鑰,能夠保護數據的隱私。
[1]黃汝維,桂小林,余思,莊威.云環境中支持隱私保護的可計算加密方法[J].計算機學報.2011.
[2]毛劍,李坤,徐先棟.云計算環境下隱私保護方案[J].清華大學學報(自然科學版).2011.
[3]周靜嵐.云存儲數據隱私保護機制的研究[D].南京郵電大學.2014.
[4]孫辛未,張偉,徐濤.面向云存儲的高性能數據隱私保護方法[J].計算機科學.2014.
[5]Sugumaran,M.;Murugan,B.B.;Kamalraj,D.,"An Architecture for Data Security in Cloud Computing," Computing and Communication Technologies(WCCCT),2014 World Congress on,vol.,no.,pp.252,255,Feb.27 2014-March 1 2014.