徐敏, 胡聰, 王萍, 劉翠玲, 許暢, 吳尚
(國網安徽省電力有限公司信息通信分公司, 安徽, 合肥 230061)
網絡數據量急劇提升,大規模數據成為網絡中信息形式,大規模數據具有類型多、時效性要求高、價值密度低以及數據量大的特點[1]。以往的數據處理技術已無法滿足大規模數據處理需求,云計算技術的誕生為大規模數據的挖掘、分析以及處理提供巨大的技術支持[2]。
大規模數據的數據結構復雜,并且其中包含眾多敏感數據,敏感數據吸引眾多攻擊者,令網絡安全有所下降[3-5],云計算技術的大規模數據處理安全性極為重要。云計算數據存儲技術吸引眾多通信領域學者的關注:任曉莉等[6]研究云計算中基于動態虛擬化電子流密碼的安全存儲,利用動態虛擬化電子流密碼實現云計算技術的數據存儲具有較高的存儲有效性,但實時性較差;羅先錄等[7]研究基于LOP的分布式數據存儲與查詢技術,具有較高的實時性,但安全性較差。
基于以上方法所研究數據存儲的缺陷,研究基于云計算技術的大規模數據存儲策略,利用云計算平臺實現大規模數據高效存儲,具有較高的實用性。
選取基礎設施即服務(Infrastructure as a Service,IaaS)的云計算平臺作為大規模數據存儲策略的運行平臺。該平臺采用虛擬化技術搭建,虛擬化技術是IaaS云計算平臺的關鍵技術,通過虛擬化技術可實現平臺資源的充分利用以及資源能動態伸縮[8]。虛擬化技術的云計算平臺總體結構圖如圖1所示。相同的物理機可通過內存、CPU等硬件資源的虛擬化處理實現眾多IaaS云計算平臺的多臺虛擬機同時運行,利用虛擬機監控器實現眾多共享硬件資源虛擬機控制的相互隔離[9],將MC算法與并行AES算法相結合應用于虛擬機監控器內的加解密模塊,實現大規模數據的安全存儲。

圖1 虛擬化技術的云計算平臺
大數據技術和云計算技術是目前應用于網絡信息傳輸中極為重要的技術,數據存儲安全性決定用戶的利益與隱私[10]。云計算平臺的虛擬機監控器內的加解密模塊實現大規模數據存儲結構圖如圖2所示。

圖2 大規模數據存儲
在虛擬化技術的云計算平臺中通過MC算法與并行AES算法實現大規模數據存儲。用戶上傳原始數據后,拆分、置亂原始數據,將分片后原始數據加密上傳至云計算平臺,云計算平臺針對不同用戶利用并行AES算法生成公私密鑰對(kpub,kpri)。用戶保存所生成的密鑰對[11],數據上傳時,利用MC算法處理用戶所上傳的數據,并將密鑰kpub同時上傳至云計算平臺,云計算平臺利用密鑰再次加密數據,實現所上傳大規模數據加密;云計算平臺接收用戶下載請求后,下載加密文件至用戶端,用戶端通過密鑰kpri實現數據解密,并將解密后數據通過數據重組恢復原始數據。以上分析可知,原始大規模數據的加密、拆分、完整性存儲安全以及用戶接入的安全性決定了大規模數據存儲安全性,通過權限鑒定的用戶才可登錄云計算平臺,進行大規模數據的相關操作。
1.2.1 MC算法
利用MC算法處理原始數據可提升數據傳輸安全性,有效抵御攻擊行為[12],實現大規模數據的安全存儲。設云計算平臺中各歸檔文件的副本冗余數量為r,存在攻擊情況下,利用RS編碼(Reed-solomon codes,里所碼)冗余副本以及冗余信息無法恢復歸檔文件內各RS分組bi的概率上限計算式:
(1)
式中,r與d分別表示副本冗余數量以及RS編碼碼距,n與m分別表示碼組長度以及大規模數據塊數量,Ai與ε分別為事件以及數據塊損壞比例。

