【摘要】針對(duì)車(chē)載社交網(wǎng)(VSN)中車(chē)隊(duì)車(chē)輛數(shù)據(jù)共享過(guò)程中存在的隱私泄露問(wèn)題,提出一種基于密文屬性的加密方案。利用基于屬性的加密技術(shù),保證僅授權(quán)的車(chē)輛可訪問(wèn)數(shù)據(jù),防止車(chē)隊(duì)車(chē)輛數(shù)據(jù)共享過(guò)程中發(fā)生隱私泄露;針對(duì)車(chē)隊(duì)車(chē)輛數(shù)據(jù)共享時(shí)生成訪問(wèn)策略時(shí)間開(kāi)銷(xiāo)大、數(shù)據(jù)共享效率低的問(wèn)題,通過(guò)構(gòu)造訪問(wèn)樹(shù)實(shí)現(xiàn)對(duì)訪問(wèn)策略的設(shè)計(jì),利用路側(cè)單元將訪問(wèn)樹(shù)轉(zhuǎn)化為訪問(wèn)矩陣,實(shí)現(xiàn)訪問(wèn)策略的快速生成。仿真分析結(jié)果表明,該方案能夠?qū)崿F(xiàn)對(duì)VSN中車(chē)隊(duì)車(chē)輛的數(shù)據(jù)安全共享,所構(gòu)建的訪問(wèn)策略生成方案能夠有效降低車(chē)輛的計(jì)算開(kāi)銷(xiāo)。
主題詞:車(chē)載社交網(wǎng) 隱私保護(hù) 密文屬性加密 訪問(wèn)樹(shù) 路側(cè)單元
中圖分類(lèi)號(hào):TP309.7" "文獻(xiàn)標(biāo)志碼:A" "DOI: 10.19620/j.cnki.1000-3703.20230685
Ciphertext-Policy Attribute-Based Encryption Scheme for Fleet Vehicle Data Sharing in Vehicular Social Network
【Abstract】In response to the privacy leakage issues in the data sharing process among the fleet vehicles in Vehicular Social Network (VSN), this paper proposed a ciphertext policy attribute-based encryption scheme. Firstly, utilizing attribute-based encryption techniques, the scheme ensures that only authorized vehicles can access the data, thereby preventing privacy leakage during the fleet vehicle data sharing process. To address the issue of high time complexity in generating access policies during fleet vehicle data sharing, and low data sharing efficiency, an access tree was constructed to design the access policies. The access tree was then transformed into an access matrix using roadside units, enabling fast generation of access policies. Experimental analysis shows that this scheme achieves secure data sharing among fleet vehicles in VSNs, the proposed access policy generation approach effectively reduces the computational overhead for vehicles.
Key words: Vehicular Social Network (VSN), Privacy preserving, Ciphertext-policy attribute-based encryption, Access tree, Road Side Unit (RSU)
1 前言
車(chē)載社交網(wǎng)(Vehicular Social Network,VSN)是一種特殊的自組織網(wǎng)絡(luò)[1],可支持長(zhǎng)途運(yùn)輸車(chē)隊(duì)在高速行駛過(guò)程中通過(guò)數(shù)據(jù)共享實(shí)現(xiàn)車(chē)隊(duì)協(xié)作、路線規(guī)劃和緊急預(yù)警等功能。然而,數(shù)據(jù)共享將泄露諸如行駛路線、駕駛員信息等敏感數(shù)據(jù),威脅車(chē)輛用戶(hù)的隱私安全[2]。
在VSN數(shù)據(jù)共享時(shí)隱私泄露問(wèn)題的解決方法中,基于密文的屬性加密(Ciphertext-Policy Attribute Based Encryption,CP-ABE)[3]是目前的研究熱點(diǎn)。車(chē)隊(duì)車(chē)輛利用CP-ABE將數(shù)據(jù)密文嵌入訪問(wèn)策略,通過(guò)自定義訪問(wèn)策略,實(shí)現(xiàn)一對(duì)多加密,可在行駛過(guò)程中與多個(gè)車(chē)輛共享數(shù)據(jù)。然而,生成訪問(wèn)策略的時(shí)間與計(jì)算開(kāi)銷(xiāo)隨屬性數(shù)量線性增加,車(chē)隊(duì)車(chē)輛生成復(fù)雜的訪問(wèn)策略將耗費(fèi)大量的時(shí)間與計(jì)算資源,這影響了CP-ABE在VSN中的廣泛應(yīng)用。
許多學(xué)者對(duì)VSN中CP-ABE方案展開(kāi)了研究。Sahai[4]首先提出了模糊身份加密策略,可在具有特定屬性集的用戶(hù)間安全共享數(shù)據(jù)。Bethencourt等[5]提出了第一個(gè)CP-ABE方案,該方案可自定義訪問(wèn)策略,實(shí)現(xiàn)訪問(wèn)控制。Zhang等[6]提出了基于CP-ABE和區(qū)塊鏈的訪問(wèn)控制方案,以解決VSN中的隱私泄露問(wèn)題。Cui等[7]提出了一種可隱藏訪問(wèn)結(jié)構(gòu)中用戶(hù)屬性的CP-ABE方案。Yang等[8]利用布隆過(guò)濾器過(guò)濾用戶(hù)屬性,以降低計(jì)算開(kāi)銷(xiāo)。Li等[9]提出了可根據(jù)屬性值靈活設(shè)計(jì)訪問(wèn)結(jié)構(gòu)的CP-ABE方案。Xia等[10]利用云服務(wù)器對(duì)密文進(jìn)行半解密,以降低用戶(hù)的計(jì)算開(kāi)銷(xiāo)。Kamalakanta等[11]設(shè)計(jì)了支持追溯數(shù)據(jù)來(lái)源且具有多權(quán)限的CP-ABE方案,可對(duì)訪問(wèn)策略進(jìn)行更新和外包解密。Fan等[12]提出了利用區(qū)塊鏈記錄訪問(wèn)策略的CP-ABE方案。Zhong等[13]提出了一種利用線性秘密共享生成訪問(wèn)策略,并可撤銷(xiāo)用戶(hù)權(quán)限的CP-ABE方案。Pu[14]、Shi[15]和Sun等[16]提出了基于區(qū)塊鏈的隱私保護(hù)方案,確保VSN中數(shù)據(jù)來(lái)源可靠,防止攻擊者篡改或偽造數(shù)據(jù)。
現(xiàn)有研究實(shí)現(xiàn)了VSN中的隱私保護(hù),并解決了數(shù)據(jù)篡改的問(wèn)題,但還無(wú)法解決VSN車(chē)隊(duì)車(chē)輛生成復(fù)雜訪問(wèn)策略時(shí),計(jì)算開(kāi)銷(xiāo)隨屬性數(shù)量線性增加的缺陷。本文利用路側(cè)單元運(yùn)行外包加密算法,以降低車(chē)隊(duì)車(chē)輛計(jì)算密文時(shí)的計(jì)算開(kāi)銷(xiāo),并利用訪問(wèn)樹(shù)設(shè)計(jì)訪問(wèn)策略,由路側(cè)單元將訪問(wèn)樹(shù)轉(zhuǎn)化為線性訪問(wèn)策略,以降低車(chē)隊(duì)車(chē)輛生成訪問(wèn)策略的計(jì)算開(kāi)銷(xiāo)。
2 相關(guān)理論
2.1 雙線性映射
設(shè)G0、G1和GT是階數(shù)為q的循環(huán)乘法群,并且q為大素?cái)?shù),則存在雙線性映射[17]e:G0×G1→GT滿足以下條件:
a. 雙線性。對(duì)于P∈G0、Q∈G1、i,j∈Zq,有e(Pi,Qj)=e(P,Q)ij,其中Zq為有限域。
b. 非退化性。對(duì)于P∈G0、Q∈G1、i,j∈Zq,有e(P,Q)≠1。
c. 可計(jì)算性。對(duì)于任意的P∈G0、Q∈G1,存在e(P,Q)可計(jì)算。
2.2 訪問(wèn)結(jié)構(gòu)
在屬性域U內(nèi)建立訪問(wèn)結(jié)構(gòu)Γ[18],非空屬性集合Γ稱(chēng)為授權(quán)集合。若存在任何集合D和E,如果D∈Γ且D?E,則稱(chēng)E∈Γ,訪問(wèn)結(jié)構(gòu)Γ被稱(chēng)為單調(diào)的。
設(shè)U={A1,A2,…,An}為屬性集,設(shè)集合Ai={ai,1,ai,2,…,[ai,mi]},Ai∈U。當(dāng)Ai中元素的數(shù)量為mi時(shí),構(gòu)建L={l1,…,ln},其中l(wèi)i∈Ai,L為用戶(hù)屬性列表,則訪問(wèn)結(jié)構(gòu)表示為Г={Г1,…,Гq},其中Гj∈Aj。
當(dāng)li=Гj且i,j=1,2,…時(shí),稱(chēng)用戶(hù)屬性列表L滿足訪問(wèn)結(jié)構(gòu)Γ的要求。訪問(wèn)結(jié)構(gòu)也稱(chēng)為訪問(wèn)策略。
2.3 線性秘密共享
在p為素?cái)?shù)的有限域Zp中,滿足如下條件的屬性集,稱(chēng)為線性秘密共享方案(Linear Secret Sharing Scheme,LSSS),且屬性集在屬性域U上是線性的:
a. 設(shè)定Zp上的每個(gè)向量由屬性集中的秘密共享值組成。
b. 全屬性域U中的訪問(wèn)策略均有屬性映射與共享矩陣Ml×n,通過(guò)函數(shù)ρ將M中每一行映射到U中的屬性。對(duì)于列向量Z=[s,z1,…,zn],其中的元素z1,…,zn從Zp中隨機(jī)選取,s為秘密共享值,則在訪問(wèn)策略(M,ρ)中,MZ是由s關(guān)于線性秘密共享方案的l個(gè)分享份額構(gòu)成的向量,且(M,Z)j, j=1,2,…,l是映射函數(shù)ρ(j)分配給對(duì)應(yīng)屬性的份額。
設(shè)屬性集合S為訪問(wèn)策略(M, ρ)的授權(quán)集合,I為矩陣M對(duì)應(yīng)行數(shù)的集合,即I={i|ρ(i)∈S∩i∈{l}}。若存在常數(shù){wi∈Zp}i∈I和秘密值s可通過(guò)λi進(jìn)行分享,且{λi∈Zp}i∈I,則可以通過(guò)∑i∈Iwiλi=s恢復(fù)s,其中λi為對(duì)秘密值s有效的共享份額,wi為一組用于恢復(fù)秘密共享值s的常數(shù),滿足∑i∈IwiMi=(1,0,…,0),Mi為矩陣M的第i行。
2.4 訪問(wèn)樹(shù)
訪問(wèn)樹(shù)(Access Tree)是一種基于層次結(jié)構(gòu)的訪問(wèn)控制模型,它將對(duì)象和主體組織成樹(shù)形結(jié)構(gòu),并為每個(gè)節(jié)點(diǎn)分配訪問(wèn)權(quán)限。在訪問(wèn)樹(shù)中,子節(jié)點(diǎn)繼承父節(jié)點(diǎn)的權(quán)限,因此可以實(shí)現(xiàn)靈活的權(quán)限控制。
設(shè)T為由節(jié)點(diǎn)和邊組成的訪問(wèn)樹(shù),其中非葉子節(jié)點(diǎn)表示門(mén)限,由子節(jié)點(diǎn)和閾值構(gòu)成。設(shè)節(jié)點(diǎn)x有數(shù)量為nx的子節(jié)點(diǎn),閾值為kx,則0≤kx≤nx。當(dāng)kx=1時(shí),該節(jié)點(diǎn)表示或門(mén);當(dāng)kx=nx時(shí),該節(jié)點(diǎn)表示與門(mén)。每個(gè)葉子節(jié)點(diǎn)可以表示一個(gè)屬性值,且其閾值為kx=1。
定義如下函數(shù)來(lái)操作訪問(wèn)樹(shù):以parent(x)代表節(jié)點(diǎn)x的父節(jié)點(diǎn);對(duì)于葉子節(jié)點(diǎn)x,att(x)表示與x相關(guān)的屬性值。對(duì)訪問(wèn)樹(shù)T的子節(jié)點(diǎn)進(jìn)行編號(hào),定義函數(shù)index(x)返回節(jié)點(diǎn)x的編號(hào),其中節(jié)點(diǎn)x的子節(jié)點(diǎn)的編號(hào)是1。
滿足訪問(wèn)樹(shù)是指,給定一個(gè)訪問(wèn)樹(shù)T和一個(gè)屬性集合Au,如果Au符合以T中的r為根節(jié)點(diǎn)的子樹(shù)Tr中所有門(mén)限節(jié)點(diǎn)的閾值要求,則稱(chēng)Au滿足訪問(wèn)樹(shù)Tr,記為T(mén)r(Au)=1。具體地:對(duì)于非葉子節(jié)點(diǎn)x,遞歸計(jì)算所有子節(jié)點(diǎn)的Tx(Au),至少kx個(gè)子節(jié)點(diǎn)返回1時(shí),Tx(Au)返回1;對(duì)于葉子節(jié)點(diǎn),當(dāng)且僅當(dāng)其對(duì)應(yīng)的屬性在att(x)∈Au中出現(xiàn)時(shí),返回1。
3 本文方案
3.1 系統(tǒng)模型
本方案的系統(tǒng)模型如圖1所示,其中包括可信機(jī)構(gòu)(Trusted Authority,TA)、數(shù)據(jù)擁有者(Data Owner,DO)、數(shù)據(jù)訪問(wèn)者(Data Visitor,DV)、路側(cè)單元(Road Side Unit,RSU)和云服務(wù)器(Cloud Server)6類(lèi)實(shí)體。
其中:TA為車(chē)隊(duì)車(chē)輛注冊(cè)身份生成用戶(hù)屬性集,進(jìn)行系統(tǒng)初始化,生成系統(tǒng)參數(shù)、主密鑰和私鑰;DO為車(chē)隊(duì)中數(shù)據(jù)共享的車(chē)輛,可設(shè)置訪問(wèn)策略并加密數(shù)據(jù)上傳至云服務(wù)器;DV為車(chē)隊(duì)中需要獲取數(shù)據(jù)的車(chē)輛,通過(guò)向云服務(wù)器請(qǐng)求數(shù)據(jù)并驗(yàn)證訪問(wèn)策略得到數(shù)據(jù);RSU擁有更加強(qiáng)大的計(jì)算和存儲(chǔ)資源,作為VSN中間通信節(jié)點(diǎn),在本文方案中其為車(chē)隊(duì)車(chē)輛提供外包加密,并將訪問(wèn)樹(shù)轉(zhuǎn)化為訪問(wèn)矩陣;CS存儲(chǔ)和管理數(shù)據(jù)密文,對(duì)數(shù)據(jù)請(qǐng)求者的請(qǐng)求進(jìn)行驗(yàn)證。
在數(shù)據(jù)共享的過(guò)程中,假定云服務(wù)器與RSU不會(huì)合謀。
3.2 基于密文屬性加密的車(chē)隊(duì)車(chē)輛數(shù)據(jù)共享方案
本文方案適用于VSN中車(chē)隊(duì)車(chē)輛的安全數(shù)據(jù)共享,由于車(chē)隊(duì)車(chē)輛在長(zhǎng)途行駛過(guò)程中需要進(jìn)行路線規(guī)劃與運(yùn)輸任務(wù)分配,利用CP-ABE加密密文,不僅能防止車(chē)輛的隱私數(shù)據(jù)泄露,還可以利用其支持自定義訪問(wèn)策略的特點(diǎn)實(shí)現(xiàn)細(xì)粒度訪問(wèn)控制,滿足車(chē)隊(duì)車(chē)輛復(fù)雜的數(shù)據(jù)共享需求。然而,計(jì)算密文與訪問(wèn)策略需要大量的冪指運(yùn)算,為了減少資源有限的車(chē)隊(duì)車(chē)輛的計(jì)算量,利用路側(cè)單元運(yùn)行外包加密算法,以降低車(chē)隊(duì)車(chē)輛計(jì)算密文時(shí)的計(jì)算開(kāi)銷(xiāo)。同時(shí),利用訪問(wèn)樹(shù)易構(gòu)造與可讀性強(qiáng)的優(yōu)點(diǎn)生成訪問(wèn)策略,由路側(cè)單元將訪問(wèn)樹(shù)轉(zhuǎn)化為線性訪問(wèn)策略,以減輕車(chē)隊(duì)車(chē)輛生成訪問(wèn)策略的計(jì)算開(kāi)銷(xiāo)。
數(shù)據(jù)共享的流程如圖2所示。首先在初始化過(guò)程中由TA為車(chē)輛生成屬性和唯一的身份,并生成方案加密所需的各項(xiàng)參數(shù)。DO通過(guò)外包加密獲得RSU加密得到的密文,并將密文上傳至CS,以便于數(shù)據(jù)共享。DV向CS發(fā)送數(shù)據(jù)請(qǐng)求,當(dāng)DV屬性滿足訪問(wèn)策略時(shí),將密文解密得到數(shù)據(jù)。
3.2.1 初始化算法
Setup(U)→lt;PK,MSKgt;:輸入系統(tǒng)屬性空間U,經(jīng)過(guò)TA的計(jì)算最終獲得加密數(shù)據(jù)和生成私鑰系統(tǒng)的公鑰PK和主密鑰MSK。具體過(guò)程為:選擇2個(gè)乘法循環(huán)群G和GT,其階數(shù)均為p,且p為大素?cái)?shù),設(shè)雙線性映射e:G×G→GT,g∈G為群G的生成元;隨機(jī)取一組元素h1,…,hU∈G,以該組元素表示屬性空間U中的屬性,隨機(jī)選取參數(shù)α和a,計(jì)算得到主密鑰MSK=gα與公鑰PK,公鑰表示為PK=[p,G,GT,e(g,g)α,g,ga,h1,…,hU]。
3.2.2 密鑰生成算法
KeyGen(PK,MSK,S)→lt;SKgt;:在該算法中輸入?yún)?shù)PK、MSK和車(chē)隊(duì)車(chē)輛的屬性集合S,得到私鑰SK,首先選擇對(duì)應(yīng)每個(gè)車(chē)隊(duì)車(chē)輛用戶(hù)的唯一隨機(jī)數(shù)t∈Zp,設(shè)x∈S,Kx為在屬性空間U內(nèi)的屬性參數(shù),hx為在S范圍內(nèi)生成的密鑰參數(shù),結(jié)合公鑰參數(shù)構(gòu)造私鑰SK=[S,K=gatga,L=gt,?x∈S,Kx=[htx]]。
3.2.3 外包加密算法
OutEncrypt(PK,T)→lt;CTOUTgt;:由RSU運(yùn)行外包加密算法,由系統(tǒng)公鑰PK和訪問(wèn)樹(shù)T輸出嵌入訪問(wèn)策略(M,ρ)的密文CTOUT。設(shè)置M為l×n規(guī)模的矩陣,在RSU中根據(jù)定理4將訪問(wèn)樹(shù)T轉(zhuǎn)換為矩陣。隨機(jī)選擇一組元素v={0,s2,…,sn}∈[Znp],設(shè)0為秘密共享值。以上述參數(shù)計(jì)算得出第i組的秘密值集合[λ′l]=Miv。對(duì)M的全部行向量選擇隨機(jī)數(shù)r1,…,rl ∈Zp,計(jì)算(M, ρ)為L(zhǎng)SSS的訪問(wèn)策略,密文參數(shù)Cl、Dl,以減少加密算法中密文的計(jì)算量,外包密文CTOUT為:
式中:[C′l]為在外包算法中加密的密文參數(shù)。
3.2.4 加密算法
Encrypt(PK,(M,ρ),m)→lt;CTgt;:輸入系統(tǒng)公鑰PK、訪問(wèn)策略(M, ρ)和數(shù)據(jù)明文m,輸出數(shù)據(jù)密文CT。
RSU按照定理4將訪問(wèn)樹(shù)T轉(zhuǎn)變?yōu)樵L問(wèn)矩陣M,生成線性訪問(wèn)策略(M, ρ)。調(diào)用OutEncrypt算法,將得出的CTOUT密文送至數(shù)據(jù)擁有者。車(chē)隊(duì)車(chē)輛得到外包密文,繼續(xù)運(yùn)行Encrypt算法,隨機(jī)選擇s∈Zp為秘密共享數(shù),計(jì)算s的參數(shù)C′,令λi=s+[λ′i],Ci=gas[C′i]=[gaλih-riρ(i)],經(jīng)計(jì)算得出密文為:
3.2.5 解密算法
Decrypt(CT,SK)→lt;Wgt;:輸入數(shù)據(jù)密文CT、用戶(hù)私鑰SK,輸出數(shù)據(jù)明文W。
當(dāng)數(shù)據(jù)接收用的戶(hù)屬性集合S滿足密文的訪問(wèn)策略,得到數(shù)據(jù)密文后,將解密屬性集合表示為I?{1,2,…,l}且I={i:ρ(i)∈S},隨后計(jì)算一組常數(shù){wi∈Zp}i∈I使得∑i∈Iwiλi=s,其中,λi為解密屬性在加密時(shí)的秘密共享數(shù),K為用戶(hù)私鑰中包含的參數(shù)。進(jìn)行如下計(jì)算:
3.3 構(gòu)造訪問(wèn)樹(shù)
本節(jié)主要將設(shè)計(jì)的訪問(wèn)樹(shù)轉(zhuǎn)化為對(duì)應(yīng)的線性訪問(wèn)結(jié)構(gòu)。
定理1:訪問(wèn)樹(shù)中葉節(jié)點(diǎn)的秘密共享數(shù)等于該節(jié)點(diǎn)的多項(xiàng)式值和其父節(jié)點(diǎn)的多項(xiàng)式值之和。
采用定理1計(jì)算秘密共享數(shù),可避免在每個(gè)節(jié)點(diǎn)上分別計(jì)算秘密共享數(shù)的復(fù)雜性,這種方法應(yīng)用到VSN的數(shù)據(jù)共享中,可簡(jiǎn)化密鑰生成和解密過(guò)程。
設(shè)秘密共享數(shù)s屬于訪問(wèn)樹(shù)的某個(gè)葉子節(jié)點(diǎn),設(shè)t0、tn分別為根節(jié)點(diǎn)和葉子節(jié)點(diǎn),其路徑為t0→t1→…→tm。設(shè)節(jié)點(diǎn)ti(i∈[0,m])對(duì)應(yīng)多項(xiàng)式fi(x),去掉常數(shù)項(xiàng)后記作[f′i(x)];定義index(x)函數(shù)表示兄弟節(jié)點(diǎn)中x的序號(hào)。每個(gè)葉子節(jié)點(diǎn)的秘密共享數(shù)可以通過(guò)從根節(jié)點(diǎn)到該葉子節(jié)點(diǎn)的路徑上的每個(gè)節(jié)點(diǎn)(需要排除訪問(wèn)樹(shù)的根節(jié)點(diǎn))的父節(jié)點(diǎn)多項(xiàng)式值(要求除去該節(jié)點(diǎn)的常數(shù)項(xiàng))和該節(jié)點(diǎn)的秘密數(shù)之和計(jì)算,該證明過(guò)程表示為:
根據(jù)該定理,設(shè)計(jì)一個(gè)可以實(shí)現(xiàn)快速計(jì)算的訪問(wèn)樹(shù)模型,以便幫助車(chē)隊(duì)車(chē)輛快速計(jì)算出訪問(wèn)樹(shù)的葉子節(jié)點(diǎn)秘密共享數(shù)和數(shù)據(jù)的密文。
在本文方案中,RSU在計(jì)算共享訪問(wèn)樹(shù)時(shí)會(huì)采用安全策略,例如將每個(gè)節(jié)點(diǎn)的多項(xiàng)式常數(shù)項(xiàng)設(shè)為0,并在獲取葉子節(jié)點(diǎn)的秘密分量后將其加上1,以有效防止數(shù)據(jù)泄露。完成計(jì)算后,RSU將與屬性相關(guān)的密文返回給車(chē)隊(duì)車(chē)輛,以便進(jìn)一步計(jì)算秘密值s。
定理2:訪問(wèn)樹(shù)的秘密值為1或0,葉子節(jié)點(diǎn)的秘密分量增加1,該訪問(wèn)樹(shù)的相同葉子節(jié)點(diǎn)將同時(shí)增加1的秘密分量。
當(dāng)共享訪問(wèn)樹(shù)設(shè)置秘密值為1時(shí),由定理1可得,葉子節(jié)點(diǎn)tm的秘密分量多項(xiàng)式可表示為:
由定理1可得,設(shè)置秘密值為0的訪問(wèn)樹(shù)葉子節(jié)點(diǎn)tm的多項(xiàng)式,其秘密分量為:
將上述多項(xiàng)式中的秘密值加1后可得:
根據(jù)上述證明可得fm,1(0)=fm,2(0),即定理2成立。
定理3:訪問(wèn)樹(shù)的秘密值為1,無(wú)論該訪問(wèn)樹(shù)的葉子節(jié)點(diǎn)的秘密分量是否乘以秘密值s,根節(jié)點(diǎn)的秘密值都相同。同樣地,當(dāng)訪問(wèn)樹(shù)的秘密值為s時(shí),無(wú)論該訪問(wèn)樹(shù)的葉子節(jié)點(diǎn)是否乘以s,均不會(huì)影響該樹(shù)根節(jié)點(diǎn)的秘密值。
由定理1得,設(shè)置秘密值為s的訪問(wèn)樹(shù)葉子節(jié)點(diǎn)tm的多項(xiàng)式秘密分量為:
相應(yīng)地,當(dāng)訪問(wèn)樹(shù)的秘密值出現(xiàn)為1的情況時(shí),由定理1可推導(dǎo)得出葉子節(jié)點(diǎn)tm的秘密分量多項(xiàng)式為:
將上述多項(xiàng)式進(jìn)行乘以s的運(yùn)算后可得:
根據(jù)定理1可知,加密時(shí)訪問(wèn)樹(shù)根節(jié)點(diǎn)秘密值,是加密前秘密分量fm(0)的最后一項(xiàng)。因此,在訪問(wèn)樹(shù)的秘密值為1且葉子節(jié)點(diǎn)秘密分量乘以s的情況下,加密前的秘密分量fm(0)的最后一項(xiàng)為s,根節(jié)點(diǎn)的秘密值為s。在該情況下,加密前的秘密分量fm(0)的最后一項(xiàng)也為s,因此根節(jié)點(diǎn)的秘密值仍為s,從而定理3命題成立。根據(jù)定理2和定理3,在秘密值為0時(shí),將秘密分量加1的葉子節(jié)點(diǎn)乘以秘密值s,根節(jié)點(diǎn)的秘密值相同。此外,當(dāng)秘密值為s時(shí),根節(jié)點(diǎn)的秘密值相同。
定理4:訪問(wèn)樹(shù)和(M,ρ)是等價(jià)的,即可以通過(guò)訪問(wèn)樹(shù)轉(zhuǎn)化為線性秘密共享方案。
證明如下:首先將訪問(wèn)樹(shù)T轉(zhuǎn)換為相應(yīng)的二叉樹(shù),設(shè)節(jié)點(diǎn)編號(hào)次序?yàn)?,2,…,m,為訪問(wèn)樹(shù)T的m個(gè)非二叉樹(shù)葉子節(jié)點(diǎn);同時(shí)設(shè)定二叉樹(shù)n個(gè)葉子節(jié)點(diǎn),依次編號(hào)為1,2,…,n。二叉樹(shù)中的非葉子節(jié)點(diǎn)用i表示,并用函數(shù)fi(x)=ωix,ωi∈[Z*p]表示。
設(shè)定從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)i依次經(jīng)過(guò)的非葉子節(jié)點(diǎn)(簡(jiǎn)稱(chēng)路徑)為i1,i2,…,[imi],si為訪問(wèn)樹(shù)第i個(gè)葉子節(jié)點(diǎn)的秘密共享值,根據(jù)定理1可知,將二叉樹(shù)的第i個(gè)葉子節(jié)點(diǎn)用多項(xiàng)式表示的秘密共享數(shù)為:
其中,index(suc(j))函數(shù)結(jié)果為1時(shí)為左孩子,index(suc(j))函數(shù)結(jié)果為2時(shí)為右孩子。當(dāng)式(12)中的參數(shù)bij=1時(shí),可利用suc(j)求j在路徑上的后繼節(jié)點(diǎn),最后轉(zhuǎn)化過(guò)程多項(xiàng)式為:
因此,任意關(guān)于秘密共享的訪問(wèn)樹(shù)均可轉(zhuǎn)化為線性秘密共享中的訪問(wèn)策略(M, ρ),從而RSU可將訪問(wèn)樹(shù)轉(zhuǎn)化為訪問(wèn)矩陣。且根據(jù)以上定理,車(chē)隊(duì)車(chē)輛可以快速實(shí)現(xiàn)基于訪問(wèn)樹(shù)的訪問(wèn)策略。
3.4 安全模型
初始化階段。挑戰(zhàn)者V初始化生成挑戰(zhàn)所需的PK,并將其返回至敵手G。
階段1:V創(chuàng)建空表N以存儲(chǔ)記錄,分別設(shè)置用于挑戰(zhàn)的空集D和整數(shù)k,其初始值為0,對(duì)于以下查詢(xún),G可以重復(fù)任意次數(shù)。
a. Create(S):挑戰(zhàn)者V使用外包私鑰生成算法,設(shè)置整數(shù)k:=k+1,以獲取屬性集S用于挑戰(zhàn),在表N中存儲(chǔ)密鑰、轉(zhuǎn)換密鑰(SK,TK)和參數(shù)(k,S,SK,TK),隨后將TK返回給G,G可以不受限地重復(fù)查詢(xún)。
b. Corrupt(i):查詢(xún)表N的存儲(chǔ)記錄,如有記錄i,則將記錄(i,S,SK,TK)發(fā)送給V,收到記錄后V設(shè)置集合D:=D∪{S},并將表N中的私鑰SK發(fā)送給G,如表N中查詢(xún)不到記錄i,則返回空值(⊥)給V。
c. Decrypt(i,CT):查詢(xún)表N的存儲(chǔ)記錄,如存在記錄i,將記錄(i,S,SK,TK)發(fā)送給V,隨后以(SK,CT)作為輸入解密密文,輸出明文給G,如表N中查詢(xún)不到記錄i,則返回⊥給V。
挑戰(zhàn)階段:G提交明文給V,設(shè)明文M0與M1等長(zhǎng)的同時(shí),敵手G繼續(xù)向挑戰(zhàn)者V提交T *。T *是一個(gè)挑戰(zhàn)訪問(wèn)樹(shù),任意S∈D都不能滿足T *。V收到上述數(shù)據(jù),獲得隨機(jī)數(shù)b,該隨機(jī)數(shù)通過(guò)拋硬幣得到。V將計(jì)算明文和密文(Mb,CT*),最后G收到計(jì)算結(jié)果。
階段2:進(jìn)行有限的重復(fù)查詢(xún),其限制條件為,查詢(xún)不能獲取解密挑戰(zhàn)密文的私鑰,且不能進(jìn)行解密挑戰(zhàn)密文的查詢(xún)。
猜測(cè)階段:在猜測(cè)階段,G給出一個(gè)關(guān)于b的猜測(cè)值b′。
4 性能分析
4.1 安全性分析
在本方案中,DO進(jìn)行數(shù)據(jù)共享,而數(shù)據(jù)的存儲(chǔ)則外包給CS。為確保數(shù)據(jù)存儲(chǔ)的安全性,訪問(wèn)策略的生成工作由RSU完成。RSU作為進(jìn)行外包加密的實(shí)體,能夠獲得訪問(wèn)樹(shù),并將其轉(zhuǎn)化為DO所需的訪問(wèn)策略,無(wú)法獲得完整密文,本節(jié)主要對(duì)訪問(wèn)樹(shù)的安全性進(jìn)行分析。
初始化階段:模擬器B激活敵手G,敵手G生成挑戰(zhàn)訪問(wèn)樹(shù)T*,模擬器B可以根據(jù)定理4,將訪問(wèn)樹(shù)T*轉(zhuǎn)換成(M*, ρ*),并發(fā)送給挑戰(zhàn)者V,作為被挑戰(zhàn)的訪問(wèn)結(jié)構(gòu)。模擬器B成功獲取公鑰參數(shù)PK=e(g,g)α,g,ga,{Ti}i∈U,將其發(fā)送給G作為系統(tǒng)公鑰。
階段1:由模擬器B生成一些空表,如N、T1、T2,此外,仍需一個(gè)空的集合D和一個(gè)初始值為0的整數(shù)k,G還可以進(jìn)行以下步驟的查詢(xún)。
a. H1(R,M)算法判斷(R,M,s)是否已經(jīng)在表T1中,如果存在則返回s,反之則選擇一個(gè)隨機(jī)值s∈Zp*,將(R,M,s)記錄在T1表中并返回s′。
b. H2(R)算法判斷(R,r)是否存在表T2中,如在表中則返回r,否則選擇一個(gè)隨機(jī)值r∈{0,1}k,將(R,r)記錄在T2中并返回r。
c. Create(S)算法中,模擬器B設(shè)定k:=k+1,并且采用如下步驟處理:
屬性集合S滿足T *時(shí),生成偽造的轉(zhuǎn)換密鑰,運(yùn)行算法KeyGen((d,PK),S),隨機(jī)生成d∈Zp*,得到SK′,得出轉(zhuǎn)換密鑰TK=SK′、SK=(d,TK);
屬性集合S不滿足訪問(wèn)樹(shù)T *時(shí),運(yùn)行私鑰生成算法生成私鑰,對(duì)應(yīng)屬性集合S的私鑰為SK′=(PK,K′,L′{Kx′}x∈S),隨機(jī)選擇z∈[Z*p],設(shè)置轉(zhuǎn)換密鑰(PK,K=K′1/z,L=L′1/z,{Kx}x∈S={Kx′}x∈S),私鑰為(z,TK);
B將數(shù)據(jù)(k,S,SK,TK)存儲(chǔ)在表N中,并將表中的TK返回給敵手G。
d. Corrupt(i)算法:當(dāng)請(qǐng)求被拒絕,表明G無(wú)法挑戰(zhàn)T *的私鑰,則屬性集合S不滿足T *。若N中存在第i個(gè)元素,B獲取參數(shù)(i,S,SK,TK)并設(shè)置D:=D∪{S},敵手G將收到由挑戰(zhàn)者V發(fā)送的私鑰SK,若不存在,則返回⊥。
e. Decrypt(i,CT)算法中,參數(shù)CT已半解密,模擬器B和敵手G已得知SK和TK,對(duì)密文CT進(jìn)行半解密。
密文CT=(C0,C1,C2)的訪問(wèn)策略為T(mén) *(訪問(wèn)樹(shù)),于表格N中獲取(i,S,SK,TK)。當(dāng)表N中不存在(i,S,SK,TK)或?qū)傩許不滿足T *時(shí),返回⊥給G。此外,當(dāng)?shù)趇個(gè)元素滿足T *時(shí),按如下步驟進(jìn)行:
a. 解析SK=(z,TK),計(jì)算R=C0/C2z。
b. 遍歷表格T1,獲取記錄(R,Mi,si),若記錄不存在,將⊥返回?cái)呈諫。
c. 表T1中y≠x時(shí),將導(dǎo)致記錄(R,My,sy)和(R,Mx,sx),存在My≠M(fèi)x且sy≠sx的情況,因此B終止仿真。
d. 表T1中y=x時(shí),B從表T2中獲取記錄(R,r),反之B輸出⊥。
f. B通過(guò)了上述測(cè)試,將輸出消息Mi,反之B輸出⊥。
挑戰(zhàn)階段:敵手G提交2個(gè)消息(M0*,M1*)∈{0,1}2×k,同時(shí)要求這2個(gè)消息等長(zhǎng),B進(jìn)行如下處理步驟。
a. B選擇隨機(jī)值(R0,R1)∈GT2,發(fā)送給V以獲取滿足(M*, ρ*)的密文CT=(C,C′,{Ci}i∈[i,l])。
b. B隨機(jī)選擇[C∈0,1k]。
c. B將挑戰(zhàn)密文CT=(C,C′,{Ci}i∈[i,l])發(fā)送給敵手G。
階段2:G不斷重復(fù)階段1中的步驟,當(dāng)返回M0*或M1*時(shí)結(jié)束,此時(shí)B將響應(yīng)給G消息Test。
猜測(cè)階段:G的輸出結(jié)果只能為1或0,除此之外只有放棄攻擊。以上情況B將不回應(yīng),并繼續(xù)檢索遍歷表T1或T2,若僅出現(xiàn)1次隨機(jī)值Rb(b∈[0,1]),則b作為B的猜測(cè)值,若隨機(jī)值Rb(b∈[0,1])出現(xiàn)多次,將隨機(jī)選擇(0,1)作為猜測(cè)值。
因此敵手G的優(yōu)勢(shì)為Pr[b=b′]=1/2。
4.2 仿真分析
本文方案在Pycharm中基于Python2.7語(yǔ)言實(shí)現(xiàn)了密鑰生成、加密和解密,仿真環(huán)境為Ubuntu 14.04 64位系統(tǒng)。主要對(duì)比方案的密鑰生成、數(shù)據(jù)加密和解密的計(jì)算開(kāi)銷(xiāo)。
表1展示了各方案的理論計(jì)算量,其中,單個(gè)配對(duì)、群上的單個(gè)指數(shù)運(yùn)算、乘法運(yùn)算和哈希的計(jì)算開(kāi)銷(xiāo)分別為T(mén)p、Te、Tm和Th,u、l分別為用戶(hù)屬性的數(shù)量和生成訪問(wèn)策略所使用的屬性數(shù)量。仿真結(jié)果如圖3~圖5所示。
在圖3中可以看出,在加密階段,文獻(xiàn)[8]方案的加密時(shí)間隨著屬性數(shù)量的增加而快速增長(zhǎng)。但文獻(xiàn)[7]方案、文獻(xiàn)[9]方案與本文方案的加密時(shí)間隨著屬性數(shù)量的增加并未產(chǎn)生較大的變化。由于本文方案與文獻(xiàn)[7]、文獻(xiàn)[9]均采取了外包加密算法,將訪問(wèn)策略的生成外包給其他實(shí)體,車(chē)輛用戶(hù)僅需要根據(jù)自己的需求設(shè)計(jì)訪問(wèn)樹(shù),由RSU將訪問(wèn)樹(shù)轉(zhuǎn)化為訪問(wèn)矩陣從而生成訪問(wèn)策略,故本文方案的加密計(jì)算開(kāi)銷(xiāo)最小,仿真數(shù)據(jù)表明,平均加密時(shí)間為70 ms。
本文方案在密鑰生成階段的計(jì)算量?jī)H略高于文獻(xiàn)[9]方案,低于其他方案,這與表1中的分析一致。由圖4可知,所有方案的密鑰生成時(shí)間均隨著屬性數(shù)量的增加而增長(zhǎng),本文方案將訪問(wèn)策略的生成外包,使得方案增長(zhǎng)幅度僅稍微高于文獻(xiàn)[9]方案,這是由于需要車(chē)隊(duì)車(chē)輛設(shè)計(jì)訪問(wèn)樹(shù),這部分的開(kāi)銷(xiāo)會(huì)隨著屬性數(shù)量的增加而線性增長(zhǎng)。
在圖5可知,文獻(xiàn)[7]方案與文獻(xiàn)[9]方案的解密開(kāi)銷(xiāo)受用戶(hù)屬性增長(zhǎng)影響更小,這是由于這2種方案采用外包解密。本方案具有較高解密密文開(kāi)銷(xiāo),后續(xù)工作可以考慮引入外包解密,以降低解密計(jì)算開(kāi)銷(xiāo)。
5 結(jié)束語(yǔ)
本文針對(duì)VSN中車(chē)隊(duì)車(chē)輛數(shù)據(jù)共享時(shí)存在的隱私泄露問(wèn)題,提出基于CP-ABE的車(chē)隊(duì)車(chē)輛數(shù)據(jù)共享方案,采用外包加密算法由RSU將數(shù)據(jù)加密,減輕了車(chē)隊(duì)車(chē)輛加密密文的計(jì)算壓力。由車(chē)隊(duì)車(chē)輛通過(guò)訪問(wèn)樹(shù)設(shè)計(jì)訪問(wèn)策略,RSU將訪問(wèn)樹(shù)轉(zhuǎn)化為線性訪問(wèn)矩陣來(lái)進(jìn)一步降低車(chē)隊(duì)車(chē)輛的計(jì)算開(kāi)銷(xiāo)。理論分析和仿真分析結(jié)果表明,本文方案實(shí)現(xiàn)了高效、安全的數(shù)據(jù)共享。
參 考 文 獻(xiàn)
[1] WANG X J, NING Z L, ZHOU M C, et al. Privacy-Preserving Content Dissemination for Vehicular Social" " "Networks: Challenges and Solutions[J]. IEEE" " " " " " " " " "Communications Surveys amp; Tutorials, 2019, 21(2): 1314-1345.
[2] 周啟揚(yáng), 李飛, 章嘉彥, 等. 基于區(qū)塊鏈技術(shù)的車(chē)聯(lián)網(wǎng)匿名身份認(rèn)證技術(shù)研究[J]. 汽車(chē)技術(shù), 2020(10): 58-62.
ZHOU Q Y, LI F, ZHANG J Y, et al Research on" " " " " " Anonymous Identity Authentication Technology of" " " " " " " "Vehicle-to-Everything Based on Blockchain Technology[J]. Automotive Technology, 2020(10): 58-62.
[3] 王經(jīng)緯, 寧建廷, 許勝民, 等. 面向可變用戶(hù)群體的可搜索屬性基加密方案[J]. 軟件學(xué)報(bào), 2023, 34(4): 1907-1925.
WANG J W, NING J T, XU S M, et al. A Searchable" " " " " Attribute Based Encryption Scheme for Variable User Groups[J]. Journal of Software, 2023, 34 (4): 1907-1925.
[4] SAHAI A, WATERS B R. Fuzzy Identity-Based Encryption[C]// 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques. Aarhus," "Denmark: Springer Berlin Heidelberg, 2005: 457-473.
[5] BETHENCOURT J, SAHAI A, WATERS" B." Ciphertext-Policy Attribute-Based Encryption[C]// 2007 IEEE" " " " " Symposium on Security amp; Privacy. Berkeley, CA, USA: IEEE, 2007: 321-334.
[6] ZHANG L Y, ZHANG Y, WU Q, et al. A Secure and" " " " " "Efficient Decentralized Access Control Scheme Based on Blockchain for Vehicular Social Networks[J]. IEEE Internet of Things Journal, 2022, 9(18): 17938-17952.
[7] CUI H, ROBERT H D, WU G, et al. An Efficient and Expressive Ciphertext-Policy Attribute-Based Encryption Scheme with Partially Hidden Access Structures, Revisited[J]." " " " "Computer Networks, 2018, 133: 157-165.
[8] YANG K, HAN Q, LI H, et al. An Efficient and Fine-Grained Big Data Access Control" Scheme" with" Privacy-Preserving Policy[J]. IEEE Internet of Things Journal, 2017, 4(2): 563-571.
[9] LI J G, SHA F J, ZHANG Y C, et al. Verifiable Outsourced Decryption of Attribute-Based Encryption with Constant" " " Ciphertext Length[J]. Security and Communication" " " " " "Networks, 2017(2): 1-11.
[10] XIA F, WANG L M. S2PD: A Selective Sharing Scheme for Privacy Data in Vehicular Social Networks[J]. IEEE" " " " Access, 2018, 6: 55139-55148.
[11] SETHI K, PRADHAN A, BERA P. Practical Traceable Multi-Authority CP-ABE with Outsourcing Decryption and Access Policy Updation[J]. Journal of Information" " " " "Security and Applications, 2020, 51.
[12] FAN K, PAN Q, ZHANG K et al. A Secure and Verifiable Data Sharing Scheme Based on Blockchain in Vehicular" "Social Networks[J]. IEEE Transactions on Vehicular" " " " " "Technology, 2020, 69(6): 5826-5835.
[13] ZHONG H, ZHU W L, XU Y, et al. Multi-Authority" " " " " Attribute-Based Encryption Access Control Scheme with Policy Hidden for Cloud Storage[J]. Soft Computing A" " "Fusion of Foundations Methodologies amp; Applications, 2018, 22: 243-251.
[14] PU Y W, XIANG T, HU C Q, et al. An Efficient Blockchain-Based Privacy Preserving Scheme for Vehicular" " Social Networks[J]. Information Sciences, 2020, 540: 308-324.
[15] SHI K X, ZHU L H, ZHANG C, et al. Blockchain-Based Multimedia Sharing in Vehicular Social Networks with" " "Privacy Protection[J]. Multimedia Tools and Applications, 2020, 9(11): 8085-8105.
[16] SUN J F, XIONG H, ZHANG S F, et al. A Secure Flexible an Tampering-Resistant Data Sharing System for" " " " " " " " "Vehicular Social Networks[J]. IEEE Transaction on" " " " " " "Vehicular Technology, 2020, 69(11): 12938-12950.
[17] ZHOU L, LUO E T, WANG G J, et al. Secure Finegrained Friend-Making Scheme Based on Hierarchical" " " " " " " " " " Management in Mobile Social Networks[J]. Information" " " "Sciences, 2021, 554: 15-32.
[18] BEIMEL A. Secret-Sharing Schemes: A Survey[C]//" " " " "International Conference on Coding and Cryptology. Berlin, Heidelberg: Springer, 2011: 11-46.