陳志輝, 吳敏敏
( 莆田學(xué)院 信息工程學(xué)院, 福建 莆田 351100 )
隨著社會信息化和網(wǎng)絡(luò)化的高速發(fā)展,大數(shù)據(jù)已成為目前繼云計算之后信息技術(shù)領(lǐng)域的另一個信息產(chǎn)業(yè)增長點.但隨著大數(shù)據(jù)應(yīng)用的不斷擴展,其安全性問題也逐漸引起了人們的重視.對此,許多學(xué)者對大數(shù)據(jù)的隱私管理、訪問機制和數(shù)據(jù)加密等安全問題進行了研究.例如, W.Itani等提出了有關(guān)保護用戶隱私的協(xié)議[1], S.Creese等提出了企業(yè)云部署中的隱私安全管理機制[2], A.Parakh等提出了共享隱式機制[3],但是這3種方案都是基于加密機制的數(shù)據(jù)隱私性保護方案,缺乏動態(tài)的安全策略,不適合于大量非結(jié)構(gòu)化數(shù)據(jù)的隱私保護.學(xué)者們除了對數(shù)據(jù)的隱私和訪問機制進行研究外,還對數(shù)據(jù)存儲的加密算法進行了研究,如加法同態(tài)的Paillier算法[4]、加法和乘法的同態(tài)IHC和MRS算法[5]以及C.Gentry的理想格的加密算法[6]等.這3種算法雖然都能滿足聚合與計算的安全需求[7],但無法對組合的數(shù)據(jù)集提供不同等級的安全保障,若直接將算法運用于大數(shù)據(jù)上,其效率必然低.為此,本文提出一種基于熵值法賦權(quán)的非結(jié)構(gòu)化數(shù)據(jù)敏感化模型,動態(tài)地調(diào)度安全套件內(nèi)的算法來保障非結(jié)構(gòu)化的數(shù)據(jù)安全,并通過實驗驗證本文方法的有效性.
本文的安全框架主要包括兩個功能:一是應(yīng)用數(shù)據(jù)分析(包括數(shù)據(jù)過濾、集群和分類)動態(tài)地識別出數(shù)據(jù)的類型和敏感度,該功能有助于為數(shù)據(jù)庫構(gòu)建數(shù)據(jù)節(jié)點.數(shù)據(jù)庫節(jié)點包含不同類型的數(shù)據(jù),例如文本、XML、電子郵件、圖像、視頻和音頻等.二是將現(xiàn)有的安全服務(wù)標準或算法集成優(yōu)化,構(gòu)建安全套件,通過接口的調(diào)度保護數(shù)據(jù)的隱私性、完整性以及不可抵賴性.本文的安全框架圖如圖1所示.
圖1 大數(shù)據(jù)安全框架
目前,非結(jié)構(gòu)化數(shù)據(jù)普遍采用KerBeros協(xié)議,并結(jié)合訪問控制表對用戶進行授權(quán)訪問[7].該訪問模式的數(shù)據(jù)敏感性只能通過人工識別后標識,因此文件只能是靜態(tài)的訪問控制方式,容易導(dǎo)致數(shù)據(jù)的泄露.因此,有必要設(shè)計一個數(shù)據(jù)敏感度級別評估器,自動地識別出數(shù)據(jù)的敏感度級別.本文設(shè)計的數(shù)據(jù)敏感度級別識別模型如圖2所示.圖2中,Ui表示用戶;Di表示數(shù)據(jù)集;Ri表示數(shù)據(jù)項的集合;Ri,j表示集合Ri指向一個具體數(shù)據(jù)項j的邊;CUi,Di表示用戶Ui對數(shù)據(jù)集Di的訪問次數(shù);dRi,j,Rm,n表示數(shù)據(jù)集Ri中的一個具體數(shù)據(jù)項j指向集合Rm中的一個具體數(shù)據(jù)項n的邊.
圖2 數(shù)據(jù)敏感度級別識別模型
信息熵可以解決對數(shù)據(jù)敏感度級別的量化度量問題,即用熵的變化來識別數(shù)據(jù)敏感度.
(1)
信息熵表示為
(2)
其中p(xi)表示數(shù)據(jù)集i的概率函數(shù), 它主要受數(shù)據(jù)使用率、連接度和數(shù)據(jù)質(zhì)量3個因素的影響,即:數(shù)據(jù)項使用頻率越高,敏感度越高;數(shù)據(jù)項連接越多,數(shù)據(jù)敏感度越高;數(shù)據(jù)的損壞或缺失越大,數(shù)據(jù)敏感度越高.
定義2數(shù)據(jù)使用率函數(shù)
(3)
定義3連接度概率函數(shù)
(4)
定義4數(shù)據(jù)質(zhì)量函數(shù)
(5)
(6)
將式(3)—(5)分別代入式(2)中,得:
(7)
(8)
(9)
將式(7)—(9)分別代入式(6)中,得:
(10)
將式(10)代入式(1),計算所得的取值范圍為0~1.本文為數(shù)據(jù)集設(shè)計一個基于代碼的場景.所有數(shù)據(jù)被定義為3個級別,其中敏感度C(xi)趨近0是受敏感協(xié)議保護的數(shù)據(jù)集,設(shè)定其敏感度級別代碼為“01”,這類數(shù)據(jù)必須實施最強的安全標準或算法,以確保最高級別的安全性;敏感度C(xi)趨近0.5的數(shù)據(jù)集,設(shè)定其敏感度級別代碼為“02”,這類數(shù)據(jù)需要處理速度快的安全算法,但其安全標準可低于“01”標準;敏感度C(xi)趨近1是對訪問和存儲數(shù)據(jù)的環(huán)境風(fēng)險控制要求較低的數(shù)據(jù)集,設(shè)定其敏感度級別代碼為“03”,這類數(shù)據(jù)僅使用身份驗證即可訪問.
安全套件是數(shù)據(jù)文件安全防護的重要模塊之一,它包含訪問控制、加密和簽名等功能組件[8].本文中的安全套件是指在現(xiàn)有安全標準或算法的基礎(chǔ)上,按照不同的安全需求變換組合后形成的安全算法庫.基于文本TX的安全套件(見表1),本文從3個方面考慮安全問題:一是隱私性(CS).隱私性首選的數(shù)據(jù)加密標準為DES(Data Encryption Standard), 3DES(3次DES算法)用于敏感度級別更高的數(shù)據(jù)集.二是完整性(HF).散列算法Snefu-256和Tiger都能保證數(shù)據(jù)的完整性,但蠻力攻擊測試結(jié)果表明Snefu-256算法更適合于敏感度級別高的數(shù)據(jù)集.三是真實性(MC).AES-CCM和HMAC-SHA1算法都能保護數(shù)據(jù)的真實性,但由于AES-CCM是加密算法和認證算法的混合模式,執(zhí)行時間相對長,因此更適合于敏感度級別高的數(shù)據(jù)集.當用戶訪問或存儲數(shù)據(jù)時,系統(tǒng)依據(jù)代碼調(diào)度安全套件中的相應(yīng)算法,并激活適合的安全服務(wù).例如,對于代碼為TXCS01,系統(tǒng)選取3DES算法為數(shù)據(jù)提供加密服務(wù).
表1 文本TX的安全套件
基于XML文檔的安全套件,本文主要考慮加密、數(shù)字簽名、身份驗證和訪問控制等服務(wù),這些服務(wù)的代碼分別定義為EC、DS、AC和AP.XML Enc用于對XML文檔實施加密,維護XML文檔的隱私性;XML_DSig用于提供XML文檔數(shù)字簽名,確保消息的不可抵賴性等;安全斷言標記語言SAML用于提供身份驗證和信息授權(quán)等;可擴展訪問控制標記語言XACML用于訪問控制策略.部分XML文檔安全套件如表2所示, 表中XX表示通用服務(wù)代碼.因電子郵件、圖像、視頻和音頻等數(shù)據(jù)的安全套件創(chuàng)建辦法與文本TX和XML文檔類似,故在此省略.
表2 XML文檔的安全套件
為了分析系統(tǒng)的性能,本文構(gòu)建一個評估函數(shù)對數(shù)據(jù)安全性能進行評估.
定義6某一數(shù)據(jù)集的系統(tǒng)開銷(處理時間)由該數(shù)據(jù)集內(nèi)不同敏感度級別的安全性權(quán)值與概率的各乘積之和來表示,即:
(11)
其中:O(S)表示開銷(處理時間)的函數(shù),若O(S)=1, 則該套件將承擔所需的全部開銷;S表示不同數(shù)據(jù)類型的安全套件.Vk表示敏感度級別為k的數(shù)據(jù)其安全性所需的值.對于敏感度級別“01”的數(shù)據(jù),使用安全度最高的服務(wù),設(shè)定V1=1; 對于敏感度級別“02”的數(shù)據(jù),提供必要的安全性,設(shè)定V2=0.6; 對于敏感度級別“03”的公共數(shù)據(jù),則設(shè)定V3=0.1.Pk表示敏感度級別為k的數(shù)據(jù)的概率,k=1,2,3.
為了研究數(shù)據(jù)敏感度問題,對某一地區(qū)機構(gòu)組織的數(shù)據(jù)進行分析,結(jié)果見表3.從表3數(shù)據(jù)可知,教育機構(gòu)的敏感性相對最低.若單獨對教育機構(gòu)提供安全套件的安全保障,可為其節(jié)省59.5%的系統(tǒng)開銷.
教育機構(gòu)O(S)的計算方法如下:
O(S)=V1P1+V2P2+V3P3=1×0.2+
0.6×0.25+0.1×0.55=0.405.
若為教育、醫(yī)療機構(gòu)和研究所等6個機構(gòu)組織提供安全套件的安全保障,則可為其節(jié)省44%的系統(tǒng)開銷.由此可知,本文提出的方法不僅具有安全性,還能顯著提升系統(tǒng)的性能.
表3 某地區(qū)不同機構(gòu)的數(shù)據(jù)敏感度級別
使用Java編程語言支持的包訪問不同的數(shù)據(jù)源,并將數(shù)據(jù)存儲到MongoDB數(shù)據(jù)庫中,然后利用實驗驗證本文方法的有效性.
實驗數(shù)據(jù)源選取于維基百科數(shù)據(jù)和百度,因為二者都有單獨的數(shù)據(jù)檢索,可檢索到大量的圖片和文本等數(shù)據(jù).首先,通過Java支持的包對維基百科和百度數(shù)據(jù)源進行數(shù)據(jù)檢索,并確定文件的數(shù)據(jù)類型;其次,通過數(shù)據(jù)敏感度級別評估器對檢索到的數(shù)據(jù)集進行評估,并生成對應(yīng)的數(shù)據(jù)敏感度級別代碼;最后,利用Java程序?qū)⒚總€數(shù)據(jù)文件(包括數(shù)據(jù)類型和敏感度級別)存儲到MongoDB數(shù)據(jù)節(jié)點中.
為了證明系統(tǒng)的性能,使用2組數(shù)據(jù)集(數(shù)據(jù)均從MongoDB中讀取)進行實驗.其中一組讀取原始數(shù)據(jù)集,以最高安全3DS算法、敏感度級別為“01”和“02”的安全標準對其進行實驗,執(zhí)行時間如表4—表6所示.另一組讀取含有數(shù)據(jù)類型和敏感度級別的數(shù)據(jù)集,應(yīng)用安全套件對其進行實驗,執(zhí)行時間如表7所示.從表4—表7中的數(shù)據(jù)可知,應(yīng)用安全套件的執(zhí)行時間均低于上述各級別算法的執(zhí)行時間.
表4 應(yīng)用3DES算法的執(zhí)行時間
表5 應(yīng)用敏感度級別“01”算法的執(zhí)行時間
表6 應(yīng)用敏感度級別“02”算法的執(zhí)行時間
表7 應(yīng)用安全套件的執(zhí)行時間
各算法處理數(shù)據(jù)集的時間開銷如圖3所示.從圖3中可以看出,應(yīng)用安全套件處理數(shù)據(jù)的時間開銷均小于應(yīng)用其他安全算法處理數(shù)據(jù)的時間開銷.這是因為安全套件是動態(tài)的安全標準,它根據(jù)數(shù)據(jù)的敏感度選取最適宜的安全標準,因此處理速度較快.圖4為應(yīng)用安全套件的時間開銷與其他算法的時間開銷的百分比.從圖4中可以看出,若為其提供安全級別高或較高的算法,如3DS算法和敏感度級別“01”算法,其處理時間大幅增加;若為其提供安全級別低的算法,如敏感度級別“02”算法,雖然處理時間會相應(yīng)減少,但其數(shù)據(jù)安全性較低.而應(yīng)用安全套件算法,不僅能保證數(shù)據(jù)的安全性,而且還能明顯降低時間開銷(僅占3DS算法時間開銷的46.49%和敏感度級別“01”算法時間開銷的52.85%).
圖3 各算法的時間開銷
圖4 安全套件算法的時間開銷與其他算法的時間開銷的百分比
實驗表明,本文提出的基于熵值法賦權(quán)的非結(jié)構(gòu)化數(shù)據(jù)敏感化模型,在能夠充分保障大數(shù)據(jù)安全的前提下,其系統(tǒng)的時間開銷不超過傳統(tǒng)方法的52.85%,因此本文模型有助于用戶安全、快速地訪問非結(jié)構(gòu)化數(shù)據(jù).在研究中,本文僅對非結(jié)構(gòu)化數(shù)據(jù)進行了動態(tài)訪問策略的研究,而對于有實時性要求的場景未能進行研究,因此今后我們將考慮基于時間自動機的實時系統(tǒng)應(yīng)用的研究.