龍 浩,張書(shū)奎,張 力
(1.蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;2.徐州工業(yè)職業(yè)技術(shù)學(xué)院 信息與電氣工程學(xué)院,江蘇 徐州 221002;3.蘇州大學(xué) 江蘇省現(xiàn)代企業(yè)信息化應(yīng)用支撐軟件工程技術(shù)研發(fā)中心,江蘇 蘇州 215104)
隨著云計(jì)算快速發(fā)展,一些云服務(wù)供應(yīng)商能提供更經(jīng)濟(jì)和更強(qiáng)大的計(jì)算和存儲(chǔ)能力,個(gè)人和企業(yè)更愿意通過(guò)云平臺(tái)來(lái)存儲(chǔ)和管理數(shù)據(jù),并且將數(shù)據(jù)分享給特定的用戶群體。基于云平臺(tái)的數(shù)據(jù)安全共享技術(shù)也因此被提出,比如:新型醫(yī)療云[1,2]、交通信息云、天氣預(yù)報(bào)云等。這些云為用戶帶來(lái)了極大的便利,然而在開(kāi)放的云環(huán)境中存在著數(shù)據(jù)機(jī)密性、隱私保護(hù)、權(quán)限控制等具有挑戰(zhàn)性的安全問(wèn)題。首先,用戶希望共享數(shù)據(jù)的同時(shí)能夠防止暴露自己的敏感信息。因?yàn)榉?wù)器可能會(huì)非法檢查用戶的數(shù)據(jù)并訪問(wèn)敏感信息,或者其他用戶可能能夠從外包計(jì)算中推斷出敏感信息。因此,云數(shù)據(jù)共享不僅要進(jìn)行控制訪問(wèn),還要進(jìn)行上傳數(shù)據(jù)的脫敏。其次,個(gè)人信息存在風(fēng)險(xiǎn),為了能夠安全的上傳共享數(shù)據(jù),需要對(duì)上傳者的身份進(jìn)行驗(yàn)證。隨著人們現(xiàn)在越來(lái)越關(guān)注自己的身份隱私,身份隱私也需要在云進(jìn)入我們的生活之前得到保護(hù)。最后,云計(jì)算系統(tǒng)應(yīng)該對(duì)訪問(wèn)者進(jìn)行訪問(wèn)控制,防止系統(tǒng)的某些部分受到攻擊者的攻擊。為了保證數(shù)據(jù)機(jī)密性,數(shù)據(jù)文件往往被數(shù)據(jù)擁有者在本地加密后才外包給服務(wù)器,但這又引起效率、靈活性和計(jì)算成本等問(wèn)題。因此,如何設(shè)計(jì)既能提供隱私保護(hù)[3],又能靈活訪問(wèn)控制的數(shù)據(jù)共享機(jī)制已成為近年來(lái)的研究熱點(diǎn)。
隨著云計(jì)算的普及,移動(dòng)設(shè)備可以隨時(shí)隨地存儲(chǔ)/檢索個(gè)人數(shù)據(jù)。因此,移動(dòng)云中的數(shù)據(jù)安全、身份隱私暴露問(wèn)題變得越來(lái)越嚴(yán)重,阻礙了移動(dòng)云的進(jìn)一步發(fā)展。為了提高云安全性,已經(jīng)進(jìn)行了大量隱私保護(hù)方面的研究。目前提出了各種方法來(lái)保護(hù)數(shù)據(jù)內(nèi)容隱私。最初由Shamir引入的基于身份的加密(IBE)。幾年后,提出了基于模糊身份的加密,也稱為基于屬性的加密(ABE)。在這種加密方案中,身份被視為一組描述性屬性,并且如果解密者的身份與密文中指定的身份有某些重疊,則可以進(jìn)行解密。不久之后,提出了基于樹(shù)的ABE方案,基于密鑰策略屬性的加密(KP-ABE)和基于密文策略屬性的加密(CP-ABE),解密者需要符合更多的條件而不是簡(jiǎn)單的“重疊”。在KP-ABE[4]中,密文與一組屬性相關(guān)聯(lián),私鑰與樹(shù)之類的單調(diào)訪問(wèn)結(jié)構(gòu)相關(guān)聯(lián),該結(jié)構(gòu)描述了該用戶的身份。當(dāng)且僅當(dāng)密鑰中的屬性滿足其私鑰中的訪問(wèn)樹(shù)時(shí),用戶才能解密密文。但是,密鑰中描述了加密策略,因此加密器無(wú)法完全控制加密策略。他必須相信密鑰生成器會(huì)發(fā)出具有正確結(jié)構(gòu)的密鑰來(lái)糾正用戶。此外,當(dāng)發(fā)生重新加密時(shí),同一系統(tǒng)中的所有用戶必須重新發(fā)布其私鑰以便獲得對(duì)重新加密的文件的訪問(wèn),并且該過(guò)程在實(shí)現(xiàn)中引起相當(dāng)大的問(wèn)題。隨后,這些問(wèn)題和開(kāi)銷都在CP-ABE中得到了解決[5]。在CP-ABE中,使用訪問(wèn)結(jié)構(gòu)創(chuàng)建密文,該訪問(wèn)結(jié)構(gòu)指定加密策略,并根據(jù)用戶的屬性生成私鑰。當(dāng)且僅當(dāng)私鑰中的屬性滿足密文中指定的訪問(wèn)樹(shù)時(shí),用戶才能解密密文。通過(guò)這種方法,加密器擁有關(guān)于加密策略的最終權(quán)限。黃容[6]提出基于屬性加密的云數(shù)據(jù)共享方案,該方法利用屬性一對(duì)多加密和細(xì)粒度訪問(wèn)控制的特性,提出了一種用戶密文檢索方法。然而該方法用戶計(jì)算成本過(guò)高,方案效率有待進(jìn)一步提升。現(xiàn)有的數(shù)據(jù)共享方案很難實(shí)現(xiàn)有效的專業(yè)分類提供和有效的數(shù)據(jù)分析,并且加密過(guò)程為資源受限的智能移動(dòng)設(shè)備帶來(lái)嚴(yán)重的資源消耗。Cui等[7]在移動(dòng)云計(jì)算中提出了一種基于在線/離線屬性的移動(dòng)云關(guān)鍵字搜索方案(OOABKS),利用線上/線下的ABE技術(shù)和外包的ABE技術(shù),降低了移動(dòng)用戶的計(jì)算成本。朱輝等[8]提出了一種基于屬性加密的云數(shù)據(jù)共享方案,能夠?qū)崿F(xiàn)權(quán)限分離和細(xì)粒度訪問(wèn)控制。然而以上兩種方法中,云平臺(tái)仍然能夠解密到用戶的身份信息,且用戶計(jì)算和存儲(chǔ)成本仍然較高,且未實(shí)現(xiàn)共享數(shù)據(jù)的專業(yè)信息分類檢索。Xie等[9]試圖在密文中隱藏加密策略,且它們的解決方案并不妨礙密鑰生成階段的屬性公開(kāi)。這種類型的方法將導(dǎo)致完全匿名的ABE。最近,Namasudra等[10]提出了一種保護(hù)隱私的分散式KP-ABE(PPDKP-ABE)方案。在該方案中,多個(gè)權(quán)限可以獨(dú)立工作而無(wú)需任何協(xié)作。用戶可以從多個(gè)權(quán)限獲得秘密密鑰而不向他們發(fā)布關(guān)于他的任何信息,但是需要中央權(quán)限。Sun等[11]提出了一種隱私保護(hù)的分散式CP-ABE(PPDCP-ABE)方案,其中可以實(shí)現(xiàn)隱藏用戶身份信息的同時(shí)收集用戶數(shù)據(jù)的屬性。然而以上3種方法,訪問(wèn)用戶可以從多個(gè)權(quán)限獲取密鑰,這些權(quán)限知道用戶的屬性,并且方法中需要一個(gè)中央權(quán)限。值得注意的是,用戶的身份信息可以從他/她的一些敏感屬性中提取出來(lái)。因此,這些方法不能完全保護(hù)用戶的隱私,因?yàn)槎鄠€(gè)權(quán)威機(jī)構(gòu)可以合作通過(guò)收集和分析用戶的屬性來(lái)識(shí)別用戶。
綜上所述,現(xiàn)有基于屬性加密的數(shù)據(jù)共享方案都存在一個(gè)共同應(yīng)用缺陷,即云數(shù)據(jù)共享在如何實(shí)現(xiàn)隱私保護(hù)的同時(shí)減輕用戶的計(jì)算和存儲(chǔ)成本,如何實(shí)現(xiàn)更加細(xì)粒度的個(gè)性化和專業(yè)化訪問(wèn)控制。因此,本文提出一種能保證數(shù)據(jù)和身份隱私且訪問(wèn)控制靈活的霧協(xié)同云數(shù)據(jù)共享方案。首先,用戶根據(jù)他們的興趣和經(jīng)驗(yàn)用個(gè)人訪問(wèn)策略加密他們的共享數(shù)據(jù),并且將密文發(fā)送到霧節(jié)點(diǎn)。為了有效利用數(shù)據(jù),霧節(jié)點(diǎn)基于決策樹(shù)方法,根據(jù)不同專業(yè)領(lǐng)域?qū)⑹占臄?shù)據(jù)分類。對(duì)于各個(gè)專業(yè)領(lǐng)域?qū)?yīng)的信息,霧節(jié)點(diǎn)根據(jù)專業(yè)背景制定專業(yè)化的訪問(wèn)策略對(duì)數(shù)據(jù)進(jìn)行重加密。最后新的密文被傳輸?shù)皆贫耍瑪?shù)據(jù)使用者可以解密密文以提供有效的服務(wù)。
這節(jié)我們首先描述方案的系統(tǒng)模型,然后詳細(xì)介紹霧協(xié)同云數(shù)據(jù)共享方案的具體步驟。
方案中包含5個(gè)部分:①授權(quán)機(jī)構(gòu),負(fù)責(zé)初始化系統(tǒng),提供系統(tǒng)注冊(cè)服務(wù),為其它實(shí)體生成系統(tǒng)公鑰、系統(tǒng)主密鑰和私鑰;②用戶,分享他們的數(shù)據(jù)(例如地理信息、健康信息、金融信息),這些數(shù)據(jù)可以由智能設(shè)備采集或者由他們自己手動(dòng)輸入。用戶加密他們的共享數(shù)據(jù)并將密文發(fā)送到霧節(jié)點(diǎn);③霧節(jié)點(diǎn),可以是網(wǎng)關(guān)服務(wù)器或者接近用戶的路由器服務(wù)器。霧節(jié)點(diǎn)掌握一些專業(yè)背景知識(shí),具備較強(qiáng)的計(jì)算能力。它預(yù)處理并重新加密共享密文,然后將新密文發(fā)送到云服務(wù)器;④云服務(wù)器,是具有強(qiáng)大存儲(chǔ)功能的遠(yuǎn)程第三方服務(wù)器,它存儲(chǔ)和管理從霧服務(wù)器發(fā)送的共享數(shù)據(jù)密文;⑤云服務(wù)提供商,可以是指提供云服務(wù)的運(yùn)營(yíng)商等。云服務(wù)提供商使用其屬性來(lái)訪問(wèn)共享密文,以獲取共享數(shù)據(jù)并提供相關(guān)數(shù)據(jù)服務(wù)。云數(shù)據(jù)共享模型如圖1所示。