P(Ai)=P(B>d/2)=P(B>(1+δ)μ)<
(2)
式中,δ=(d-2nε)/(2nε),μ=nε。
通過以上分析可得:

(3)
當攻擊行為破壞云計算平臺內各副本的概率具有較高獨立性[13],受到攻擊行為破壞的RS編碼僅分組數據塊隨機副本未存在錯誤時,分組可被恢復。各RS分組在歸檔內互為獨立,受到攻擊行為破壞時,歸檔F中包含數據塊數量為m時,不可恢復概率計算式如:
(4)
獲取數據恢復概率計算式如:
(5)
以上分析可知,待存儲大規模數據受到攻擊行為后,MC算法存在較高的數據糾錯能力,云計算平臺的副本冗余數量r、RS編碼碼距d、碼組長度n、大規模數據塊數量m以及數據塊損壞比例ε決定MC算法的糾錯能力。
1.2.2 并行AES算法
將并行加密方案應用于大規模數據存儲策略中,將對稱AES加密算法與云計算技術相結合,利用大規模數據分塊加密與AES分組加密方法加密明文數據。云計算平臺的Map-Reduce編程模型通過分片、Map函數以及Reduce函數三部分實現數據加密與解密,將用戶所輸入數據通過自定義規則劃分不同片區。依據不同片區調度機制通過主節點分配至各處理器內,將完成分片的數據利用Map函數實施操作,最終利用Reduce函數將Map函數所獲取結果整合實現數據的最終處理。
AES加密數據的明文須為128 bit整數倍,加密前需充分處理數據規格[14],通過填充整數倍長度的明文將其處理至128 bit整數倍后實施分片。AES密鑰長度主要包括128 bit、256 bit、384 bit等3種,將加密/解密輪次用Nr表示,AES算法的加密解密流程如圖3所示。

(a) 加密流程
待處理數據在云計算平臺內大規模數據文件位置用pos表示,i與li分別表示分片以及分片大小。將加密的大規模數據文件通道打開,第一個字節在文件內偏移量用變量pos存儲,待存儲數據未到達文件終端時,可得分片i長度li計算式如:

(6)
式中,L與n分別表示明文文件長度以及明文文件以128 bit為單位所分組數。
將分片內容i選取filebuffer存儲,將分片i起始部分在云計算平臺文件內偏移量用key存儲,利用filebuffer賦值Value,下一個分片利用pos指向。
ECB模式分組的AES加密算法利用Map函數執行,輸入
為驗證本文所研究基于云計算技術的大規模數據存儲策略對于大規模數據存儲有效性,利用計算機群模擬建立具有300個虛擬機節點的實驗平臺,利用虛擬集群模擬數據中心建立云計算平臺,各數據中心均包含計算實體數量為15個,不同數據中心地理位置相同分屬地域不同,因此在實際運行中,測試200個虛擬機節點的實驗平臺以及不同大小、數量的數據集。為驗證本文方法對大規模數據存儲有效性,選取動態虛擬化方法(文獻[6])以及LOP方法(文獻[7])作為對比方法。
統計不同數據集數量時云計算平臺內數據移動次數和移動量變化情況,統計結果如圖4、圖5所示。圖4、圖5實驗結果可以看出,不同數據集數量時,采用本文方法存儲大規模數據的數據移動量和數據移動次數明顯低于另2種方法,主要原因是本文方法在云計算平臺數據傳輸與存儲中的請求、響應、連接的建立和斷開操作空間開銷均低于另2種方法,便于處理大規模數據,有效降低數據傳輸與存儲開銷,在實際應用過程中降低存儲開銷的基礎上提高數據傳輸效率。

圖4 數據移動次數受數據集變化量影響

