張之明,羅 杰
(武警工程大學 信息工程系,陜西 西安 710086)
?
·信息科學·
基于元數據屬性的數據價值分級及加密機制
張之明,羅杰
(武警工程大學 信息工程系,陜西 西安710086)
針對云存儲中對所有數據采用統一的加密算法造成數據加密高復雜度的問題,提出了一種基于元數據屬性的數據價值分級及加密機制。首先,利用數據對象元數據的屬性評定數據對象的數據價值,并對數據進行分級,而后,根據數據的價值級別選擇相應的加密算法,給出數據加密的解決方案。通過對實驗數據的分析與比較,驗證了該機制能夠獲得更好的加密效果,大大減少了數據加密的時間復雜度。
元數據屬性;數據價值;數據分級;數據加密
數據存儲到云端之后,容易受到兩方面的威脅:其一,云存儲平臺作為不可信的第三方,一旦服務器出現故障,可能會泄露數據;其二,云平臺被非法侵入后,數據存在被竊取、篡改和偽造的風險。因此,存放在云端的數據要經過數據加密,用戶下載后經過解密方可使用。目前主流的加密策略有基于屬性加密[1-2]和基于代理加密[3-4]兩大類型。
在數據加密安全方面,由于大數據本身龐大的數據量,若對每個數據塊都采用諸如對稱加密、代理重加密等方法,雖然可以保證安全性,但無疑會增加數據加密的復雜度,加重了主機和網絡的工作負載,容易造成擁塞。因此,給大數據中不同重要程度的數據進行分類并采用相應復雜度的加密算法是十分必要的。
1.1數據價值
數據價值用來衡量數據傾向于存儲在高級設備的程度,是數據分類和分級的重要指標。通常由數據的商業重要性、訪問頻率、數據大小等因素決定。數據價值的評價方法主要分為原始的方法、基于策略和基于非策略的評價。原始的評定方法考慮因素單一、簡單、準確性差,沒有把適應度考慮進去。一些方法大量依靠外部人為因素,如文獻[5];基于策略的評價方法由用戶制定一個或多個策略,依據策略來評價數據價值。該方法在評值的準確度方面考慮了更多因素,通過反饋調節提高價值評定的準確度。但是,這種策略對外部信息的依賴過大,如文獻[6]給出的一種ACE數據價值的評定結構。基于非策略的方法通過特定公式來計算數據價值,將數據屬性和訪問形態作為公式的輸入。這類方法不需要人為制定策略,更廣泛地考慮了數據屬性和訪問形態[7]。
1.2數據分類
數據分類[8]是定義數據集的訪問、恢復等特征,并依據不同的業務目標劃分數據,實現基于數據的重要程度對數據進行分級的管理和服務。數據分類是定義數據分級加密的前提和基礎,是分層存儲管理(hierarchical storage management, HSM)和信息生命周期管理(information lifecycle management, ILM)研究中的重要問題。
分類的依據通常是既定的策略,一般有knowledge-based型、expert-based型和example-based型等。分類的實現可分為憑經驗手工分類、靜態分類和動態分類等幾種方法。憑經驗分類的方法由數據中心管理員根據經驗劃分數據的類型;靜態分類是在系統構建后業務服務開始之前預先設定好分類規則;動態分類能夠按照數據生命周期的變化來調整分類規則。
1.3ACE結構
ACE數據價值評定結構[6],采用基于策略的方法對數據評值和分類。用戶基于經驗設定一系列策略,每個策略可對數據的多個不同屬性設定不同的權值,再對每項屬性上的可能取值設定分數。評值時,根據每個數據在所有策略的所有屬性上的值的得分,結合各屬性的權值,綜合得到數據的價值。
針對大數據下不同重要程度的數據均采用復雜加密算法帶來的主機和網絡負載擁塞的問題[9],提出了一種基于ACE結構的數據分級加密機制ACEE。ACEE的關鍵特征如下:
1)提供分類方法和數據加密方案,ACEE能夠半自動化地確定數據的價值,定義數據的級別,根據數據自身的價值,為數據選擇合適的加密算法。
2)采用基于策略的價值評定方法,為了幫助管理者確定數據的價值,ACEE采用了一種基于策略的價值評定機制。這些策略決定了數據如何被映射為不同的價值層次,決定了加密算法怎么被映射為不同的等級,從而使性能最優化。ACEE使用了一系列的優化算法,通過減少需要處理的數據的領域空間和用于分類的策略來提升分類的性能。
ACEE提供了模塊化的結構對數據進行處理并給出了對數據加密的解決方案來最大程度地減少加密的復雜度。圖1給出了ACEE的結構圖。