圖1 霧協(xié)同的云數(shù)據(jù)共享模型
本文給定關(guān)于系統(tǒng)模型中各個(gè)實(shí)體的安全假設(shè),并且在這些安全假設(shè)的前提下使得我們的系統(tǒng)是安全的。在系統(tǒng)中,授權(quán)機(jī)構(gòu)是被所有實(shí)體信任的。授權(quán)機(jī)構(gòu)和用戶,霧節(jié)點(diǎn)以及云服務(wù)器之間的傳輸通道是安全的。用戶是可信的,他們分享自己的數(shù)據(jù)給授權(quán)的實(shí)體,并且防止未經(jīng)授權(quán)的實(shí)體獲得共享數(shù)據(jù)以竊取他們的隱私。霧節(jié)點(diǎn)和云服務(wù)器是誠(chéng)實(shí)但好奇的。霧節(jié)點(diǎn)提供數(shù)據(jù)預(yù)處理服務(wù),云服務(wù)器執(zhí)行數(shù)據(jù)存儲(chǔ),但它們都對(duì)共享明文感到好奇。安全威脅主要分成兩類[12,13],包括未經(jīng)授權(quán)的非法數(shù)據(jù)訪問(wèn)和共謀攻擊:①非法的數(shù)據(jù)訪問(wèn)。未經(jīng)授權(quán)的云服務(wù)提供商可能獲得共享數(shù)據(jù),來(lái)獲得數(shù)據(jù)服務(wù)利益等。②共謀攻擊。霧節(jié)點(diǎn)、云服務(wù)器和未經(jīng)授權(quán)的云服務(wù)提供商無(wú)法單獨(dú)獲得明文,但他們可能通過(guò)合謀來(lái)獲得共享數(shù)據(jù)。在我們?cè)O(shè)計(jì)的方案中首先共享數(shù)據(jù)應(yīng)在未授權(quán)的實(shí)體中保持機(jī)密性;其次能夠靈活指定訪問(wèn)控制策略,通過(guò)分類來(lái)達(dá)到用戶的細(xì)粒度訪問(wèn);再次能夠抵抗共謀攻擊,抵制來(lái)自未授權(quán)實(shí)體的共謀以獲得共享明文。霧節(jié)點(diǎn)、云服務(wù)器和云服務(wù)提供商不能通過(guò)共謀攻擊來(lái)獲得共享數(shù)據(jù)。
首先,用戶錄入要共享的數(shù)據(jù),并加密共享數(shù)據(jù),然后發(fā)送密文到霧節(jié)點(diǎn)。霧節(jié)點(diǎn)預(yù)處理數(shù)據(jù),并使用決策樹(shù)分類的方法根據(jù)專業(yè)領(lǐng)域分析將數(shù)據(jù)分類,以及針對(duì)不同專業(yè)為數(shù)據(jù)創(chuàng)建索引。并且,霧節(jié)點(diǎn)根據(jù)不同的專業(yè)信息欄目,使用新的訪問(wèn)策略來(lái)重新加密共享數(shù)據(jù),然后將密文發(fā)送到云服務(wù)器。最后,具有足夠?qū)傩缘脑品?wù)提供者訪問(wèn)密文并對(duì)其進(jìn)行解密。該方案包括以下步驟:系統(tǒng)初始化、數(shù)據(jù)加密、預(yù)處理、重加密和解密。具體數(shù)據(jù)處理步驟如圖2所示。為了方便表述,定義一些符號(hào)代表數(shù)據(jù)共享方案中的語(yǔ)義,具體符號(hào)見(jiàn)表1。

