龐家樂,張 彥
(北京交通大學,北京 100044)
當前云計算服務逐漸應用至各個領域,云計算領域的不斷擴大,相應的云存儲服務隨之出現(xiàn)。在當前較多領域中,需存儲的數(shù)據(jù)量日益增多,能夠存儲海量數(shù)據(jù)的云存儲形式逐漸受到關注,用戶可通過各種形式隨意訪問云存儲系統(tǒng)內(nèi)的數(shù)據(jù),但是,云存儲過程中可能會出現(xiàn)數(shù)據(jù)丟失等現(xiàn)象,用戶可自行進行數(shù)據(jù)加密,為數(shù)據(jù)提供一層保密服務,再放置到云存儲服務器中,但該種方法也不能完全保證云存儲數(shù)據(jù)安全。
為此有較多學者對數(shù)據(jù)加密進行研究,例如賈強等人設計針對大型數(shù)據(jù)集的加密方案。針對云存儲環(huán)境中數(shù)據(jù)集過大的用戶,使用塊狀存儲結構優(yōu)化安全索引的數(shù)據(jù)結構。嚴新成等人提出了能夠更新用戶屬性的數(shù)據(jù)加密方案。通過在密文策略屬性加密中構造屬性及用戶版本密鑰,撤銷系統(tǒng)屬性時需要更新屬性版本密鑰來實現(xiàn)對密文密鑰部分構件的可替換更新。但上述加密方法存在加密時間過長,且抗數(shù)據(jù)攻擊能力較弱。
因此,本文研究支持完全外包的云存儲數(shù)據(jù)加密技術。通過改進的分數(shù)階Fourier變換,刪除云存儲數(shù)據(jù)中的重復數(shù)據(jù),減輕數(shù)據(jù)外包加密負擔,之后通過完全外包至服務器的加密形式,將數(shù)據(jù)外包給云存儲服務器進行云存儲數(shù)據(jù)屬性基加密,實現(xiàn)數(shù)據(jù)加密的同時節(jié)約數(shù)據(jù)加密的時間。
2.1.1 重復數(shù)據(jù)信息流檢測與刪除
由于云存儲數(shù)據(jù)中通常存在大量的重復數(shù)據(jù),因此,本文采用改進分數(shù)階Fourier變換方法,查詢與刪除需刪除的重復數(shù)據(jù)。
首先采用分數(shù)階Fourier變換高階累積量算法,對重復數(shù)據(jù)進行查詢,具體過程如下:
重復數(shù)據(jù)信息流()的分數(shù)階Fourier變換過程如式(1)所示,并配合需刪除數(shù)據(jù)內(nèi)的丟失信息流特性,對云存儲重復數(shù)據(jù)進行特征分解,實現(xiàn)對信息流的Fourier域的重建,式(1)調(diào)整后的公式見式(2)

(1)
=·
(2)
式(1)中,F(xiàn)ourier域的階由表示,為實數(shù),設旋轉(zhuǎn)角=π2,通過[·]描述變換算子狀態(tài)記號,并將FRFT的變換核采用(,)描述;為Fourier變換;表示時間(time),表示信息流的離散分數(shù)階;表示變換核。
式(2)中,=[(0),(1),…,(-1)],×維矩陣由描述,由于云存儲數(shù)據(jù)在存儲時需要為每個數(shù)據(jù)節(jié)點構建大量線程信息流特征編碼,因此,采用式(3)描述需刪除數(shù)據(jù)信息流矩陣中的每個元素

(3)
通過以上計算過程,能夠利用4階累積量切片,聚集云存儲數(shù)據(jù)重復信息流,還能夠抑制信息流中噪聲,有效實現(xiàn)重復數(shù)據(jù)檢測后的數(shù)據(jù)刪除,為使重復數(shù)據(jù)剔除更加精準,依據(jù)當前重復數(shù)據(jù)刪除算法,對重刪算法進行改進。
212 云存儲數(shù)據(jù)內(nèi)重復數(shù)據(jù)刪除算法改進
依據(jù)以上重復數(shù)據(jù)檢測以及刪除算法的過程,并通過4階累積量切片后置聚集操作過程,設濾波操作后的需刪除數(shù)據(jù)信息流為輸入向量,重新構建重刪過程。設=[,,…,,…,]為待刪測試樣本集,同時設某一測試樣本為=[1,2,…,,…,]。為保障數(shù)據(jù)安全性,通常會挑選備份數(shù)據(jù)保存至遠端端口,因此,依據(jù)上述的重復數(shù)據(jù)檢測,能夠得到逆變換后的信息流,并通過式(4)表示
=-·
(4)