圖1 ACEE結構圖Fig.1 ACEE architecture
ACEE結構主要由3部分構成:數據分類引擎、加密分類引擎和數據加密引擎。
數據分類引擎:該組件負責挖掘數據元數據的屬性,基于所用的策略確定數據的價值,為數據評定的價值和根據這些價值完成的數據分類的等級是一對一的映射關系。這里,我們把數據的價值分為1~9這9個不同的級別[10],9代表的數據價值最高。
加密分類引擎:這部分組件負責挖掘可用的加密算法的性能,并根據算法自身的復雜度、安全性、穩定性等屬性把加密算法分為不同的級別。
數據加密引擎:該組件把兩種分類引擎融合在一起,協調數據級別和加密算法的級別,形成數據加密的解決方案。它建議哪一級的數據使用哪一級的加密算法來滿足用戶對數據整體安全性的要求,實現了使用最小的加密復雜度最大限度地確保數據的加密安全。
2.1輸入
圖1給出了ACEE結構輸入的3種來源:知識庫、數據和加密算法顯著的屬性和用戶自輸入。
知識庫:這里的知識庫是分類策略的集合,這些策略封裝了用于數據(加密算法)分類的領域知識。每一個策略由一系列的顯著的數據屬性、相應的屬性價值以及符合這些屬性價值的數據價值構成。
顯著的數據或者加密算法屬性:這部分的輸入來自挖掘目標數據的屬性和加密算法的性能。比如,我們可以監測數據的不同屬性如文件類型、大小、最近更新時間等。
自定義輸入:管理者可以提供關于如何進行數據分級的輸入或者提示,也可以創建自定義的分級策略,這些策略也可以被添加進知識庫。
2.2數據分級機制
ACEE對所有的數據對象采用一種簡單的分組方式,通過把具有相同價值的數據分到同一個級別中實現數據分級。分級引擎挖掘數據或者加密算法的屬性,然后與所有的策略相比較找出能用于此對象分級的策略。在ACEE中有3種分級的方式:
1)基于知識的策略:知識型的策略預封裝在ACEE結構中。通過與專家進行一定時間的咨詢后收集信息,這些信息都是基于經驗的。管理者可以即時創建新的知識策略在數據分類完成前。實際應用中可能存在一種數據對象不滿足所有知識策略中給出的屬性值,因此該數據對象無法使用基于知識的策略進行分類,此時,ACEE可以進行以下策略:

b)設置一些默認的數據價值,如果沒有一種策略滿足在上述策略中匹配率超過50%。
2)基于專家的策略:這種策略允許管理者對相關的屬性進行排序,規劃一個新的策略。管理者選擇一系列的屬性集并給這些屬性分配排名。也可以給不同的屬性價值賦值,這些值經過整合和規范后,用來形成一個策略函數。假設管理者選定了“A1=所有者,A2=訪問時間”這兩種屬性,并把前一種屬性“A1=所有者”的重要程度高于后者。ACEE會內在把兩種屬性映射為相關的兩種等級R1和R2。進一步,假設為第一種屬性分配了3種不同重要程度的屬性a11,a12,a13,分別對應的價值為s11,s12,s13;同樣地,訪問時間的兩種屬性a21,a22分別對應s21,s22,ACEE計算數據價值的公式定義為
BV(d)=R1·((s11·v(a11)+s12·v(a12)+s13·v(a13))+R2·(s21·v(a21)+s22·v(a22)))。
其中,BV(d)代表數據對象d的數據價值。如果Ai=aij,則v(a11)=1,否則v(a11)為0。
3)基于實例的策略:在這種策略中,管理者可以給出樣本文件及其對應的數據價值的集合。ACEE從樣本數據集中挖掘屬性和關聯的數據的價值進而形成一種符合具體數據價值的策略。這些實例文件被用作訓練數據集來規范機器學習技術如回歸和決策樹技術[11],形成分級的策略函數。
2.3數據分級策略
通過挖掘數據對象的元數據的屬性,進行數據分級,我們考慮的數據對象是文件的形式。表1給出了ACEE在數據分級時使用的部分元數據的屬性。
表1用于數據分級的元數據的屬性列表
Tab.1List of attributes that can be mined for data classification

