陳 藝,江芝蒙,張 渝
(1.四川文理學院 智能制造學院,四川 達州 635000;2.四川文理學院 信息化建設與服務中心,四川 達州 635000;3.西南大學 計算機與信息科學學院,重慶 400715)
目前應用最常用的大數據分析工具是Hadoop分布式文件系統(Hadoop distributed file system,HDFS),其支持管理、存儲大量數據以及快速形成決策,并降低了人為估計的風險[1-3]。然而大數據的廣泛使用帶來了數據安全隱患,特別是處理機密數據時,如公司商業機密、個人隱私信息等。因此,安全和隱私是傳輸大數據的關鍵,任何大數據安全傳輸方案都應滿足數據機密性、完整性和可用性的要求。
大數據安全主要從數據安全和訪問控制兩個方面考慮,而數據管理和數據分類是關鍵所在,其中大數據安全管理常用的控制策略是Kerberos[4]。文獻[5,6]定義了一組大數據安全特性的自動化工具用于收集不同的數據類型,并分析引擎處理實時應用中的大量快速變化的數據,從而進行安全性分析,但缺乏對如何保護大數據免受不同資源的潛在風險的論述。文獻[7,8]設計了一種智能驅動的安全模型,用于監控具有異常行為的用戶,但缺乏針對數據丟失和數據泄漏的保護。此外,大多數安全機制雖然能夠保證固定數據免受威脅,但不足以應對大數據以及超出現有數據庫的處理能力,并且沒有一種機制能夠適應非結構化大數據分析處理[9]。
同樣,云系統安全也是目前的研究熱點。云系統中傳輸的大數據安全可通過在發送方和接收方云之間的安全套接字層實現,但云兩側的用戶身份驗證存在安全問題[10]。此外,云系統面臨內部和外部攻擊兩種類型的攻擊,文獻[11]提出了一種網絡安全模型以應對云系統中的攻擊。在云系統中,當不同機密級別的大數據進行傳輸時,可能會使敏感和關鍵數據泄露[12]。為了減少數據傳輸或交換過程中潛在的安全威脅,增強云系統中數據的安全移動性,提出了一種云系統中基于同態哈希認證的大數據安全傳輸。所提方法的創新點總結如下:
(1)現有方法缺乏明確的數據分類方法,而所提機制根據數據內容和描述屬性設計了大數據分類技術,該技術采用HDFS格式化程序執行數據分類,且避免公開文件冗余的加密和解密過程,降低了數據傳輸的安全成本。
(2)為了提高數據傳輸的安全性,所提傳輸機制提出了基于同態哈希的身份認證方式,以保證云系統傳輸雙方信息的真實性,為數據傳輸的安全性提供了雙重保護。
數據安全是大數據分析中最為關鍵的問題之一,而大數據分析應保證數據的保密性、完整性和可用性。其中機密性是根據數據敏感度防止授權用戶以外的用戶訪問數據;完整性是允許授權用戶修改、編輯、更新和刪除數據;可用性是保證數據可用以及可訪問。
很多機構組織中,對于大量敏感信息的存儲、收集和處理,均在同一地方完成,受潛在風險的影響更大,易發生數據的破壞、泄露和丟失以及受到黑客攻擊,并且可能因惡意攻擊而拒絕服務[13]。因此,所提方法提出了一種新的風險評估分類技術,可防止大數據中存在的潛在風險,并基于定義的風險度量值實行風險管理[14]。其中定義的風險評估標準將每個風險度量以0-5進行測量:可忽略(0-1)、低(1-2)、中(2-3)、高(3-4)和非常高(4-5)。
風險性和脆弱性值THV定義為威脅和脆弱性值之和,理論計算為
THV=Threa+Vunerability
(1)
風險影響級別值RIL保證了大數據所需的安全控制級別,其計算為
RIL=Asset×THV×LTH
(2)
式中:Asset為資產值,LTH為風險可能性。
根據上式,RIL風險水平值的測量如下:當風險分量達到其臨界值(4-5)時, RIL=(非常高)×(非常高)×(非常高)=(4-5)×(4-5)×(4-5); 當風險分量值在(0-1)時, RIL=(可忽略)×(可忽略)×(可忽略)=(0-1)×(0-1)×(0-1)。 因此,根據RIL中分量風險水平值的組合,可得到RIL的風險水平值(1-2)、(2-3)、(3-4)和(4-5)。基于RIL提出的分類方法明確了在云端處理、復制和移動過程中保護關鍵數據所需的適當安全控制級別。
所提的大數據安全機制采用大數據分類和大數據安全技術對文件進行分類和保護,以實現云系統中數據移動過程中的高安全性。所提機制的體系結構如圖1所示。