(5)


(6)


(7)
式(7)中,分配數(shù)據(jù)資源之間關系配比,為經(jīng)以上計算,即能夠通過4階累計量對后置算子進行切片,當后置算子經(jīng)過次切片后,能夠?qū)⒚坎糠诌\存數(shù)據(jù)劃分為若干個塊,對每個云存儲數(shù)據(jù)塊進行重刪,即可以完成云存儲重復數(shù)據(jù)的檢測與刪除,改善數(shù)據(jù)的誤刪概率,并提升云存儲數(shù)據(jù)的抗干擾能力,為后續(xù)云存儲數(shù)據(jù)加密提供可靠的數(shù)據(jù)資源利用率。
對已經(jīng)刪除重復數(shù)據(jù)后的云存儲數(shù)據(jù)進行完全外包加密,構建可驗證完全外包的屬性基加密方案。在本文方案的構建中,一共存在8個實體,分別為:數(shù)據(jù)擁有者(DO),數(shù)據(jù)使用者(DU),權威機構(AA),加密服務器(E-CSP),云存儲服務器(S-CSP),密鑰生成服務器(KG-CSP1,KG-CSP2)以及解密服務器(D-CSP)。在每個實體中,AA負責為整個云存儲系統(tǒng)設計公共參數(shù),當構建出公共參數(shù)后,KG-CSP1、KG-CSP2開始為用戶構建解密密鑰,并且通過該服務器為數(shù)據(jù)使用者驗證解密計算能力;利用E-CSP,DO可以加密明文消息;而DO所制造的密文由S-CSP存儲;利用D-CSP,DU可以進行部分數(shù)據(jù)解密;當DU開始解密操作時,即能夠獲取加密后的明文消息。
在構建本文云存儲數(shù)據(jù)加密方案時,依據(jù)素數(shù)階群下的CP-ABE方案作為本文研究的基礎,并結合傳統(tǒng)外包加密算法的理論,研究可驗證的完全外包的屬性基加密方案,在該方案中,主要包含以下算法。
Setup(U)→(pk,msk):用于初始設置,輸入屬性集合U,輸出公開參數(shù)pk與云存儲系統(tǒng)私鑰msk,其中,msk為保密的,pk為公開的;KeyGen:外包密鑰生成算法;Encrypt:加密算法;Rand算法:隨機數(shù)算法,利用子程序進行計算;Decrypt:外包解密算法;Audit:驗證算法。
并通過如下5個步驟實現(xiàn)。

=(,,(,),,…,)
(8)
同時設=為云存儲系統(tǒng)主密鑰。其中為隨機挑選指數(shù),(,)表示的單位元,表示隨機選定整數(shù),表示雙線性集合。

3)(,,,)→:通過啟動該算法,并設置輸入分別為公開參數(shù),系統(tǒng)主密鑰,以及中間密鑰,,對式(9)進行計算
=′·″=′,=′·″=,

(9)
式(9)中,′=+,=+。經(jīng)計算可得用戶密鑰=(,,,{}∈,),且=-′,其中,表示用戶密鑰。


(10)
式(10)中,表示安全參數(shù),表示密文,表示加密屬性。


(11)
式(11)中,表示外包查詢指數(shù),表示外包解密隨機值。


(12)
其中為素數(shù),拆分完成后,利用隨機值再,繼續(xù)下一步拆分,并通過式(13)表示

(13)
式(13)中,=,=(),1,=-,2,=-+,=(--),并選取=(-)配合下一步計算,其中,表示隨機值,、表示拆分后的關聯(lián)信息。
下一步,DO采用隨機順序?qū)-CSP進行查看,通過式(14)表示查看過程


(14)
(,)→;(,)→
Q表示查看中的密鑰,從E-CSP查詢到消息后,對(,)·(,)開始進行計算,驗證其是否等于,若等于輸出,重復對此進行計算,若不等于,計算式(15)
=·(,)·(1,,)·(2,,)·