圖2 共享方案數(shù)據(jù)處理流程

表1 符號(hào)定義
2.2.1 系統(tǒng)初始化
系統(tǒng)初始化階段包括公鑰和密鑰的生成,首先授權(quán)機(jī)構(gòu)通過(guò)算法ACgen(U,λ) 生成系統(tǒng)公鑰PK和系統(tǒng)主密鑰MSK。授權(quán)機(jī)構(gòu)輸入全局屬性U,選擇兩個(gè)階為p的循環(huán)加法群G和GT, 和一個(gè)雙線性映射e∶G×G→GT。 生成元為g,n個(gè)隨機(jī)的群元素h1,h2…,hn∈G, 對(duì)應(yīng)U中的n個(gè)屬性。此外,授權(quán)機(jī)構(gòu)隨機(jī)選擇元素α,β∈Zq。 授權(quán)機(jī)構(gòu)輸出公鑰PK和系統(tǒng)主密鑰MSK
PK=(g,gα,e(g,g)α,h1,…,hn)
(1)
MSK=gβ
(2)
授權(quán)機(jī)構(gòu)運(yùn)行算法CSgen來(lái)為云服務(wù)提供商生成私鑰。云服務(wù)提供商將自己的屬性集S提交給授權(quán)機(jī)構(gòu)。授權(quán)機(jī)構(gòu)輸入系統(tǒng)主密鑰MSK,選擇隨機(jī)數(shù)t∈Zq, 系統(tǒng)公鑰PK,云服務(wù)器ci以及霧節(jié)點(diǎn)fi
CSgen(PK,MSK,A,ci,fi)→(SK,PKf,SKf)
(3)