圖1 所提大數據安全傳輸機制的體系結構
在該傳輸機制中,大數據文件移動到HDFS進行大數據分類,并將其轉化為文本文件。使用度量函數確定HDFS輸入格式化程序函數,并將大數據拆分為多個數據分區,在每個分區中,如果所有數據都屬于特定的安全類,則輸入格式化程序函數將終止,并生成決策樹;否則,輸入格式化程序函數將遞歸地繼續其拆分過程,直到所有數據分區都屬于同一類安全,或者不再保留拆分屬性,然后相應地生成決策樹。之后將劃分為機密的文件利用數據安全算法進行大數據文件傳輸。
一般來說,大數據是根據其需求、優先級和基于數據敏感度、關鍵性的保護程度進行分類的,所提分類技術將大數據分為機密數據和公開數據兩大類。其中機密數據為只有授權用戶才能查看或訪問的高度敏感信息,其屬性是不由系統解釋的文件系統,但提供有關文件的附加信息;公共數據為包括一般信息的正常數據,任何用戶都可以查看這些信息,而不受訪問這些數據文件的任何限制[15]。
根據風險影響水平值定義:RIL代表基于風險評估度量值(0-5)的風險影響水平值;MAV代表元數據擴展屬性,元數據屬性允許系統管理員為其它元數據設置機密元數據屬性以防止文件中可能包含敏感信息的潛在風險,其MAV計算為

(3)
如果風險影響水平值介于(1-5)之間,則評估為真(1:機密);如果風險影響水平值為無或可忽略(0-1),則評估為假(0:公開)。MAV在創建時插入文件元數據中,便于數據分類,大數據分類流程如圖2所示。