圖5 數據移動次數受數據集變化量影響
統計不同數據集變化范圍時3種方法的數據移動量變化情況,設置數據集數量以及工作流任務量均為80,數據中心數量以及平均值為15個以及500 M,統計結果如圖6所示。圖6實驗結果可以看出,3種方法均為數據移動量越小,數據集變化范圍越寬。待存儲數據具有相同平均值時,本文方法大規模數據存儲策略的數據移動量波動較大。本文方法的數據移動量波動較大,驗證數據集變化幅度較高時,本文方法可有效選取具有較小移動規模的數據集,移動數據量有所降低,驗證本文方法具有較高的數據存儲與傳輸效率。

圖6 不同數據集變化范圍時數據移動量
采用本文方法加密大小為5 GB的數據,統計不同Map數量時Map耗時和Reduce耗時,統計結果如圖7所示。圖7實驗結果可以看出采用本文方法存儲大規模數據的加密過程中,Map耗時和Reduce耗時均低于150 ms,驗證本文方法具有較高的實時性,運用本文方法存儲數據實時性較強,減少不必要耗時,提高效率。

圖7 Map耗時和Reduce耗時
以用戶選取文件、點擊文件至上傳按鈕時間作為數據加密耗時;以用戶從云計算平臺接收密文時間作為解密初始時間,所獲取明文保存至本地磁盤驅動器作為解密終止耗時。統計采用本文方法存儲大規模數據不同數據集大小時加密耗時與解密耗時,并將本文方法與另2種方法對比,對比結果如圖8所示。圖8實驗結果可以看出,采用本文方法存儲大規模數據,加密耗時與解密耗時均明顯低于另2種方法,采用本文方法存儲不同數據集大小的大規模數據加密耗時均在700 ms以內,采用本文方法存儲不同數據集大小的大規模數據的解密耗時均在600 ms以內。本文方法的加密以及解密耗時較少,可有效提升大規模數據的存儲效率。

(a) 加密耗時

(b) 解密耗時
統計采用本文方法存儲大小為50 GB的數據,不同Map數量時的Map加速比以及整體加速比的統計結果如圖9所示。

圖9 加速比對比
圖9實驗結果可以看出,本文方法在不同Map數量時的Map加速比和整體加速比均明顯高于另2種方法。本文方法采用云計算技術,利用云計算平臺實現大規模數據加密與解密處理,具有較高的數據存儲效率,可有效提升數據存儲過程中的加速比。大規模數據的存儲和備份將造成數據傳輸存在較高延遲,本文方法在不同Map數量時均具有較高的加速比,表明本文方法傳輸大規模數據過程中具有較低的延遲,驗證本文方法具有較高的通信存儲性能。
數據存儲的安全性極為重要,統計采用本文方法存儲大規模數據受到不同攻擊頻率時的傳輸效率,通過傳輸大規模數據時的Map耗時、Reduce耗時、加速比衡量傳輸效率,3種方法在不同攻擊頻率下存儲效率結果如圖10所示。從圖10實驗結果可以看出,本文方法在不同攻擊頻率下的傳輸效率均高于98.5%,實驗結果驗證采用本文方法存儲大規模數據,不同情況下的Map耗時、Reduce耗時以及加速比均較高,不同攻擊情況下均具有較高的存儲效率;對比方法的存儲效率均低于本文方法,說明另2種方法對攻擊的抵御能力較差,受到攻擊情況下數據存儲效率較低。本文方法具有較高的數據存儲效率,不僅具有較高的數據傳輸實時性,并且數據存儲安全性高,符合大規模數據存儲需求。

圖10 不同攻擊頻率時存儲效率
云計算技術以及大數據技術的高速發展推動了計算機行業發展,云計算技術可提升網絡大規模數據的存儲安全性以及實時性,實現大規模數據高效存儲。大規模數據存儲時,數據的加密與解密處理方式極為重要,高效的數據加密、解密處理可提升云計算技術的科學合理應用性能。云計算技術實際應用中,需依據用戶實際需求,不斷研究與探索,令云計算技術發揮最大效用。將云計算技術應用于大規模數據的存儲策略中,有效提升大規模數據存儲的安全性,對于建設大規模數據的云計算平臺具有較高的借鑒意義。