2.2.2 數(shù)據(jù)加密

用戶首先構(gòu)建一個(gè)待發(fā)展的訪問(wèn)樹(shù)T′。 在樹(shù)中,根節(jié)點(diǎn)r掌管了整個(gè)樹(shù),它的子節(jié)點(diǎn)為a和b,分別為個(gè)性化訪問(wèn)樹(shù)Ta的根節(jié)點(diǎn)和專業(yè)化訪問(wèn)樹(shù)Tb的根節(jié)點(diǎn),用戶構(gòu)建訪問(wèn)控制樹(shù)T′。 從根節(jié)點(diǎn)r開(kāi)始,用戶設(shè)置qr(·)=s并選一個(gè)點(diǎn)來(lái)定義多項(xiàng)式qr。完成訪問(wèn)樹(shù)T′的遍歷后,每一個(gè)節(jié)點(diǎn) (i,j) 都有自己的q(i,j)值,可作為這個(gè)節(jié)點(diǎn)的加密因子。加密因子s就被分發(fā)并藏在每一個(gè)葉子節(jié)點(diǎn)中。這個(gè)過(guò)程對(duì)應(yīng)了Shamir秘密共享中的密鑰分發(fā)。
令s1=qa(·) 和s2=qb(·), 即s1為Ta的加密因子,s2為Tb的加密因子。用戶計(jì)算為所有的訪問(wèn)樹(shù)Ta節(jié)點(diǎn)中的元素加密為Ca(i,j)
Ca(i,j)=gαq(i,j)(·)
(4)
為了在霧節(jié)點(diǎn)上安全構(gòu)建Tb,用戶選擇隨機(jī)數(shù)ε∈Zq, 用系統(tǒng)公鑰和霧節(jié)點(diǎn)的公鑰來(lái)加密s2
Cs2=(gε,s2PKf)
(5)
2.2.3 數(shù)據(jù)預(yù)處理
霧節(jié)點(diǎn)接收從用戶傳來(lái)的密文數(shù)據(jù),輸出預(yù)處理后的分類結(jié)果,以及相關(guān)的數(shù)據(jù)信息條目的索引。根據(jù)文獻(xiàn)[14]所示,考慮已經(jīng)有一個(gè)訓(xùn)練好的分類模型,這個(gè)模型計(jì)算出了相關(guān)專業(yè)數(shù)據(jù)條目之間的關(guān)系。霧節(jié)點(diǎn)通過(guò)決策樹(shù)分類公式[15],計(jì)算每一條數(shù)據(jù)所屬專業(yè)的概率Pi, 如式(6)所示,并為每一條信息條目建立索引