屬性LinuxWindows所有者DD訪問權限DD應用II大小DD文件類型DD上次讀操作時間DD上次寫操作時間DD創建時間-D擴展性DD
注:D表示操作系統可以直接可用;I表示需要使用內部的ACEE機制或者本地系統的APIs整合。
ACEE通過掃描文件系統或者分析文件系統的追蹤文件獲取元數據的屬性,表1中的大多數的屬性可以僅通過掃描系統文件獲得。然而,一些屬性如訪問頻率需要監視系統一段時間才能得到。
數據分級的策略取決于選擇的全局目標函數和數據對象的領域兩部分,用于用戶類數據和代碼類數據的分類策略不同于系統應用日志類的數據。表2給出了在實驗中使用的不同領域數據分級的策略實例的部分樣例,數據價值分為1~9這9個級別。

表2 不同領域的樣本數據部分分級策略
注:CTIME 表示創建時間,ATIME表示上次訪問時間,.CODE和.OFFICE表示一組數值。
2.4加密方法分級策略
ACEE通過挖掘可用加密算法的性能作為加密分級的依據。算法的加密性能可以通過加密技術本身獲取,ACEE還具有良好的兼容性,可以把ACEE和其他的軟件或者組件連接起來,通過這些軟件或組件獲取加密技術的性能。
2.5數據加密
數據加密負責匹配數據的級別和相應的加密算法。ACEE的目的在于讓最重要的數據采用最佳性能的加密算法,讓無關重要的數據采用級別最低的加密算法。ACEE在實際數據加密時,采用一種簡單的匹配策略:具有最高級別的數據采用最高級別的加密算法,中等級別的數據采用中等級別的加密算法,最低級別的數據采用最低級別的加密算法。
2.6輸出
ACEE的輸出主要包括3個部分:數據分級引擎的輸出是基于自身數據價值的數據級別;加密算法分級引擎的輸出是基于加密算法性能的加密級別;數據加密引擎的輸出是把數據級別和加密級別相結合的數據加密的解決方案。
2.7性能優化
ACEE瀏覽每個數據對象來挖掘數據的元數據屬性,然后把這些屬性與每一個策略比較確定數據的價值。假設有m種策略和n個數據對象,那么最壞的情形下,時間的復雜度為O(mn)。為此我們提出了兩類優化算法提高系統的整體性能。
2.7.1策略領域的優化算法使用回歸函數表示所有用于分級的策略來減少策略領域的規模是一種提升系統性能的方法。我們使用給定的策略表為給定的樣本文件分級,或者管理者給定樣本文件具體的數據價值,然后用文件的元數據的屬性和計算得到或者給定的數據價值生成一個回歸函數。ACEE使用這個簡單的回歸函數對輸入數據進行分級,而不用將每一個數據對象與每一種策略相比較,因此,我們把最壞情形下的時間復雜度降低到了O(n)。
2.7.2數據領域的優化算法另一種提升性能的方法是減少數據對象領域的規模。采用文件抽樣和預處理策略這兩種方法實現這個目標。
1)文件抽樣:在掃描數據集時,對每一個目錄我們采樣其中的一部分文件集而不是掃描整個數據集。ACEE選擇全部文件中一些固定的部分,并且只挖掘這部分數據的元數據的屬性。根據每個目錄中樣本數據的元數據屬性的價值,ACEE有3種方式進行數據分級:
a)選擇一個適合大部分抽樣數據的分級策略,并把該策略對應的數據價值用于整個數據集。
b)在所有的匹配的策略中,選擇使數據具有最高價值的分級策略,并把該策略對應的數據價值用于其他的數據。
c)取所有匹配策略的數據價值的平均值,使用該價值用于整個數據集。
2)預處理策略:ACEE可以通過預處理策略預測數據對象的哪些屬性需要掃描。對于沒有用于定義任何策略的屬性不必進行掃描,這種方法提高了掃描數據的性能。
為了驗證ACEE結構的性能,我們選擇了3種不同領域的數據集對ACEE結構的分級功能、數據加密以及性能優化的算法進行了測試。
3.1實驗數據環境
我們對3類數據集在Inter P4 3GHz,2GB RAM運行Windows 2003高級服務器系統的機器上進行了實驗,同時使用Windows API通過JAVA Native Interface(JNI)來挖掘系統的元數據的屬性。3類數據如表3所示。

