黃龍霞 張功萱 付安民
(南京理工大學(xué)計算機科學(xué)與工程學(xué)院 南京 210094) (1063170178@qq.com)
?
基于層次樹的動態(tài)群組隱私保護公開審計方案
黃龍霞 張功萱 付安民
(南京理工大學(xué)計算機科學(xué)與工程學(xué)院 南京 210094) (1063170178@qq.com)
隨著云存儲的高速發(fā)展,保證共享數(shù)據(jù)的安全變得尤為重要.因此,在共享數(shù)據(jù)的同時,需要對數(shù)據(jù)完整性進行有效驗證并對用戶隱私進行保護.針對現(xiàn)有支持動態(tài)群的公開審計方案沒有考慮密鑰管理與安全分發(fā)的問題,基于層次樹和代理重簽名提出了一個支持云存儲中群組成員動態(tài)的隱私保護公開審計方案.提出的方案首次使用基于邏輯層次密鑰體系的密鑰樹進行密鑰的建立和分發(fā),并引入密鑰服務(wù)器對密鑰進行存儲,每個用戶只需持有葉子節(jié)點,成員撤銷及加入與原有有效用戶獲取新群私鑰是相互獨立的.發(fā)生用戶撤銷后,其余合法用戶仍可以根據(jù)所持密鑰獲取新的群私鑰,大大提高了用戶動態(tài)的效率.性能分析結(jié)果表明:該方案是安全且高效的.
隱私保護;動態(tài)群;公開審計;層次樹;重簽名
云存儲是將存儲資源放入云服務(wù)器中供用戶存取的一種新興方案,使用者可以在任意地點、任意時間通過任何聯(lián)網(wǎng)方式在云端存取數(shù)據(jù).數(shù)據(jù)共享技術(shù)使得同一群組的有效用戶可以分享同一數(shù)據(jù).然而,由于云端存在一些不可避免的數(shù)據(jù)損壞威脅,例如硬件的損壞等不可避免的因素以及為了自身利益故意刪除數(shù)據(jù)的人為因素[1],因此對于存儲在云端的數(shù)據(jù)需要對其進行完整性驗證,為了緩解用戶端的計算壓力,通常選取一個半可信[2]的第三方代替用戶進行數(shù)據(jù)完整性審計,同時用戶隱私泄露的威脅問題也日益嚴重,尤其是在云存儲數(shù)據(jù)進行共享時,信息的隱私保護更加需要得到保證[3-10].另外,現(xiàn)有的云安全存儲系統(tǒng)中存在密鑰分發(fā)和管理的不足[11].
目前存在的基于數(shù)據(jù)持有證明的動態(tài)完整性審計方案的主要研究方向分為支持群組動態(tài)和數(shù)據(jù)動態(tài)兩種.數(shù)據(jù)動態(tài)即支持數(shù)據(jù)的有效更改、添加和刪除,用戶動態(tài)即支持群組用戶的有效加入和撤銷.為了支持有效的群組動態(tài)操作,很多方案[3-4,12-14]采用代理重簽名對文件塊進行操作,文獻[13]提出了采用具有較強計算能力的代理者進行簽名計算的審計協(xié)議,可以為設(shè)備節(jié)省大量的計算時間.文獻[14]基于Merkle Hash樹和雙線性對技術(shù)提出了支持動態(tài)數(shù)據(jù)的完整性審計方案,并采用分層次索引結(jié)構(gòu)的方法對數(shù)據(jù)塊進行分割.為了支持動態(tài)群組,文獻[15]將動態(tài)組密鑰協(xié)議應(yīng)用于成員之間的密鑰共享.然而,支持群組動態(tài)的方案均使用廣播加密進行密鑰更新與分發(fā),而廣播加密存在密鑰更新開銷大和密鑰分發(fā)不安全的問題.
文獻[10]給出了既能保護用戶身份隱私又能在一定條件下對用戶身份進行追蹤的公開審計方案.Wang等人在文獻[3]中基于雙線性對技術(shù),使用代理重簽名技術(shù)對簽名更新進行處理,能夠有效地支持群組動態(tài),即支持群用戶的加入和撤銷,同時對用戶的身份隱私進行了保護.但是發(fā)生用戶撤銷時,數(shù)據(jù)擁有者需要將新的群密鑰分發(fā)給群中的每個成員,其開銷較大.之后,文獻[4]進一步基于計算Diffie-Hellman難題與離散對數(shù)難題和雙線性對提出了支持用戶撤銷的方案.文獻[16]提出了基于RSA假設(shè)的數(shù)據(jù)加密方案,并給出了基于身份的數(shù)據(jù)完整性審計協(xié)議.
大量數(shù)據(jù)傳輸任務(wù)會造成帶寬嚴重不足,使得密鑰分發(fā)不能得到保證,組播密鑰可以解決這一問題.在組播中,組密鑰是群組成員共享的密鑰,動態(tài)群組允許群組成員隨時加入或者離開,組密鑰管理方案必須保證離開用戶無法獲取新的密鑰.文獻[17]總結(jié)了組播密鑰樹的5種方案,但是這些方案并不完全適用于云存儲環(huán)境;文獻[18]基于離散對數(shù)問題提出分散式組密鑰管理方案;文獻[3]采用廣播加密技術(shù)對密鑰分發(fā)進行保護,但用戶撤銷產(chǎn)生的密鑰分發(fā)開銷較大;文獻[19]引入第三方實現(xiàn)密鑰的更新和存儲數(shù)據(jù)的審計,但是增加的第三方必須為可信方,因此一旦第三方出現(xiàn)信息竊取或者泄露問題將對用戶帶來不可預(yù)估的損失.
由此可見,目前存在的數(shù)據(jù)完整性審計方案中大都沒有針對密鑰分發(fā)和管理不足的現(xiàn)狀進行改善[4-5,7-15],只有文獻[3]提出將廣播加密應(yīng)用于密鑰更新以及文獻[15]將動態(tài)組密鑰應(yīng)用于移動用戶群,但是2個方案都沒有對密鑰的分發(fā)與更新進行具體說明.而支持用戶動態(tài)的公開審計方案[3-4,12-14]均采用集中式的組密鑰管理協(xié)議,這種方法雖易于管理并且節(jié)約組內(nèi)成員的密鑰存儲,但是該方法會出現(xiàn)“1影響N”的情況,即一個成員的退出會造成所有成員的密鑰更新.目前存在的方案[2-15]中均通過假設(shè)安全的信道進行密鑰分發(fā),實際的網(wǎng)絡(luò)環(huán)境中無法保證通信信道的絕對安全,這使得密鑰更新的情況更為復(fù)雜.
針對密鑰管理問題和身份隱私泄露問題,本文提出在云存儲環(huán)境中采用基于邏輯密鑰層次體系的方法對群密鑰進行加密;將密鑰樹中除葉子節(jié)點密鑰的其他密鑰存儲在密鑰服務(wù)器中節(jié)省用戶客戶端的存儲開銷;將用戶撤銷時產(chǎn)生的新密鑰處理開銷由O(N)降至O(logN);用戶撤銷后,使用云服務(wù)器代替用戶根據(jù)該密鑰對云端數(shù)據(jù)進行重簽名,節(jié)省了用戶的計算開銷;采用基于RSA假設(shè)的數(shù)據(jù)簽名方案,使得公開審計開銷低于基于雙線性對的方案.
1.1 系統(tǒng)模型
如圖1所示,系統(tǒng)包含4個實體:密鑰服務(wù)器、用戶群組、云服務(wù)器和第三方審計者(third party auditor, TPA).
Fig. 1 System model.圖1 系統(tǒng)模型
其中密鑰生成中心是可信的,第三方審計者能夠誠實地執(zhí)行相關(guān)操作但是會對數(shù)據(jù)塊內(nèi)容感到好奇.用戶群包含合法用戶和撤銷用戶,撤銷用戶無法獲取合法密鑰,合法用戶中包含普通用戶和數(shù)據(jù)擁有者.用戶群組與云服務(wù)器之間共享數(shù)據(jù)流,用戶群與密鑰服務(wù)器之間可以交換密鑰,用戶群內(nèi)合法用戶向TPA發(fā)送審計請求,TPA向云服務(wù)器發(fā)送挑戰(zhàn)信息,云服務(wù)器針對挑戰(zhàn)信息生成數(shù)據(jù)持有證明.
云服務(wù)器通過審計驗證則說明其完整地存儲了相關(guān)數(shù)據(jù),否則說明存儲在云端的數(shù)據(jù)被損壞.
1.2 安全模型
1) 隱私保護
群組共享數(shù)據(jù)的簽名者的身份是重要的隱私信息.但在完整性審計過程中,半可信的公開驗證者可以根據(jù)驗證信息獲取數(shù)據(jù)簽名者的身份隱私以及數(shù)據(jù)信息.例如,通過進行多次完整性驗證,公開驗證者可以找出被多次修改的數(shù)據(jù)塊,判斷出具有較高價值的數(shù)據(jù)塊進而進行攻擊.因此,方案應(yīng)該保證簽名者身份的隱私保護.
2) 完整性驗證
受硬件、軟件以及人為的影響,云服務(wù)器可能在無意中修改甚至刪除了共享數(shù)據(jù);來自外部的攻擊也會威脅數(shù)據(jù)完整性.除此之外,為了維護自身利益和信譽,云服務(wù)商可能會將數(shù)據(jù)損壞的事實對用戶隱瞞.因此,需要公開驗證者對云端數(shù)據(jù)完整性進行的有效審計.
3) 偽造攻擊抵抗
對于驗證者發(fā)起的挑戰(zhàn),只有在真實持有數(shù)據(jù)的情況下才能生成有效的簽名.敵手在不具備挑戰(zhàn)數(shù)據(jù)塊的情況下無法產(chǎn)生能夠通過驗證的數(shù)據(jù)持有證明.
4) 可抗完全同謀
即使被撤銷的用戶將自己所持有的密鑰聯(lián)合起來也無法獲取廣播加密的私鑰.
1.3 實現(xiàn)目標
為了實現(xiàn)支持動態(tài)群組的用戶云端共享數(shù)據(jù)的完整性審計,支持同態(tài)認證的基于層次樹的動態(tài)群組隱私保護公開審計方案HT-HAS需要實現(xiàn)6個目標:
1) 正確性.TPA能夠正確地審計數(shù)據(jù)的完整性.
2) 身份隱私.TPA在審計過程中無法獲取簽名用戶的相關(guān)信息.
3) 公開審計.TPA可以在不知道簽名私鑰的情況下對數(shù)據(jù)完整性進行審計.
4) 不可偽造性.只有正確持有挑戰(zhàn)數(shù)據(jù)的實體能夠生成有效的數(shù)據(jù)持有證明.
5) 高效性.即使在大規(guī)模的數(shù)據(jù)審計中,TPA產(chǎn)生的審計開銷均與用戶成員數(shù)量大小無關(guān).
6) 支持動態(tài)群組.能夠有效支持用戶加入和撤銷,撤銷用戶不再擁有簽名以及訪問數(shù)據(jù)的權(quán)限.
2.1 RSA密碼體系
假設(shè)N=pq,其中p和q為2個不等的素數(shù),令φ(N)=(p-1)(q-1).選擇滿足條件gcd(b,φ(N))=1的隨機數(shù)b(1
2.2 邏輯密鑰層次體系
邏輯密鑰層次體系密鑰重建方案是基于樹結(jié)構(gòu)構(gòu)造的,由密鑰節(jié)點組成的二叉樹,葉子節(jié)點2d+1-1=15代表用戶持有節(jié)點,剩余節(jié)點代表密鑰節(jié)點.根節(jié)點為群私鑰,葉子節(jié)點為用戶私鑰,中間節(jié)點為輔助密鑰節(jié)點,用于降低密鑰更新開銷.該方案中,每個用戶擁有從對應(yīng)節(jié)點至根節(jié)點唯一路徑的所有密鑰,即在高度為d的密鑰樹中用戶可以獲取d+1個密鑰.用戶根據(jù)葉子節(jié)點的密鑰逐層獲取上層密鑰直至獲取群私鑰,群私鑰用于加密文件生成簽名.
如圖2所示,對于一個d=3,n=8的二叉樹,把每個葉子節(jié)點按照1,2,…,2d+1-1=15依次編號.8個用戶依次命名為node8,node9,…,node15.組密鑰為k(node1),通過路徑node11→node5→node2→node1獲得密鑰k(node11),k(node5),k(node2),k(node1).逐層解密才能獲得最后的組密鑰k(node1).
Fig. 2 Key tree.圖2 密鑰樹
2.3 同態(tài)認證
同態(tài)認證又名同態(tài)認證標簽,因其允許公開驗證者在無需下載完整數(shù)據(jù)的情況下驗證數(shù)據(jù)完整性,被廣泛應(yīng)用于公開審計方案.同態(tài)認證擁有不可否認性、無塊認證和不可鍛造性[3,7-8].其中的無塊認證和不可鍛造性定義如下:
假設(shè)簽名者的私鑰和公鑰的密鑰對為(sk,pk),數(shù)據(jù)塊m1∈p的簽名為σ1,數(shù)據(jù)塊m2∈p的簽名為σ2.
1) 無塊認證.給定數(shù)據(jù)塊簽名σ1和σ2,2個隨機數(shù)x1,x2∈p和數(shù)據(jù)塊m=x1m1+x2m2,公開驗證者能夠在未知數(shù)據(jù)塊m1和m2的情況下對數(shù)據(jù)塊m=x1m1+x2m2的簽名的正確性進行判定.
2) 不可鍛造性.給定數(shù)據(jù)塊簽名σ1和σ2,2個隨機數(shù)x1,x2∈p,2個數(shù)據(jù)塊m1,m2∈p和組合數(shù)據(jù)塊m=x1m1+x2m2,不持有私鑰的實體無法通過m1和m2線性組合對塊m=x1m1+x2m2進行有效簽名.
無塊認證提高了簽名認證的效率,因為驗證者通過驗證數(shù)據(jù)塊的線性組合對數(shù)據(jù)塊進行驗證,無需得知數(shù)據(jù)塊的具體內(nèi)容.不可鍛造性能夠有效防止獲取了部分簽名的非法實體生成有效簽名.
目前存在的支持公開審計的簽名算法很多都是基于雙線性對的,HT-HAS基于RSA假設(shè)設(shè)計一個支持云端數(shù)據(jù)完整性驗證的協(xié)議HT-HAS,并且采用密鑰樹結(jié)構(gòu)實現(xiàn)密鑰分發(fā)及管理,能夠高效地支持動態(tài)用戶群.用戶撤銷時的密鑰更新開銷小,而且無需用戶對數(shù)據(jù)塊進行重新簽名.本節(jié)首先描述基于邏輯層次結(jié)構(gòu)的密鑰更新;然后描述基于RSA假設(shè)的適用于云存儲的支持動態(tài)群組的數(shù)據(jù)完整性審計方案的基本操作.
3.1 基于邏輯層次體系的密鑰更新
基于邏輯層次體系的密鑰更新方案中的每個有效用戶只使用初始密鑰處理接收到的廣播消息(廣播信息通過不安全信道進行傳輸),所有接收用戶的密鑰不需要更新,因此用戶不需要一直在線,只有在需要獲取密鑰的情況下申請根密鑰.當出現(xiàn)群組用戶多于葉子節(jié)點個數(shù)以及發(fā)生用戶撤銷的時候,密鑰樹需要進行更新.
3.1.1 用戶加入
為了方便用戶的加入,預(yù)先生成所有葉子節(jié)點存儲在密鑰服務(wù)器,即假設(shè)用戶數(shù)目為N,葉子節(jié)點數(shù)為2logN+1,當新用戶加入時,密鑰服務(wù)器只需完成密鑰分配,對其余用戶密鑰沒有影響.當新用戶加入前葉子節(jié)點已經(jīng)分配完畢時,密鑰樹樹高將加一,所有用戶密鑰發(fā)生更新.密鑰樹需要進行擴展,擴展后的樹可以服務(wù)雙倍的用戶數(shù)群體.假設(shè)原密鑰樹能容納4個用戶,如圖3所示,第5個用戶user5加入后樹高增加,原用戶仍然可以根據(jù)原持有密鑰進行新密鑰的獲取.
Fig. 3 The change of tree after a user joining.圖3 用戶加入后樹的變化
具體算法實現(xiàn)為算法Join:
數(shù)據(jù)擁有者將新用戶u′加入到廣播列表中.如果廣播組中成員數(shù)少于密鑰樹的葉子節(jié)點,數(shù)據(jù)擁有者將空閑節(jié)點的密鑰k(u′)發(fā)送給新用戶.否則,數(shù)據(jù)擁有者將調(diào)用KeyTree算法生成一棵樹高+1新的密鑰樹.新的成員可以通過自己擁有的密鑰與收到的廣播信息獲得群私鑰,從而可以計算有效簽名并可以對密文數(shù)據(jù)塊進行解密獲取明文.
3.1.2 用戶撤銷
假設(shè)樹高為j,撤銷用戶為U,那么從撤銷用戶上一個節(jié)點直至根節(jié)點唯一路徑上的j個節(jié)點對應(yīng)的密鑰需要進行更新操作.
ek(node10)(k′(node5)),ek(node4)(k′(node2)),
ek′(node5)(k′(node2)),ek(node3)(k′(node1)),
ek′(node2)(k′(node1)).
Fig. 4 User revoke.圖4 用戶撤銷
在我們的方案中,用戶只保存其對應(yīng)的葉子節(jié)點密鑰,故撤銷操作對其他用戶密鑰更新沒有影響.例如,用戶11撤銷之后,若用戶10需要獲取新的群私鑰進行數(shù)據(jù)簽名的操作,用戶10仍然可以使用原有的密鑰k(node10)解密ek(node10)(k′(node5)),從而獲得k′(node5),然后使用k′(node5)獲得k′(node2),最終使用獲取k′(node1),即新的群私鑰.
用戶撤銷的算法revoke具體實現(xiàn)如下:
令從葉子節(jié)點nodeU到根節(jié)點nodeR的唯一路徑上的所有節(jié)點的集合為P(nodeU),那么集合P(nodeU){nodeU}中j個節(jié)點對應(yīng)的密鑰都需要重置.對于集合P(nodeU){nodeU}中的每個節(jié)點nodeX,令節(jié)點對應(yīng)的新密鑰為k′(nodeX),節(jié)點的兄弟節(jié)點為sib(·),節(jié)點的父節(jié)點為par(·).執(zhí)行用戶撤銷操作進行部分密鑰更新后,節(jié)點密鑰更新過程為
ek(sib(nodeX))(k′(par(nodeX))),
ek′(nodeX)(k′(par(nodeX))),
nodeX∈P(nodeU){nodeU,nodeR},
ek(sib(nodeU))(k′(par(nodeU))).
3.2 HT-HAS的設(shè)計
HT-HAS方案由8個算法組成:Setup,KeyTree,KeyGen,Sign,Join,Revoke,ProofGen,ProofVerify.Setup算法用于生成系統(tǒng)公鑰,包括RSA模數(shù)、Hash函數(shù)、偽隨機函數(shù)和用于生成簽名的隨機數(shù);KeyTree算法由密鑰生成中心運行,用于將群私鑰進行逐層加密產(chǎn)生用戶私鑰以及中間節(jié)點密鑰;KeyGen算法用于生成群私鑰以及分發(fā)用戶密鑰;Sign算法用于生成數(shù)據(jù)塊簽名;Join算法用于執(zhí)行用戶加入的密鑰分發(fā);Revoke算法用于撤銷用戶,同時數(shù)據(jù)擁有者生成重簽名密鑰并發(fā)送給云,云對所存數(shù)據(jù)塊進行重簽名;ProofGen算法中驗證者向云服務(wù)發(fā)起驗證挑戰(zhàn),云服務(wù)器根據(jù)挑戰(zhàn)信息生成數(shù)據(jù)持有證明;ProofVerify算法中驗證者針對持有證明進行驗證.具體算法描述如下:
1) Setup
令H:{0,1}*→p是一個Hash函數(shù),f:p×p→p是一個偽隨機函數(shù),將共享數(shù)據(jù)M分割成n塊:M=(m1,m2,…,mn).群組中一共有m個用戶成員.
① 密鑰生成中心選取2個隨機素數(shù)a和b生成RSA模數(shù)N=ab;
③ 發(fā)布系統(tǒng)參數(shù)mpk=(N,H,f,u).
2) KeyTree
假設(shè)用戶數(shù)量為m滿足2j-1 3) KeyGen ① 數(shù)據(jù)擁有者隨機選擇一個素數(shù)e,計算群私鑰d:d=e-1modΦ(N)并發(fā)送給密鑰生成中心; ② 運行KeyTree算法,然后將群中的每個成員ui加入到廣播列表U中. 4) Sign 給定群私鑰sk=d,共享數(shù)據(jù)塊的密文mi∈p和塊標識符idi,用戶ui根據(jù)自己持有的密鑰獲取群私鑰d并計算輸出塊的簽名σi=(H(idi)umi)d. 5) Join 算法Join具體過程見3.1.1節(jié)所示. 6) Revoke ① 數(shù)據(jù)擁有者隨機選擇新的素數(shù)e′計算新的群私鑰d′:d′=e′-1modΦ(N)并發(fā)送給密鑰生成中心; ② 數(shù)據(jù)擁有者將撤銷成員從廣播列表中刪除,運行算法KeyTree進行新的密鑰分發(fā),更新過程如revoke算法所示; ③ 數(shù)據(jù)擁有者根據(jù)舊群公鑰e′和新的群私鑰d′計算重簽名密鑰rk=de′∈p,并將重簽名密鑰發(fā)送給云,云服務(wù)器收到密鑰之后對云中的塊進行重簽名=(H(idi)umi)d′. 7) ProofGen TPA驗證共享數(shù)據(jù)的完整性: ① 選取c個隨機值生成集合I,I是集合{1,2,…,n}的子集; ② 選取隨機數(shù)k∈p生成挑戰(zhàn)集合Q={(i,vi)},其中vi=fk(i); ③ 將挑戰(zhàn)chal={I,k}發(fā)送給云. 8) ProofVerify TPA收到證明消息之后檢查下列等式是否成立: 如果等式成立,系統(tǒng)輸出“1”,證明云存儲生成了正確的證明,即存儲在云端的數(shù)據(jù)是完整的;否則輸出“0”并退出. 4.1 公開審計 TPA可以在無需下載完整數(shù)據(jù)、無法獲取加密私鑰的情況下,對數(shù)據(jù)完整性進行審計.用戶撤銷之后,重簽名之后的數(shù)據(jù)塊也可以進行審計,審計的正確性和安全性證明如定理1和定理2所示. 定理1. TPA獲取證明P={μ,σ}之后,能夠正確地驗證共享數(shù)據(jù)的完整性. 重簽名之后的證明P={μ′,σ}也可根據(jù)如上證明同理可證. 定理2. 敵手?在不知道數(shù)據(jù)塊內(nèi)容的情況下無法生成有效的簽名. 因為μ′≠μ,定義Δμ=μ′-μ,所以(σ′σ)e=uΔμ.令u=geya,g∈p,a∈[1,2λ],那么(σ′σ)e=uΔμ=(geya)Δμ=(ge)ΔμyaΔμ,即((σ′σ)×g-Δμ)e=yaΔμ.因為a∈{1,2,…,2λ},可以得出使得gcd(e,aΔμ)=1的可能性為2-λ,即存在一個值x′使得x′e=y的概率為2-λ,可忽略. 因為RSA問題是難解的大素數(shù)問題,基于此,我們可以證明提出的方案是可靠的.即在不持有正確數(shù)據(jù)的情況下敵手?無法偽造出正確的標簽. 4.2 用戶隱私 在方案中,所有有效群成員可以使用同一組密鑰對數(shù)據(jù)塊進行簽名.根據(jù)生成的簽名,驗證者TPA無法區(qū)分出每個塊的簽名者.假設(shè)群的有效用戶為n,那么TPA猜對簽名成員的概率為1n.在云存儲的環(huán)境下,群用戶的數(shù)量是巨大的,即猜對成員的概率是可忽略的.因此,方案具有用戶身份隱私保護的性質(zhì). 4.3 可抗完全同謀 所有撤銷用戶聯(lián)合起來也無法獲取根密鑰或者解密廣播信息.在HT-HAS中,只有有效用戶通過自己所持私鑰能對獲取的正確的路徑密鑰進行逐層解密獲取根密鑰,其余成員都無法進行解密.每次成員撤銷會進行根密鑰更新,撤銷的用戶只能根據(jù)之前接收的消息獲取過期密鑰.具體安全證明可參照文獻[20],故HT-HAS具有可抗完全同謀性. 4.4 撤銷安全 撤銷用戶只有在重新加入新組的情況下才能獲取新的群私鑰,進而對數(shù)據(jù)塊進行簽名.具體來說,一個被撤銷的用戶無法通過原有私鑰獲取新的群私鑰,也無法獲取數(shù)據(jù)內(nèi)容.用戶useri被撤銷之后,密鑰樹的根密鑰即存儲的密文數(shù)據(jù)塊的解密密鑰以及更改用戶相關(guān)的節(jié)點密鑰都將發(fā)生變換,該用戶將無法解密廣播密鑰從而獲取新的解密密鑰,即用戶useri即使獲取數(shù)據(jù)塊也無法解密新的數(shù)據(jù)塊.其擁有的密鑰包括舊的用戶私鑰k(nodeuseri)、舊的群私鑰d,撤銷用戶之后,群私鑰被更新為d′,存儲在云端的數(shù)據(jù)也被重簽名. 撤銷用戶如果試圖通過新的簽名,模數(shù)N獲取新的群私鑰d′是困難的,這是一個RSA困難問題. 4.5 同態(tài)認證 根據(jù)第2節(jié)對同態(tài)認證的定義,為了證明方案HT-HAS具有同態(tài)認證的性質(zhì),需要證明該方案具有無塊認證和不可鍛造性. 1) 無塊驗證.給定系統(tǒng)群公鑰pk=e,2個隨機數(shù)x1,x2∈p,2個數(shù)據(jù)塊標識符id1,id2,2個數(shù)據(jù)塊簽名σ1,σ2,驗證者可以驗證塊m=x1m1+x2m2的正確性,只要如下等式成立,即說明塊m=x1m1+x2m2是正確的: 驗證過程中,驗證者不知道數(shù)據(jù)塊m1和m2的內(nèi)容.基于RSA的性質(zhì),以上等式的正確性可以通過如下過程證明: ((H(id1)×um1)dx1×(H(id2)×um2)dx2)emodN= ((H(id1)×um1)x1×(H(id2)×um2)x2)demodN= H(id1)x1×H(id2)x2×um1x1×um2x2modN= 2) 不可鍛造性.敵手如果不能獲取群私鑰sk=d,就不能通過結(jié)合2個隨機數(shù)x1,x2∈p和2個數(shù)據(jù)塊簽名σ1,σ2,對數(shù)據(jù)塊m=x1m1+x2m2計算出有效的簽名σ. 假設(shè)敵手能夠通過結(jié)合2個數(shù)據(jù)塊簽名σ1,σ2生成了一個有效的簽名σ,那么我們可以得到: σ=(H(id′)um)t. 那么,可以得到H(id′)=H(id1)x1H(id2)x2,也就是說,給定h=H(id1)x1H(id2)x2,可以很容易地找到符合H(id′)=h的塊標識符id′,但是H(·)是一個單向函數(shù),在單向函數(shù)中,根據(jù)映射值求原值是困難的,所以假設(shè)不成立. 所以,方案HT-HAS滿足同態(tài)認證的無塊認證和不可鍛造性,即滿足同態(tài)認證. 在本節(jié)中,從動態(tài)群性能和審計性能對提出方案進行性能評估,并將結(jié)果與方案進行比較,方案實現(xiàn)了廣播密鑰更新以及身份隱私.在方案中,我們設(shè)置元素的大小為|p|=160 b,共享數(shù)據(jù)為n=106塊,假設(shè)群包含k個用戶. 其中,T為密鑰分發(fā)開銷,Ten表示加密開銷,TRSA表示RSA運算開銷,TExp和TMul分別表示在計算一個指數(shù)運算和乘法運算的時間,THash表示計算一個Hash函數(shù)的運算時間,Pair表示計算一個雙線性對運算的時間,Tm表示模運算所花時間. 5.1 動態(tài)群的性能分析 在本方案中,為了支持有效的動態(tài)群組,我們使用動態(tài)廣播加密的技術(shù)進行密鑰分發(fā).基于動態(tài)廣播加密的安全性,非群內(nèi)成員無法獲取正確的群密鑰以生成有效的簽名.為了進一步提高用戶動態(tài)操作的效率,我們使用基于樹結(jié)構(gòu)的邏輯密鑰層次體系進行密鑰處理.撤銷用戶時只需更新路徑上節(jié)點的密鑰值,由于每個用戶只存儲對應(yīng)的節(jié)點密鑰,其余用戶仍可以根據(jù)其原有密鑰獲取新的組密鑰,因此每次密鑰更新的開銷為Οlbn,而且注銷用戶的數(shù)量可以不受限制,安全性不受影響.當加入新成員后群成員個數(shù)仍小于葉子節(jié)點時,為新成員分配新密鑰;否則在密鑰樹中新建一層葉子節(jié)點. 特別是當新用戶加入和舊用戶撤銷同時發(fā)生時,基于邏輯層次體系的密鑰樹可以將2種操作同時進行,即將撤銷節(jié)點進行重新計算之后分配給新用戶. 基于層次樹的密鑰更新結(jié)構(gòu)相對于文獻[3,15]存儲密鑰空間較大,因為其需要存儲中間節(jié)點,而文獻[3,15]中的方案只要存儲用戶密鑰,而且HT-HAS葉子節(jié)點個數(shù)多于用戶個數(shù),故采用密鑰服務(wù)器進行存儲. 5.2 動態(tài)群的性能對比 因為葉子節(jié)點密鑰是預(yù)先計算好的,與其他方案沒有比較的意義,故不做新成員加入開銷的對比.當用戶撤銷,計算部分新節(jié)點密鑰,密鑰樹中l(wèi)bd個節(jié)點需要重新計算,其中包含新的群私鑰以及新的群共享密鑰的計算.并且云服務(wù)器需要對所有的塊進行重簽名,這個過程中不需要用戶下載原數(shù)據(jù)或者對數(shù)據(jù)進行簽名.對n個塊進行重簽名的開銷為nTExp,總的撤銷開銷為Tm+TMul+nTExp. 文獻[15]中使用了Hash運算和冪指數(shù)運算較多,故開銷相當較大.在文獻[3]中,重簽名的計算開銷與本文相同,新公鑰的計算為TExp,還有一次加密運算,故撤銷用戶所花開銷總和為kT+Ten+TExp+nTExp.k為群組中成員數(shù)量,在實際情況中會是一個比較大的數(shù)值;T為分發(fā)時間,如表1所示,在網(wǎng)絡(luò)狀況不理想的情況,我們方案會更佳. Table 1 Performance on Dynamic Group 5.3 審計性能對比 方案的設(shè)計目標不僅是為了保護身份隱私以及支持動態(tài)群組,也包括對數(shù)據(jù)塊完整性審計的高效性.已有研究[21]表明,當挑戰(zhàn)數(shù)據(jù)塊個數(shù)c=460時,檢測率分別可以達到99%. 驗證者驗證一個審計證據(jù)的計算開銷為cTHash+cTMul+(c+1)TExp+Tm.我們方案與支持隱私保護和群組動態(tài)的文獻[3,15]的計算開銷和通信開銷進行對比.如表2所示,我們方案的總的計算開銷合計為cTHash+(3c-1)TMul+(2c+1)TExp+2Tm,通信開銷為(c+3)|p|. Table 2 Performance on Public Auditing 文獻[3]中方案采取基于雙線性對的同態(tài)認證審計方案,由于雙線性對運算時間比RSA操作時間久,所以在開銷上遠遠多于本方案;因為文獻[15]中方案的數(shù)據(jù)塊進行了進一步的分割,故開銷會遠大于HT-HAS,為了形成相對公平的對比,我們將文獻 [15]的方案稍微做了修改.本文基于隨機函數(shù)的挑戰(zhàn)大大降低了計算及通信開銷. 5.4 實驗結(jié)果對比 在本節(jié)中,為了評估方案的性能,我們使用PBC中的庫函數(shù)對相關(guān)的密碼學(xué)運算進行模擬,并將實驗結(jié)果與文獻[3,15]進行對比分析.所有的模擬均在Ubuntu系統(tǒng)中實現(xiàn),處理器為Intel Core i7 3.40 GHz,內(nèi)存為4 GB,測試1 000次以上. 表3給出了本文方案與文獻[3,15]中方案的實驗結(jié)果對比情況.文獻[3]中方案其通信開銷與計算開銷均與群成員數(shù)量線性相關(guān),而且即使成員數(shù)較少,開銷仍然高于HT-HAS.可以從表2中得知我們方案在通信開銷和計算開銷上都優(yōu)于文獻[3,15]中的方案. Table 3 Experimental Results Comparison 在本文中,我們利用邏輯密鑰樹和代理重簽名技術(shù),提出了一個支持云存儲中群組成員動態(tài)的隱私保護公開審計方案.群中每個合法用戶使用同一簽名密鑰對數(shù)據(jù)進行簽名,因此驗證者在審計過程中無法根據(jù)所獲得的審計信息提取用戶成員的信息,從而保護了用戶的身份隱私.基于邏輯層次密鑰體系的密鑰樹實現(xiàn)了安全高效的密鑰更新,用戶只保存葉子節(jié)點密鑰,因此撤銷用戶與用戶密鑰更新是相互獨立的,提高了方案的效率.HT-HAS考慮到帶寬受限的情況并支持動態(tài)群組,尤其適用于移動用戶的云存儲數(shù)據(jù)共享. [1]Feng Dengguo, Zhang Min, Zhang Yan, et al. Study on cloud computing security[J]. Journal of Software, 2011, 22(1): 71-83 (in Chinese)(馮登國, 張敏, 張妍, 等. 云計算安全研究[J]. 軟件學(xué)報, 2011, 22(1): 71-83) [2]Liu C, Ranjan R, Zhang X, et al. Public auditing for big data storage in cloud computing—A survey[C] //Proc of IEEE CSE 2013. Piscataway, NJ: IEEE, 2013: 1128-1135 [3]Wang B, Li H, Li M. Privacy-preserving public auditing for shared cloud data supporting group dynamics[C] //Proc of 2013 IEEE Int Conf on Communications (ICC). Piscataway, NJ: IEEE, 2013: 1946-1950 [4]Wang B, Li B, Li H. Panda: Public auditing for shared data with efficient user revocation in the cloud[J]. IEEE Trans on Services Computing, 2015, 8(1): 92-106 [5]Trueman T E, Narayanasamy P. Ensuring privacy and data freshness for public auditing of shared data in cloud[C] //Proc of IEEE CCEM 2015. Piscataway, NJ: IEEE, 2015: 22-27 [6]Li Hui, Sun Wenhai, Li Fenghua, et al. Secure and privacy-preserving data storage service in public cloud[J]. Journal of Computer Research and Development, 2014, 51(7): 1397-1409 (in Chinese)(李 暉, 孫文海, 李鳳華, 等. 公共云存儲服務(wù)數(shù)據(jù)安全及隱私保護技術(shù)綜述[J]. 計算機研究與發(fā)展, 2014, 51(7): 1397-1409) [7]Wang H. Identity-based distributed provable data possession in multicloud storage[J]. IEEE Trans on Services Computing, 2015, 8(2): 328-340 [8]Fu Anmin, Qin Ningyuan, Song Jianye, et al. Privacy-preserving public auditing for multiple managers shared data in the cloud[J]. Journal of Computer Research and Development, 2015, 52(10): 2353-2362 (in Chinese)(付安民, 秦寧元, 宋建業(yè), 等. 云端多管理者群組共享數(shù)據(jù)中具有隱私保護的公開審計方案[J]. 計算機研究與發(fā)展, 2015, 52(10): 2353-2362) [9]Kiraz M S, Sertkaya I, Uzunkol O. An efficient ID-based message recoverable privacy-preserving auditing scheme[C] //Proc of IEEE PST 2015. Piscataway, NJ: IEEE, 2015: 117-124 [10]Yang G, Yu J, Shen W, et al. Enabling public auditing for shared data in cloud storage supporting identity privacy and traceability[J]. Journal of Systems & Software, 2015, 113: 130-139 [11]Fu Yingxun, Luo Shengmei, Shu Jiwu. Survey of secure cloud storage system and key technologies[J]. Journal of Computer Research and Development, 2013, 50(1): 136-145 (in Chinese)(傅穎勛, 羅圣美, 舒繼武. 安全云存儲系統(tǒng)與關(guān)鍵技術(shù)綜述[J]. 計算機研究與發(fā)展, 2013, 50(1): 136-145) [12]Chen X, Li J, Huang X, et al. New publicly verifiable databases with efficient updates[J]. IEEE Trans on Dependable and Secure Computing, 2015, 12(5): 546-556 [13]Yan Li, Shi Runhua, Zhong Hong, et al. Integrity checking protocol with identity-based proxy signature in mobile cloud computing[J]. Journal of Communications, 2015, 36(10): 278-286 (in Chinese)(閆莉, 石潤華, 仲紅, 等. 移動云計算環(huán)境中基于身份代理簽名的完整性檢測協(xié)議[J]. 通信學(xué)報, 2015, 36(10): 278-286) [14]Qin Zhiguang, Wang Shiyu, Zhao Yang, et al. An auditing protocol for data storage in cloud computing with data dynamics[J]. Journal of Computer Research and Development, 2015, 52(10): 2192-2199 (in Chinese)(秦志光, 王士雨, 趙洋, 等. 云存儲服務(wù)的動態(tài)數(shù)據(jù)完整性審計方案[J]. 計算機研究與發(fā)展, 2015, 52(10): 2192-2199) [15]Yu Y, Mu Y, Ni J, et al. Identity privacy-preserving public auditing with dynamic group for secure mobile cloud storage[G] //Network and System Security. Berlin: Springer, 2014: 28-40 [16]Yu Y, Xue L, Au M H, et al. Cloud data integrity checking with an identity-based auditing mechanism from RSA[J]. Future Generation Computer Systems, 2016, 62(9): 85-91 [17]Xu Mingwei, Dong Xianhu, Xu Ke. A survey of key management for multicast[J]. Journal of Software, 2004, 15(1): 141-150 (in Chinese) (徐明偉, 董曉虎, 徐恪. 組播密鑰管理的研究進展[J]. 軟件學(xué)報, 2004, 15(1): 141-150) [18]Yang Jun, Zhou Xianwei. A two-level decentralized group key management scheme based on the discrete logarithm problem[J]. Journal of Electronics and Information, 2008, 30(6): 1457-1461 (in Chinese)(楊軍, 周賢偉. 基于離散對數(shù)問題的兩層分散式組密鑰管理方案[J]. 電子與信息學(xué)報, 2008, 30(6): 1457-1461) [19]Yu J, Ren K, Wang C. Enabling cloud storage auditing with verifiable outsourcing of key updates[J]. IEEE Trans on Information Forensics and Security, 2016, 11(6): 1362-1375 [20]Delerablée C, Paillier P, Pointcheval D. Fully collusion secure dynamic broadcast encryption with constant-size ciphertexts or decryption keys[C] //Proc of Int Conf on Pairing-Based Cryptography. Berlin: Springer, 2007: 39-59 [21]Ateniese G, Burns R, Curtmola R, et al. Provable data possession at untrusted stores[C] //Proc of the 14th ACM Conf on Computer and Communications Security. New York: ACM, 2007: 598-609 Huang Longxia, born in 1991. PhD candidate. Her main research interests include privacy-preserving and cloud storage security. Zhang Gongxuan, born in 1961. PhD, professor and PhD supervisor. His main research interests include trusted computing and system security, cloud computing technology and multi-core embedded technology. Fu Anmin, born in 1981. PhD, associate professor and PhD supervisor. Member of China Computer Federation. His main research interests include cryptography and privacy preserving. Privacy-Preserving Public Auditing for Dynamic Group Based on Hierarchical Tree Huang Longxia, Zhang Gongxuan, and Fu Anmin (SchoolofComputerScienceandEngineering,NanjingUniversityofScienceandTechnology,Nanjing210094) As the rapid development of cloud storage, it is important to protect the security of shared data in cloud. Therefore, it is necessary to protect users’ privacy and verify the integrity of data efficiently during the data sharing. As the existing schemes consider little about the management and secure distribution of key, based on hierarchy tree and proxy re-signature, a privacy-preserving public auditing scheme which supports dynamic group in cloud storage is supposed. The proposed scheme firstly uses logical hierarchy key tree to establish and distribute keys, and a key server is utilized to store keys. The revocation of user is independent from users’ obtaining new group secret key as each user only stores the leaf node key. When a user revokes, the valid user can obtain the new group secret key with their original keys. Therefore, the scheme is more efficient for dynamic group. The security analysis and performance analysis show that the scheme is secure and efficient. privacy preserving; dynamic group; public auditing; hierarchical tree; re-signature 2016-06-15; 2016-08-10 國家自然科學(xué)基金項目(61272420,61572255);江蘇省自然科學(xué)基金項目(BK20141404);中央高?;究蒲袠I(yè)務(wù)費專項資金項目(30915011322) 付安民(fuam@njust.edu.cn) TP393 This work was supported by the National Natural Science Foundation of China (61272420,61572255), the Natural Science Foundation of Jiangsu Province of China (BK20141404), and the Fundamental Research Funds for the Central Universities (30915011322).4 安全性分析
5 性能分析
6 結(jié)束語