(6)
其中,Di代表一條共享信息,H={ID1,ID2,…,IDm} 代表專業(yè)集合。
2.2.4 數(shù)據(jù)重加密
霧節(jié)點(diǎn)運(yùn)行算法,基于專業(yè)化訪問(wèn)策略來(lái)重加密共享數(shù)據(jù)。同時(shí),為了得到有效的數(shù)據(jù)分析,霧節(jié)點(diǎn)加密每一條數(shù)據(jù)對(duì)應(yīng)的相關(guān)專業(yè)條目。得到的所屬專業(yè)概率之后,霧節(jié)點(diǎn)為這些數(shù)據(jù)信息定義專業(yè)化訪問(wèn)策略。霧節(jié)點(diǎn)構(gòu)建Tb補(bǔ)充訪問(wèn)控制樹(shù)T。在Tb中,根節(jié)點(diǎn)有n個(gè)子節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)代表了在預(yù)處理階段分析的專業(yè)所屬概率,并且管理著對(duì)應(yīng)的專業(yè)屬性。Tb的葉子節(jié)點(diǎn)為專業(yè)屬性。節(jié)點(diǎn)的門限為1,表示當(dāng)云服務(wù)提供商的屬性只要能滿足一種專業(yè)屬性時(shí),它就滿足了代表的訪問(wèn)策略,然后補(bǔ)充構(gòu)建的訪問(wèn)控制樹(shù)T。
b節(jié)點(diǎn)的加密因子為s2,被藏在Tb中。霧節(jié)點(diǎn)解密Cs2來(lái)獲取加密因子s2。解密過(guò)程如下所示
(7)
從根節(jié)點(diǎn)開(kāi)始,霧節(jié)點(diǎn)從上至下遍歷整個(gè)Tb之后,每一個(gè)節(jié)點(diǎn) (i,j) 都有了自己特定的q(i,j)(·) 值,為此點(diǎn)的加密因子。根節(jié)點(diǎn)b具有n個(gè)葉子節(jié)點(diǎn),而且每一個(gè)節(jié)點(diǎn)都對(duì)應(yīng)了其中一個(gè)所屬專業(yè)的概率。讓b的第i個(gè)子節(jié)點(diǎn)所屬專業(yè)的概率用PDi表示,為了更有效地將專業(yè)條目分享給不同的云服務(wù)提供商同時(shí)保護(hù)用戶隱私,霧節(jié)點(diǎn)加密專業(yè)條目索引。霧節(jié)點(diǎn)計(jì)算為每一個(gè)所屬專業(yè)的概率對(duì)應(yīng)的專業(yè)條目密文
CPDi=PDie(g,g)α·q(i,j)(·)
(8)
霧節(jié)點(diǎn)加密訪問(wèn)樹(shù)Tb節(jié)點(diǎn)中的元素為Cb(i,j)
Cb(i,j)=gα·q(i,j)(·)
(9)