(15)


在Java環(huán)境下采用JPBC建立仿真環(huán)境,通過仿真形式驗證本文技術有效性,并選取文獻[6]提出的面向密文大型數(shù)據(jù)集的可搜索加密技術、文獻[7]提出的支持用戶權限動態(tài)變更的可更新屬性加密技術作為本文的實驗對比技術。
由于刪除重復數(shù)據(jù)過程中會產(chǎn)生較多次數(shù)的磁盤讀I/O操作,因此,為驗證本文技術的重復數(shù)據(jù)刪除能力,分析三種技術的磁盤讀取次數(shù),分析結果如圖1所示。

圖1 讀取磁盤次數(shù)對比分析
根據(jù)圖1可知,隨著磁盤容量不斷增加,在進行重復數(shù)據(jù)刪除時的讀取請求次數(shù)也隨之增大,其中,文獻[7]技術的讀取次數(shù)在三種技術中保持最高,最高達到18000次左右,說明該技術在刪除數(shù)據(jù)時需要耗費大量時間來讀取磁盤,而文獻[6]技術的讀取次數(shù)低于文獻[7]技術,但依然高于本文技術,且該技術在磁盤容量增加時讀取次數(shù)上升幅度較大,而本文技術的磁盤讀取次數(shù)雖然有小幅度上升,但本文技術始終保持最低,占用較小的磁盤讀取次數(shù),因此本文技術能夠在讀取次數(shù)較少情況下完成重復數(shù)據(jù)刪除。
選取三種類型數(shù)據(jù)集,分析對不同狀態(tài)下產(chǎn)生的云存儲數(shù)據(jù)加密時,各單位時間下的數(shù)據(jù)去重率,驗證本文技術的數(shù)據(jù)加密去重性能,分析結果如圖2所示。

圖2 各數(shù)據(jù)集的去重率分析
根據(jù)圖2可知,每種數(shù)據(jù)集的去重率并未隨著時間變化呈上升趨勢或下降趨勢,而是上下波動狀態(tài),其中,未包含攻擊的數(shù)據(jù)集去重率最低,而純攻擊類型的數(shù)據(jù)去重率最高,在三種數(shù)據(jù)集中,去重率均達到65%以上,說明本文技術在進行數(shù)據(jù)加密時能夠較好實現(xiàn)不同類型數(shù)據(jù)集的去重。
分析三種加密技術在遭受不同攻擊時的安全性能,分析結果如表1所示,其中“√”表示具備能力,“○”表示不具備能力。

表1 不同技術抵抗攻擊性能分析
根據(jù)表1可知,文獻[6]技術中并未具備雙向認證能力,且在遭受重放攻擊、篡改攻擊以及注入攻擊時無法有效抵抗,而文獻[7]技術中,未具備口令猜測能力,若遭到字典攻擊與偽造攻擊時,加密的數(shù)據(jù)依然無法得到保障,而經(jīng)本文技術加密后的數(shù)據(jù)不僅具備雙向認證與口令猜測能力,還能有效抵抗全部測試過程中進行的攻擊,因此,本文技術在加密數(shù)據(jù)時更加具有安全性。
分析不同技術在數(shù)據(jù)數(shù)量逐漸增長情況下,加密過程中所需計算時間,分析結果如圖3所示。

圖3 不同技術加密時間
根據(jù)圖3可知,隨著數(shù)據(jù)量逐漸加大,三種方法在進行加密時所耗費的時間也逐漸上升,其中文獻[7]技術在加密時耗費時間最長,而文獻[6]技術加密時間雖然低于文獻[7]技術,但依然耗時高于本文技術,本文技術在加密過程中耗時最低,且最高未超過4000s,因此,本文技術在進行加密時計算時間相對較少。
本文研究支持完全外包的云存儲數(shù)據(jù)加密技術,通過數(shù)據(jù)重刪算法,為云存儲數(shù)據(jù)加密提供完美數(shù)據(jù),依據(jù)數(shù)據(jù)加密技術,構建數(shù)據(jù)加密方案,實現(xiàn)云存儲數(shù)據(jù)的加密,采用仿真的形式驗證本文提出技術的有效性,經(jīng)驗證可得該技術加密時間與抗攻擊性能均高于其它技術。