曹景源,李立新,李全良,丁永善
(1.信息工程大學(xué),鄭州 450001; 2.中國(guó)洛陽(yáng)電子裝備試驗(yàn)中心,河南 洛陽(yáng) 471003)
云存儲(chǔ)環(huán)境下生命周期可控的數(shù)據(jù)銷毀模型
曹景源1,李立新1*,李全良2,丁永善1
(1.信息工程大學(xué),鄭州 450001; 2.中國(guó)洛陽(yáng)電子裝備試驗(yàn)中心,河南 洛陽(yáng) 471003)
(*通信作者電子郵箱czc1573@163.com)
用戶數(shù)據(jù)在云存儲(chǔ)環(huán)境下缺乏有效的數(shù)據(jù)銷毀機(jī)制,其數(shù)據(jù)安全性在生命周期內(nèi)面臨威脅,銷毀時(shí)間受控,大大限制了云存儲(chǔ)服務(wù)的發(fā)展。為此,提出一種云存儲(chǔ)環(huán)境下生命周期可控的數(shù)據(jù)銷毀模型。首先,通過函數(shù)變換處理明文生成密文和元數(shù)據(jù),避免復(fù)雜的密鑰管理;其次,為提高數(shù)據(jù)銷毀的可控性,設(shè)計(jì)一種基于時(shí)間可控的自銷毀數(shù)據(jù)對(duì)象,使得過期數(shù)據(jù)的任何非法訪問都會(huì)觸發(fā)數(shù)據(jù)重寫程序?qū)ψ凿N毀數(shù)據(jù)對(duì)象進(jìn)行確定性刪除,從而實(shí)現(xiàn)生命周期可控的數(shù)據(jù)銷毀功能。分析及實(shí)驗(yàn)結(jié)果表明,該方案在保護(hù)數(shù)據(jù)安全的同時(shí),能夠有效地銷毀數(shù)據(jù),增強(qiáng)數(shù)據(jù)銷毀的靈活性、可控性,且具有較低的性能開銷。
云存儲(chǔ);數(shù)據(jù)銷毀;生命周期;自銷毀數(shù)據(jù)對(duì)象;安全訪問
云存儲(chǔ)因其架構(gòu)靈活、擴(kuò)展性強(qiáng)、成本低廉已經(jīng)成為一種流行的存儲(chǔ)服務(wù)。隨著海量數(shù)據(jù)呈爆炸式的增長(zhǎng),用戶更傾向于選擇云存儲(chǔ)為其提供外包式的大容量存儲(chǔ)空間[1-3]。然而,區(qū)別于傳統(tǒng)的數(shù)據(jù)存儲(chǔ)方案,云存儲(chǔ)模式下的數(shù)據(jù)隱私問題貫穿整個(gè)數(shù)據(jù)生命周期。由于數(shù)據(jù)存儲(chǔ)不在數(shù)據(jù)擁有者的控制范圍內(nèi),導(dǎo)致數(shù)據(jù)歸屬與控制權(quán)分離,傳統(tǒng)數(shù)據(jù)銷毀方案不再適用于云存儲(chǔ)環(huán)境,數(shù)據(jù)的整個(gè)生命周期包括數(shù)據(jù)上傳、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)銷毀、數(shù)據(jù)恢復(fù)的安全性都面臨著極大挑戰(zhàn)[1]??紤]到云存儲(chǔ)服務(wù)提供商(Cloud Service Provider,CSP)“誠(chéng)實(shí)卻好奇”的特點(diǎn)以及云環(huán)境暴露而公開的環(huán)境條件,研究者通常會(huì)將數(shù)據(jù)加密后再上傳至云服務(wù)器[2-3]。即便如此,在高性能計(jì)算飛速發(fā)展的今天,傳統(tǒng)密文形式數(shù)據(jù)仍有被破解的可能性[3]。一旦敵手通過非法途徑從CSP處獲得了完整的數(shù)據(jù)或副本,用戶數(shù)據(jù)的安全性就有可能遭受威脅[4], 因此,研究云存儲(chǔ)環(huán)境下的數(shù)據(jù)銷毀機(jī)制具有重要意義。
根據(jù)近年研究工作,數(shù)據(jù)銷毀相關(guān)文獻(xiàn)的研究成果大都集中于密鑰管理問題,而目前數(shù)據(jù)銷毀的密鑰管理方案主要分為兩種。第一種是集中式管理方式,文獻(xiàn)[5-6]首次提出了建立基于第三方的可信機(jī)制,以“時(shí)間”或“操作”作為條件,一旦滿足條件則由第三方刪除數(shù)據(jù)密鑰,達(dá)到數(shù)據(jù)銷毀的目的。Tang等[7]在此基礎(chǔ)上提出基于策略的數(shù)據(jù)銷毀方案,即每個(gè)數(shù)據(jù)文件都對(duì)應(yīng)一條或N條策略,根據(jù)策略生成加密密鑰,只有當(dāng)數(shù)據(jù)使用者符合所有策略條件才能訪問明文。若想銷毀數(shù)據(jù)則可以通過撤銷相應(yīng)策略實(shí)現(xiàn)。第二種是分布式管理方式,Vanish系統(tǒng)[8]利用了分布式哈希表(Distributed Hash Table, DHT)網(wǎng)絡(luò)的動(dòng)態(tài)特性,將數(shù)據(jù)加密密鑰通過門限方案分散到DHT網(wǎng)絡(luò)中,數(shù)據(jù)使用者只有在預(yù)設(shè)時(shí)間內(nèi)重構(gòu)出密鑰才能解密密文,否則密鑰就會(huì)自動(dòng)銷毀。然而,由于DHT網(wǎng)絡(luò)存在嗅探攻擊和跳躍攻擊的威脅[1],文獻(xiàn)[9]提出了SafeVanish方案進(jìn)行改進(jìn),通過引入公鑰加密方案以及擴(kuò)展密鑰長(zhǎng)度的方式分別抵抗嗅探攻擊和跳躍攻擊。文獻(xiàn)[10]采用密鑰派生樹對(duì)數(shù)據(jù)進(jìn)行細(xì)粒度管理,同時(shí)只將最小密鑰集分發(fā)至DHT網(wǎng)絡(luò),確保了數(shù)據(jù)使用者的最小權(quán)限; 但該方案采用函數(shù)變換抵抗跳躍和嗅探攻擊的機(jī)制不符合數(shù)據(jù)機(jī)密性依賴于密鑰的安全性而非算法的安全性的原則。熊金波等[11]采用將部分密文和密鑰分發(fā)至DHT網(wǎng)絡(luò)的方案,增加攻擊的代價(jià),卻也增大了網(wǎng)絡(luò)開銷。集中式方案依賴于第三方執(zhí)行密鑰刪除操作,存在銷毀不徹底的顧慮,分布式的方案沒有了第三方的顧慮,也可以實(shí)現(xiàn)對(duì)密鑰的自動(dòng)刪除,但是時(shí)間卻受到了DHT網(wǎng)絡(luò)本身特性的限制。除以上兩種方案外,徐小龍等[12]提出了一種基于移動(dòng)Agent的數(shù)據(jù)銷毀模型,不依賴第三方,利用代理監(jiān)控云端數(shù)據(jù),并在惡意主體對(duì)數(shù)據(jù)實(shí)施攻擊時(shí)利用數(shù)據(jù)折疊的方式對(duì)數(shù)據(jù)本身進(jìn)行主動(dòng)銷毀。文獻(xiàn)[13]提出了一種基于密文采樣分片的方案,利用采樣分片的思想使云端不存儲(chǔ)完整密文,即使密鑰被泄露也能保證數(shù)據(jù)的機(jī)密性, 而對(duì)采樣密文銷毀也可實(shí)現(xiàn)云端數(shù)據(jù)的確定性刪除。Peterson等[14]在數(shù)據(jù)塊層使用全有或全無的轉(zhuǎn)換(All Or Nothing Transform,AONT)技術(shù)來實(shí)施數(shù)據(jù)銷毀, 該方法通過AONT算法轉(zhuǎn)換每一個(gè)數(shù)據(jù)塊,覆蓋其中任意一部分就會(huì)使得整個(gè)數(shù)據(jù)塊不可用,達(dá)到數(shù)據(jù)銷毀的目的。文獻(xiàn)[15]為了控制數(shù)據(jù)的生命周期,引入對(duì)象的概念,在加密文件時(shí)對(duì)文件進(jìn)行封裝處理,數(shù)據(jù)使用者只有在生命周期內(nèi)才能讀取明文信息,一旦超過生命周期,將自動(dòng)刪除包括密文在內(nèi)的整個(gè)對(duì)象,任何軟件都無法恢復(fù)出原始數(shù)據(jù); 但由于對(duì)象包含整個(gè)密文信息,在數(shù)據(jù)共享時(shí),一旦密文過大則會(huì)帶來大量通信開銷。
本文基于對(duì)象技術(shù)、RSA(Rivest-Shamir-Adleman)算法和AONT算法提出一種云存儲(chǔ)環(huán)境下生命周期可控的數(shù)據(jù)銷毀模型。借鑒AONT算法的思想處理明文信息,避免復(fù)雜的密鑰管理,同時(shí)通過封裝對(duì)象的機(jī)制控制數(shù)據(jù)的生命周期。在生命周期前,除數(shù)據(jù)擁有者外,任何人都不可訪問密文數(shù)據(jù)。生命周期內(nèi),數(shù)據(jù)對(duì)數(shù)據(jù)使用者可用。一旦生命周期結(jié)束,數(shù)據(jù)將變?yōu)椴豢稍L問,任何試圖訪問的動(dòng)作都會(huì)使其自動(dòng)銷毀,且不依賴于任何第三方,從而實(shí)現(xiàn)時(shí)間受控的數(shù)據(jù)銷毀機(jī)制。在數(shù)據(jù)共享階段,本文采用了公鑰加密機(jī)制進(jìn)行關(guān)鍵數(shù)據(jù)的傳輸,保證模型的安全性和可用性。
1.1 自銷毀數(shù)據(jù)對(duì)象
基于云存儲(chǔ)環(huán)境下的自銷毀數(shù)據(jù)對(duì)象(Cloud Storage Data Self-destruction Object,CSDSO)是本方案提出的一種數(shù)據(jù)結(jié)構(gòu),每個(gè)CSDSO對(duì)象都是一系列有序字節(jié)的集合,包括數(shù)據(jù)及屬性[15]。CSDSO封裝有攜帶生命周期值的封裝頭和加密數(shù)據(jù)密文的封裝體,能夠有效抵抗攻擊,保護(hù)數(shù)據(jù)安全。
其結(jié)構(gòu)由封裝頭OBJHead和封裝體OBJBody兩部分組成,OBJHead包含有加密數(shù)據(jù)的對(duì)稱密鑰和生命周期值(Time To Live,TTL),其中TTL值即數(shù)據(jù)能夠被訪問的時(shí)間范圍,可由數(shù)據(jù)所有者自主指定。OBJBody包含有一系列系統(tǒng)參數(shù),需要由加密數(shù)據(jù)的對(duì)稱密鑰進(jìn)行加密。
1.2 RSA算法
RSA是基于陷門單向函數(shù)的加密算法。給定公開已知信息n和e,很容易由m計(jì)算me(modn),但相反的方向卻不行。然而如果知道n的分解,那么反向計(jì)算就會(huì)變得容易。n的分解就是陷門信息,這個(gè)陷門功能使得RSA既可以用于加密,又可以用于數(shù)字簽名。
首先,隨機(jī)選擇兩個(gè)不同的大整數(shù)p和q計(jì)算n=pq。其次,使用兩個(gè)不同的指數(shù),通常稱為e和d。對(duì)e和d的要求是ed=1(modt),其中t:=lcm(p-1,q-1)。公開指數(shù)e選取1 1.3 AONT算法 AONT算法[4]是一種通過部分密文無法得出任何明文信息的函數(shù)變換加密算法。它借鑒了計(jì)數(shù)器(Counter, CTR)模式思想,具有在不解密完整密文的情況下,無法獲得任意部分明文消息的特性。AONT最初由Rivest提出來抵抗暴力搜索密鑰攻擊,這種攻擊需要敵手通過嘗試每一個(gè)可能的密鑰來解密密文。而在使用了AONT算法之后,敵手獲得正確密鑰的難度將隨密文塊數(shù)目的增加而成倍增加。算法簡(jiǎn)述如下: 輸入 數(shù)據(jù)塊m1,m2,…,mi,塊標(biāo)示Bid,全局計(jì)數(shù)器λ,對(duì)稱密鑰K,MAC密鑰Kmac,其中1≤i≤m。 1)Bid‖λ‖1‖0‖128-|λ|-|Bid|-1→ctr1,首先通過鏈接塊標(biāo)示、全局計(jì)數(shù)器、常量1(序列不夠128比特用數(shù)字0補(bǔ)齊128位)來生成計(jì)數(shù)器ctr1。其中,塊標(biāo)示用數(shù)據(jù)塊所在的物理地址表示,全局計(jì)數(shù)器λ則采用時(shí)間表示。 3)HMAC-SHA-1Kmac(c1,c2,…,ci)→t,對(duì)密文進(jìn)行HMAC運(yùn)算得到一個(gè)128位的隨機(jī)認(rèn)證碼t。 4)Bid‖λ‖0‖0‖128-|λ|-|Bid|-1→ctr2,計(jì)數(shù)器ctr2的生成是為了防止加密得到重復(fù)的序列。 6)x1⊕x2⊕…⊕xi⊕t→x0,將所有的密文與認(rèn)證碼t進(jìn)行異或得到最終的stub(x0)。stub并不是一個(gè)密鑰,它是AONT算法產(chǎn)生的一個(gè)存根,同時(shí)具備了AONT算法最主要的特點(diǎn)。 解密算法與加密算法類似,但是過程相反,本文不再贅述。綜上,AONT算法十分適用于數(shù)據(jù)銷毀,因?yàn)椋?/p> 1)刪除AONT方案加密的數(shù)據(jù),只需要?jiǎng)h除存根(stub)即可刪除整個(gè)密文, 大大減小了數(shù)據(jù)銷毀的開銷。一般地,重寫4 KB的stub數(shù)據(jù)塊就可以刪除至少1 MB的數(shù)據(jù)[4]。 2)AONT算法不需要除加密密鑰外的其他密鑰,在處理密文數(shù)據(jù)塊方面大大簡(jiǎn)化了密鑰的管理。 1.4 數(shù)據(jù)重寫 數(shù)據(jù)重寫技術(shù)[12]是依據(jù)美國(guó)國(guó)防部標(biāo)準(zhǔn)5220.22-M設(shè)計(jì)的一種軍事級(jí)別的硬盤數(shù)據(jù)擦除技術(shù), 旨在利用向硬盤介質(zhì)反復(fù)重寫數(shù)據(jù)的方案實(shí)現(xiàn)數(shù)據(jù)永久性刪除的功能。 其工作原理為:第一步,完全格式化硬盤,寫入由0和1組成的數(shù)據(jù)流;第二步,反轉(zhuǎn)0和1的數(shù)據(jù)流并再次寫入;第三步,寫入隨機(jī)的數(shù)據(jù)流。 云存儲(chǔ)環(huán)境下的數(shù)據(jù)不受數(shù)據(jù)擁有者的控制,不能采用數(shù)據(jù)重寫的方案進(jìn)行數(shù)據(jù)銷毀,該技術(shù)主要是針對(duì)CSDSO對(duì)象進(jìn)行數(shù)據(jù)重寫。 本文在AONT算法、RSA加密技術(shù)以及數(shù)據(jù)重寫技術(shù)的基礎(chǔ)上,設(shè)計(jì)了一種云存儲(chǔ)環(huán)境下基于時(shí)間可控的數(shù)據(jù)銷毀(Cloud Storage Data Destruction, CSDD)模型。 2.1 模型架構(gòu) CSDD的模型架構(gòu)如圖1所示。它由數(shù)據(jù)擁有者(Data Owner,DO)、數(shù)據(jù)使用者(Data User,DU)、CSP以及時(shí)間服務(wù)器(Time Server,TS)組成。DO首先通過AONT算法對(duì)明文M進(jìn)行預(yù)處理并加密得到密文數(shù)據(jù)C。其中密文數(shù)據(jù)C包括密文序列x1,x2,…,xm以及密文存根stub(x0)、密鑰K、Kmac、塊標(biāo)示Bid等。DO通過CSP提供的云存儲(chǔ)上傳接口將密文序列x1,x2,…,xm存儲(chǔ)到云服務(wù)器中。當(dāng)需要進(jìn)行數(shù)據(jù)共享時(shí),DU 向DO發(fā)送請(qǐng)求,DO獲得請(qǐng)求并確認(rèn)用戶授權(quán)合法后,從時(shí)間服務(wù)器(Time Server, TS)獲取當(dāng)前時(shí)間并計(jì)算TTL值,同時(shí)利用封裝函數(shù)將TTL值與數(shù)據(jù)對(duì)應(yīng)的stub、密鑰K、Kmac、塊標(biāo)示Bid等參數(shù)封裝成CSDSO對(duì)象。最后DO利用DU公鑰加密CSDSO并發(fā)送至DU。DU在獲取封裝對(duì)象CSDSO后,利用私鑰解密并解封裝,此時(shí)會(huì)首先從TS處獲取時(shí)間并判斷CSDSO對(duì)象是否過期,并根據(jù)判斷決定是否進(jìn)行數(shù)據(jù)擦除操作。一旦解封后,DU就可以根據(jù)參數(shù)從CSP處獲取DO上傳的密文塊,并利用AONT算法恢復(fù)出明文M。 圖1 CSDD模型Fig. 1 Cloud storage data destruction model 2.2 安全假設(shè) 本文作出如下安全假設(shè): 1)CSP是“誠(chéng)實(shí)卻好奇”的。其向DO和DU提供可靠的服務(wù),但可能會(huì)利用掌握的數(shù)據(jù)信息對(duì)用戶數(shù)據(jù)內(nèi)容進(jìn)行窺探并泄露給第三方非授權(quán)實(shí)體,同時(shí)也可能在用戶不知情的情況下對(duì)數(shù)據(jù)進(jìn)行備份和轉(zhuǎn)移,在用戶發(fā)出數(shù)據(jù)刪除的請(qǐng)求時(shí),也可能不會(huì)忠實(shí)的履行其職責(zé)。 2)任意DU是可信的。DU為DO授權(quán)的合法數(shù)據(jù)訪問者。其不會(huì)主動(dòng)泄露密鑰、明文等重要信息。當(dāng)然,對(duì)于DU類似手抄、截屏、拍照等惡意泄露信息的行為是無法進(jìn)行防范的,所以這個(gè)假設(shè)是合理的。 3)CSDSO數(shù)據(jù)的生命周期是有限的。一旦指定的生命周期結(jié)束,數(shù)據(jù)就應(yīng)該變?yōu)橛谰貌豢稍L問。 4)網(wǎng)絡(luò)是連通的。因?yàn)楸灸P托枰L問時(shí)間服務(wù)器TS獲取當(dāng)前時(shí)間,以此達(dá)到數(shù)據(jù)銷毀的時(shí)間可控,所以必須保證DO與DU和TS是互通的。 2.3 模型算法 圖1所示的模型由以下算法完成: 1)Init(κ)→(p,q,K),初始化算法。系統(tǒng)初始化隨機(jī)生成兩個(gè)大素?cái)?shù)因子p,q以及一個(gè)隨機(jī)對(duì)稱密鑰K(采用128位AES算法)。其中κ為系統(tǒng)隨機(jī)安全種子。 2)RSASetup(p,q)→(pubkey,prikey),公私鑰對(duì)生成算法。根據(jù)RSA算法產(chǎn)生一對(duì)公私鑰對(duì)用于安全通信。 3)AONTEnc({mi},Bid,λ,K,Kmac)→{x0,xi},AONT加密算法。mi為明文塊,Bid為唯一塊標(biāo)示,λ為全局計(jì)數(shù)器,K為第一步產(chǎn)生的對(duì)稱密鑰,Kmac為哈希運(yùn)算消息認(rèn)證碼的相關(guān)密鑰(此處采用SHA1作為哈希算法)。利用AONT算法生成stub(x0)和密文塊x1,x2,…,xm,其中1≤i≤m,1≤λ≤m。 4)DataUpload(x1,x2,…,xm)→{URL},數(shù)據(jù)上傳算法。DO通過CSP提供的上傳API接口上傳密文塊x1,x2,…,xm,同時(shí)返回?cái)?shù)據(jù)存儲(chǔ)的位置即URL值。 5)AES-ENCK(x0,Bid,λ,Kmac,URL)→(OBJBody),封裝體對(duì)稱加密算法。DO向DU進(jìn)行數(shù)據(jù)共享時(shí),首先使用對(duì)稱密鑰K加密stub(x0)、塊標(biāo)示等參數(shù)生成OBJBody對(duì)象。 6)RSA-ENCpubkey(TTL,K)→(OBJHead),封裝頭非對(duì)稱加密算法。第5)步后,DO用DU的公鑰加密TTL值和對(duì)稱密鑰K生成OBJHead對(duì)象。其中TTL值由DO自主指定并以秒為單位。 7)Encapsulate(OBJBody,OBJHead)→CSDSO,對(duì)象封裝算法。將步驟5)、6)生成的對(duì)象進(jìn)行封裝組合,得到數(shù)據(jù)銷毀對(duì)象CSDSO并發(fā)送給DU。 8)Decapsulate(CSDSO)→(OBJBody,OBJHead),對(duì)象解封裝算法。DU接受到CSDSO后,首先進(jìn)行解封裝得到OBJBody和OBJHead對(duì)象。 9)RSA-DECprikey(OBJHead)→(TTL,K),封裝頭非對(duì)稱解密算法。DU利用OBJHead解封裝獲得TTL值和對(duì)稱密鑰K。 10)AES-DECK(OBJBody)→(x0,Bid,λ,Kmac,URL),封裝體對(duì)稱解密算法。DU利用OBJBody解封裝獲得stub(x0)、塊標(biāo)示、全局變量、哈希運(yùn)算消息認(rèn)證碼密鑰、密文塊在CSP的URL等參數(shù)。 11)DataDownload(URL)→{x1,x2,…,xm},數(shù)據(jù)下載算法。DU根據(jù)URL參數(shù)從CSP處獲得密文塊x1,x2,…,xm。 12)AONTDec(x0,xi,Bid,λ,K,Kmac)→{mi},其中1≤i≤m。AONT解密算法。最后DU通過解密算法恢復(fù)出明文塊進(jìn)而獲得整個(gè)明文。 本章介紹數(shù)據(jù)銷毀方案的具體實(shí)現(xiàn)流程和詳細(xì)算法描述,實(shí)現(xiàn)流程主要包括數(shù)據(jù)上傳流程、數(shù)據(jù)分發(fā)處理、數(shù)據(jù)接收處理以及數(shù)據(jù)銷毀方法。 3.1 數(shù)據(jù)上傳流程 DO通過Init(κ)→(p,q,K)算法生成用于數(shù)據(jù)加密的對(duì)稱密鑰K以及用于生成公私鑰對(duì)的輸入?yún)?shù)p,q。RSASetup(p,q)→(pubkey,prikey)生成公私鑰,生成的私鑰由DO自己保管。接著,DO通過AONT算法AONTEnc({mi},Bid,λ,K,Kmac)→{x0,xi}加密處理將要上傳的數(shù)據(jù)得到m個(gè)密文塊x1,x2,…,xm和具有all-or-nothing特性的stub(x0)。最后只上傳不包含stub的密文部分DataUpload(x1,x2,…,xm)→{URL}并得到一個(gè)用URL值表示的位置信息。DO只存儲(chǔ)(x0,Bid,λ,K,Kmac,URL)一少部分信息,節(jié)省存儲(chǔ)空間。 3.2 數(shù)據(jù)分發(fā)處理 DU向DO發(fā)送數(shù)據(jù)共享信息的請(qǐng)求后,DO通過封裝體對(duì)稱加密算法AES-ENCK(x0,Bid,λ,Kmac,URL)→(OBJBody)將相關(guān)數(shù)據(jù)的對(duì)應(yīng)信息加密。之后利用封裝頭非對(duì)稱加密算法RSA-ENCpubkey(TTL,K)→(OBJHead)加密對(duì)稱密鑰,并指定文件的生命周期,其中采用非對(duì)稱加密的密鑰為DU的公鑰。 此處的TTL值由DO通過TS時(shí)間服務(wù)器獲得。具體算法描述如下: 1) if(Timeserver.isConnected) //判斷網(wǎng)絡(luò)是否連接 2) T=CSDSO.getCurrentTime(); //獲取當(dāng)前時(shí)間 3) CSDSO.getCreatedTime()=T; //得到創(chuàng)建對(duì)象的時(shí)間 4) CSDSO.setTTL(); //用戶指定TTL值,以秒為單位 DO將封裝對(duì)稱、非對(duì)稱算法得到的對(duì)象通過算法Encapsulate(OBJBody,OBJHead)→CSDSO組合為CSDSO對(duì)象,同時(shí)響應(yīng)DU的請(qǐng)求將CSDSO通過安全信道發(fā)送至DU。 3.3 數(shù)據(jù)接收處理 DU收到CSDSO對(duì)象后,首先利用解封裝算法拆分對(duì)象:Decapsulate(CSDSO)→(OBJBody,OBJHead),其中OBJHead對(duì)象在解封裝時(shí)會(huì)進(jìn)行TTL值的時(shí)間判定,如果解封裝的動(dòng)作是在對(duì)象的生命周期內(nèi)完成則繼續(xù)處理,否則將進(jìn)入數(shù)據(jù)銷毀流程。時(shí)間判定算法描述如下: 1) if(Timeserver.isConnected) //判斷網(wǎng)絡(luò)是否連接 2) T1=getCurrentTime(); //DU獲取當(dāng)前時(shí)間 3) T2=CSDSO.getCreateTime(); //獲取對(duì)象創(chuàng)建時(shí)間 4) if ((T1-T2) > CSDSO.getTTL() ) 5) CSDSO.destroy(); 6) //判斷TTL值,如果當(dāng)前時(shí)間與創(chuàng)建時(shí)間的差值大于 //指定的TTL值,則執(zhí)行銷毀動(dòng)作 7) else if( (T1-T2) <= CSDSO.getTTL() ) 8) Continue; //否則繼續(xù)處理 DU通過RSA-DECprikey(OBJHead)→(TTL,K)解封裝OBJHead后獲得對(duì)稱密鑰K和TTL值,判定后TTL有效后則繼續(xù)利用AES-DECK(OBJBody)→(x0,Bid,λ,Kmac,URL)算法解密后獲得stub、塊標(biāo)示、全局變量、哈希消息認(rèn)證碼密鑰以及請(qǐng)求數(shù)據(jù)的URL地址等參數(shù)信息。 最后,DU通過DataDownload(URL)→{x1,x2,…,xm}下載存放在CSP處的不完整密文塊,然后根據(jù)AONT算法AONTDec(x0,xi,Bid,λ,K,Kmac)→{mi}得到原始明文。 3.4 數(shù)據(jù)銷毀方法 根據(jù)上述步驟,DU在解密OBJHead時(shí)會(huì)根據(jù)TTL值判定CSDSO對(duì)象是否仍在生命周期內(nèi)。根據(jù)時(shí)間判定算法,若超過指定的生命周期時(shí)長(zhǎng),則執(zhí)行數(shù)據(jù)銷毀動(dòng)作。數(shù)據(jù)銷毀采用標(biāo)準(zhǔn)5220.22-M數(shù)據(jù)重寫技術(shù),其旨在利用向硬盤介質(zhì)反復(fù)重寫數(shù)據(jù)0或1的方案實(shí)現(xiàn)數(shù)據(jù)永久性刪除的功能,且任何數(shù)據(jù)恢復(fù)軟件都無法對(duì)銷毀后的數(shù)據(jù)進(jìn)行恢復(fù)。算法Destroy描述如下: 1) //CSDSO.destroy()算法 2) int len = CSDSO.getLength(); //獲得對(duì)象大小 3) for (int i=0;i 4) CSDSO.rewrite(0); //向?qū)ο笾貙憯?shù)據(jù)0 5) for (int i=0;i 6) CSDSO.rewrite(1); //向?qū)ο笾貙憯?shù)據(jù)1 7) for (int i=0;i 8) CSDSO.rewrite((int)(random()%2)); 9) //向?qū)ο箅S機(jī)重寫數(shù)據(jù)0或1 10) CSDSO.delete(); //執(zhí)行數(shù)據(jù)銷毀 本文通過安全性分析與性能分析兩方面對(duì)CSDD方案進(jìn)行分析。 4.1 安全性分析 根據(jù)本文假設(shè),數(shù)據(jù)擁有者DO、數(shù)據(jù)使用者DU以及云服務(wù)提供商CSP都會(huì)遵守各自規(guī)則,不會(huì)無故泄露密鑰或明文信息, 那么敵手則可能通過數(shù)據(jù)上傳、數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)分發(fā)處理過程獲取信息并試圖暴力破解。因此本文的安全性分析主要?dú)w納于本方案的數(shù)據(jù)在其生命周期內(nèi)的算法安全性。 首先,在云存儲(chǔ)環(huán)境下,敵手可以使用云的強(qiáng)大計(jì)算能力大幅減少暴力破解密文的時(shí)間。同時(shí),由于CSP不完全可信,如果將完整密文放置云服務(wù)器處,則很有可能遭到敵手攻擊,十分不安全。在本方案中,DO上傳數(shù)據(jù)時(shí)使用AONT算法對(duì)數(shù)據(jù)進(jìn)行加密處理,利用其通過部分密文無法恢復(fù)任何明文信息的特性以及能夠抵抗暴力攻擊的特點(diǎn)有效抵御來自不可信第三方的威脅和攻擊。 其次,在數(shù)據(jù)分發(fā)處理階段,本方案采用AES256對(duì)稱加密算法以及RSA2048非對(duì)稱加密算法組合的方式傳輸CSDSO對(duì)象,敵手只有將對(duì)象OBJHead解封裝后才能有機(jī)會(huì)進(jìn)一步通過暴力攻擊的方式對(duì)OBJBody進(jìn)行分析破解。然而RSA2048算法和AES256算法已被證明是安全的,敵手無法在沒有DU私鑰的情況下在多項(xiàng)式時(shí)間內(nèi)破解RSA2048算法。即使敵手成功分離了OBJHead和OBJBody并企圖直接攻擊OBJBody,也無法在可預(yù)見的時(shí)間內(nèi)破解AES256算法。所以可認(rèn)為本方案理論上可以有效抵抗敵手攻擊,并能夠保證數(shù)據(jù)的安全,滿足安全性需求。 4.2 性能分析 實(shí)驗(yàn)環(huán)境為Intel Xeon E5-2620 v3 2.4 GHz六核處理器,16 GB內(nèi)存,操作系統(tǒng)為CentOS6.5,內(nèi)核版本2.6.32。其中對(duì)稱加密算法采用AES算法,文件加密密鑰長(zhǎng)度為256比特;非對(duì)稱加密算法采用RSA算法,密鑰長(zhǎng)度為2 048比特;消息摘要算法(Message Authentication Codes, MAC)運(yùn)算采用HMAC-SHA1,MAC密鑰的長(zhǎng)度為128比特。 4.2.1 AONT加解密性能分析 本文的加解密測(cè)試會(huì)先將文件分塊,再利用AONT算法對(duì)分塊數(shù)據(jù)進(jìn)行加解密處理。測(cè)試對(duì)文件按128 KB進(jìn)行分塊。圖2顯示了不同大小的文件包括1 MB、10 MB、100 MB、1 GB的加密時(shí)間關(guān)系,圖3顯示了對(duì)應(yīng)大小文件的解密恢復(fù)出明文時(shí)間關(guān)系。 圖2 文件加密時(shí)間Fig. 2 File encryption time 圖3 文件恢復(fù)時(shí)間Fig. 3 File recovery time 實(shí)驗(yàn)結(jié)果顯示,文件加解密的時(shí)間隨文件大小呈線性關(guān)系遞增,當(dāng)文件大小不超過1 GB時(shí),文件加解密時(shí)間能夠保持在100 s內(nèi)。 4.2.2 數(shù)據(jù)銷毀性能分析 本文采用數(shù)據(jù)重寫CSDSO對(duì)象的方法進(jìn)行數(shù)據(jù)銷毀,已知銷毀數(shù)據(jù)時(shí)存在兩種情況: 1)當(dāng)DU解封裝CSDSO時(shí),若判定時(shí)間已經(jīng)超出DO指定的生命周期,執(zhí)行數(shù)據(jù)銷毀。 2)當(dāng)數(shù)據(jù)過期或失去效力后,DO主動(dòng)執(zhí)行數(shù)據(jù)銷毀。 為了測(cè)試CSDD方案數(shù)據(jù)銷毀的時(shí)間開銷,本文對(duì)比了文獻(xiàn)[12]中的傳統(tǒng)物理數(shù)據(jù)銷毀方法Traditional Destruction以及目前研究較熱的直接銷毀密鑰方法Based-key Destruction[15]。文件大小采用1E+04到1E+08 Byte不等,每一個(gè)文件都分別用以上三種方法進(jìn)行數(shù)據(jù)銷毀并分別計(jì)算時(shí)間開銷。對(duì)比結(jié)果表明,受銷毀數(shù)據(jù)大小影響,密鑰銷毀方案與CSDD方案要遠(yuǎn)遠(yuǎn)好于傳統(tǒng)的數(shù)據(jù)銷毀方案,且在同等文件大小的情況下,CSDD方案比密鑰銷毀方案具有更低的開銷。 圖4 時(shí)間開銷對(duì)比Fig. 4 Comparison of time cost 4.3 方案對(duì)比 本方案與目前典型方案的特性進(jìn)行對(duì)比,對(duì)比如表1所述。目前研究方案大致可以歸納為集中式和分布式銷毀方式,大都存在一定的局限性: 1)為了進(jìn)行細(xì)粒度的數(shù)據(jù)管理,對(duì)密鑰進(jìn)行分層設(shè)計(jì),比如使用密鑰生成樹的管理方式,如文獻(xiàn)[10]方案,卻沒有考慮到在云存儲(chǔ)環(huán)境中,大量用戶請(qǐng)求所帶來的密鑰樹生成的開銷以及在數(shù)據(jù)頻繁更新的情況下,如何更新密鑰樹的問題。 2)加密用戶的數(shù)據(jù)后,將完整密文全部存放于CSP處,丟棄密鑰造成密文不可解。而實(shí)際上完整或部分密文被敵手獲取就仍存在被破解的威脅。 3)數(shù)據(jù)的生命周期受限,如以Vanish為代表的文獻(xiàn)[8-9]方案,其默認(rèn)的生命周期由DHT網(wǎng)絡(luò)本身性質(zhì)決定,無法自行更改,若想要增長(zhǎng)生命周期則需要重新分發(fā)密鑰,帶來額外的計(jì)算開銷。 考慮到系統(tǒng)的適用性和應(yīng)用性,本方案相較于其他方案具有一定優(yōu)勢(shì),首先本方案摒棄了冗雜的密鑰管理方式;其次由于算法的特性,使敵手即使獲取了CSP中的密文或副本也無法進(jìn)行破解,保證數(shù)據(jù)的安全性;最后,用戶可以自主指定任意數(shù)據(jù)生命周期,達(dá)到數(shù)據(jù)銷毀時(shí)間的自由可控。 表1 各個(gè)方案的綜合比較Tab. 1 Comprehensive comparison of various schemes 目前,數(shù)據(jù)銷毀技術(shù)還在發(fā)展初期。針對(duì)云存儲(chǔ)環(huán)境下,數(shù)據(jù)不在數(shù)據(jù)擁有者的控制范圍內(nèi),數(shù)據(jù)的整個(gè)生命周期都會(huì)受到極大挑戰(zhàn)的弊端,本文結(jié)合對(duì)象技術(shù)、RSA算法、AONT算法以及數(shù)據(jù)重寫技術(shù),設(shè)計(jì)了一種自銷毀數(shù)據(jù)對(duì)象,并在此基礎(chǔ)上提出了一種在云存儲(chǔ)環(huán)境中生命周期可控的數(shù)據(jù)銷毀方案,以保證數(shù)據(jù)在上傳、存儲(chǔ)、下載和分發(fā)階段的全生命周期的數(shù)據(jù)安全,實(shí)現(xiàn)生命周期的自主控制;并且,當(dāng)數(shù)據(jù)銷毀時(shí)實(shí)現(xiàn)真正意義上的安全銷毀,使得數(shù)據(jù)徹底無法恢復(fù)。經(jīng)過實(shí)驗(yàn)分析表明該方案在加解密和數(shù)據(jù)銷毀方面性能開銷較低,在指定時(shí)間范圍內(nèi)能夠?qū)崿F(xiàn)數(shù)據(jù)安全銷毀;同時(shí)該方案具有有效抵抗針對(duì)殘留密文的暴力攻擊,避免了復(fù)雜的密鑰管理的優(yōu)點(diǎn),具備一定的應(yīng)用性。下一步工作主要為:1)基于OpenStack開發(fā)云存儲(chǔ)文件安全共享系統(tǒng),實(shí)現(xiàn)對(duì)數(shù)據(jù)的生命周期可控的安全銷毀; 2)針對(duì)云存儲(chǔ)環(huán)境中大規(guī)模用戶對(duì)數(shù)據(jù)進(jìn)行共享與訪問的問題,結(jié)合屬性加密機(jī)制對(duì)本方案進(jìn)行改進(jìn)。 References) [1] 熊金波, 李鳳華, 王彥超,等. 基于密碼學(xué)的云數(shù)據(jù)確定性刪除研究進(jìn)展[J]. 通信學(xué)報(bào), 2016, 37(8): 167-184.(XIONG J B, LI F H, WANG Y C, et al. Research progress on cloud data assured deletion based on cryptography[J].Journal on Communications, 2016, 37(8): 167-184.) [2] 馮登國(guó),張敏,張妍,等.云計(jì)算安全研究[J].軟件學(xué)報(bào),2011,22(1):71-83.(FENG D G, ZHANG M, ZHANG Y, et al. Research on cloud computing security[J]. Journal of Software, 2011,22(1):71-83.) [3] Cloud security alliance[EB/OL].[2016-06-20].http://www.cloudsecurityalliance.org. [4] RIVEST R L. All-or-nothing encryption and the package transform[C]// Proceedings of the 4th International Workshop on Fast Software Encryption. London: Springer-Verlag, 1998: 210-218. [5] PERLMAN R. File system design with assured delete[C]// Proceedings of the 3rd IEEE International Security in Storage Workshop. Piscataway, NJ: IEEE,2005:83-88. [6] PERLMAN R. The ephemerizer: making data disappear[J].Journal of Information Systems Security,2005,1(1):21-32. [7] TANG Y, LEE P P C, LUI J C S, et al. Secure overlay cloud storage with access control and assured deletion[J]. IEEE Transactions on Dependable and Secure Computing, 2012,9(6): 903-916. [8] GEAMBASU R, KOHNO T, LEVY A A, et al. Vanish: increasing data privacy with self-destructing data[C]// Proceedings of the 18th Conference on USENIX Security Symposium. Berkeley, CA: USENIX Association, 2009: 299-316. [9] ZENG L F, SHI Z, XU S J, et al. SafeVanish: an improved data self-destruction for protecting data privacy[C]// Proceedings of the 2010 IEEE Second International Conference on Cloud Computing Technology and Science. Washington, DC: IEEE Computer Society, 2010:531-528. [10] 王麗娜,任正偉,余榮威,等.一種適于云存儲(chǔ)的數(shù)據(jù)確定性刪除方法[J].電子學(xué)報(bào),2012, 40(2):266-272.(WANG L N,REN Z W,YU R W, et al. A data assured deletion approach adapted for cloud storage[J]. Acta Electronica Sinica,2012,40(2):266-272.) [11] 熊金波,姚志強(qiáng),馬津峰, 等.面向網(wǎng)絡(luò)內(nèi)容隱私的基于身份加密的安全自毀方案[J].計(jì)算機(jī)學(xué)報(bào), 2014, 37(1):139-150.(XIONG J B, YAO Z Q, MA J F, et al. A secure self-destruction scheme with IBE for the internet content privacy[J]. Chinese Journal of Computers, 2014, 37(1):139-150.) [12] 徐小龍,龔培培,章韻,等.一種基于移動(dòng)Agent的云端(Cloud-P2P)數(shù)據(jù)復(fù)合銷毀機(jī)制[J].計(jì)算機(jī)科學(xué), 2015,42(10):138-146.(XU X L, GONG P P, ZHANG Y, et al. Mobile-Agent-based composite data destruction mechanism for cloud-P2P[J]. Computer Science,2015,42(10):138-146.) [13] 張坤,楊超,馬建峰,等.基于密文采樣分片的云端數(shù)據(jù)確定性刪除方法[J].通信學(xué)報(bào), 2015,36(11):108-117.(ZHANG K,YANG C,MA J F, et al. Novel cloud data assured deletion approach based on ciphertext sample slice[J].Journal on Communications,2015,36(11):108-117.) [14] PETERSON Z J, RANDAL B, JOE H. Secure deletion for a versioning file system[C]// Proceedings of the 4th USENIX Conference on File and Storage Technologies. Berkeley, CA: USENIX Association, 2005: 143-154. [15] 沈薇薇,熊金波,黃陽(yáng)群, 等.基于生命周期控制的電子文件安全刪除方案[J].小型微型計(jì)算機(jī)系統(tǒng),2016,37(5): 1091-1096.(SHEN W W, XIONG J B, HUANG Y Q, et al. Assured deletion scheme for electronic files based on life cycle control[J].Journal of Chinese Computer Systems,2016,37(5):1091-1096.) This work is partially supported by the National Key Research Program of China (2016YFB0501900). CAO Jingyuan,born in 1991,M. S. candidate. His research interest include information security,cloud computing. LI Lixin,born in 1967,Ph. D., research fellow. His research interest include network computing,database,information security. LI Quanliang,born in 1967, senior engineer. His research interest include network information security. DING Yongshan,born in 1992,M. S. candidate. His research interest include information security. Data destruction model for cloud storage based on lifecycle control CAO Jingyuan1, LI Lixin1*, LI Quanliang2,DING Yongshan1 (1.InformationEngineeringUniversity,ZhengzhouHenan450001,China;2.LuoyangElectronicEquipmentExaminationCenterofChina,LuoyangHenan471003,China) A data destruction model based on lifecycle control under cloud storage environment was proposed to solve the lack of effective data destruction mechanism for user data, and that data security was threatened and destruction time was controlled in the life cycle, which greatly limited the development of cloud services. The plain text was processed by functional transformation to generate the cipher text and metadata and avoid the complex key management. Secondly, in order to improve the controllability of data destruction, a self-destruction data objects based on controllable time was designed, which made any illegal access of expired objects to trigger the assured deletion by rewriting program, and realized the data destruction based on lifecycle control. The analysis and experimental results show that the scheme can enhance the flexibility and controllability of data destruction and reduce the performance cost, while protecting the data safely and effectively. cloud storage; data destruction; data lifecycle; self-destruction data object; secure access 2016-10-08; 2016-12-06。 基金項(xiàng)目:國(guó)家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(2016YFB0501900)。 曹景源(1991—),男,山東鄆城人,碩士研究生,主要研究方向:信息安全、云計(jì)算; 李立新(1967—),男,重慶人,研究員,博士,主要研究方向:網(wǎng)絡(luò)計(jì)算、數(shù)據(jù)庫(kù)、信息安全; 李全良(1967—),男,山西運(yùn)城人,高級(jí)工程師,主要研究方向:網(wǎng)絡(luò)信息安全; 丁永善(1992—),男,河南周口人,碩士研究生,主要研究方向:信息安全。 1001-9081(2017)05-1335-06 10.11772/j.issn.1001-9081.2017.05.1335 TP309.2 A2 方案構(gòu)造
3 數(shù)據(jù)銷毀方案CSDD
4 綜合分析
5 結(jié)語