2.2.5 數(shù)據(jù)解密
在這個(gè)階段,云服務(wù)提供商解密密文。只要當(dāng)云服務(wù)提供商的屬性能滿足個(gè)性化的和專業(yè)的訪問(wèn)策略時(shí),云服務(wù)提供商才能解密共享密文。同時(shí),如果云服務(wù)提供商的屬性能滿足專業(yè)概率對(duì)應(yīng)的訪問(wèn)策略時(shí),云服務(wù)提供商就能解密,獲取其對(duì)應(yīng)的數(shù)據(jù)信息項(xiàng)目。一個(gè)具備屬性集A的云服務(wù)提供商需要系統(tǒng)公鑰和它的私鑰來(lái)解密CT。解密操作定義為Dec=(CT,A,SK,PK), 每一個(gè)節(jié)點(diǎn) (i,j) 的解密結(jié)果定義為D(i,j)。 為了解密隱藏在訪問(wèn)樹(shù)T中的密文,云服務(wù)提供商從下至上運(yùn)行。解密過(guò)程中如果此節(jié)點(diǎn) (i,j) 代表的屬性不在屬性集中,Dec=(CT,A,SK,PK)=NULL, 否則
Dec=(CT,A,SK,PK)=e(g,g)α·t·q(i,j)(·)
(10)
其中,t∈Zq。 上述操作之后,如果一個(gè)云服務(wù)提供商的屬性能滿足Ta的策略,這個(gè)云服務(wù)提供商就能計(jì)算出Deca
Deca=e(g,g)α·t·s1
(11)
如果一個(gè)云服務(wù)提供商的屬性能滿足專業(yè)化的訪問(wèn)策略Tb,云服務(wù)提供商能計(jì)算出Decb
Decb=e(g,g)α·t·s2
(12)
在訪問(wèn)控制樹(shù)T中,根節(jié)點(diǎn)r的解密需要a節(jié)點(diǎn)的解密和b節(jié)點(diǎn)的解密。當(dāng)一個(gè)云服務(wù)提供商的屬性能滿足個(gè)性化的訪問(wèn)策略Ta和專業(yè)化的訪問(wèn)策略Tb時(shí),云服務(wù)提供商能計(jì)算出DecT。內(nèi)容密鑰ck就能被解密
DecT=e(g,g)α·t·s
(13)
最后,共享密文CT可以被對(duì)稱密鑰ck解密,獲得共享數(shù)據(jù)。特別的,因?yàn)榧用芤蜃觭由用戶隨機(jī)產(chǎn)生,用戶可以用s和公鑰e(g,g)a來(lái)獲取他的加密數(shù)據(jù)。
從上述的解密操作中,可以看到,如果云服務(wù)提供商的屬性能滿足個(gè)性化和專業(yè)化的訪問(wèn)策略,那么他就能獲得共享數(shù)據(jù)。特別地,如果一個(gè)服務(wù)提供商具有的屬性能滿足數(shù)據(jù)信息對(duì)應(yīng)的訪問(wèn)策略,他就能獲得對(duì)應(yīng)的數(shù)據(jù)信息條目,從而更加方便地獲取他專業(yè)內(nèi)的數(shù)據(jù),更好地服務(wù)用戶。
本節(jié)主要驗(yàn)證前面所提的安全假設(shè),具體而言,F(xiàn)AC-ABE可以實(shí)現(xiàn)數(shù)據(jù)保密性,以用戶為中心的訪問(wèn)控制和防止共謀攻擊。
在實(shí)現(xiàn)數(shù)據(jù)保密性方面,首先用戶使用內(nèi)容密鑰對(duì)共享數(shù)據(jù)進(jìn)行加密。同時(shí),用戶利用個(gè)性化訪問(wèn)策略加密內(nèi)容密鑰以進(jìn)行安全數(shù)據(jù)共享。霧節(jié)點(diǎn),云服務(wù)器和未經(jīng)授權(quán)的云服務(wù)提供商在沒(méi)有足夠?qū)傩垣@得解密密鑰情況下,無(wú)法解密共享密文。這樣FAC-ABE可以保證數(shù)據(jù)在用戶、霧節(jié)點(diǎn)、云服務(wù)器和云服務(wù)提供商的傳輸過(guò)程中,保持?jǐn)?shù)據(jù)的機(jī)密性。此外,由于加密數(shù)據(jù)通過(guò)安全通道從用戶通過(guò)霧服務(wù)器傳輸?shù)皆拼鎯?chǔ),因此FAC-ABE可以抵抗來(lái)自其它未授權(quán)實(shí)體的數(shù)據(jù)篡改。
在實(shí)現(xiàn)以用戶為中心的訪問(wèn)控制方面,用戶可以根據(jù)他的個(gè)人經(jīng)驗(yàn)和要求,確定自己的數(shù)據(jù)被什么樣的云服務(wù)提供者訪問(wèn)。Ta是用戶根據(jù)自己的經(jīng)驗(yàn)和興趣,構(gòu)建的個(gè)人訪問(wèn)策略,來(lái)對(duì)共享數(shù)據(jù)的內(nèi)容密鑰進(jìn)行加密。只有具有滿足屬性的云服務(wù)提供商才有可能滿足訪問(wèn)獲得內(nèi)容密鑰。這樣,用戶就能決定他的共享數(shù)據(jù)由什么樣的云服務(wù)提供商訪問(wèn),從而滿足他個(gè)性化的特定要求。另外在霧節(jié)點(diǎn)進(jìn)行數(shù)據(jù)重新加密之后,用戶可以檢索和解密共享數(shù)據(jù)。在制定的方案中,由于對(duì)內(nèi)容密鑰加密的加密因子由用戶隨機(jī)選擇,用戶可以直接使用加密因子和系統(tǒng)公共密鑰來(lái)解密共享的密文。因此,雖然霧節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行重新加密,用戶也可以靈活地檢索他的共享數(shù)據(jù)。
在實(shí)現(xiàn)防止共謀攻擊方面包括:①霧節(jié)點(diǎn)和云服務(wù)器之間的合謀。密文數(shù)據(jù)在霧節(jié)點(diǎn)和云服務(wù)器分別是保持私密的。霧節(jié)點(diǎn)能解密Tb的加密因子,但是它不能解密Ta的加密因子。云服務(wù)器除了知道共享密文之外,不能獲取其它的內(nèi)容。因此,就算霧節(jié)點(diǎn)和云服務(wù)器共謀,它們也不能獲取共享的數(shù)據(jù)。②霧節(jié)點(diǎn)和云服務(wù)提供商之間的共謀。首先,云服務(wù)提供商沒(méi)有足夠的屬性能滿足個(gè)性化訪問(wèn)樹(shù)T,也就是說(shuō),它無(wú)法解密Ta。訪問(wèn)控制樹(shù)是Ta和Tb的結(jié)合,當(dāng)且僅當(dāng)云服務(wù)提供商能解密出Ta和Tb,它能解密訪問(wèn)控制樹(shù)T并獲得內(nèi)容密鑰。霧節(jié)點(diǎn)能解密Tb的加密因子。在這種情況下,霧節(jié)點(diǎn)和云服務(wù)提供商的合謀顯然無(wú)法解密出T,也就是無(wú)法獲得加密的共享數(shù)據(jù)。其次,云服務(wù)提供商的屬性能滿足個(gè)性化訪問(wèn)樹(shù)Ta,即它解密出Ta。霧節(jié)點(diǎn)用自己的私鑰解密出Tb的加密因子。然而,只有授權(quán)機(jī)構(gòu)知道隨機(jī)指數(shù)因子和為云服務(wù)提供商隨機(jī)選擇的t,霧節(jié)點(diǎn)和云服務(wù)提供商都無(wú)法獲得。云服務(wù)提供商無(wú)法和Tb的加密因子相結(jié)合計(jì)算出T,從而獲得內(nèi)容密鑰ck。另一方面,霧節(jié)點(diǎn)不能和Ta的加密因子相結(jié)合解密出T。因此,霧節(jié)點(diǎn)和云服務(wù)提供商共謀和無(wú)法獲取共享數(shù)據(jù)。
為了實(shí)現(xiàn)和檢查方案的有效性,我們將所提的方案FAC-ABE與改進(jìn)的ABE的屬性加密方案LDSS-ABE[16]和TFVO-CP-ABE[17]進(jìn)行性能比較,采用JAVA版本的密碼庫(kù)JPBC,從計(jì)算開(kāi)銷和存儲(chǔ)開(kāi)銷兩個(gè)方面驗(yàn)證所提出方案的有效性。LDSS-ABE方法是一種用于移動(dòng)云計(jì)算的輕量級(jí)數(shù)據(jù)共享方案,TFVO-CP-ABE方法是一種可追責(zé)和完全可驗(yàn)證外包解密的CP-ABE方案。由于用戶的智能終端設(shè)備多種多樣,我們?cè)u(píng)估了該方案在兩種設(shè)備的性能表現(xiàn):手機(jī)和傳感器。手機(jī)的配置為CPU海思麒麟980,6 GB內(nèi)存,傳感器的配置為ARM Cortex-M3,256 KB閃存,32 KB SRAM。霧節(jié)點(diǎn)的配置為Intel Core i5 CPU,8 GB RAM。時(shí)間以毫秒為單位(平均超過(guò)1000次迭代)。在大多數(shù)場(chǎng)合[18]下,參與到加密中的屬性數(shù)量基本不超過(guò)30個(gè),因此評(píng)估該方案在30個(gè)屬性之下的表現(xiàn)。
我們首先對(duì)比FAC-ABE和其它兩種方案在手機(jī)和傳感器上的時(shí)間成本,分別如圖3和圖4所示。由于LDSS-ABE和TFVO-CP-ABE方案沒(méi)有霧節(jié)點(diǎn)的參與,因此這兩種方案在霧節(jié)點(diǎn)上的加密時(shí)間為0,而FAC-ABE的加密時(shí)間隨著專業(yè)訪問(wèn)策略中屬性數(shù)量和專業(yè)類別數(shù)量的增加而增加。如圖3和圖4所示,手機(jī)和傳感器的加密時(shí)間隨著屬性數(shù)量的增加而增加。3種方案中加密共享數(shù)據(jù)所花費(fèi)的加密時(shí)間FAC-ABE最少。同時(shí),F(xiàn)AC-ABE的加密時(shí)間大約為其它兩種方案在相同屬性數(shù)量下的加密時(shí)間的1/3倍。從圖中可以看出,傳感器加密比手機(jī)加密耗時(shí)更長(zhǎng)。當(dāng)訪問(wèn)策略中定義了20個(gè)屬性時(shí),LDSS-ABE傳感器上的數(shù)據(jù)加密接近45 s,而時(shí),F(xiàn)AC-ABE僅消耗16 s,這大大降低了計(jì)算時(shí)間。