表3 實驗數據列表
其中,代碼類數據集來自于本地實驗室的一個CVS存儲庫,該庫中存儲了近3年來30多名用戶的項目設計代碼;用戶類數據集是單一用戶的5年來個人文件的集合,包括個人文件、媒體文件、代碼文件、網頁文件等;應用日志類數據集來自于匿名服務器,包含有1.28 million很少改動或者刪除的文件。
3.2開銷節省
這部分,我們給出了使用ACEE加密數據與傳統的統一使用最高級別加密算法的數據加密相比帶來的效益。這里,我們使用基于知識的策略進行分級,對數據價值級別為8~9的數據采用3DES算法進行加密,6~7采用AES算法進行加密,4~5采用DES算法進行加密,1~3采用Blowfish算法進行加密。
圖2(a)給出了每類數據集中根據數據價值的級別可分別采用不同加密算法的數據比例。可以看出,代碼類數據中約70%、用戶數據中約65%的數據可以采用最低級別的加密算法。大約70%的應用日志類數據應該采用DES類級別的加密算法。這幅圖說明ACEE可以確定數據的價值并給出一個合理的數據加密算法。
圖2(b)給出了采用ACEE分級加密算法和采用統一最高性能加密算法所耗時間的對比。我們使用平均標準衡量[12]各部分的開銷:3DES算法2 663B/s,AES算法5 326B/s,DES算法7 988B/s,BF算法10 167B/s。可以看出,代碼類數據集大約可以節約50%的加密時間,應用日志類數據可以減少約65%的加密復雜度。

圖2 使用ACEE不同加密算法的開銷節省Fig.2 Usage of different encryption and effective cost savings using ACEE
3.3策略領域優化
這里使用一般線性模型學習回歸函數,因為它允許使用無條件和數值型的變量[13]。為了驗證策略領域優化的效果,我們以用戶類數據和代碼類數據為例,使用基于知識的策略從數據集中生成一個訓練和測試集。準確度的標準用訓練數據集和測試數據集的預測錯誤的比例來表示。不同訓練集大小下回歸函數的準確度實驗結果如圖3所示。
從圖中可以看出,使用回歸分析的優化策略對代碼類文件起到了很好的優化作用,誤分類的比例在15%以下;對于用戶數據集來說,當訓練數據較小時誤分類的比例高,當訓練數據增大時,誤分類的比例減少,因此該方法適用于訓練數據量大的用戶數據集。
3.4數據領域優化
這部分我們以數據抽樣的方法為例對數據領域的優化算法進行驗證。圖4給出了對用戶數據集采用數據抽樣進行數據分級的結果,我們用式(1)和式(2)這兩種方式[6]衡量分級的準確性,

(1)
這種衡量的方法簡單的給出了錯誤分級的比例,

(2)
其中I(Fi)和C(Fi)分別表示每個文件Fi的理想數據價值和計算得到的數據價值。這種方法從錯誤分級與理想數據分級之間的距離來衡量錯誤分級的大小。

圖3 使用回歸分析和基于實例型策略的分級Fig.3 The classification done using regression function analysis and example-based policy

