寇邦艷,曹素珍,呂 佳
(西北師范大學計算機科學與工程學院,甘肅 蘭州 730070)
隨著科技的發(fā)展,中國城市化道路飛速前進,汽車數(shù)量不斷攀升,一二線城市“找車位難”“停車難”等問題[1]愈演愈烈,尋找空閑停車位已經(jīng)成為司機面臨的主要問題[2]。盡管現(xiàn)有的一些手機APP可以在司機和停車位擁有者之間提供車位共享功能[3],但仍存在大量的隱私泄露問題,若司機和停車位擁有者的隱私數(shù)據(jù)在沒有進行任何隱私保護的情況下上傳至云服務器[4],存在用戶隱私數(shù)據(jù)泄露的風險。
為了解決停車服務存在的隱私泄露問題,Lu等人[5]提出了一種智能、安全且保護隱私的停車方案,利用停車場的路邊單元RSU (Road Side Unit)對停車位狀態(tài)進行實時檢測和管理。Ni等人[6]基于布隆過濾器技術提出了一種智能停車的導航方案,具有更高的效率,但未實現(xiàn)支付功能。后來,Zhu等人[7]提出了一種車聯(lián)網(wǎng)中匿名智能停車和支付的方案,使用哈希表實現(xiàn)司機和停車位的快速匹配,利用短隨機簽名和電子錢包實現(xiàn)匿名停車和費用支付。Huang等人[8]提出了一種停車預定隱私保護方案,通過位置混淆機制保護司機的位置隱私。Amiri等人[9]基于區(qū)塊鏈技術提出了一種智能停車的隱私保護方案,但該方案僅考慮了公共停車場,且無法實現(xiàn)公平性和可追溯性。隨后Zhang等人[10]提出了一種具有公平性、可靠性和隱私保護功能的區(qū)塊鏈智能停車方案,采用組簽名和布隆過濾器保護用戶的隱私,利用區(qū)塊鏈的分散性來實現(xiàn)智能停車的可靠性,并使用智能合約實現(xiàn)公平性,但該方案沒有實現(xiàn)支付功能。
上述方案均需將停車請求上傳至遠程云服務器或區(qū)塊鏈進行匹配,會導致通信延遲、計算量繁雜和成本增加等問題。鑒于現(xiàn)有方案的不足之處,本文提出了基于霧計算面向停車服務的隱私保護方案。本文的主要貢獻有以下3個方面:
(1)司機通過霧節(jié)點[11]獲得實時停車位的狀態(tài)信息,采用偽身份實現(xiàn)用戶的匿名性和可追蹤性,使用可信中心TA (Trusted Authority)簽名的電子錢包實現(xiàn)匿名支付,利用小指數(shù)測試實現(xiàn)批量驗證。
(2)使用布隆過濾器實現(xiàn)基于位置的隱私保護范圍查詢,在不公開司機的信息和車位擁有者的車位信息的情況下完成匹配。
(3)證明了本文方案的安全性和隱私性,并從時間開銷方面評估了本文方案的性能。


橢圓曲線離散對數(shù)假設[13]:任何概率的多項式時間算法都很難以不可忽略的優(yōu)勢解決橢圓曲線離散對數(shù)問題。
本文提出的方案涉及5個參與者,分別是:TA、云服務器、FNj、司機和車位擁有者。系統(tǒng)模型如圖1所示,本文方案使用的符號定義如表1所示。

Figure 1 System model圖1 系統(tǒng)模型圖

表1 本文方案使用的符號定義
(1)TA:FNj、云服務器、司機和車位擁有者需到TA處注冊,TA為每個用戶生成對應的偽身份和電子錢包,當發(fā)生糾紛追查違規(guī)用戶時,TA可出示或曝光用戶的真實身份并制裁該用戶。
(2)云服務器:是一個由所有霧節(jié)點維護的安全、可靠的數(shù)據(jù)庫,負責管理用戶的電子錢包賬戶,存儲停車記錄,確保數(shù)據(jù)的可審核性。
(3)FNj:是具有計算和通信功能的霧節(jié)點,負責收集所覆蓋區(qū)域的停車請求和停車響應,并進行停車匹配,匹配成功后,將停車記錄存儲在云服務器中。
(4)司機:向本地霧節(jié)點FNj發(fā)送停車請求,請求中包含偽身份、停車請求開始時間、停車請求結束時間和停車位置的密文。
(5)車位擁有者:向本地霧節(jié)點FNj發(fā)送停車響應,響應中包含偽身份和停車位位置的密文。
(1)TA隨機選擇一個質數(shù)p,并選擇一個橢圓曲線E:y2=x3+ax+bmodp,a,b∈Fp,在E上選擇一個階為q的群G,生成元為P。