圖3 手機(jī)的加密時(shí)間

圖4 不同屬性下傳感器的加密時(shí)間
在圖5中,設(shè)置霧節(jié)點(diǎn)上共享數(shù)據(jù)分為5類時(shí),比較FAC-ABE方案屬性百分比P=1/2,1/3和1/4時(shí),在霧節(jié)點(diǎn)上的加密時(shí)間。在圖5中,設(shè)置整個(gè)訪問(wèn)策略中有20個(gè)屬性,比較FAC-ABE方案屬性百分比P=1/2,1/3和1/4時(shí),在霧節(jié)點(diǎn)上的加密時(shí)間。如圖5所示,當(dāng)霧節(jié)點(diǎn)定制的訪問(wèn)策略中定義了5個(gè)類別時(shí),當(dāng)屬性數(shù)比例越大,需要的加密時(shí)間越多。霧節(jié)點(diǎn)上的加密時(shí)間隨著屬性數(shù)量的增加而增加,當(dāng)減少到1/2時(shí)加密時(shí)間最多,因?yàn)橛蠵倍的加密負(fù)擔(dān)從用戶端轉(zhuǎn)移到了霧節(jié)點(diǎn)上。如圖6所示,霧節(jié)點(diǎn)上的加密時(shí)間隨著專業(yè)條目的增加而增加。當(dāng)霧節(jié)點(diǎn)對(duì)更多的專業(yè)類別進(jìn)行分類時(shí),霧節(jié)點(diǎn)需要更多的計(jì)算資源,這是可以接受的,因?yàn)樵品?wù)提供商可以更高效利用數(shù)據(jù)。