圖2 大數據分類流程
文件以不同的類型存在,如txt、doc、xml、csv、xls、sql、log、db、pdf、image、audio、video等,而所提分類技術將不同類型的文件均轉換為文本文件,并使用HDFS輸入格式化程序,將其分割為不同的分區,其中HDFS輸入格式化程序驗證任務的輸入規范,根據所有分區中的安全搜索值,文件被標識為機密或公共。無法轉換為文本的其它文件類型(如pdf、圖像、音頻和視頻)在文件創建期間按其內容進行分類,并將其MAV設置為機密或公開。但是,如果這些文件已經創建,且沒有元數據屬性,則需要確定其分類級別,并相應地插入MAV。
基于數據文件分類級別,將大數據安全技術應用于不同云節點間的數據傳輸中,如果分類級別是公共的,則不需要安全操作。
數據傳輸中節點需要進行身份認證以確保其安全性,所提機制中采用同態哈希認證方式驗證密鑰。同態哈希(homomorphic Hash)常用于對等網絡,通常與糾刪碼、網絡編碼共同防御攻擊事件。對等網絡中,每個對等體均會從其它的對等體處直接獲取原始數據塊,因此,通過比較所接收到數據塊的哈希值與原始哈希值便可驗證接收數據塊的正確性[16]。但標準哈希函數不能處理源節點無法預先定義隨機編碼包的問題,可能存在偽數據包的風險,而同態哈希函數能使對等體發現偽造塊的存在。
同態哈希函數hG(·) 有一組哈希參數G=(p,q,g), 其中g的每個元素被描述為x(p-1)/qmodp,x∈Zp且x≠1
hG(·)∶{0,1}α×{0,1}β→{0,1}λp
rand(·)∶{0,1}k×{0,1}t→{0,1}t
(4)
式中:rand(·) 是一個偽隨機函數,作為偽隨機數生成器用于初始化過程中同態哈希函數參數、標簽生成階段隨機數的生成以及挑戰階段數據塊的選擇,從而能夠均勻覆蓋所有的數據。
對于一個塊di, 哈希值計算如下
(5)
給出一個編碼塊fj和一個系數向量 (cj,1,cj,2,…,cj,m), 則同態哈希函數hG(·) 滿足下式
(6)
利用上式能夠驗證一個編碼塊的完整性。發送方首先需要預先計算每個數據塊的同態哈希值,接收方下載該同態哈希值,并用式(5)計算其哈希值且用式(6)驗證該數據塊的正確性。
大數據安全技術應用于云系統時,首先用戶將其元數據發送給發送方和接收方云,發送方/接收方云和用戶之間通過可共享憑據進行加密。其中發送方使用隨機訪問密鑰將加密的數據節點地址和數據塊ID發送給接收方,而接收方創建與其數據節點共享的加密塊訪問密鑰,以觸發在發送方數據節點上復制或移動存儲的數據請求,該請求由發送方數據節點接收并解密以進行身份驗證。
基于同態哈希進行身份認證,發送方數據節點將數據包發送給接收方數據節點,等待其響應以確認數據包接收。如果數據包的哈希值被成功確認,則接收方數據節點向發送方數據節點發送加密確認;如果由于任何原因錯過確認,則接收器數據節點可以接收同一數據分組的多個副本,在這種情況下,將忽略所有重復的數據分組。發送方數據節點接收到確認,并通過刪除發送的數據或在發送成功的副本時保留數據來響應接收方傳輸數據請求。基于同態哈希認證的大數據安全技術執行流程如圖3所示。

