戴素芬 沈薇薇
摘 要:文章針對(duì)可公開(kāi)發(fā)布的組合文檔(Publicly Posted Composite Documents,PPCD)在用戶設(shè)定的有效期后的安全刪除問(wèn)題,將基于身份加密系統(tǒng)(Identity-Based Encryption,IBE)、云存儲(chǔ)系統(tǒng)(Cloud Storage System,CSS)、隨機(jī)對(duì)稱加密密鑰以及對(duì)象存儲(chǔ)系統(tǒng)(Object Storage System,OSS)進(jìn)行結(jié)合,同時(shí)引入分安全等級(jí)思想,提出基于身份加密的組合文檔安全刪除方案(ICDSS);通過(guò)對(duì)該方案的綜合性分析,證明方案的安全性和可行性。
關(guān)鍵詞:PPCD;安全刪除;IBE;OSS
0 引言
組合文檔是由多個(gè)文檔組件組成,并由分散在世界各地的顧問(wèn)、合作伙伴以及顧客等操作,操作的過(guò)程可跨越多個(gè)不安全的區(qū)域。同時(shí),云環(huán)境中涉及有商業(yè)機(jī)密、個(gè)人隱私等重要的隱私性信息,例如政府的有關(guān)情報(bào)、企業(yè)新產(chǎn)品的相關(guān)定價(jià)策略、知識(shí)產(chǎn)權(quán)或是個(gè)人電子病歷等[1]。PPCD是近年新提出的一種組合文檔,而在PPCD完成相應(yīng)的工作之后,其安全刪除是一個(gè)必須解決的問(wèn)題。
數(shù)據(jù)安全刪除指的是能夠在用戶設(shè)置的有效時(shí)間后實(shí)現(xiàn)主動(dòng)刪除,最具代表性的是Vanish系統(tǒng),而該方案的缺陷是數(shù)據(jù)密文都存儲(chǔ)在CSS上。針對(duì)此問(wèn)題,及專家提出SSDD方案[3]。同時(shí),由于Vanish系統(tǒng)中使用DHT網(wǎng)絡(luò)存在Sybil攻擊,專家提出SelfDoc方案[4]。然在上述文獻(xiàn)方案中密鑰的有效時(shí)間由DHT網(wǎng)絡(luò)決定,而不是用戶指定。針對(duì)該問(wèn)題,本文提出ICDSS方案。
1 預(yù)備知識(shí)
1.1? PPCD技術(shù)
PPCD[3]主要由3個(gè)部分組成。
入口表:為文檔參與者提供一個(gè)可以快速定位或識(shí)別對(duì)應(yīng)映射記錄的記錄名。
映射記錄:存儲(chǔ)文檔參與者獲得密鑰到文檔組件的映射。
文檔組件:PPCD由多個(gè)文檔組件組合而成,且根據(jù)文檔參與者的權(quán)限訪問(wèn)對(duì)應(yīng)的文檔組件。
本文對(duì)PPCD進(jìn)行分安全等級(jí),引入PPCD分等級(jí)的新結(jié)構(gòu)如圖1所示。并使用同一個(gè)隨機(jī)對(duì)稱加密密鑰對(duì)位于同一安全等級(jí)的文檔組件進(jìn)行加密,達(dá)到減少隨機(jī)對(duì)稱加密密鑰的數(shù)量以及管理隨機(jī)對(duì)稱加密密鑰的開(kāi)銷的目的。
1.2? OSS
OSS[5]主要由以下3個(gè)實(shí)體組成:
(1)用戶/應(yīng)用程序;
(2)元數(shù)據(jù)服務(wù)器;
(3)存儲(chǔ)節(jié)點(diǎn)。每個(gè)存儲(chǔ)節(jié)點(diǎn)是一個(gè)對(duì)象存儲(chǔ)設(shè)備。其中的主動(dòng)存儲(chǔ)對(duì)象(Active Storage Object,ASO)是根據(jù)用戶對(duì)象拓展的,用戶根據(jù)需要設(shè)定時(shí)間屬性(time-to-live,TTL),ASO可以實(shí)現(xiàn)在用戶設(shè)定的有效時(shí)間后主動(dòng)安全刪除數(shù)據(jù)。
2 ? ICDSS方案的設(shè)計(jì)
定義PPCD安全主動(dòng)刪除對(duì)象(PPCD Secure-destruction Object,CDSO):首先,運(yùn)用特定的封裝算法對(duì)PPCD進(jìn)行封裝得到封裝密文;其次,將其中的一部分封裝密文運(yùn)用相應(yīng)的算法定義為CDSO,并存儲(chǔ)在CSS上,在文檔擁有者指定的有效期后變得不可讀。
2.1 方案的構(gòu)造模型
本方案的構(gòu)造模型如圖2所示,主要包括以下6個(gè)實(shí)體。
(1)PPCD文檔創(chuàng)建者:完成將CDSO發(fā)送到CSS上存儲(chǔ),同時(shí)將提取密文和隨機(jī)對(duì)稱加密密鑰密文做處理后的混合密文份額發(fā)送到OSS上存儲(chǔ),以及指定混合密文份額的TTL和授予不同PPCD文檔參與者相應(yīng)的訪問(wèn)權(quán)限。
(2)PPCD文檔參與者:根據(jù)具備的訪問(wèn)權(quán)限,在有效期內(nèi)對(duì)文檔進(jìn)行操作。(3)PKG:生成具有訪問(wèn)權(quán)限文檔參與者的公鑰和私鑰。(4)CSS:存儲(chǔ)CDSO。(5)OSS:存儲(chǔ)混合密文份額和實(shí)現(xiàn)在TTL后實(shí)現(xiàn)主動(dòng)刪除。(6)潛在敵手:分別為對(duì)OSS和CSS進(jìn)行攻擊。
2.2 方案算法的具體描述
(1)Setup(Θ)
選擇一個(gè)足夠大的安全參數(shù)Θ作為算法的輸入,算法根據(jù)Θ生成混合密文份額為n個(gè)、每次從密文中提取的bit數(shù)為ε、需要提取的次數(shù)共為φ、設(shè)置門限值為u、一個(gè)Hash函數(shù)H:{0,1}*→{0,1}m、N個(gè)隨機(jī)對(duì)稱加密密鑰k1,…,ki,…,kN,其中1
文檔創(chuàng)建者根據(jù)所有的文檔組件具有不同的隱私程度將PPCD分為N個(gè)不同安全等級(jí)的文檔組件mi∈M(1≤i≤N),然后使用同一個(gè)ki(1≤i≤N)將具有相同安全等級(jí)的文檔組件進(jìn)行加密。相比將不同的文檔組件使用不同的ki進(jìn)行加密,減少了使用ki的數(shù)量和管理ki的開(kāi)銷。
(2)Encrypt(ψ,ki,mi)→C
將ψ、N個(gè)ki以及mi,其中1
(3)Partition(C,ψ)→(C=(D1,…,Di,…,Ds))
將ψ和C作為算法的輸入,算法將C分成大小均為ρbit的塊,假如密文的最后一塊的大小不足ρbit,使用0bit填充,因此,分成的所有密文塊長(zhǎng)度是相等的,假設(shè)共分成s塊,則將C的形式定義為:C=(D1,…,Di,…,Ds)。
(4)Extract(C=(D1,…,Di,…,Ds),ψ)→(Ced,Cf)
將ψ和C=(D1,…,Di,…,Ds)作為算法的輸入,其中i=1,…,φ (φ
(5)QKDF(e(α,β))→K
文檔創(chuàng)建者根據(jù)文檔組件的安全等級(jí)賦予具備訪問(wèn)權(quán)限的文檔參與者的身份,例如在本方案中應(yīng)用的是文檔參與者的ID,用以生成該文檔參與者的偽私有密鑰r;接著,應(yīng)用PKG的系統(tǒng)公鑰y,生成該文檔參與者的IBE加密密鑰K=QKDF(eH(ID)r,y));最后,文檔創(chuàng)建者根據(jù)偽私有密鑰r計(jì)算得出一個(gè)偽公鑰z=gr,并將該偽公鑰安全地傳送給對(duì)應(yīng)的文檔參與者。
(6)IBEEncrypt(K,ki)→Ck
將上述得到的K作為算法的輸入,利用同一密鑰生成算法QKDF,根據(jù)不同的身份D計(jì)算得出不同的K用以將對(duì)應(yīng)的ki進(jìn)行加密,其中1≤i≤N,生成對(duì)稱加密密鑰密文Cki,最后將所生成Cki組合得出密鑰密文Ck。
(9)MixSharesDistribute(Cms)→msi
將以上得到的Cms作為算法的輸入,算法通過(guò)將Cms與OSS系統(tǒng)中的存儲(chǔ)節(jié)點(diǎn)進(jìn)行創(chuàng)建連接。如果能夠創(chuàng)建連接成功則選擇應(yīng)用該存儲(chǔ)節(jié)點(diǎn);根據(jù)預(yù)先設(shè)置的TTL來(lái)創(chuàng)建OSS并將Cms發(fā)送到對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)上進(jìn)行存儲(chǔ);對(duì)節(jié)點(diǎn)中的對(duì)象進(jìn)行標(biāo)記;將所有IBE的加密密鑰K和ki都刪除。當(dāng)預(yù)先設(shè)置的TTL為零時(shí),系統(tǒng)將觸發(fā)OSS中的Cms進(jìn)行主動(dòng)刪除。
(10)CDSOEncapsulate(ψ,L,Cf)→CDSO
將ψ,一個(gè)隨機(jī)的密鑰定位器L以及Cf作為算法的輸入,應(yīng)用特定的封裝算法對(duì)其進(jìn)行封裝,然后將其形式定義為:CDSO=(ψ,L,Cf),并將CDSO發(fā)送到CSS上進(jìn)行存儲(chǔ)。
(11)CDSODecapsulate(CDSO)→Cf
在PPCD的有效期內(nèi),通過(guò)對(duì)文檔參與者的訪問(wèn)權(quán)限進(jìn)行驗(yàn)證,然后根據(jù)其訪問(wèn)權(quán)限可從CSS上獲取對(duì)應(yīng)的CDSO,算法應(yīng)用L對(duì)其進(jìn)行解封裝,最終解封裝出Cf。
(12)ExtractShares→(Ced,Ck)
在PPCD有效期內(nèi),首先,OSS系統(tǒng)對(duì)文檔參與者的訪問(wèn)權(quán)限進(jìn)行驗(yàn)證后,通過(guò)獲取足夠多的Cms,即大于或等于u個(gè)的msi;然后,應(yīng)用拉格朗日插值法得出φ+1個(gè)的多項(xiàng)式,得到Ced和Ck;最后,將Ced和Cf進(jìn)行重構(gòu)得出C。
(13)QKDF(e(α,β))→K'
具有訪問(wèn)權(quán)限的文檔參與者可以得到偽公鑰z=gr,并且通過(guò)身份驗(yàn)證后可以從PKG上獲取其身份IDi對(duì)應(yīng)的私鑰kIDi=H(IDi)x∈G1,最后算法將計(jì)算出K'=QKDF(e(kIDi,z))。
(14)IBEDecrypt(K,Ck)→ki
根據(jù)雙線性對(duì)函數(shù)e的性質(zhì),得出e(kIDi,z)= e(H(IDi)r,y),即K'=K,則算法利用K'解密Ck后可以獲得原始的N個(gè)ki(1≤i≤N)。
(15)Recover(ψ,ki,C)
將ψ、N個(gè)ki(1≤i≤N)以及C作為算法的輸入,算法應(yīng)用對(duì)應(yīng)的ki解密相應(yīng)的Cpi得到mi,最后將解密好的N個(gè)文檔組件集合后得到原始PPCD明文M。
3 ICDSS方案的綜合性分析
3.1 方案的安全性分析
3.1.1 抵抗傳統(tǒng)算法攻擊的安全性分析
在本方案中,首先,使用同一個(gè)對(duì)稱加密密鑰將具有相同安全等級(jí)的文檔組件進(jìn)行加密,同時(shí),利用IBE算法將對(duì)稱加密密鑰進(jìn)行加密;接著,利用特定的混合算法將密鑰密文和提取密文做相應(yīng)的混合處理。所以,如果無(wú)法獲取完整的密文和解密密鑰,將不能解密出原始的明文。
在本方案中利用特定的算法使PPCD的密文變得不完整,且密鑰空間的大小是由密鑰密文和提取密文做混合處理得到的混合密文的長(zhǎng)度決定的。這樣加大了密鑰空間,使得蠻力攻擊變得更加困難。因此,該方案可有效抵抗傳統(tǒng)的蠻力攻擊。
同時(shí),在本方案中沒(méi)有將完整的密文存儲(chǔ)在OSS系統(tǒng)上。因此,也可有效抵抗傳統(tǒng)的密碼分析攻擊。
3.1.2 在任意時(shí)刻抵抗攻擊的安全性分析
該方案可抵抗第三種類型的攻擊,即在PPCD的全生命周期內(nèi),同時(shí)對(duì)CSS和OSS進(jìn)行攻擊。假設(shè)在PPCD全生命周期內(nèi)的某一時(shí)刻,潛在敵手同時(shí)對(duì)CSS和OSS發(fā)起攻擊,并獲得足夠多的混合密文份額和CDSO,但由于PKG是可信的,因此潛在敵手不可能得到具有訪問(wèn)權(quán)限的文檔參與者的IBE私鑰,從而無(wú)法解密出原始的明文。因此,該方案可以同時(shí)抵抗?jié)撛跀呈謱?duì)CSS和OSS的攻擊,達(dá)到本方案的整體安全。
綜合以上的論述,證明該方案是安全的。
3.2 方案的性能試驗(yàn)
本方案只對(duì)應(yīng)用到的關(guān)鍵算法進(jìn)行循環(huán)試驗(yàn),執(zhí)行300次后取平均值。本方案對(duì)PPCD進(jìn)行分安全等級(jí),在試驗(yàn)時(shí)將其分成4個(gè)不同的安全等級(jí),即令N=4,門限值u=10,提取密文的次數(shù)φ=20。試驗(yàn)得到位于4個(gè)不同的安全等級(jí)的文檔組件的時(shí)間開(kāi)銷,如表1所示。
實(shí)驗(yàn)結(jié)果顯示,當(dāng)4個(gè)位于不同安全等級(jí)的文檔組件的大小越大時(shí),使用對(duì)稱加密密鑰進(jìn)行加密的時(shí)間也越大,但是,相比引入IBE系統(tǒng)后方案獲得的安全性,此時(shí)間開(kāi)銷是合理的。
4 結(jié)語(yǔ)
本文針對(duì)PPCD在全生命周期內(nèi)的安全問(wèn)題提出ICDSS方案,相比已有的方案,本方案將IBE系統(tǒng)、CSS、OSS、對(duì)稱加密密鑰以及引入多級(jí)安全思想等結(jié)合起來(lái)實(shí)現(xiàn),并對(duì)方案的綜合性進(jìn)行分析和試驗(yàn)。
[參考文獻(xiàn)]
[1]BALINSKY H,CHEN L,SIMSKE S J.Premature silent workflow termination in publicly posted composite documents[C].Alaska: In Proc.of the 2011 IEEE International Conference on Systems,Man,and Cybernetics(SMC),2011(4):1292-1297.
[2]GEAMBASU R,KOHNO T,LEVY A,et al.Vanish:Increasing data privacy with self-destructing data[C].Montreal:In Proc.of the 18th USENIX Security Symposium,2009(3):299-315.
[3]WANG G,YUE F,LIU Q.A secure self-destructing scheme for electronic data[C].Hong Kong:Journal of Computer and System Sciences,2013(2):279–290.
[4]熊金波,姚志強(qiáng).基于屬性加密的組合文檔安全自毀方案[J].電子學(xué)報(bào),2014(2):366-376.
[5]ZENG L,CHEN S,WEI Q,et al.SeDas:A self-destructing data system based on active storage framework[J].IEEE Transactions on Magnetics,2013(6):2548-2554.
(編輯 傅金睿)