黃龍霞 張功萱 付安民
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210094) (1063170178@qq.com)
?
基于層次樹的動(dòng)態(tài)群組隱私保護(hù)公開審計(jì)方案
黃龍霞 張功萱 付安民
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210094) (1063170178@qq.com)
隨著云存儲(chǔ)的高速發(fā)展,保證共享數(shù)據(jù)的安全變得尤為重要.因此,在共享數(shù)據(jù)的同時(shí),需要對(duì)數(shù)據(jù)完整性進(jìn)行有效驗(yàn)證并對(duì)用戶隱私進(jìn)行保護(hù).針對(duì)現(xiàn)有支持動(dòng)態(tài)群的公開審計(jì)方案沒有考慮密鑰管理與安全分發(fā)的問題,基于層次樹和代理重簽名提出了一個(gè)支持云存儲(chǔ)中群組成員動(dòng)態(tài)的隱私保護(hù)公開審計(jì)方案.提出的方案首次使用基于邏輯層次密鑰體系的密鑰樹進(jìn)行密鑰的建立和分發(fā),并引入密鑰服務(wù)器對(duì)密鑰進(jìn)行存儲(chǔ),每個(gè)用戶只需持有葉子節(jié)點(diǎn),成員撤銷及加入與原有有效用戶獲取新群私鑰是相互獨(dú)立的.發(fā)生用戶撤銷后,其余合法用戶仍可以根據(jù)所持密鑰獲取新的群私鑰,大大提高了用戶動(dòng)態(tài)的效率.性能分析結(jié)果表明:該方案是安全且高效的.
隱私保護(hù);動(dòng)態(tài)群;公開審計(jì);層次樹;重簽名
云存儲(chǔ)是將存儲(chǔ)資源放入云服務(wù)器中供用戶存取的一種新興方案,使用者可以在任意地點(diǎn)、任意時(shí)間通過任何聯(lián)網(wǎng)方式在云端存取數(shù)據(jù).數(shù)據(jù)共享技術(shù)使得同一群組的有效用戶可以分享同一數(shù)據(jù).然而,由于云端存在一些不可避免的數(shù)據(jù)損壞威脅,例如硬件的損壞等不可避免的因素以及為了自身利益故意刪除數(shù)據(jù)的人為因素[1],因此對(duì)于存儲(chǔ)在云端的數(shù)據(jù)需要對(duì)其進(jìn)行完整性驗(yàn)證,為了緩解用戶端的計(jì)算壓力,通常選取一個(gè)半可信[2]的第三方代替用戶進(jìn)行數(shù)據(jù)完整性審計(jì),同時(shí)用戶隱私泄露的威脅問題也日益嚴(yán)重,尤其是在云存儲(chǔ)數(shù)據(jù)進(jìn)行共享時(shí),信息的隱私保護(hù)更加需要得到保證[3-10].另外,現(xiàn)有的云安全存儲(chǔ)系統(tǒng)中存在密鑰分發(fā)和管理的不足[11].
目前存在的基于數(shù)據(jù)持有證明的動(dòng)態(tài)完整性審計(jì)方案的主要研究方向分為支持群組動(dòng)態(tài)和數(shù)據(jù)動(dòng)態(tài)兩種.數(shù)據(jù)動(dòng)態(tài)即支持?jǐn)?shù)據(jù)的有效更改、添加和刪除,用戶動(dòng)態(tài)即支持群組用戶的有效加入和撤銷.為了支持有效的群組動(dòng)態(tài)操作,很多方案[3-4,12-14]采用代理重簽名對(duì)文件塊進(jìn)行操作,文獻(xiàn)[13]提出了采用具有較強(qiáng)計(jì)算能力的代理者進(jìn)行簽名計(jì)算的審計(jì)協(xié)議,可以為設(shè)備節(jié)省大量的計(jì)算時(shí)間.文獻(xiàn)[14]基于Merkle Hash樹和雙線性對(duì)技術(shù)提出了支持動(dòng)態(tài)數(shù)據(jù)的完整性審計(jì)方案,并采用分層次索引結(jié)構(gòu)的方法對(duì)數(shù)據(jù)塊進(jìn)行分割.為了支持動(dòng)態(tài)群組,文獻(xiàn)[15]將動(dòng)態(tài)組密鑰協(xié)議應(yīng)用于成員之間的密鑰共享.然而,支持群組動(dòng)態(tài)的方案均使用廣播加密進(jìn)行密鑰更新與分發(fā),而廣播加密存在密鑰更新開銷大和密鑰分發(fā)不安全的問題.
文獻(xiàn)[10]給出了既能保護(hù)用戶身份隱私又能在一定條件下對(duì)用戶身份進(jìn)行追蹤的公開審計(jì)方案.Wang等人在文獻(xiàn)[3]中基于雙線性對(duì)技術(shù),使用代理重簽名技術(shù)對(duì)簽名更新進(jìn)行處理,能夠有效地支持群組動(dòng)態(tài),即支持群用戶的加入和撤銷,同時(shí)對(duì)用戶的身份隱私進(jìn)行了保護(hù).但是發(fā)生用戶撤銷時(shí),數(shù)據(jù)擁有者需要將新的群密鑰分發(fā)給群中的每個(gè)成員,其開銷較大.之后,文獻(xiàn)[4]進(jìn)一步基于計(jì)算Diffie-Hellman難題與離散對(duì)數(shù)難題和雙線性對(duì)提出了支持用戶撤銷的方案.文獻(xiàn)[16]提出了基于RSA假設(shè)的數(shù)據(jù)加密方案,并給出了基于身份的數(shù)據(jù)完整性審計(jì)協(xié)議.
大量數(shù)據(jù)傳輸任務(wù)會(huì)造成帶寬嚴(yán)重不足,使得密鑰分發(fā)不能得到保證,組播密鑰可以解決這一問題.在組播中,組密鑰是群組成員共享的密鑰,動(dòng)態(tài)群組允許群組成員隨時(shí)加入或者離開,組密鑰管理方案必須保證離開用戶無法獲取新的密鑰.文獻(xiàn)[17]總結(jié)了組播密鑰樹的5種方案,但是這些方案并不完全適用于云存儲(chǔ)環(huán)境;文獻(xiàn)[18]基于離散對(duì)數(shù)問題提出分散式組密鑰管理方案;文獻(xiàn)[3]采用廣播加密技術(shù)對(duì)密鑰分發(fā)進(jìn)行保護(hù),但用戶撤銷產(chǎn)生的密鑰分發(fā)開銷較大;文獻(xiàn)[19]引入第三方實(shí)現(xiàn)密鑰的更新和存儲(chǔ)數(shù)據(jù)的審計(jì),但是增加的第三方必須為可信方,因此一旦第三方出現(xiàn)信息竊取或者泄露問題將對(duì)用戶帶來不可預(yù)估的損失.
由此可見,目前存在的數(shù)據(jù)完整性審計(jì)方案中大都沒有針對(duì)密鑰分發(fā)和管理不足的現(xiàn)狀進(jìn)行改善[4-5,7-15],只有文獻(xiàn)[3]提出將廣播加密應(yīng)用于密鑰更新以及文獻(xiàn)[15]將動(dòng)態(tài)組密鑰應(yīng)用于移動(dòng)用戶群,但是2個(gè)方案都沒有對(duì)密鑰的分發(fā)與更新進(jìn)行具體說明.而支持用戶動(dòng)態(tài)的公開審計(jì)方案[3-4,12-14]均采用集中式的組密鑰管理協(xié)議,這種方法雖易于管理并且節(jié)約組內(nèi)成員的密鑰存儲(chǔ),但是該方法會(huì)出現(xiàn)“1影響N”的情況,即一個(gè)成員的退出會(huì)造成所有成員的密鑰更新.目前存在的方案[2-15]中均通過假設(shè)安全的信道進(jìn)行密鑰分發(fā),實(shí)際的網(wǎng)絡(luò)環(huán)境中無法保證通信信道的絕對(duì)安全,這使得密鑰更新的情況更為復(fù)雜.
針對(duì)密鑰管理問題和身份隱私泄露問題,本文提出在云存儲(chǔ)環(huán)境中采用基于邏輯密鑰層次體系的方法對(duì)群密鑰進(jìn)行加密;將密鑰樹中除葉子節(jié)點(diǎn)密鑰的其他密鑰存儲(chǔ)在密鑰服務(wù)器中節(jié)省用戶客戶端的存儲(chǔ)開銷;將用戶撤銷時(shí)產(chǎn)生的新密鑰處理開銷由O(N)降至O(logN);用戶撤銷后,使用云服務(wù)器代替用戶根據(jù)該密鑰對(duì)云端數(shù)據(jù)進(jìn)行重簽名,節(jié)省了用戶的計(jì)算開銷;采用基于RSA假設(shè)的數(shù)據(jù)簽名方案,使得公開審計(jì)開銷低于基于雙線性對(duì)的方案.
1.1 系統(tǒng)模型
如圖1所示,系統(tǒng)包含4個(gè)實(shí)體:密鑰服務(wù)器、用戶群組、云服務(wù)器和第三方審計(jì)者(third party auditor, TPA).
Fig. 1 System model.圖1 系統(tǒng)模型
其中密鑰生成中心是可信的,第三方審計(jì)者能夠誠(chéng)實(shí)地執(zhí)行相關(guān)操作但是會(huì)對(duì)數(shù)據(jù)塊內(nèi)容感到好奇.用戶群包含合法用戶和撤銷用戶,撤銷用戶無法獲取合法密鑰,合法用戶中包含普通用戶和數(shù)據(jù)擁有者.用戶群組與云服務(wù)器之間共享數(shù)據(jù)流,用戶群與密鑰服務(wù)器之間可以交換密鑰,用戶群內(nèi)合法用戶向TPA發(fā)送審計(jì)請(qǐng)求,TPA向云服務(wù)器發(fā)送挑戰(zhàn)信息,云服務(wù)器針對(duì)挑戰(zhàn)信息生成數(shù)據(jù)持有證明.
云服務(wù)器通過審計(jì)驗(yàn)證則說明其完整地存儲(chǔ)了相關(guān)數(shù)據(jù),否則說明存儲(chǔ)在云端的數(shù)據(jù)被損壞.
1.2 安全模型
1) 隱私保護(hù)
群組共享數(shù)據(jù)的簽名者的身份是重要的隱私信息.但在完整性審計(jì)過程中,半可信的公開驗(yàn)證者可以根據(jù)驗(yàn)證信息獲取數(shù)據(jù)簽名者的身份隱私以及數(shù)據(jù)信息.例如,通過進(jìn)行多次完整性驗(yàn)證,公開驗(yàn)證者可以找出被多次修改的數(shù)據(jù)塊,判斷出具有較高價(jià)值的數(shù)據(jù)塊進(jìn)而進(jìn)行攻擊.因此,方案應(yīng)該保證簽名者身份的隱私保護(hù).
2) 完整性驗(yàn)證
受硬件、軟件以及人為的影響,云服務(wù)器可能在無意中修改甚至刪除了共享數(shù)據(jù);來自外部的攻擊也會(huì)威脅數(shù)據(jù)完整性.除此之外,為了維護(hù)自身利益和信譽(yù),云服務(wù)商可能會(huì)將數(shù)據(jù)損壞的事實(shí)對(duì)用戶隱瞞.因此,需要公開驗(yàn)證者對(duì)云端數(shù)據(jù)完整性進(jìn)行的有效審計(jì).
3) 偽造攻擊抵抗
對(duì)于驗(yàn)證者發(fā)起的挑戰(zhàn),只有在真實(shí)持有數(shù)據(jù)的情況下才能生成有效的簽名.敵手在不具備挑戰(zhàn)數(shù)據(jù)塊的情況下無法產(chǎn)生能夠通過驗(yàn)證的數(shù)據(jù)持有證明.
4) 可抗完全同謀
即使被撤銷的用戶將自己所持有的密鑰聯(lián)合起來也無法獲取廣播加密的私鑰.
1.3 實(shí)現(xiàn)目標(biāo)
為了實(shí)現(xiàn)支持動(dòng)態(tài)群組的用戶云端共享數(shù)據(jù)的完整性審計(jì),支持同態(tài)認(rèn)證的基于層次樹的動(dòng)態(tài)群組隱私保護(hù)公開審計(jì)方案HT-HAS需要實(shí)現(xiàn)6個(gè)目標(biāo):
1) 正確性.TPA能夠正確地審計(jì)數(shù)據(jù)的完整性.
2) 身份隱私.TPA在審計(jì)過程中無法獲取簽名用戶的相關(guān)信息.
3) 公開審計(jì).TPA可以在不知道簽名私鑰的情況下對(duì)數(shù)據(jù)完整性進(jìn)行審計(jì).
4) 不可偽造性.只有正確持有挑戰(zhàn)數(shù)據(jù)的實(shí)體能夠生成有效的數(shù)據(jù)持有證明.
5) 高效性.即使在大規(guī)模的數(shù)據(jù)審計(jì)中,TPA產(chǎn)生的審計(jì)開銷均與用戶成員數(shù)量大小無關(guān).
6) 支持動(dòng)態(tài)群組.能夠有效支持用戶加入和撤銷,撤銷用戶不再擁有簽名以及訪問數(shù)據(jù)的權(quán)限.
2.1 RSA密碼體系
假設(shè)N=pq,其中p和q為2個(gè)不等的素?cái)?shù),令φ(N)=(p-1)(q-1).選擇滿足條件gcd(b,φ(N))=1的隨機(jī)數(shù)b(1
2.2 邏輯密鑰層次體系
邏輯密鑰層次體系密鑰重建方案是基于樹結(jié)構(gòu)構(gòu)造的,由密鑰節(jié)點(diǎn)組成的二叉樹,葉子節(jié)點(diǎn)2d+1-1=15代表用戶持有節(jié)點(diǎn),剩余節(jié)點(diǎn)代表密鑰節(jié)點(diǎn).根節(jié)點(diǎn)為群私鑰,葉子節(jié)點(diǎn)為用戶私鑰,中間節(jié)點(diǎn)為輔助密鑰節(jié)點(diǎn),用于降低密鑰更新開銷.該方案中,每個(gè)用戶擁有從對(duì)應(yīng)節(jié)點(diǎn)至根節(jié)點(diǎn)唯一路徑的所有密鑰,即在高度為d的密鑰樹中用戶可以獲取d+1個(gè)密鑰.用戶根據(jù)葉子節(jié)點(diǎn)的密鑰逐層獲取上層密鑰直至獲取群私鑰,群私鑰用于加密文件生成簽名.
如圖2所示,對(duì)于一個(gè)d=3,n=8的二叉樹,把每個(gè)葉子節(jié)點(diǎn)按照1,2,…,2d+1-1=15依次編號(hào).8個(gè)用戶依次命名為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)認(rèn)證
同態(tài)認(rèn)證又名同態(tài)認(rèn)證標(biāo)簽,因其允許公開驗(yàn)證者在無需下載完整數(shù)據(jù)的情況下驗(yàn)證數(shù)據(jù)完整性,被廣泛應(yīng)用于公開審計(jì)方案.同態(tài)認(rèn)證擁有不可否認(rèn)性、無塊認(rèn)證和不可鍛造性[3,7-8].其中的無塊認(rèn)證和不可鍛造性定義如下:
假設(shè)簽名者的私鑰和公鑰的密鑰對(duì)為(sk,pk),數(shù)據(jù)塊m1∈p的簽名為σ1,數(shù)據(jù)塊m2∈p的簽名為σ2.
1) 無塊認(rèn)證.給定數(shù)據(jù)塊簽名σ1和σ2,2個(gè)隨機(jī)數(shù)x1,x2∈p和數(shù)據(jù)塊m=x1m1+x2m2,公開驗(yàn)證者能夠在未知數(shù)據(jù)塊m1和m2的情況下對(duì)數(shù)據(jù)塊m=x1m1+x2m2的簽名的正確性進(jìn)行判定.
2) 不可鍛造性.給定數(shù)據(jù)塊簽名σ1和σ2,2個(gè)隨機(jī)數(shù)x1,x2∈p,2個(gè)數(shù)據(jù)塊m1,m2∈p和組合數(shù)據(jù)塊m=x1m1+x2m2,不持有私鑰的實(shí)體無法通過m1和m2線性組合對(duì)塊m=x1m1+x2m2進(jìn)行有效簽名.
無塊認(rèn)證提高了簽名認(rèn)證的效率,因?yàn)轵?yàn)證者通過驗(yàn)證數(shù)據(jù)塊的線性組合對(duì)數(shù)據(jù)塊進(jìn)行驗(yàn)證,無需得知數(shù)據(jù)塊的具體內(nèi)容.不可鍛造性能夠有效防止獲取了部分簽名的非法實(shí)體生成有效簽名.
目前存在的支持公開審計(jì)的簽名算法很多都是基于雙線性對(duì)的,HT-HAS基于RSA假設(shè)設(shè)計(jì)一個(gè)支持云端數(shù)據(jù)完整性驗(yàn)證的協(xié)議HT-HAS,并且采用密鑰樹結(jié)構(gòu)實(shí)現(xiàn)密鑰分發(fā)及管理,能夠高效地支持動(dòng)態(tài)用戶群.用戶撤銷時(shí)的密鑰更新開銷小,而且無需用戶對(duì)數(shù)據(jù)塊進(jìn)行重新簽名.本節(jié)首先描述基于邏輯層次結(jié)構(gòu)的密鑰更新;然后描述基于RSA假設(shè)的適用于云存儲(chǔ)的支持動(dòng)態(tài)群組的數(shù)據(jù)完整性審計(jì)方案的基本操作.
3.1 基于邏輯層次體系的密鑰更新
基于邏輯層次體系的密鑰更新方案中的每個(gè)有效用戶只使用初始密鑰處理接收到的廣播消息(廣播信息通過不安全信道進(jìn)行傳輸),所有接收用戶的密鑰不需要更新,因此用戶不需要一直在線,只有在需要獲取密鑰的情況下申請(qǐng)根密鑰.當(dāng)出現(xiàn)群組用戶多于葉子節(jié)點(diǎn)個(gè)數(shù)以及發(fā)生用戶撤銷的時(shí)候,密鑰樹需要進(jìn)行更新.
3.1.1 用戶加入
為了方便用戶的加入,預(yù)先生成所有葉子節(jié)點(diǎn)存儲(chǔ)在密鑰服務(wù)器,即假設(shè)用戶數(shù)目為N,葉子節(jié)點(diǎn)數(shù)為2logN+1,當(dāng)新用戶加入時(shí),密鑰服務(wù)器只需完成密鑰分配,對(duì)其余用戶密鑰沒有影響.當(dāng)新用戶加入前葉子節(jié)點(diǎn)已經(jīng)分配完畢時(shí),密鑰樹樹高將加一,所有用戶密鑰發(fā)生更新.密鑰樹需要進(jìn)行擴(kuò)展,擴(kuò)展后的樹可以服務(wù)雙倍的用戶數(shù)群體.假設(shè)原密鑰樹能容納4個(gè)用戶,如圖3所示,第5個(gè)用戶user5加入后樹高增加,原用戶仍然可以根據(jù)原持有密鑰進(jìn)行新密鑰的獲取.
Fig. 3 The change of tree after a user joining.圖3 用戶加入后樹的變化
具體算法實(shí)現(xiàn)為算法Join:
數(shù)據(jù)擁有者將新用戶u′加入到廣播列表中.如果廣播組中成員數(shù)少于密鑰樹的葉子節(jié)點(diǎn),數(shù)據(jù)擁有者將空閑節(jié)點(diǎn)的密鑰k(u′)發(fā)送給新用戶.否則,數(shù)據(jù)擁有者將調(diào)用KeyTree算法生成一棵樹高+1新的密鑰樹.新的成員可以通過自己擁有的密鑰與收到的廣播信息獲得群私鑰,從而可以計(jì)算有效簽名并可以對(duì)密文數(shù)據(jù)塊進(jìn)行解密獲取明文.
3.1.2 用戶撤銷
假設(shè)樹高為j,撤銷用戶為U,那么從撤銷用戶上一個(gè)節(jié)點(diǎn)直至根節(jié)點(diǎn)唯一路徑上的j個(gè)節(jié)點(diǎn)對(duì)應(yīng)的密鑰需要進(jìn)行更新操作.
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 用戶撤銷
在我們的方案中,用戶只保存其對(duì)應(yīng)的葉子節(jié)點(diǎn)密鑰,故撤銷操作對(duì)其他用戶密鑰更新沒有影響.例如,用戶11撤銷之后,若用戶10需要獲取新的群私鑰進(jìn)行數(shù)據(jù)簽名的操作,用戶10仍然可以使用原有的密鑰k(node10)解密ek(node10)(k′(node5)),從而獲得k′(node5),然后使用k′(node5)獲得k′(node2),最終使用獲取k′(node1),即新的群私鑰.
用戶撤銷的算法revoke具體實(shí)現(xiàn)如下:
令從葉子節(jié)點(diǎn)nodeU到根節(jié)點(diǎn)nodeR的唯一路徑上的所有節(jié)點(diǎn)的集合為P(nodeU),那么集合P(nodeU){nodeU}中j個(gè)節(jié)點(diǎn)對(duì)應(yīng)的密鑰都需要重置.對(duì)于集合P(nodeU){nodeU}中的每個(gè)節(jié)點(diǎn)nodeX,令節(jié)點(diǎn)對(duì)應(yīng)的新密鑰為k′(nodeX),節(jié)點(diǎn)的兄弟節(jié)點(diǎn)為sib(·),節(jié)點(diǎn)的父節(jié)點(diǎn)為par(·).執(zhí)行用戶撤銷操作進(jìn)行部分密鑰更新后,節(jié)點(diǎn)密鑰更新過程為
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è)計(jì)
HT-HAS方案由8個(gè)算法組成:Setup,KeyTree,KeyGen,Sign,Join,Revoke,ProofGen,ProofVerify.Setup算法用于生成系統(tǒng)公鑰,包括RSA模數(shù)、Hash函數(shù)、偽隨機(jī)函數(shù)和用于生成簽名的隨機(jī)數(shù);KeyTree算法由密鑰生成中心運(yùn)行,用于將群私鑰進(jìn)行逐層加密產(chǎn)生用戶私鑰以及中間節(jié)點(diǎn)密鑰;KeyGen算法用于生成群私鑰以及分發(fā)用戶密鑰;Sign算法用于生成數(shù)據(jù)塊簽名;Join算法用于執(zhí)行用戶加入的密鑰分發(fā);Revoke算法用于撤銷用戶,同時(shí)數(shù)據(jù)擁有者生成重簽名密鑰并發(fā)送給云,云對(duì)所存數(shù)據(jù)塊進(jìn)行重簽名;ProofGen算法中驗(yàn)證者向云服務(wù)發(fā)起驗(yàn)證挑戰(zhàn),云服務(wù)器根據(jù)挑戰(zhàn)信息生成數(shù)據(jù)持有證明;ProofVerify算法中驗(yàn)證者針對(duì)持有證明進(jìn)行驗(yàn)證.具體算法描述如下:
1) Setup
令H:{0,1}*→p是一個(gè)Hash函數(shù),f:p×p→p是一個(gè)偽隨機(jī)函數(shù),將共享數(shù)據(jù)M分割成n塊:M=(m1,m2,…,mn).群組中一共有m個(gè)用戶成員.
① 密鑰生成中心選取2個(gè)隨機(jī)素?cái)?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ù)擁有者隨機(jī)選擇一個(gè)素?cái)?shù)e,計(jì)算群私鑰d:d=e-1modΦ(N)并發(fā)送給密鑰生成中心; ② 運(yùn)行KeyTree算法,然后將群中的每個(gè)成員ui加入到廣播列表U中. 4) Sign 給定群私鑰sk=d,共享數(shù)據(jù)塊的密文mi∈p和塊標(biāo)識(shí)符idi,用戶ui根據(jù)自己持有的密鑰獲取群私鑰d并計(jì)算輸出塊的簽名σi=(H(idi)umi)d. 5) Join 算法Join具體過程見3.1.1節(jié)所示. 6) Revoke ① 數(shù)據(jù)擁有者隨機(jī)選擇新的素?cái)?shù)e′計(jì)算新的群私鑰d′:d′=e′-1modΦ(N)并發(fā)送給密鑰生成中心; ② 數(shù)據(jù)擁有者將撤銷成員從廣播列表中刪除,運(yùn)行算法KeyTree進(jìn)行新的密鑰分發(fā),更新過程如revoke算法所示; ③ 數(shù)據(jù)擁有者根據(jù)舊群公鑰e′和新的群私鑰d′計(jì)算重簽名密鑰rk=de′∈p,并將重簽名密鑰發(fā)送給云,云服務(wù)器收到密鑰之后對(duì)云中的塊進(jìn)行重簽名=(H(idi)umi)d′. 7) ProofGen TPA驗(yàn)證共享數(shù)據(jù)的完整性: ① 選取c個(gè)隨機(jī)值生成集合I,I是集合{1,2,…,n}的子集; ② 選取隨機(jī)數(shù)k∈p生成挑戰(zhàn)集合Q={(i,vi)},其中vi=fk(i); ③ 將挑戰(zhàn)chal={I,k}發(fā)送給云. 8) ProofVerify TPA收到證明消息之后檢查下列等式是否成立: 如果等式成立,系統(tǒng)輸出“1”,證明云存儲(chǔ)生成了正確的證明,即存儲(chǔ)在云端的數(shù)據(jù)是完整的;否則輸出“0”并退出. 4.1 公開審計(jì) TPA可以在無需下載完整數(shù)據(jù)、無法獲取加密私鑰的情況下,對(duì)數(shù)據(jù)完整性進(jìn)行審計(jì).用戶撤銷之后,重簽名之后的數(shù)據(jù)塊也可以進(jìn)行審計(jì),審計(jì)的正確性和安全性證明如定理1和定理2所示. 定理1. TPA獲取證明P={μ,σ}之后,能夠正確地驗(yàn)證共享數(shù)據(jù)的完整性. 重簽名之后的證明P={μ′,σ}也可根據(jù)如上證明同理可證. 定理2. 敵手?在不知道數(shù)據(jù)塊內(nèi)容的情況下無法生成有效的簽名. 因?yàn)棣獭洹佴?,定義Δμ=μ′-μ,所以(σ′σ)e=uΔμ.令u=geya,g∈p,a∈[1,2λ],那么(σ′σ)e=uΔμ=(geya)Δμ=(ge)ΔμyaΔμ,即((σ′σ)×g-Δμ)e=yaΔμ.因?yàn)閍∈{1,2,…,2λ},可以得出使得gcd(e,aΔμ)=1的可能性為2-λ,即存在一個(gè)值x′使得x′e=y的概率為2-λ,可忽略. 因?yàn)镽SA問題是難解的大素?cái)?shù)問題,基于此,我們可以證明提出的方案是可靠的.即在不持有正確數(shù)據(jù)的情況下敵手?無法偽造出正確的標(biāo)簽. 4.2 用戶隱私 在方案中,所有有效群成員可以使用同一組密鑰對(duì)數(shù)據(jù)塊進(jìn)行簽名.根據(jù)生成的簽名,驗(yàn)證者TPA無法區(qū)分出每個(gè)塊的簽名者.假設(shè)群的有效用戶為n,那么TPA猜對(duì)簽名成員的概率為1n.在云存儲(chǔ)的環(huán)境下,群用戶的數(shù)量是巨大的,即猜對(duì)成員的概率是可忽略的.因此,方案具有用戶身份隱私保護(hù)的性質(zhì). 4.3 可抗完全同謀 所有撤銷用戶聯(lián)合起來也無法獲取根密鑰或者解密廣播信息.在HT-HAS中,只有有效用戶通過自己所持私鑰能對(duì)獲取的正確的路徑密鑰進(jìn)行逐層解密獲取根密鑰,其余成員都無法進(jìn)行解密.每次成員撤銷會(huì)進(jìn)行根密鑰更新,撤銷的用戶只能根據(jù)之前接收的消息獲取過期密鑰.具體安全證明可參照文獻(xiàn)[20],故HT-HAS具有可抗完全同謀性. 4.4 撤銷安全 撤銷用戶只有在重新加入新組的情況下才能獲取新的群私鑰,進(jìn)而對(duì)數(shù)據(jù)塊進(jìn)行簽名.具體來說,一個(gè)被撤銷的用戶無法通過原有私鑰獲取新的群私鑰,也無法獲取數(shù)據(jù)內(nèi)容.用戶useri被撤銷之后,密鑰樹的根密鑰即存儲(chǔ)的密文數(shù)據(jù)塊的解密密鑰以及更改用戶相關(guān)的節(jié)點(diǎn)密鑰都將發(fā)生變換,該用戶將無法解密廣播密鑰從而獲取新的解密密鑰,即用戶useri即使獲取數(shù)據(jù)塊也無法解密新的數(shù)據(jù)塊.其擁有的密鑰包括舊的用戶私鑰k(nodeuseri)、舊的群私鑰d,撤銷用戶之后,群私鑰被更新為d′,存儲(chǔ)在云端的數(shù)據(jù)也被重簽名. 撤銷用戶如果試圖通過新的簽名,模數(shù)N獲取新的群私鑰d′是困難的,這是一個(gè)RSA困難問題. 4.5 同態(tài)認(rèn)證 根據(jù)第2節(jié)對(duì)同態(tài)認(rèn)證的定義,為了證明方案HT-HAS具有同態(tài)認(rèn)證的性質(zhì),需要證明該方案具有無塊認(rèn)證和不可鍛造性. 1) 無塊驗(yàn)證.給定系統(tǒng)群公鑰pk=e,2個(gè)隨機(jī)數(shù)x1,x2∈p,2個(gè)數(shù)據(jù)塊標(biāo)識(shí)符id1,id2,2個(gè)數(shù)據(jù)塊簽名σ1,σ2,驗(yàn)證者可以驗(yàn)證塊m=x1m1+x2m2的正確性,只要如下等式成立,即說明塊m=x1m1+x2m2是正確的: 驗(yàn)證過程中,驗(yàn)證者不知道數(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個(gè)隨機(jī)數(shù)x1,x2∈p和2個(gè)數(shù)據(jù)塊簽名σ1,σ2,對(duì)數(shù)據(jù)塊m=x1m1+x2m2計(jì)算出有效的簽名σ. 假設(shè)敵手能夠通過結(jié)合2個(gè)數(shù)據(jù)塊簽名σ1,σ2生成了一個(gè)有效的簽名σ,那么我們可以得到: σ=(H(id′)um)t. 那么,可以得到H(id′)=H(id1)x1H(id2)x2,也就是說,給定h=H(id1)x1H(id2)x2,可以很容易地找到符合H(id′)=h的塊標(biāo)識(shí)符id′,但是H(·)是一個(gè)單向函數(shù),在單向函數(shù)中,根據(jù)映射值求原值是困難的,所以假設(shè)不成立. 所以,方案HT-HAS滿足同態(tài)認(rèn)證的無塊認(rèn)證和不可鍛造性,即滿足同態(tài)認(rèn)證. 在本節(jié)中,從動(dòng)態(tài)群性能和審計(jì)性能對(duì)提出方案進(jìn)行性能評(píng)估,并將結(jié)果與方案進(jìn)行比較,方案實(shí)現(xiàn)了廣播密鑰更新以及身份隱私.在方案中,我們?cè)O(shè)置元素的大小為|p|=160 b,共享數(shù)據(jù)為n=106塊,假設(shè)群包含k個(gè)用戶. 其中,T為密鑰分發(fā)開銷,Ten表示加密開銷,TRSA表示RSA運(yùn)算開銷,TExp和TMul分別表示在計(jì)算一個(gè)指數(shù)運(yùn)算和乘法運(yùn)算的時(shí)間,THash表示計(jì)算一個(gè)Hash函數(shù)的運(yùn)算時(shí)間,Pair表示計(jì)算一個(gè)雙線性對(duì)運(yùn)算的時(shí)間,Tm表示模運(yùn)算所花時(shí)間. 5.1 動(dòng)態(tài)群的性能分析 在本方案中,為了支持有效的動(dòng)態(tài)群組,我們使用動(dòng)態(tài)廣播加密的技術(shù)進(jìn)行密鑰分發(fā).基于動(dòng)態(tài)廣播加密的安全性,非群內(nèi)成員無法獲取正確的群密鑰以生成有效的簽名.為了進(jìn)一步提高用戶動(dòng)態(tài)操作的效率,我們使用基于樹結(jié)構(gòu)的邏輯密鑰層次體系進(jìn)行密鑰處理.撤銷用戶時(shí)只需更新路徑上節(jié)點(diǎn)的密鑰值,由于每個(gè)用戶只存儲(chǔ)對(duì)應(yīng)的節(jié)點(diǎn)密鑰,其余用戶仍可以根據(jù)其原有密鑰獲取新的組密鑰,因此每次密鑰更新的開銷為Οlbn,而且注銷用戶的數(shù)量可以不受限制,安全性不受影響.當(dāng)加入新成員后群成員個(gè)數(shù)仍小于葉子節(jié)點(diǎn)時(shí),為新成員分配新密鑰;否則在密鑰樹中新建一層葉子節(jié)點(diǎn). 特別是當(dāng)新用戶加入和舊用戶撤銷同時(shí)發(fā)生時(shí),基于邏輯層次體系的密鑰樹可以將2種操作同時(shí)進(jìn)行,即將撤銷節(jié)點(diǎn)進(jìn)行重新計(jì)算之后分配給新用戶. 基于層次樹的密鑰更新結(jié)構(gòu)相對(duì)于文獻(xiàn)[3,15]存儲(chǔ)密鑰空間較大,因?yàn)槠湫枰鎯?chǔ)中間節(jié)點(diǎn),而文獻(xiàn)[3,15]中的方案只要存儲(chǔ)用戶密鑰,而且HT-HAS葉子節(jié)點(diǎn)個(gè)數(shù)多于用戶個(gè)數(shù),故采用密鑰服務(wù)器進(jìn)行存儲(chǔ). 5.2 動(dòng)態(tài)群的性能對(duì)比 因?yàn)槿~子節(jié)點(diǎn)密鑰是預(yù)先計(jì)算好的,與其他方案沒有比較的意義,故不做新成員加入開銷的對(duì)比.當(dāng)用戶撤銷,計(jì)算部分新節(jié)點(diǎn)密鑰,密鑰樹中l(wèi)bd個(gè)節(jié)點(diǎn)需要重新計(jì)算,其中包含新的群私鑰以及新的群共享密鑰的計(jì)算.并且云服務(wù)器需要對(duì)所有的塊進(jìn)行重簽名,這個(gè)過程中不需要用戶下載原數(shù)據(jù)或者對(duì)數(shù)據(jù)進(jìn)行簽名.對(duì)n個(gè)塊進(jìn)行重簽名的開銷為nTExp,總的撤銷開銷為Tm+TMul+nTExp. 文獻(xiàn)[15]中使用了Hash運(yùn)算和冪指數(shù)運(yùn)算較多,故開銷相當(dāng)較大.在文獻(xiàn)[3]中,重簽名的計(jì)算開銷與本文相同,新公鑰的計(jì)算為TExp,還有一次加密運(yùn)算,故撤銷用戶所花開銷總和為kT+Ten+TExp+nTExp.k為群組中成員數(shù)量,在實(shí)際情況中會(huì)是一個(gè)比較大的數(shù)值;T為分發(fā)時(shí)間,如表1所示,在網(wǎng)絡(luò)狀況不理想的情況,我們方案會(huì)更佳. Table 1 Performance on Dynamic Group 5.3 審計(jì)性能對(duì)比 方案的設(shè)計(jì)目標(biāo)不僅是為了保護(hù)身份隱私以及支持動(dòng)態(tài)群組,也包括對(duì)數(shù)據(jù)塊完整性審計(jì)的高效性.已有研究[21]表明,當(dāng)挑戰(zhàn)數(shù)據(jù)塊個(gè)數(shù)c=460時(shí),檢測(cè)率分別可以達(dá)到99%. 驗(yàn)證者驗(yàn)證一個(gè)審計(jì)證據(jù)的計(jì)算開銷為cTHash+cTMul+(c+1)TExp+Tm.我們方案與支持隱私保護(hù)和群組動(dòng)態(tài)的文獻(xiàn)[3,15]的計(jì)算開銷和通信開銷進(jìn)行對(duì)比.如表2所示,我們方案的總的計(jì)算開銷合計(jì)為cTHash+(3c-1)TMul+(2c+1)TExp+2Tm,通信開銷為(c+3)|p|. Table 2 Performance on Public Auditing 文獻(xiàn)[3]中方案采取基于雙線性對(duì)的同態(tài)認(rèn)證審計(jì)方案,由于雙線性對(duì)運(yùn)算時(shí)間比RSA操作時(shí)間久,所以在開銷上遠(yuǎn)遠(yuǎn)多于本方案;因?yàn)槲墨I(xiàn)[15]中方案的數(shù)據(jù)塊進(jìn)行了進(jìn)一步的分割,故開銷會(huì)遠(yuǎn)大于HT-HAS,為了形成相對(duì)公平的對(duì)比,我們將文獻(xiàn) [15]的方案稍微做了修改.本文基于隨機(jī)函數(shù)的挑戰(zhàn)大大降低了計(jì)算及通信開銷. 5.4 實(shí)驗(yàn)結(jié)果對(duì)比 在本節(jié)中,為了評(píng)估方案的性能,我們使用PBC中的庫函數(shù)對(duì)相關(guān)的密碼學(xué)運(yùn)算進(jìn)行模擬,并將實(shí)驗(yàn)結(jié)果與文獻(xiàn)[3,15]進(jìn)行對(duì)比分析.所有的模擬均在Ubuntu系統(tǒng)中實(shí)現(xiàn),處理器為Intel Core i7 3.40 GHz,內(nèi)存為4 GB,測(cè)試1 000次以上. 表3給出了本文方案與文獻(xiàn)[3,15]中方案的實(shí)驗(yàn)結(jié)果對(duì)比情況.文獻(xiàn)[3]中方案其通信開銷與計(jì)算開銷均與群成員數(shù)量線性相關(guān),而且即使成員數(shù)較少,開銷仍然高于HT-HAS.可以從表2中得知我們方案在通信開銷和計(jì)算開銷上都優(yōu)于文獻(xiàn)[3,15]中的方案. Table 3 Experimental Results Comparison 在本文中,我們利用邏輯密鑰樹和代理重簽名技術(shù),提出了一個(gè)支持云存儲(chǔ)中群組成員動(dòng)態(tài)的隱私保護(hù)公開審計(jì)方案.群中每個(gè)合法用戶使用同一簽名密鑰對(duì)數(shù)據(jù)進(jìn)行簽名,因此驗(yàn)證者在審計(jì)過程中無法根據(jù)所獲得的審計(jì)信息提取用戶成員的信息,從而保護(hù)了用戶的身份隱私.基于邏輯層次密鑰體系的密鑰樹實(shí)現(xiàn)了安全高效的密鑰更新,用戶只保存葉子節(jié)點(diǎn)密鑰,因此撤銷用戶與用戶密鑰更新是相互獨(dú)立的,提高了方案的效率.HT-HAS考慮到帶寬受限的情況并支持動(dòng)態(tài)群組,尤其適用于移動(dòng)用戶的云存儲(chǔ)數(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)(馮登國(guó), 張敏, 張妍, 等. 云計(jì)算安全研究[J]. 軟件學(xué)報(bào), 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)(李 暉, 孫文海, 李鳳華, 等. 公共云存儲(chǔ)服務(wù)數(shù)據(jù)安全及隱私保護(hù)技術(shù)綜述[J]. 計(jì)算機(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ù)中具有隱私保護(hù)的公開審計(jì)方案[J]. 計(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)(傅穎勛, 羅圣美, 舒繼武. 安全云存儲(chǔ)系統(tǒng)與關(guān)鍵技術(shù)綜述[J]. 計(jì)算機(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)(閆莉, 石潤(rùn)華, 仲紅, 等. 移動(dòng)云計(jì)算環(huán)境中基于身份代理簽名的完整性檢測(cè)協(xié)議[J]. 通信學(xué)報(bào), 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)(秦志光, 王士雨, 趙洋, 等. 云存儲(chǔ)服務(wù)的動(dòng)態(tài)數(shù)據(jù)完整性審計(jì)方案[J]. 計(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ìn)展[J]. 軟件學(xué)報(bào), 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)(楊軍, 周賢偉. 基于離散對(duì)數(shù)問題的兩層分散式組密鑰管理方案[J]. 電子與信息學(xué)報(bào), 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 國(guó)家自然科學(xué)基金項(xiàng)目(61272420,61572255);江蘇省自然科學(xué)基金項(xiàng)目(BK20141404);中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金項(xiàng)目(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é)束語