(3)TA隨機選擇一個長度為n的過濾函數(shù)φ,公開系統(tǒng)參數(shù){q,p,G,P,Pp,G,H1,n,φ}。
(1)車位擁有者Si注冊:
①車位擁有者將身份Si∈{S1,S2,…,Sm}和停車位收費標準psi發(fā)送給TA。

③TA將{Pidi,si,Wi,ci}返回給Si,ci是TA簽名的車位擁有者電子錢包。
(2)司機Dd注冊:

②TA將{Pidd,sd,Wd,cd}返回給Dd,cd是TA簽名的司機電子錢包。


(1)司機Dd提取位置標簽Yd(t1,t2)=φ(Xd(t1,t2))并將其插入布隆過濾器τd中,τd=Ins(H1(Yd(t1,t2)),τd),t1和t2分別是停車請求開始時間和結束時間。
(2)Dd計算一對臨時密鑰rskd和rpkd,使用Dodis等人2014年提出的模糊提取器概念實現(xiàn)的代碼偏移構造[14]將公鑰rpkd∈{0,1}l嵌入到Dd的位置標簽中,ud=Encode(n,l,rpkd),shd=ud-τd。


(1)車位擁有者Si接收到消息SY后,計算位置標簽Yi(t1,t2)=φ(Xi(t1,t2))并將其插入布隆過濾器τi中。
(2)Si提取公鑰r′pkd,ui=shd+τi,r′pkd=Decode(n,l,ui)。
(3)Si將停車場地址loci轉化到覆蓋它的最小網(wǎng)格塊集g(loci)中,用r′pkd加密得H1(g(loci)‖r′pkd)。


當停車結束時,司機Dd、車位擁有者Si和霧節(jié)點FNj執(zhí)行以下步驟進行停車費支付:


(3)霧節(jié)點FNj收到{Ld,PCd}和{Li,PCi}后,解密獲得Kd=PCd⊕Ldwj和Yi=PCi⊕Liwj。霧節(jié)點FNj驗證等式Tsd1=Tsi1,Tsd2=Tsi2,locd=loci,PSi,d=(Tsd2-Tsd1)psi=(Tsi2-Tsi1)psi是否成立。若成立,F(xiàn)Nj對停車記錄加密并簽名,YKd,i=EncWC(FNj,Yi,Kd,Pidi,Pidd,PSi,d),ZPd,i,j=Sigwj(YKd,i),并將ZPd,i,j和YKd,i發(fā)送給云服務器。否則,停止停車費支付。
(4)云服務器收到ZPd,i,j和YKd,i后,計算并更新司機Dd和車位擁有者Si的電子錢包余額:cd=cd-PSi,d,ci=ci+PSi,d,存儲ZPd,i,j,確保數(shù)據(jù)的可審核性。更新完成后,云服務器將賬單和用戶電子錢包余額通過安全通道分別返回給司機和車位擁有者。
若司機在匹配成功之前從停車匹配過程中退出,用戶發(fā)送給霧節(jié)點一個取消停車的消息,接收到消息后,霧節(jié)點會從等候停車列表中刪除該司機的停車請求。若用戶在匹配成功之后從停車匹配過程中退出,司機需向霧節(jié)點和匹配成功的車位擁有者發(fā)送取消停車的消息。
若用戶在停車過程中出現(xiàn)被舉報具有欺騙行為、驗證失敗等情況,經(jīng)過調查,確認該用戶具有欺騙行為后,可曝光用戶的真實身份。
定理1若橢圓曲線離散對數(shù)問題是困難問題,則提出的方案滿足不可偽造性。
假設有敵手A能以不可忽略的優(yōu)勢ε打破方案的不可偽造性,本文可以構造一個算法B以不可忽略的優(yōu)勢ε′解決橢圓曲線離散對數(shù)問題。

Setup:設置一個橢圓曲線離散對數(shù)問題例子,給出(P,aP=Q)。B設置Pp=Q,并返回系統(tǒng)參數(shù){p,q,P,Pp,G,H1,H2}給敵手A。B維護下列列表:(1)LH2:(Pidd,Wd,Pp,gd);(2)LH3:(Pidd,Wd,Rd,REd,Td,hd);(3)LDd:(Pidd,Wd,sd)。敵手A發(fā)起以下詢問:


Extract詢問:當敵手A執(zhí)行詢問Pidi時,B進行以下操作:


Sign詢問:當敵手A詢問用戶Pidd對消息REd的簽名時,B進行以下操作:





根據(jù)以上分析,B可以以不可忽略的優(yōu)勢ε′解決橢圓曲線離散對數(shù)問題。這與橢圓曲線離散對數(shù)問題的困難性相矛盾,因此本文所提出的方案具有不可偽造性。
□
下面進行安全性分析:
(1)身份認證和數(shù)據(jù)完整性。
本文方案中FNj對用戶的停車請求和停車響應進行身份認證和數(shù)據(jù)完整性驗證,以確保數(shù)據(jù)是由合法用戶發(fā)送的且未被修改?;诙ɡ?,由于橢圓曲線離散對數(shù)假設,沒有多項式時間敵手能夠偽造有效的停車請求和停車響應。因此,本文方案可以確保身份驗證和數(shù)據(jù)完整性。
(2)匿名性。
用戶加入停車系統(tǒng)時,TA為用戶生成偽身份Pidd=Dd⊕H1(xPp,tpd),在整個停車過程中,除TA外不會存在任何第三方知道用戶的真實身份。滿足匿名性要求,保護了用戶的身份隱私。
(3)數(shù)據(jù)機密性。

②根據(jù)BCH(Bose,Ray-Chaudhuri,Hocquenghem)解碼器的性質,任何車位擁有者Si都無法判斷他是否提取到了正確的rpkd,也不知道自己是否在司機Dd的位置標簽內(nèi)。
(4)位置認證。
若locd和loci不相同,車位擁有者Si成功提取了司機Dd的公鑰rpkd,則認為Si發(fā)起了位置欺詐攻擊[14]。雖然locd和loci之間的差值大于闕值T,但由于布隆過濾器的誤報,可能會使式子Ham(ci,cd)≤er成立(er表示BCH編碼可糾正的最大位數(shù)),導致Si在遠離Dd的情況下,也能成功提取到公鑰rpkd。但是,Dd可以通過增加布隆過濾器的尺寸來減少該情況的發(fā)生。
(5)可追蹤性。
若用戶在停車過程中出現(xiàn)違規(guī)行為、簽名驗證失敗等情況,TA使用主密鑰x計算Dd=Pidd⊕H1(xPp,td),出示或者曝光用戶的真實身份。并且本文方案不需存儲任何匿名證書,節(jié)省了存儲開銷。
實驗環(huán)境:CPU為Intel 酷睿,2.5 GHz,內(nèi)存8.0 GB,操作系統(tǒng)為Windows 10家庭中文版?;?.4.7的PBC庫,對本文方案、文獻[6,7]的方案進行仿真實驗,實驗模擬了10 ~100個用戶在注冊階段、停車請求階段和停車響應階段所需的計算開銷。
圖2~圖4分別展示了本文方案、文獻[6,7]方案在注冊階段、停車請求階段和停車響應階段所需的計算開銷。隨著用戶數(shù)量的增加,3個方案各個階段所需的時間也逐漸增多。然而相比文獻[6,7]的方案,本文方案采用的霧計算技術處理通信的時延較低,從而使各個階段的計算開銷最小。

Figure 2 Computational cost comparison in registration phase圖2 注冊階段的計算開銷對比

Figure 3 Time cost comparison in parking request phase圖3 停車請求階段時間開銷對比

Figure 4 Time cost comparison in parking response phase圖4 停車響應階段時間開銷對比
如圖5和圖6所示,相對于文獻[6,7]方案而言,由于本文方案結合了霧計算技術和布隆過濾器技術的優(yōu)勢,因此在霧節(jié)點匹配階段的時間開銷和停車總時間開銷更小,效率更高。

Figure 5 Time cost comparison in fog node matching phase 圖5 霧節(jié)點匹配階段時間開銷對比

Figure 6 Comparison of the total parking time cost圖6 停車總時間開銷對比
本文提出了基于霧計算面向停車服務的隱私保護方案。該方案在保護司機和停車位擁有者身份和位置隱私的同時,司機通過霧節(jié)點實時查詢周邊的空閑停車位,并與停車位擁有者進行溝通,確定具體停車位置、時間和價格,方便停車位擁有者將私有停車位進行出租,解決了公共停車位供應不足的問題;停車結束后,司機使用電子錢包實現(xiàn)匿名支付,利用云服務器存儲停車記錄確保數(shù)據(jù)的可審核性。安全性分析和仿真結果表明,本文方案在滿足安全性和隱私性的情況下,時間開銷較低。