圖5 不同屬性下霧節(jié)點(diǎn)的加密時(shí)間

圖6 不同專業(yè)條目下霧節(jié)點(diǎn)的加密時(shí)間
評(píng)估用戶和霧節(jié)點(diǎn)的存儲(chǔ)成本。在圖7中,展示了 3種方案的存儲(chǔ)成本和屬性數(shù)量的關(guān)系。對(duì)于霧節(jié)點(diǎn)上的存儲(chǔ)成本,LDSS-ABE和TFVO-CP-ABE方案中由于霧節(jié)點(diǎn)沒(méi)有參與,所以沒(méi)有密文存儲(chǔ)。在圖7中,設(shè)置共享數(shù)據(jù)分為5類時(shí),并說(shuō)明3種方法中存儲(chǔ)成本和屬性數(shù)量之間的關(guān)系。在圖7中設(shè)屬性數(shù)為20時(shí),說(shuō)明專業(yè)類別與存儲(chǔ)成本之間的關(guān)系。如圖7所示,用戶的存儲(chǔ)成本隨著屬性數(shù)量的增加而增加。FAC-ABE 的存儲(chǔ)開(kāi)銷略大于LDSS-ABE中相同數(shù)量屬性時(shí)的存儲(chǔ)成本。對(duì)比的兩種方案由于沒(méi)有霧節(jié)點(diǎn)的重加密,因此存儲(chǔ)成本都要小。總體來(lái)看,霧節(jié)點(diǎn)上的整體存儲(chǔ)成本隨著屬性數(shù)量的增加而增加。如圖8所示,當(dāng)FAC-ABE 中專業(yè)類別較多時(shí),霧節(jié)點(diǎn)需要更多的存儲(chǔ)成本,而其它兩種方案中,當(dāng)專業(yè)類別增加時(shí),整體存儲(chǔ)成本是穩(wěn)定的。從圖7和圖8可知,霧節(jié)點(diǎn)上的存儲(chǔ)成本超過(guò)對(duì)比方案的成本,這是合理的可接受的,因?yàn)殪F節(jié)點(diǎn)將數(shù)據(jù)分類,并建立了索引,可以實(shí)現(xiàn)更有效的數(shù)據(jù)利用,也可獲得更好的專業(yè)數(shù)據(jù)服務(wù)。

圖7 用戶的存儲(chǔ)成本

圖8 不同專業(yè)欄目下霧節(jié)點(diǎn)的存儲(chǔ)成本
本文提出了一種基于屬性加密的霧協(xié)同云數(shù)據(jù)共享方案,在低資源消耗的情況下,實(shí)現(xiàn)了有效的數(shù)據(jù)共享和隱私保護(hù)。首先,由于霧節(jié)點(diǎn)定制了個(gè)性化和專業(yè)化的訪問(wèn)策略,方案為云端用戶提供有效的數(shù)據(jù)共享。其次,方案通過(guò)將共享數(shù)據(jù)分類并將相關(guān)數(shù)據(jù)編入索引,增強(qiáng)了云服務(wù)提供商的數(shù)據(jù)分析效率。再次,即使在霧節(jié)點(diǎn)和其它部分的共謀下,方案也能保障共享數(shù)據(jù)的隱私保護(hù)。最后,方案將部分加密計(jì)算,密文存儲(chǔ)和能量消耗轉(zhuǎn)移到了霧節(jié)點(diǎn),減輕了云端用戶設(shè)備的開(kāi)銷。