圖3 大數據安全技術流程
針對數據傳輸時的大數據安全分析,首先考慮該過程在發送方和接收方之間傳輸的元數據可能被入侵者捕獲,以及其它可能存在的數據風險。但元數據是加密的,無法解密,因此入侵者攻擊失敗,即使它們以發送者或接收者的身份出現塊訪問密鑰和哈希值,但傳輸的數據保持加密模式。然后,可能存在潛在風險的是入侵者破壞或持有傳輸的數據包,但通過確認數據包傳送和哈希值以檢查數據可用性,從而實現了數據的完整性。
所提的大數據安全傳輸機制首先利用大數據分類技術將將不同類型的文件均轉換為文本文件,并使用HDFS輸入格式化程序驗證任務的輸入規范,且將其分割為不同的分區,根據所有分區中的安全搜索值,標識文件類型。如果是機密數據則使用大數據安全技術進行傳輸,發送方對數據進行加密,接收方需要解密且利用同態哈希認證對其身份進行認證,認證通過后方可進行數據傳輸,保證了大數據的安全性[17]。云環境中基于同態哈希認證的大數據安全傳輸機制如算法1所示。
算法1: 基于同態哈希認證的大數據安全傳輸機制
輸入: 用戶元數據UMD, 塊訪問令牌BAT, 發送方云數據節點SCD定時器Tscd, 超時值TO, 最大重傳次數MaxRet, SCD重傳次數Nrt, 接收方云數據節點RCD數量Ndc, 待傳輸的數據DT, 加密密鑰Kt。
輸出: 安全文件
(1)if元數據屬性值MAV文件是機密的,then
(2) 執行步驟(4)-步驟(19)
(3)otherwise轉到步驟(19)
(4) 發送方云名稱節點SCN向接收方云名稱節點RCN發送 {UMD}Kt
(5) RCN與RCD共享BAT
(6) RCD向SCD發送 {BATS}Kt并請求DT
(7) SCD解密BAT并驗證請求的真實性
(8) SCD 向RCD發送 {DT}Kt,hG(·){{DT}Kt}, 啟動Tscd
(9)RCD獲取 {DT}Kt, {{DT}Kt}, 驗證hG(·)
(10)RCD向SCD發送 {acknowledgment}Kt
(11)ifTscd (12) SCD等待確認 (13)otherwiseifNrt (14) 重復步驟(8) (15)otherwise提示SCD中的管理員 (16)ifNdc>MaxRet,then (17) 提示RCD中的管理員 (18)SCD接收確認并從其部分刪除DT (19)end 隨著云系統實時應用的發展,其數據量不斷膨脹,對大量數據進行分類以識別需要保護的敏感數據是一項復雜的任務。為此,設計了一種并行分布式決策樹技術Hadoop MapReduce框架,其中ApacheHadoop2.6.0安裝在PowerEdge R720服務器上,2個處理器插槽-6核Intel Xeon E5-2630,64 GB RAM,運行OS Linux Ubuntu10.04、java 1.0.7-openjdk、PuTTY 0.70身份驗證系統,并與1 GB以太網網卡連接。 由于大數據分類和安全技術與數據文件大小相關,因此在Hadoop MapReduce框架中對大小約為1 GB、2 GB、4 GB、8 GB和16 GB的不同數據文件類型進行測試,以驗證所提機制的性能。在這個框架中,測試了所提分類和安全算法的可行性,以及該框架支持安全的數據傳輸決策。 此外,所提方法主要設計數據分類和安全傳輸,并且安全傳輸中涉及加密算法,會增加所提方法的復雜程度,可能會影響傳輸中的吞吐量和延遲,因此選取分類時間、響應時間、吞吐量和延遲時間作為評價指標。并基于此將所提方法與文獻[6]、文獻[8]和文獻[11]中安全傳輸方法進行對比分析。 其中文獻[6]中提出的HDFS用于通過大量節點實現大數據存儲和計算任務,HDFS支持的大量聚合數據可能會在數據安全性、可用性和一致性方面帶來一定的潛在風險,并且其不支持云內數據加密。文獻[8]中引入了基于HDFS的云存儲的安全數據傳輸流程,在源云和目標云中驗證用戶身份,節點之間啟動安全套接字層SSL連接目標名稱節點,生成一個臨時會話密鑰以及由密鑰加密的隨機數,以便實現數據安全傳輸。文獻[11]提出了一種基于HDFS的混合加密方法以保護文件塊和會話密鑰,采用對稱加密技術對云數據節點上的文件塊進行加密和解密,可防止入侵者擁有來自數據節點的數據,但該方法的網絡開銷較高。 將CSV、SQL、LOG和XLS類型的4種不同大小的文件分類為公開/機密所需的時間如圖4所示。 圖4 不同類型文件的分類時間 從圖4中可以看出,在同一文件大小的情況下,4種文件類型的分類時間相近,由此可見文件類型對分類時間的影響不大。此外,由于文件的增大其內部數據會劇增,處理會較為復雜,因此分類時間會隨著文件大小的增加而增加。 數據傳輸過程中通過使用用戶在發送方和接收方云之間建立的公共密鑰對兩個云的身份進行驗證,使其能夠生成和驗證必要的令牌。因此,由于發送方和接收方之間的額外傳輸、加密和解密操作,與文獻[8]和文獻[11]相比,所提傳輸機制減少了不必要的網絡帶寬和處理開銷,降低了總傳輸響應時間、總延遲時間和吞吐量,從而提高了HDFS的安全性能。 所提傳輸機制與文獻[6]、文獻[8]和文獻[11]中的HDFS方法以64 Mb/s的速率保護和傳輸5個不同大小的CSV文件所需的平均響應時間如圖5所示。 圖5 大數據傳輸響應時間 從圖5中可看出,所提傳輸機制中的數據傳輸響應時間最接近于文獻[6]的HDFS基準,但文獻[6]中的數據安全性較低;相較于文獻[8]和文獻[11],所提傳輸機制的響應時間最短。由此論證了該方法的優越性,提高了云系統中的數據安全傳輸。 將安全數據傳輸延遲時間(security data transmission delay time,SDTDT)定義為安全數據傳輸響應時間 (secure data transfer response time,SDTRT)和非安全基線數據傳輸響應時間(baseline data transmission response time,BDTRT)之間的差,表達如下 SDTDT= SDTRT-BDTRT (7) 所提傳輸機制與文獻[6]、文獻[8]、文獻[11]中的HDFS方法以64 Mb/s的速率保護和傳輸5個不同大小的CSV文件所需的延遲時間如圖6所示。 圖6 安全數據傳輸延遲時間 從圖6中可看出,相較于其它方法,所提安全傳輸機制的延遲時間是最小的,但保護數據傳輸性將影響云系統的性能,導致吞吐量降低。 為了研究HDFS方法對大數據傳輸吞吐量的影響,將安全數據傳輸吞吐量(secure data transmission throughput,SDTT)定義為從源云到目標云的數據傳輸量(data transmission,DT)除以安全數據傳輸響應時間SDTRT,表述如下 SDTT=DT/SDTRT (8) 所提傳輸機制與文獻[6]、文獻[8]和文獻[11]中的HDFS方法以64 Mb/s的速率保護和傳輸5個不同大小的CSV文件所需的吞吐量(Mb/s)如圖7所示。 圖7 安全數據傳輸吞吐量 從圖7中可看出,隨著文件大小的增加,云用戶間數據傳輸吞吐量降低,很明顯所有HDFS方法均會導致吞吐量下降,但所提傳輸機制的吞吐量是最多的。 上述實驗結果表明,將大數據劃分為較小的文件大小時,所提安全傳輸機制在響應時間、延遲時間和吞吐量方面優于文獻[8]、文獻[11]中的對應算法,其性能是最好,在保證數據安全傳輸的同時盡量不影響數據傳輸量。 所提安全數據移動協議優化了發送方和接收方云之間的通信、加密和解密操作,其關鍵數據始終以加密格式存儲,密鑰僅為數據所有者掌握。由于發送方和接收方引擎在分析、復制或傳輸數據時不負責加密和解密大數據塊,因此大大提高了數據傳輸效率,并減少了傳輸響應時間和延遲時間。 所提傳輸機制考慮了數據傳輸通信過程的效率和安全性、用戶的隱私和數據的機密性,從而滿足了大數據安全需求用戶、發送方和接收方云之間的通信。機制中元數據的加密有助于防范一些主動攻擊者,并且通過相關同態哈希值驗證數據完整性和成功接收由返回確認驗證的數據,防止在傳輸期間改變數據包,保證數據的完整性。 為了避免云系統中可能存在的數據風險以及實現數據傳輸的高安全性,提出了一種云系統中基于同態哈希認證的大數據安全傳輸。所提機制采用大數據分類技術將文件分割成不相交的片段,以明確需要安全保護的文件,并且在傳輸過程中基于同態哈希進行身份認證,以確保數據的安全性。通過Hadoop分布式文件系統從數據分類時間、響應時間、吞吐量和延遲時間等方面論證了所提機制的有效性,不僅避免了公共文件的冗余加密和解密過程,還降低了數據安全應用于公共文件時的額外成本,保證了數據傳輸的安全性。 在接下來的研究中,將考慮對圖像、視頻和音頻文件的分類,但該類型文件需要特殊處理,因此,需要新的技術以處理大數據文件類型。3 實驗結果及性能評價
3.1 大數據分類時間

3.2 大數據傳輸響應時間

3.3 安全數據傳輸延遲時間

3.4 安全數據傳輸吞吐量

4 結束語