圖4 采用抽樣法得到分類準確度與時間性能之間的權衡關Fig.4 The trade-off of classification accuracy and time performance by sampling
圖4分別給出了采用抽樣數據的平均數據價值、最大數據價值和最匹配策略時使用兩種衡量分級準確率方法的花費時間和準確率的百分比。100%抽樣時3種方式的花費時間分別是379s,374s和554s,對于總大小18.4GB,包含32 800個文件的數據集,10%抽樣時的準確度達到90%。我們不采用優化算法時,當把時間降為15%時,準確率為85%。實驗數據顯示,如果文件被很好地按目錄組織,文件抽樣的算法將大大提升ACEE的性能。
在大數據與云存儲的背景下,需要滿足數據存儲的安全性與時效性的需求。本文基于數據分級存儲的結構ACE,提出了一種基于數據價值的數據分級加密機制ACEE,實現數據的分級加密存儲。該機制通過使用元數據的屬性,評價數據對象的數據價值,指導數據分級并給出一種與數據價值相適應的加密算法對數據對象進行加密。文中以3類大容量數據集為實驗數據,模擬大數據環境,實驗證明,ACEE在確定數據價值和提供加密方案上充分利用了數據的信息,尤其是在處理大容量數據集上,與傳統的加密方式相比,ACEE給出的數據分級加密解決方案大大降低了加密的時間復雜度。
[1]XIONG A P, GAN Q X, HE X X, et al. A searchable encryption of CP-ABE scheme[C]∥Proc of Media Technology and Information Processing,2013:345-349.
[2]BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption[C]∥IEEE Symposium on Security & Privacy,2007:321-334.
[3]JUNG T H,LI X Y,WAN Z G,et al. Privacy preserving cloud data access with multi-authorities[C]∥IEEE International Conference on Computer Communication,2013:2625-2633.
[4]BLAZE G,BLEUMER G,STRAUSS M. Divertible protocols and automic proxy-cryptography [C]∥Advances in Cryptology-Euro-crypt,1998:127-144.
[5]PIERRE E. Introduction to ILM: A tutorial [EB/OL].[2011-07-11] http:∥www.snia.org/tech-activities/dmf/ILM-Solutions-Conference/2004/Agenda/IntroductionILM,2004.
[6]SHAH G,VORUGANITI K,SHIVAM P, et al. ACE:Classification for information lifecycle management[R].Almaden:IBM Research Division,2006.
[7]LU S, LIU G M, XU K, et al. Research on the data migration strategy of hierarchical mass storage system[J].Computer Engineering & Science,2009,31(1):163-167.
[8]趙曉南, 李戰懷,曾雷杰,等.分級存儲管理技術研究[J]. 計算機研究與發展,2011, 48(增): 105-111.
[9] 洪漢舒, 孫知信. 基于云計算的大數據存儲安全的研究[J].南京郵電大學學報(自然科學版), 2014, 34(4): 26-32.
[10] CLOKE P S,CORDERY L.The value of streamflow data for storage design[J].Water Resources Research, 1993,29(7):2371-2376.
[11] GLASS C, LEV B. Data analysis, regression and forecasting[J].Interfaces, 1996, 26(5):87-88.
[12] NADEEM A, JAVED M Y. A Performance Comparison of Data Encryption Algorithms[C]∥Information and Communication Technologies,2005.ICICT 2005.First International Conference on. IEEE,2005:84-89.
[13] BUKH P N D, JAIN R. The art of computer systems performance analysis, techniques for experimental design, measurement, simulation and modeling[J]. Wiley-Interscience, 1992,35(3):113-115.
(編輯李靜)
A data value classification and encryption mechanism based on metadata attributes
ZHANG Zhi-ming, LUO Jie
(Department of Information Engineering, Engineering University of CAPF, Xi′an 710086, China)
In view of the situation that data encryption techniques take the same way to all different data in the field of cloud storage, which may increase the complexity of data encryption in the environment of Big Data. A new data hierarchical encryption architecture is proposed. The architecture uses a policy-based approach to classify data based on the metadata attributes, then provides a suitable data encryption solution to ensure informed use of the encryption algorithm. Some useful conclusions are obtained through the analysis and comparison of the experimental data, which shows the architecture benefits a lot in reducing the time costs and complexity of data encryption.
metadata attributes; data value; data classification; data encryption
2015-10-11
國家自然科學基金資助項目(61402529);陜西省自然科學基金研究計劃基金資助項目(2015JQ6266)
張之明,男,山東濰坊人,武警工程大學副教授,從事大數據與云計算研究。
TP391
A
10.16152/j.cnki.xdxbzr.2016-02-007