龍 浩,張書奎,張 力
(1.蘇州大學 計算機科學與技術學院,江蘇 蘇州 215006;2.徐州工業(yè)職業(yè)技術學院 信息與電氣工程學院,江蘇 徐州 221002;3.蘇州大學 江蘇省現(xiàn)代企業(yè)信息化應用支撐軟件工程技術研發(fā)中心,江蘇 蘇州 215104)
隨著云計算快速發(fā)展,一些云服務供應商能提供更經(jīng)濟和更強大的計算和存儲能力,個人和企業(yè)更愿意通過云平臺來存儲和管理數(shù)據(jù),并且將數(shù)據(jù)分享給特定的用戶群體?;谠破脚_的數(shù)據(jù)安全共享技術也因此被提出,比如:新型醫(yī)療云[1,2]、交通信息云、天氣預報云等。這些云為用戶帶來了極大的便利,然而在開放的云環(huán)境中存在著數(shù)據(jù)機密性、隱私保護、權限控制等具有挑戰(zhàn)性的安全問題。首先,用戶希望共享數(shù)據(jù)的同時能夠防止暴露自己的敏感信息。因為服務器可能會非法檢查用戶的數(shù)據(jù)并訪問敏感信息,或者其他用戶可能能夠從外包計算中推斷出敏感信息。因此,云數(shù)據(jù)共享不僅要進行控制訪問,還要進行上傳數(shù)據(jù)的脫敏。其次,個人信息存在風險,為了能夠安全的上傳共享數(shù)據(jù),需要對上傳者的身份進行驗證。隨著人們現(xiàn)在越來越關注自己的身份隱私,身份隱私也需要在云進入我們的生活之前得到保護。最后,云計算系統(tǒng)應該對訪問者進行訪問控制,防止系統(tǒng)的某些部分受到攻擊者的攻擊。為了保證數(shù)據(jù)機密性,數(shù)據(jù)文件往往被數(shù)據(jù)擁有者在本地加密后才外包給服務器,但這又引起效率、靈活性和計算成本等問題。因此,如何設計既能提供隱私保護[3],又能靈活訪問控制的數(shù)據(jù)共享機制已成為近年來的研究熱點。
隨著云計算的普及,移動設備可以隨時隨地存儲/檢索個人數(shù)據(jù)。因此,移動云中的數(shù)據(jù)安全、身份隱私暴露問題變得越來越嚴重,阻礙了移動云的進一步發(fā)展。為了提高云安全性,已經(jīng)進行了大量隱私保護方面的研究。目前提出了各種方法來保護數(shù)據(jù)內(nèi)容隱私。最初由Shamir引入的基于身份的加密(IBE)。幾年后,提出了基于模糊身份的加密,也稱為基于屬性的加密(ABE)。在這種加密方案中,身份被視為一組描述性屬性,并且如果解密者的身份與密文中指定的身份有某些重疊,則可以進行解密。不久之后,提出了基于樹的ABE方案,基于密鑰策略屬性的加密(KP-ABE)和基于密文策略屬性的加密(CP-ABE),解密者需要符合更多的條件而不是簡單的“重疊”。在KP-ABE[4]中,密文與一組屬性相關聯(lián),私鑰與樹之類的單調(diào)訪問結構相關聯(lián),該結構描述了該用戶的身份。當且僅當密鑰中的屬性滿足其私鑰中的訪問樹時,用戶才能解密密文。但是,密鑰中描述了加密策略,因此加密器無法完全控制加密策略。他必須相信密鑰生成器會發(fā)出具有正確結構的密鑰來糾正用戶。此外,當發(fā)生重新加密時,同一系統(tǒng)中的所有用戶必須重新發(fā)布其私鑰以便獲得對重新加密的文件的訪問,并且該過程在實現(xiàn)中引起相當大的問題。隨后,這些問題和開銷都在CP-ABE中得到了解決[5]。在CP-ABE中,使用訪問結構創(chuàng)建密文,該訪問結構指定加密策略,并根據(jù)用戶的屬性生成私鑰。當且僅當私鑰中的屬性滿足密文中指定的訪問樹時,用戶才能解密密文。通過這種方法,加密器擁有關于加密策略的最終權限。黃容[6]提出基于屬性加密的云數(shù)據(jù)共享方案,該方法利用屬性一對多加密和細粒度訪問控制的特性,提出了一種用戶密文檢索方法。然而該方法用戶計算成本過高,方案效率有待進一步提升?,F(xiàn)有的數(shù)據(jù)共享方案很難實現(xiàn)有效的專業(yè)分類提供和有效的數(shù)據(jù)分析,并且加密過程為資源受限的智能移動設備帶來嚴重的資源消耗。Cui等[7]在移動云計算中提出了一種基于在線/離線屬性的移動云關鍵字搜索方案(OOABKS),利用線上/線下的ABE技術和外包的ABE技術,降低了移動用戶的計算成本。朱輝等[8]提出了一種基于屬性加密的云數(shù)據(jù)共享方案,能夠?qū)崿F(xiàn)權限分離和細粒度訪問控制。然而以上兩種方法中,云平臺仍然能夠解密到用戶的身份信息,且用戶計算和存儲成本仍然較高,且未實現(xiàn)共享數(shù)據(jù)的專業(yè)信息分類檢索。Xie等[9]試圖在密文中隱藏加密策略,且它們的解決方案并不妨礙密鑰生成階段的屬性公開。這種類型的方法將導致完全匿名的ABE。最近,Namasudra等[10]提出了一種保護隱私的分散式KP-ABE(PPDKP-ABE)方案。在該方案中,多個權限可以獨立工作而無需任何協(xié)作。用戶可以從多個權限獲得秘密密鑰而不向他們發(fā)布關于他的任何信息,但是需要中央權限。Sun等[11]提出了一種隱私保護的分散式CP-ABE(PPDCP-ABE)方案,其中可以實現(xiàn)隱藏用戶身份信息的同時收集用戶數(shù)據(jù)的屬性。然而以上3種方法,訪問用戶可以從多個權限獲取密鑰,這些權限知道用戶的屬性,并且方法中需要一個中央權限。值得注意的是,用戶的身份信息可以從他/她的一些敏感屬性中提取出來。因此,這些方法不能完全保護用戶的隱私,因為多個權威機構可以合作通過收集和分析用戶的屬性來識別用戶。
綜上所述,現(xiàn)有基于屬性加密的數(shù)據(jù)共享方案都存在一個共同應用缺陷,即云數(shù)據(jù)共享在如何實現(xiàn)隱私保護的同時減輕用戶的計算和存儲成本,如何實現(xiàn)更加細粒度的個性化和專業(yè)化訪問控制。因此,本文提出一種能保證數(shù)據(jù)和身份隱私且訪問控制靈活的霧協(xié)同云數(shù)據(jù)共享方案。首先,用戶根據(jù)他們的興趣和經(jīng)驗用個人訪問策略加密他們的共享數(shù)據(jù),并且將密文發(fā)送到霧節(jié)點。為了有效利用數(shù)據(jù),霧節(jié)點基于決策樹方法,根據(jù)不同專業(yè)領域?qū)⑹占臄?shù)據(jù)分類。對于各個專業(yè)領域?qū)男畔?,霧節(jié)點根據(jù)專業(yè)背景制定專業(yè)化的訪問策略對數(shù)據(jù)進行重加密。最后新的密文被傳輸?shù)皆贫耍瑪?shù)據(jù)使用者可以解密密文以提供有效的服務。
這節(jié)我們首先描述方案的系統(tǒng)模型,然后詳細介紹霧協(xié)同云數(shù)據(jù)共享方案的具體步驟。
方案中包含5個部分:①授權機構,負責初始化系統(tǒng),提供系統(tǒng)注冊服務,為其它實體生成系統(tǒng)公鑰、系統(tǒng)主密鑰和私鑰;②用戶,分享他們的數(shù)據(jù)(例如地理信息、健康信息、金融信息),這些數(shù)據(jù)可以由智能設備采集或者由他們自己手動輸入。用戶加密他們的共享數(shù)據(jù)并將密文發(fā)送到霧節(jié)點;③霧節(jié)點,可以是網(wǎng)關服務器或者接近用戶的路由器服務器。霧節(jié)點掌握一些專業(yè)背景知識,具備較強的計算能力。它預處理并重新加密共享密文,然后將新密文發(fā)送到云服務器;④云服務器,是具有強大存儲功能的遠程第三方服務器,它存儲和管理從霧服務器發(fā)送的共享數(shù)據(jù)密文;⑤云服務提供商,可以是指提供云服務的運營商等。云服務提供商使用其屬性來訪問共享密文,以獲取共享數(shù)據(jù)并提供相關數(shù)據(jù)服務。云數(shù)據(jù)共享模型如圖1所示。
圖1 霧協(xié)同的云數(shù)據(jù)共享模型
本文給定關于系統(tǒng)模型中各個實體的安全假設,并且在這些安全假設的前提下使得我們的系統(tǒng)是安全的。在系統(tǒng)中,授權機構是被所有實體信任的。授權機構和用戶,霧節(jié)點以及云服務器之間的傳輸通道是安全的。用戶是可信的,他們分享自己的數(shù)據(jù)給授權的實體,并且防止未經(jīng)授權的實體獲得共享數(shù)據(jù)以竊取他們的隱私。霧節(jié)點和云服務器是誠實但好奇的。霧節(jié)點提供數(shù)據(jù)預處理服務,云服務器執(zhí)行數(shù)據(jù)存儲,但它們都對共享明文感到好奇。安全威脅主要分成兩類[12,13],包括未經(jīng)授權的非法數(shù)據(jù)訪問和共謀攻擊:①非法的數(shù)據(jù)訪問。未經(jīng)授權的云服務提供商可能獲得共享數(shù)據(jù),來獲得數(shù)據(jù)服務利益等。②共謀攻擊。霧節(jié)點、云服務器和未經(jīng)授權的云服務提供商無法單獨獲得明文,但他們可能通過合謀來獲得共享數(shù)據(jù)。在我們設計的方案中首先共享數(shù)據(jù)應在未授權的實體中保持機密性;其次能夠靈活指定訪問控制策略,通過分類來達到用戶的細粒度訪問;再次能夠抵抗共謀攻擊,抵制來自未授權實體的共謀以獲得共享明文。霧節(jié)點、云服務器和云服務提供商不能通過共謀攻擊來獲得共享數(shù)據(jù)。
首先,用戶錄入要共享的數(shù)據(jù),并加密共享數(shù)據(jù),然后發(fā)送密文到霧節(jié)點。霧節(jié)點預處理數(shù)據(jù),并使用決策樹分類的方法根據(jù)專業(yè)領域分析將數(shù)據(jù)分類,以及針對不同專業(yè)為數(shù)據(jù)創(chuàng)建索引。并且,霧節(jié)點根據(jù)不同的專業(yè)信息欄目,使用新的訪問策略來重新加密共享數(shù)據(jù),然后將密文發(fā)送到云服務器。最后,具有足夠?qū)傩缘脑品仗峁┱咴L問密文并對其進行解密。該方案包括以下步驟:系統(tǒng)初始化、數(shù)據(jù)加密、預處理、重加密和解密。具體數(shù)據(jù)處理步驟如圖2所示。為了方便表述,定義一些符號代表數(shù)據(jù)共享方案中的語義,具體符號見表1。
圖2 共享方案數(shù)據(jù)處理流程
表1 符號定義
2.2.1 系統(tǒng)初始化
系統(tǒng)初始化階段包括公鑰和密鑰的生成,首先授權機構通過算法ACgen(U,λ) 生成系統(tǒng)公鑰PK和系統(tǒng)主密鑰MSK。授權機構輸入全局屬性U,選擇兩個階為p的循環(huán)加法群G和GT, 和一個雙線性映射e∶G×G→GT。 生成元為g,n個隨機的群元素h1,h2…,hn∈G, 對應U中的n個屬性。此外,授權機構隨機選擇元素α,β∈Zq。 授權機構輸出公鑰PK和系統(tǒng)主密鑰MSK
PK=(g,gα,e(g,g)α,h1,…,hn)
(1)
MSK=gβ
(2)
授權機構運行算法CSgen來為云服務提供商生成私鑰。云服務提供商將自己的屬性集S提交給授權機構。授權機構輸入系統(tǒng)主密鑰MSK,選擇隨機數(shù)t∈Zq, 系統(tǒng)公鑰PK,云服務器ci以及霧節(jié)點fi
CSgen(PK,MSK,A,ci,fi)→(SK,PKf,SKf)
(3)
2.2.2 數(shù)據(jù)加密
用戶首先構建一個待發(fā)展的訪問樹T′。 在樹中,根節(jié)點r掌管了整個樹,它的子節(jié)點為a和b,分別為個性化訪問樹Ta的根節(jié)點和專業(yè)化訪問樹Tb的根節(jié)點,用戶構建訪問控制樹T′。 從根節(jié)點r開始,用戶設置qr(·)=s并選一個點來定義多項式qr。完成訪問樹T′的遍歷后,每一個節(jié)點 (i,j) 都有自己的q(i,j)值,可作為這個節(jié)點的加密因子。加密因子s就被分發(fā)并藏在每一個葉子節(jié)點中。這個過程對應了Shamir秘密共享中的密鑰分發(fā)。
令s1=qa(·) 和s2=qb(·), 即s1為Ta的加密因子,s2為Tb的加密因子。用戶計算為所有的訪問樹Ta節(jié)點中的元素加密為Ca(i,j)
Ca(i,j)=gαq(i,j)(·)
(4)
為了在霧節(jié)點上安全構建Tb,用戶選擇隨機數(shù)ε∈Zq, 用系統(tǒng)公鑰和霧節(jié)點的公鑰來加密s2
Cs2=(gε,s2PKf)
(5)
2.2.3 數(shù)據(jù)預處理
霧節(jié)點接收從用戶傳來的密文數(shù)據(jù),輸出預處理后的分類結果,以及相關的數(shù)據(jù)信息條目的索引。根據(jù)文獻[14]所示,考慮已經(jīng)有一個訓練好的分類模型,這個模型計算出了相關專業(yè)數(shù)據(jù)條目之間的關系。霧節(jié)點通過決策樹分類公式[15],計算每一條數(shù)據(jù)所屬專業(yè)的概率Pi, 如式(6)所示,并為每一條信息條目建立索引
(6)
其中,Di代表一條共享信息,H={ID1,ID2,…,IDm} 代表專業(yè)集合。
2.2.4 數(shù)據(jù)重加密
霧節(jié)點運行算法,基于專業(yè)化訪問策略來重加密共享數(shù)據(jù)。同時,為了得到有效的數(shù)據(jù)分析,霧節(jié)點加密每一條數(shù)據(jù)對應的相關專業(yè)條目。得到的所屬專業(yè)概率之后,霧節(jié)點為這些數(shù)據(jù)信息定義專業(yè)化訪問策略。霧節(jié)點構建Tb補充訪問控制樹T。在Tb中,根節(jié)點有n個子節(jié)點,每一個節(jié)點代表了在預處理階段分析的專業(yè)所屬概率,并且管理著對應的專業(yè)屬性。Tb的葉子節(jié)點為專業(yè)屬性。節(jié)點的門限為1,表示當云服務提供商的屬性只要能滿足一種專業(yè)屬性時,它就滿足了代表的訪問策略,然后補充構建的訪問控制樹T。
b節(jié)點的加密因子為s2,被藏在Tb中。霧節(jié)點解密Cs2來獲取加密因子s2。解密過程如下所示
(7)
從根節(jié)點開始,霧節(jié)點從上至下遍歷整個Tb之后,每一個節(jié)點 (i,j) 都有了自己特定的q(i,j)(·) 值,為此點的加密因子。根節(jié)點b具有n個葉子節(jié)點,而且每一個節(jié)點都對應了其中一個所屬專業(yè)的概率。讓b的第i個子節(jié)點所屬專業(yè)的概率用PDi表示,為了更有效地將專業(yè)條目分享給不同的云服務提供商同時保護用戶隱私,霧節(jié)點加密專業(yè)條目索引。霧節(jié)點計算為每一個所屬專業(yè)的概率對應的專業(yè)條目密文
CPDi=PDie(g,g)α·q(i,j)(·)
(8)
霧節(jié)點加密訪問樹Tb節(jié)點中的元素為Cb(i,j)
Cb(i,j)=gα·q(i,j)(·)
(9)
2.2.5 數(shù)據(jù)解密
在這個階段,云服務提供商解密密文。只要當云服務提供商的屬性能滿足個性化的和專業(yè)的訪問策略時,云服務提供商才能解密共享密文。同時,如果云服務提供商的屬性能滿足專業(yè)概率對應的訪問策略時,云服務提供商就能解密,獲取其對應的數(shù)據(jù)信息項目。一個具備屬性集A的云服務提供商需要系統(tǒng)公鑰和它的私鑰來解密CT。解密操作定義為Dec=(CT,A,SK,PK), 每一個節(jié)點 (i,j) 的解密結果定義為D(i,j)。 為了解密隱藏在訪問樹T中的密文,云服務提供商從下至上運行。解密過程中如果此節(jié)點 (i,j) 代表的屬性不在屬性集中,Dec=(CT,A,SK,PK)=NULL, 否則
Dec=(CT,A,SK,PK)=e(g,g)α·t·q(i,j)(·)
(10)
其中,t∈Zq。 上述操作之后,如果一個云服務提供商的屬性能滿足Ta的策略,這個云服務提供商就能計算出Deca
Deca=e(g,g)α·t·s1
(11)
如果一個云服務提供商的屬性能滿足專業(yè)化的訪問策略Tb,云服務提供商能計算出Decb
Decb=e(g,g)α·t·s2
(12)
在訪問控制樹T中,根節(jié)點r的解密需要a節(jié)點的解密和b節(jié)點的解密。當一個云服務提供商的屬性能滿足個性化的訪問策略Ta和專業(yè)化的訪問策略Tb時,云服務提供商能計算出DecT。內(nèi)容密鑰ck就能被解密
DecT=e(g,g)α·t·s
(13)
最后,共享密文CT可以被對稱密鑰ck解密,獲得共享數(shù)據(jù)。特別的,因為加密因子s由用戶隨機產(chǎn)生,用戶可以用s和公鑰e(g,g)a來獲取他的加密數(shù)據(jù)。
從上述的解密操作中,可以看到,如果云服務提供商的屬性能滿足個性化和專業(yè)化的訪問策略,那么他就能獲得共享數(shù)據(jù)。特別地,如果一個服務提供商具有的屬性能滿足數(shù)據(jù)信息對應的訪問策略,他就能獲得對應的數(shù)據(jù)信息條目,從而更加方便地獲取他專業(yè)內(nèi)的數(shù)據(jù),更好地服務用戶。
本節(jié)主要驗證前面所提的安全假設,具體而言,F(xiàn)AC-ABE可以實現(xiàn)數(shù)據(jù)保密性,以用戶為中心的訪問控制和防止共謀攻擊。
在實現(xiàn)數(shù)據(jù)保密性方面,首先用戶使用內(nèi)容密鑰對共享數(shù)據(jù)進行加密。同時,用戶利用個性化訪問策略加密內(nèi)容密鑰以進行安全數(shù)據(jù)共享。霧節(jié)點,云服務器和未經(jīng)授權的云服務提供商在沒有足夠?qū)傩垣@得解密密鑰情況下,無法解密共享密文。這樣FAC-ABE可以保證數(shù)據(jù)在用戶、霧節(jié)點、云服務器和云服務提供商的傳輸過程中,保持數(shù)據(jù)的機密性。此外,由于加密數(shù)據(jù)通過安全通道從用戶通過霧服務器傳輸?shù)皆拼鎯Γ虼薋AC-ABE可以抵抗來自其它未授權實體的數(shù)據(jù)篡改。
在實現(xiàn)以用戶為中心的訪問控制方面,用戶可以根據(jù)他的個人經(jīng)驗和要求,確定自己的數(shù)據(jù)被什么樣的云服務提供者訪問。Ta是用戶根據(jù)自己的經(jīng)驗和興趣,構建的個人訪問策略,來對共享數(shù)據(jù)的內(nèi)容密鑰進行加密。只有具有滿足屬性的云服務提供商才有可能滿足訪問獲得內(nèi)容密鑰。這樣,用戶就能決定他的共享數(shù)據(jù)由什么樣的云服務提供商訪問,從而滿足他個性化的特定要求。另外在霧節(jié)點進行數(shù)據(jù)重新加密之后,用戶可以檢索和解密共享數(shù)據(jù)。在制定的方案中,由于對內(nèi)容密鑰加密的加密因子由用戶隨機選擇,用戶可以直接使用加密因子和系統(tǒng)公共密鑰來解密共享的密文。因此,雖然霧節(jié)點對數(shù)據(jù)進行重新加密,用戶也可以靈活地檢索他的共享數(shù)據(jù)。
在實現(xiàn)防止共謀攻擊方面包括:①霧節(jié)點和云服務器之間的合謀。密文數(shù)據(jù)在霧節(jié)點和云服務器分別是保持私密的。霧節(jié)點能解密Tb的加密因子,但是它不能解密Ta的加密因子。云服務器除了知道共享密文之外,不能獲取其它的內(nèi)容。因此,就算霧節(jié)點和云服務器共謀,它們也不能獲取共享的數(shù)據(jù)。②霧節(jié)點和云服務提供商之間的共謀。首先,云服務提供商沒有足夠的屬性能滿足個性化訪問樹T,也就是說,它無法解密Ta。訪問控制樹是Ta和Tb的結合,當且僅當云服務提供商能解密出Ta和Tb,它能解密訪問控制樹T并獲得內(nèi)容密鑰。霧節(jié)點能解密Tb的加密因子。在這種情況下,霧節(jié)點和云服務提供商的合謀顯然無法解密出T,也就是無法獲得加密的共享數(shù)據(jù)。其次,云服務提供商的屬性能滿足個性化訪問樹Ta,即它解密出Ta。霧節(jié)點用自己的私鑰解密出Tb的加密因子。然而,只有授權機構知道隨機指數(shù)因子和為云服務提供商隨機選擇的t,霧節(jié)點和云服務提供商都無法獲得。云服務提供商無法和Tb的加密因子相結合計算出T,從而獲得內(nèi)容密鑰ck。另一方面,霧節(jié)點不能和Ta的加密因子相結合解密出T。因此,霧節(jié)點和云服務提供商共謀和無法獲取共享數(shù)據(jù)。
為了實現(xiàn)和檢查方案的有效性,我們將所提的方案FAC-ABE與改進的ABE的屬性加密方案LDSS-ABE[16]和TFVO-CP-ABE[17]進行性能比較,采用JAVA版本的密碼庫JPBC,從計算開銷和存儲開銷兩個方面驗證所提出方案的有效性。LDSS-ABE方法是一種用于移動云計算的輕量級數(shù)據(jù)共享方案,TFVO-CP-ABE方法是一種可追責和完全可驗證外包解密的CP-ABE方案。由于用戶的智能終端設備多種多樣,我們評估了該方案在兩種設備的性能表現(xiàn):手機和傳感器。手機的配置為CPU海思麒麟980,6 GB內(nèi)存,傳感器的配置為ARM Cortex-M3,256 KB閃存,32 KB SRAM。霧節(jié)點的配置為Intel Core i5 CPU,8 GB RAM。時間以毫秒為單位(平均超過1000次迭代)。在大多數(shù)場合[18]下,參與到加密中的屬性數(shù)量基本不超過30個,因此評估該方案在30個屬性之下的表現(xiàn)。
我們首先對比FAC-ABE和其它兩種方案在手機和傳感器上的時間成本,分別如圖3和圖4所示。由于LDSS-ABE和TFVO-CP-ABE方案沒有霧節(jié)點的參與,因此這兩種方案在霧節(jié)點上的加密時間為0,而FAC-ABE的加密時間隨著專業(yè)訪問策略中屬性數(shù)量和專業(yè)類別數(shù)量的增加而增加。如圖3和圖4所示,手機和傳感器的加密時間隨著屬性數(shù)量的增加而增加。3種方案中加密共享數(shù)據(jù)所花費的加密時間FAC-ABE最少。同時,F(xiàn)AC-ABE的加密時間大約為其它兩種方案在相同屬性數(shù)量下的加密時間的1/3倍。從圖中可以看出,傳感器加密比手機加密耗時更長。當訪問策略中定義了20個屬性時,LDSS-ABE傳感器上的數(shù)據(jù)加密接近45 s,而時,F(xiàn)AC-ABE僅消耗16 s,這大大降低了計算時間。
圖3 手機的加密時間
圖4 不同屬性下傳感器的加密時間
在圖5中,設置霧節(jié)點上共享數(shù)據(jù)分為5類時,比較FAC-ABE方案屬性百分比P=1/2,1/3和1/4時,在霧節(jié)點上的加密時間。在圖5中,設置整個訪問策略中有20個屬性,比較FAC-ABE方案屬性百分比P=1/2,1/3和1/4時,在霧節(jié)點上的加密時間。如圖5所示,當霧節(jié)點定制的訪問策略中定義了5個類別時,當屬性數(shù)比例越大,需要的加密時間越多。霧節(jié)點上的加密時間隨著屬性數(shù)量的增加而增加,當減少到1/2時加密時間最多,因為有P倍的加密負擔從用戶端轉(zhuǎn)移到了霧節(jié)點上。如圖6所示,霧節(jié)點上的加密時間隨著專業(yè)條目的增加而增加。當霧節(jié)點對更多的專業(yè)類別進行分類時,霧節(jié)點需要更多的計算資源,這是可以接受的,因為云服務提供商可以更高效利用數(shù)據(jù)。
圖5 不同屬性下霧節(jié)點的加密時間
圖6 不同專業(yè)條目下霧節(jié)點的加密時間
評估用戶和霧節(jié)點的存儲成本。在圖7中,展示了 3種方案的存儲成本和屬性數(shù)量的關系。對于霧節(jié)點上的存儲成本,LDSS-ABE和TFVO-CP-ABE方案中由于霧節(jié)點沒有參與,所以沒有密文存儲。在圖7中,設置共享數(shù)據(jù)分為5類時,并說明3種方法中存儲成本和屬性數(shù)量之間的關系。在圖7中設屬性數(shù)為20時,說明專業(yè)類別與存儲成本之間的關系。如圖7所示,用戶的存儲成本隨著屬性數(shù)量的增加而增加。FAC-ABE 的存儲開銷略大于LDSS-ABE中相同數(shù)量屬性時的存儲成本。對比的兩種方案由于沒有霧節(jié)點的重加密,因此存儲成本都要小??傮w來看,霧節(jié)點上的整體存儲成本隨著屬性數(shù)量的增加而增加。如圖8所示,當FAC-ABE 中專業(yè)類別較多時,霧節(jié)點需要更多的存儲成本,而其它兩種方案中,當專業(yè)類別增加時,整體存儲成本是穩(wěn)定的。從圖7和圖8可知,霧節(jié)點上的存儲成本超過對比方案的成本,這是合理的可接受的,因為霧節(jié)點將數(shù)據(jù)分類,并建立了索引,可以實現(xiàn)更有效的數(shù)據(jù)利用,也可獲得更好的專業(yè)數(shù)據(jù)服務。
圖7 用戶的存儲成本
圖8 不同專業(yè)欄目下霧節(jié)點的存儲成本
本文提出了一種基于屬性加密的霧協(xié)同云數(shù)據(jù)共享方案,在低資源消耗的情況下,實現(xiàn)了有效的數(shù)據(jù)共享和隱私保護。首先,由于霧節(jié)點定制了個性化和專業(yè)化的訪問策略,方案為云端用戶提供有效的數(shù)據(jù)共享。其次,方案通過將共享數(shù)據(jù)分類并將相關數(shù)據(jù)編入索引,增強了云服務提供商的數(shù)據(jù)分析效率。再次,即使在霧節(jié)點和其它部分的共謀下,方案也能保障共享數(shù)據(jù)的隱私保護。最后,方案將部分加密計算,密文存儲和能量消耗轉(zhuǎn)移到了霧節(jié)點,減輕了云端用戶設備的開銷。