王 輝,王燕鵬,申自浩,劉沛騫,劉 琨,甄 煒,朱傳涵
(河南理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河南 焦作 454000)
智能移動(dòng)設(shè)備推動(dòng)了移動(dòng)社交網(wǎng)絡(luò)的高速發(fā)展,使得基于位置的服務(wù)(Location-Based Service,LBS)融入了我們個(gè)人和工作生活的許多方面.LBS根據(jù)用戶的地理位置和其他信息為移動(dòng)用戶提供信息和娛樂服務(wù)[1],如查詢附近的電影院、餐廳以及目的地交通信息等.根據(jù)歐洲GNSS局(GSA)預(yù)測,2019~2029年累計(jì)營收將達(dá)到25250億歐元,其38.3%營收大多來自于智能手機(jī)和其他終端對LBS所產(chǎn)生的時(shí)空位置數(shù)據(jù)的收費(fèi).到2027年底,全球基于位置的服務(wù)市場預(yù)計(jì)將達(dá)到910.25億美元,復(fù)合年增長率為23.1%.然而攻擊者可以通過找到傳輸設(shè)備,不經(jīng)授權(quán)來訪問原始位置數(shù)據(jù)[2],造成用戶位置隱私威脅.例如2018年,F(xiàn)acebook在未經(jīng)用戶同意的情況下與Cambridge Analytica共享了8700萬用戶的個(gè)人數(shù)據(jù).因此,不可靠的服務(wù)提供商會收集用戶的位置信息并被濫用出售給第三方[3].現(xiàn)有的隱私保護(hù)方案雖然對于用戶而言,隱私絕不是一個(gè)新問題,但是當(dāng)與移動(dòng)計(jì)算結(jié)合在一起時(shí),隱私變得越來越重要和復(fù)雜.
為了保護(hù)位置隱私不受各方面的威脅,特別是惡意的位置服務(wù)提供商(Location-Based Service Provider,LSP)對用戶隱私數(shù)據(jù)的濫用,早在2003年,Gruteser等人[4]就提出了基于位置的K匿名技術(shù),即通過添加K-1個(gè)位置來隱藏真實(shí)位置,進(jìn)而達(dá)到位置匿名的效果.但隨著數(shù)據(jù)分析的高速發(fā)展,攻擊者可以從眾多輔助信息中將真實(shí)位置推測出來.針對上述問題,研究者提出了通過受信任的匿名服務(wù)器[5],將收集到的用戶敏感信息,在發(fā)送給LSP前通過匿名器處理,這便是中心式位置保護(hù)系統(tǒng)結(jié)構(gòu)[6],這種結(jié)構(gòu)大大降低了用戶的通信開銷,具有很好的隱私保護(hù)效果,但匿名服務(wù)器成為了唯一攻擊點(diǎn),一旦被攻破便會帶來嚴(yán)重隱私威脅.因此,利用用戶間的相互協(xié)助來構(gòu)造匿名區(qū),組成分布式結(jié)構(gòu)成為近年來研究的熱點(diǎn)方向.該結(jié)構(gòu)利用去中心化的思想,在基于位置的K匿名技術(shù)的基礎(chǔ)上與其他隱私機(jī)制相結(jié)合,從而提升隱私保護(hù)效果.但這種結(jié)構(gòu)在實(shí)用性上,沒有考慮到用戶自身的協(xié)助意愿,以及用戶的真實(shí)性問題,無法保證用戶是可信的,就導(dǎo)致信任問題成為了提升匿名區(qū)服務(wù)質(zhì)量的關(guān)鍵.
基于上述的考慮,在匿名區(qū)構(gòu)造過程中,用戶自身發(fā)起構(gòu)造的次數(shù),協(xié)助構(gòu)造的次數(shù),以及響應(yīng)時(shí)間等屬性,都能一定程度反映用戶的積極性和可信度.因此,我們量化相關(guān)屬性當(dāng)作信用指標(biāo),通過變異系數(shù)法構(gòu)建可信計(jì)算模型,來計(jì)算用戶的信用評分,成為可信度量化的標(biāo)準(zhǔn).以信用評分為核心引入數(shù)字信用證書,作為用戶間信任的基礎(chǔ),提出了一種結(jié)合CVCA(Coefficient of variation and credit assessment,CVCA)信任評估模型的位置隱私保護(hù)方法,用戶通過數(shù)字信用證書作為發(fā)起構(gòu)建匿名區(qū)的憑證,半可信的云服務(wù)器驗(yàn)證用戶的真實(shí)性,協(xié)助用戶依據(jù)證書內(nèi)的信用評分來判斷協(xié)助意愿,達(dá)到快速構(gòu)建匿名區(qū)的目的.我們的貢獻(xiàn)如下:
1)擬采取信用證書為基礎(chǔ)的評估模型引入到LBS隱私保護(hù)中,構(gòu)建用戶間的信任以便積極參匿名區(qū)建設(shè).請求用戶需要通過不斷幫助他人來提升自己的信用評分,而協(xié)助用戶通過信用評分來判斷是否發(fā)送真實(shí)位置加入匿名區(qū),幫助協(xié)助用戶快速響應(yīng),利用可信評估模型提高匿名區(qū)構(gòu)建效率和真實(shí)性.
2)引入的半可信云服務(wù)器只作為匿名區(qū)構(gòu)造的中間節(jié)點(diǎn),依靠云計(jì)算負(fù)責(zé)用戶的身份加密驗(yàn)證和信用證書的更新,不儲存任何有效位置信息,降低用戶終端的流量開銷.
3)本方案對用戶和系統(tǒng)架構(gòu)進(jìn)行了安全性分析,通過實(shí)驗(yàn)表明,引入信任評估模型,有效解決了用戶間的信任問題,降低用戶計(jì)算時(shí)延和提升匿名區(qū)構(gòu)造成功率.
現(xiàn)有的位置隱私保護(hù)相關(guān)內(nèi)容可分為兩部分,用戶身份標(biāo)識的保護(hù)和對用戶位置信息的保護(hù).前者通常使用假名法、K匿名法和一些加密方案[7]來隱藏用戶的真實(shí)身份,增加攻擊者辨別位置信息的難度.后者采用假位置法和區(qū)域匿名法[8],即通過降低位置信息精度來保護(hù)位置隱私.隨著通用技術(shù)的增加,LBS服務(wù)器的開銷也會隨之增大,因?yàn)橛锌赡軙祷夭痪_的查詢結(jié)果,特別是在連續(xù)查詢的過程中會限制隱私保護(hù)效果.
用戶的身份標(biāo)識保護(hù)主要是切斷攻擊者與真實(shí)身份的聯(lián)系.通常利用的是位置泛化處理技術(shù)[9,10]來確保真實(shí)用戶和其他K-1個(gè)匿名用戶的不可區(qū)分.Gong等人[11]提出利用社會關(guān)系來激勵(lì)用戶改變其假名,其核心在于用戶身份和一些特殊位置的關(guān)聯(lián),因此需要用戶不斷的更改假名來保護(hù)身份信息,這對移動(dòng)終端的開銷無疑是一個(gè)考驗(yàn).Zhang[12]等人提出了一種雙重隱私保護(hù)方案來保護(hù)用戶的個(gè)人隱私,用戶通過選擇不同的匿名程序來形成K匿名區(qū)域,使攻擊者無法區(qū)分目標(biāo)用戶和其他K-1個(gè)用戶.Baseri等人[13]提出了一種基于多權(quán)限屬性的訪問控制方案,使用用戶的動(dòng)態(tài)位置作為向下文信息,采用位置范圍約束作為策略,將基于屬性的加密與代理重新加密集成在一起,保護(hù)用戶身份免于泄露.Jiang等人[14]利用歷史錨點(diǎn)代替請求用戶的真實(shí)位置,將請求信息分片化處理,位置服務(wù)器獲得后再進(jìn)行重組,返回查詢結(jié)果,以此來取得較好的隱私保護(hù)效果.
在位置信息的保護(hù)中,研究者利用位置保護(hù)算法或者各種模型來保護(hù)用戶的位置隱私,如Yiu等人[15]首次提出的SpaceTwist算法,在用戶不提供真實(shí)位置的情況下得到查詢內(nèi)容,但由于錨點(diǎn)的隨機(jī)生成問題,造成查詢效率低下.因此,Zhang等人[16]采用多級緩存機(jī)制來存儲歷史查詢結(jié)果,然后根據(jù)用戶移動(dòng)性通過Markov模型預(yù)測下一個(gè)查詢位置,有效利用了緩存提升查詢效率并增強(qiáng)用戶的位置隱私性,同時(shí)也減少了服務(wù)器的開銷,但沒有考慮到用戶之間信息共享的安全性問題.Li等人[17]提出了一種隱私保護(hù)的LBS框架,基于屬性加密和轉(zhuǎn)換技術(shù)的新穎盲過濾協(xié)議,使LSP和代理都不知道用戶位置信息的情況下,過濾出加密的查詢結(jié)果,該框架增強(qiáng)了對服務(wù)提供商的數(shù)據(jù)訪問控制,降低了用戶的通信開銷.Ye等人[18]考慮到位置服務(wù)器是不受信任的服務(wù)器,會引起嚴(yán)重的隱私問題,提出了一種基于鄰居關(guān)系轉(zhuǎn)移的近鄰檢測方法.該方法需要請求用戶向社交網(wǎng)絡(luò)服務(wù)器提交一份參考列表,然后服務(wù)器判斷附近的參考列表是否有共同的項(xiàng)目來搜索請求用戶的鄰居.
近年來,國內(nèi)外研究者考慮到位置隱私保護(hù)系統(tǒng)結(jié)構(gòu)中,涉及到的第三方服務(wù)器信任問題,提出了針對性的位置隱私保護(hù)方案.例如,Wang等人[19]使用多屬性決策算法將用戶的信用數(shù)據(jù)轉(zhuǎn)換為信用值,與區(qū)塊鏈一起存儲匿名區(qū)構(gòu)建過程中的信用值和交易信息,采用信用價(jià)值獎(jiǎng)懲機(jī)制來約束不良用戶,快速構(gòu)建匿名區(qū)域.Sun等人[20]考慮到某些情況下用戶的位置彼此接近或位置相同,對用戶位置信息造成損害或泄露,因此設(shè)計(jì)了一種位置標(biāo)簽算法,將用戶位置區(qū)分為敏感位置和普通位置,在最小化LBS請求響應(yīng)時(shí)間的同時(shí),也保護(hù)了位置隱私.Zhang等人[21]為了解決完全信任第三方受到威脅的問題,提出基于統(tǒng)一網(wǎng)格,采用順序保留對稱加密和K匿名技術(shù)的解決方案.其中間環(huán)節(jié)的半可信匿名服務(wù)器只能實(shí)現(xiàn)簡單的匹配和比較操作,而不涉及對用戶真實(shí)位置的處理,減少了匿名服務(wù)器開銷的同時(shí)保護(hù)了用戶位置隱私,但這種方法存在用戶密鑰被盜用的可能,降低了實(shí)際環(huán)境中的效用.
雖然,上述方案考慮了系統(tǒng)架構(gòu)中第三方是否可信帶來的影響,但很少注意到用戶間的信任問題.本方案從用戶間的信任角度出發(fā),通過數(shù)字信用證書量化請求用戶與協(xié)助用戶之間的關(guān)系,依據(jù)信用評分來幫助協(xié)助用戶判斷請求用戶的可信度,快速響應(yīng)K匿名需求.引入半可信的云服務(wù)器,在不涉及用戶真實(shí)位置的情況下,維護(hù)證書的更新和發(fā)放,降低用戶終端通信和計(jì)算開銷.
本方案以用戶移動(dòng)終端,云服務(wù)器C,位置服務(wù)器LBS三方架構(gòu)作為基礎(chǔ),系統(tǒng)架構(gòu)如圖1所示.其中用戶和位置服務(wù)器LBS視為不可信的,云服務(wù)器C視為半可信的,只充當(dāng)中間節(jié)點(diǎn)對數(shù)據(jù)處理,不儲存不傳遞任何位置信息.用戶無論是請求還是協(xié)助都需要在云服務(wù)器C上進(jìn)行身份驗(yàn)證以及互相驗(yàn)證,來確定身份信任基礎(chǔ).用戶的數(shù)字信用證書DCC,除了驗(yàn)證身份外,其內(nèi)的信用評分ε用來確定自身行為信任程度.請求用戶P不斷通過幫助他人來提升自己的信任評分,為自己贏得信任基礎(chǔ).協(xié)助用戶H查看信用評分來確定該請求用戶P是否可信,如果愿意發(fā)送真實(shí)位置信息加入匿名區(qū),則會響應(yīng)請求.
圖1 系統(tǒng)架構(gòu)
規(guī)?;姆?wù)器集群是云服務(wù)器的物理結(jié)構(gòu),每個(gè)集群節(jié)點(diǎn)都可獨(dú)立提供海量數(shù)據(jù)歸納和存儲等互聯(lián)網(wǎng)基礎(chǔ)設(shè)施服務(wù),通過云服務(wù)器的網(wǎng)格計(jì)算,可以在很短時(shí)間內(nèi)進(jìn)行任務(wù)分發(fā),合并計(jì)算結(jié)果,而伴隨著第5代移動(dòng)通信技術(shù)(5G)的商業(yè)應(yīng)用,可以大幅提高服務(wù)器存儲利用率,削弱軟硬件設(shè)施帶來的性能瓶頸影響.現(xiàn)有的云服務(wù)器平臺如阿里云,亞馬遜的彈性計(jì)算云(EC2),它們是使用數(shù)據(jù)中心的虛擬服務(wù)器集群,將桌面計(jì)算遷移到面向服務(wù)的平臺.對于數(shù)據(jù)的歸納和存儲,不再是依靠單一的云架構(gòu),而是通過離散形式令多個(gè)節(jié)點(diǎn)分?jǐn)?,防止單個(gè)節(jié)點(diǎn)失效,并降低數(shù)據(jù)和信息遭受盜竊、損壞和自然災(zāi)害的概率.而且,虛擬化技術(shù)增強(qiáng)了云服務(wù)器的安全性.虛擬化使我們可以將一臺物理計(jì)算機(jī)劃分為多個(gè)虛擬機(jī)(VM),實(shí)現(xiàn)隔離式的安全防護(hù),并保護(hù)每個(gè)分區(qū)免受其他分區(qū)的分布式拒絕服務(wù)攻擊(DDOS),保證了單點(diǎn)故障不會延伸到其他節(jié)點(diǎn).此外,云服務(wù)器在架構(gòu)和系統(tǒng)層面劃出資源建立冗余機(jī)制,這些冗余資源的調(diào)度,將敏感數(shù)據(jù)進(jìn)行備份復(fù)制到其他云節(jié)點(diǎn),可以保證運(yùn)行的虛擬服務(wù)器不受硬件故障的影響.
綜上所述,考慮到分布式系統(tǒng)中移動(dòng)終端資源受限的問題,我們引入半可信的云服務(wù)器C來分擔(dān)移動(dòng)設(shè)備的資源開銷,突破硬件的限制,將移動(dòng)計(jì)算集成到C上來應(yīng)對移動(dòng)計(jì)算的增長.請求用戶P每一次的匿名區(qū)構(gòu)造,出于對身份信息的保護(hù),都要在C上生成偽身份FID進(jìn)行匿名交易和驗(yàn)證.每個(gè)用戶提交自己的歷史數(shù)據(jù)由C快速計(jì)算生成數(shù)字信用證書,證書的交易單號用來保證證書的連續(xù)性,以防攻擊者的偽造.C對任務(wù)處理的高效性大大縮短了通信時(shí)延,交易后證書的更新和維護(hù)由C執(zhí)行,盡管利用C來處理數(shù)據(jù),但對于用戶重要的敏感位置信息,C不進(jìn)行參與,從而減少由C帶來的位置隱私威脅.
用戶作為交易憑證的數(shù)字信用證書DCC由云服務(wù)器C發(fā)放,同時(shí)負(fù)責(zé)一次交易后的維護(hù)和更新.數(shù)字信用證書DCC所包含內(nèi)容如下:
DCC={Bn,ID,ε,SignC(Bn,ID,ε)}
(1)
其中,Bn為當(dāng)前DCC的交易單號,ID為用戶身份標(biāo)識,ε為DCC所包含的信用評分,是衡量用戶自身可信度的最直觀反映,{SignC(Bn,ID,ε)}是DCC在C上的云簽名認(rèn)證.
我們以變異系數(shù)法確定指標(biāo)權(quán)重為基礎(chǔ),通過建立CVCA信任評估模型來計(jì)算出信用評分ε.其基本思路是:首先確定影響匿名區(qū)構(gòu)造過程中的屬性因子,量化為信用指標(biāo).然后是根據(jù)CVCA信任評估模型計(jì)算各個(gè)指標(biāo)所占的客觀權(quán)重,最后依據(jù)初始數(shù)據(jù),計(jì)算出最終的信用評分ε.基于匿名區(qū)構(gòu)造的整個(gè)過程,假設(shè)信用評估各指標(biāo)描述如表1所示.
表1 信用指標(biāo)描述表
(2)
Step2.對于不同信用維度下的不同信用指標(biāo)值,計(jì)算求取標(biāo)準(zhǔn)差σ以反映各個(gè)信用指標(biāo)的離散程度,標(biāo)準(zhǔn)差越大,則表示該信用指標(biāo)的數(shù)值差異越大,其自身評價(jià)強(qiáng)度也就越強(qiáng),理應(yīng)分配更多的權(quán)重,公式表示信用指標(biāo)R的標(biāo)準(zhǔn)差為:
(3)
Step3.由于CVCA模型中的個(gè)別指標(biāo)量綱不同,不能直接比較出其差別程度,為了消除各項(xiàng)信用指標(biāo)的量綱不同的影響,需要用各項(xiàng)指標(biāo)的變異系數(shù)來衡量各項(xiàng)指標(biāo)取值的差異程度.公式表示信用指標(biāo)R的變異系數(shù)如下:
(4)
同理可得各項(xiàng)信用指標(biāo)的合集{V1,V1,…,Vn}.
Step4.各項(xiàng)信用指標(biāo)的客觀權(quán)重為:
(5)
Step5.計(jì)算個(gè)人最終信用評分ε可用公式表示為:
(6)
具體實(shí)現(xiàn)如算法1所示:
算法1.CVCA信任評估模型計(jì)算信用評分
輸入:信用評分模型數(shù)據(jù)表 信用指標(biāo)參數(shù) 身份編號
輸出:鍵值對形式信用評分
//Package main
//type CreditDataCollection struct{}
1.Function CreditScore(table,args,ID_number)
2.for args do//根據(jù)信用指標(biāo)args,從數(shù)據(jù)表中獲取相應(yīng)數(shù)值
3.if (args[i]< tocredit_range)
4.average=args[i]_sum/args_length;
5.end if
6.int total=0;
7.for(int i=0;i 8.total+=(args[i]-average)*( args[i]-average)}//求出方差 9.=Math.sqrt(total/args[i].lenth);//求出標(biāo)準(zhǔn)差 10.double v[args[i]]=[args[i]]/average; 11.for args do //計(jì)算各指標(biāo)所占權(quán)重 12.if( args[i]!=0) 13.double w[args[i]]=v[args[i]]/args[i]_sum; 14.end if 15.double[args[i]]=w[args[i]]*args[i]_sum;//計(jì)算用戶的信用評分 16.PutState(ID_number,CreditScore) 17.end Function 為了增加請求者P和協(xié)助者H之間的可信度,快速構(gòu)造基于真實(shí)位置的K匿名區(qū),我們把K匿名區(qū)的構(gòu)造過程視為一筆交易,而發(fā)起交易的憑證正是數(shù)字信用證書DCC.云服務(wù)器C充當(dāng)交易平臺的角色,P和H首先在C上進(jìn)行驗(yàn)證各自的真實(shí)性,隨后P和H互換DCC判斷是否同意參與K匿名區(qū)的構(gòu)造.當(dāng)K匿名區(qū)構(gòu)造成功后,P向C發(fā)送交易成功信息,隨后C更新DCC發(fā)放給用戶,等待下一次交易.方案交互過程圖2所示. 圖2 方案交互過程 Step1.請求用戶的身份驗(yàn)證驗(yàn)證 請求用戶P發(fā)起查詢請求前,要在云服務(wù)器C上進(jìn)行身份驗(yàn)證. VERP={DCCP,ts,SignSK-ID(DCCP,ts)} (7) 其中SignSK-ID(DCCP,ts)是在時(shí)間戳ts上使用用戶的密鑰生成的簽名.云服務(wù)器C在用戶數(shù)據(jù)庫中找到該用戶的條目(ID,PK-ID),并使用用戶注冊的公共密鑰PK-ID驗(yàn)證簽名SignSK-ID(DCCP,ts)的正確性.以及查驗(yàn)數(shù)字信用證書DCCP內(nèi)當(dāng)前交易單號Bn保證交易的連續(xù)性. Step2.驗(yàn)證成功消息SignC(VERP) 如果Step 1驗(yàn)證成功,則云服務(wù)器會發(fā)送簽名成功消息SignC(VERP),并隨機(jī)生成一個(gè)隨機(jī)偽身份FPID給P,并將此更新的記錄(ID,FPID,ts)存儲在其信息表中. Step3.請求用戶發(fā)起匿名區(qū)構(gòu)造 請求用戶P的身份信息被驗(yàn)證成功后,P以廣播的形式向鄰近用戶發(fā)出協(xié)作請求. (8) 其中,TP-S表示P發(fā)送匿名區(qū)構(gòu)造協(xié)作請求時(shí)的時(shí)間戳;SK-FPID是P在云服務(wù)器C上的私鑰;SignSK-FPID(TP-S,DCCP)表示利用私鑰SK-FPID對(TP-S,DCCP)的簽名. Step4.協(xié)助用戶的身份驗(yàn)證 協(xié)助用戶H收到請求用戶P的協(xié)作請求Pmh后,首先使用請求用戶P在云服務(wù)器C上的公鑰PK-FPID驗(yàn)證簽名信息SignSK-FPID(TP-S,DCCP)的正確性,同時(shí)查看請求用戶P的數(shù)字信用證書DCCP,根據(jù)基于模糊邏輯的閾值α來比較其信用評分ε的高低,是否決定響應(yīng)P的協(xié)作請求.若ε≥α,則同意本次交易.和請求用戶P一樣,發(fā)送VERH到云服務(wù)器C上進(jìn)行身份驗(yàn)證. Step5.驗(yàn)證成功消息SignC(VERH) 云服務(wù)器C驗(yàn)證Step4成功后,發(fā)送簽名成功消息SignC(VERH)和H的本次交易偽身份FHID給P和H,以此保證本次交易的準(zhǔn)確性.并將此更新的記錄(ID,FHID,ts)存儲在其信息表中. Step6.協(xié)助用戶參與匿名區(qū)構(gòu)造 協(xié)助用戶H收到云服務(wù)器C發(fā)來的簽名成功消息后,向請求用戶P發(fā)送其加密后的位置信息. (9) 其中,TH-S表示協(xié)助用戶H參與匿名區(qū)構(gòu)造的時(shí)間戳;DCCH表示協(xié)助用戶H的數(shù)字信用證書;PK-FPID是請求用戶P在云服務(wù)器C上的公鑰;SK-FHID是協(xié)作用戶H在云服務(wù)器C的私鑰;EncPK-FPID(Loci,TH-S)表示在云服務(wù)器C中使用請求用戶H的公鑰PK-FPID加密(Loci,TH-S)后得到的密文.Loci表示第i個(gè)協(xié)助用戶H的真實(shí)位置信息. Step7.完成匿名區(qū)構(gòu)造 請求用戶P收到協(xié)助用戶H發(fā)來的加密位置信息Hmp后,首先查看云簽名成功消息SignC(VERH)是否和云服務(wù)器C發(fā)來的一致,同時(shí)使用協(xié)作用戶H在云服務(wù)器上C的公鑰,驗(yàn)證簽名信息SignSK-FHID[EncPK-FPID(Loci,TH-S)]的正確性.若雙重驗(yàn)證都通過后,P用自己的私鑰SK-FPID解密EncPK-TPID(Loci,TH-S)從而獲得H的真實(shí)位置信息.隨后根據(jù)其他成員的位置構(gòu)建匿名區(qū)域.當(dāng)本次交易完成后,請求用戶P向云服務(wù)器C發(fā)送交易成功信息. Step8.交易證書更新 此時(shí)C通過CVCA信任評估模型生成新的數(shù)字信用證書DCC-new發(fā)放給P和H,接著C等待下一筆交易的開始. DCC-new={Bn+1,ID,ε,SignC(Bn+1,ID,ε)} (10) 本方案將從交易方身份隱私保護(hù),可信計(jì)算交易認(rèn)證,位置隱私保護(hù)3個(gè)方面進(jìn)行安全性分析. 1)交易方身份隱私保護(hù):在本方案中P和H均視為是不可信的,因此雙方在初始交易之前,都要在C上進(jìn)行簽名認(rèn)證SignC(VERP).對于P來說,認(rèn)證成功后C產(chǎn)生即將進(jìn)行交易的偽身份FPID給P,避免了H或者外部攻擊獲得真實(shí)身份的可能.對于H來說,在響應(yīng)P尋求C簽名認(rèn)證的過程中,P也會同時(shí)收到H的認(rèn)證成功消息SignC(VERH)和偽身份FHID,以便用來查證后續(xù)交易的準(zhǔn)確性.一旦攻擊者想偽裝成H來獲取交易信息,都必須通過P和C的查證,如果來自攻擊者的偽身份不是FHID,交易單號不是Bn,則會引起交易失敗.整個(gè)交易過程都對發(fā)送的信息進(jìn)行非對稱秘鑰加密,攻擊者破解所有用戶的加密秘鑰難度極大,最大保證交易信息的安全性. 2)可信計(jì)算交易認(rèn)證:為了準(zhǔn)確衡量交易雙方之間的可信度,本方案通過可信計(jì)算的方式生成了用戶的數(shù)字信用證書DCC,成為交易過程中的憑證.DCC內(nèi)的信用評分ε越高,代表該交易方的可信任程度越高,泄露真實(shí)位置的概率也就越低.如果存在惡意請求用戶P,想通過發(fā)起匿名區(qū)構(gòu)造獲取協(xié)助用戶真實(shí)位置,那么就需要ε值來增加可信程度,這顯然與惡意交易方的不可信自相矛盾.因此,通過數(shù)字信用證書DCC來作為構(gòu)建匿名區(qū)的依據(jù),在提升用戶參與積極性的同時(shí),也有利于提高匿名區(qū)內(nèi)整體參與用戶的質(zhì)量. 3)位置隱私保護(hù):與集中式架構(gòu)不同的是,本方案引入的半可信云服務(wù)器C不參與匿名區(qū)構(gòu)造,只充當(dāng)交易過程中的一個(gè)節(jié)點(diǎn),C得不到任何關(guān)于位置的信息,即使C受到攻擊而遭到破壞,也能避免泄露位置信息的可能.而在交易過程中,對于協(xié)作用戶H來說,H向請求用戶P發(fā)送真實(shí)位置之前,如果P的信用評分ε<α,那么H有理由認(rèn)定P可能是惡意用戶,從而拒絕響應(yīng)來保護(hù)自己的位置信息.對于請求用戶P來說,P想盡快完成匿名區(qū)的構(gòu)造,那么就需要不斷提高自身的ε來獲取H的信任,這顯然對提高服務(wù)質(zhì)量有極大的幫助. 本節(jié)對本方案進(jìn)行了仿真測試,為了驗(yàn)證CVCA信任評估模型對于匿名區(qū)構(gòu)造的有效性,提高匿名區(qū)內(nèi)真實(shí)位置數(shù)量來更好地保護(hù)位置隱私.本方案選擇了系統(tǒng)架構(gòu)類似的兩種方案進(jìn)行對比實(shí)驗(yàn),方案[20]提出的LLB算法和方案[21]提出的UGC體系結(jié)構(gòu),LLB算法采用分布式K匿名結(jié)構(gòu),通信成本低,但引入了一個(gè)假名身份服務(wù)器(PID),其中的偽ID交換協(xié)議會非常耗時(shí);UGC體系結(jié)構(gòu)引入半可信第三方匿名服務(wù)器,同時(shí)添加了一個(gè)實(shí)體轉(zhuǎn)換器,匿名區(qū)構(gòu)造成功率高,但增大了通信開銷. 實(shí)驗(yàn)所搭建的運(yùn)行平臺為Corei7,8GB內(nèi)存的Windows10操作系統(tǒng),對稱加密和公鑰加密分別為AES-256-CBC和RSA-2048/RSA-4096,進(jìn)行對身份位置信息的加密和簽名.采用多線程編程,配合使用基于模擬器網(wǎng)絡(luò)的移動(dòng)對象生成器來生成移動(dòng)節(jié)點(diǎn),并在約有15×15 km2的真實(shí)路線圖上模擬它們的運(yùn)動(dòng).我們在仿真數(shù)據(jù)中使用了各種參數(shù),移動(dòng)用戶設(shè)置速度為中速,移動(dòng)用戶數(shù)量N的范圍是3000~6000,匿名化程度K設(shè)置為5~45,依據(jù)仿真要求每個(gè)移動(dòng)用戶的傳輸范圍R設(shè)置為250m. 在實(shí)驗(yàn)中,我們根據(jù)匿名化程度K的不同,選取匿名區(qū)構(gòu)造時(shí)不同方案對關(guān)鍵參數(shù)的影響,對于每個(gè)K值進(jìn)行10次試驗(yàn)取參數(shù)均值,來反映不同方案的性能高低.圖3是隨K值增大,匿名區(qū)平均構(gòu)造時(shí)間的變化.不管哪種方案,參與用戶越多,匿名區(qū)構(gòu)造時(shí)間也會越長.與方案[20]相比,本方案在匿名區(qū)構(gòu)造過程中,無需進(jìn)行偽ID交換,直接由云服務(wù)器C生成偽身份,然后快速發(fā)出請求消息.方案[20]在參與匿名區(qū)構(gòu)造用戶過多情況下,有可能會造成PID的擁塞,延長構(gòu)造時(shí)間.方案[21]為提高隱私保護(hù)性能而添加了一個(gè)統(tǒng)一網(wǎng)格實(shí)體轉(zhuǎn)換器,發(fā)起構(gòu)造前先指定了范圍空間查詢,但由于K值增大的緣故同樣會延長協(xié)助用戶響應(yīng)時(shí)間,增加匿名區(qū)構(gòu)造的不確定性.本文方案在K值不斷增大的情況下,所建立的信任評估模型會幫助協(xié)助用戶縮短響應(yīng)時(shí)間,快速參與匿名區(qū)建設(shè),因此匿名區(qū)構(gòu)造的時(shí)間是最短的. 圖3 匿名區(qū)平均構(gòu)造時(shí)間 圖4所示為隨著K值增大,不同方案所帶來的平均通信開銷.本實(shí)驗(yàn)所計(jì)算的通信開銷為用戶從發(fā)出起匿名區(qū)構(gòu)造到構(gòu)造成功為止,包括用戶與服務(wù)器之間,用戶之間的各類通信總和.方案[20]中的系統(tǒng)架構(gòu)最為簡單,LLB算法很好的區(qū)分了普通位置和敏感位置,結(jié)合分布式K匿名技術(shù)降低了通信開銷.方案[21]首先需要用戶與實(shí)體轉(zhuǎn)換器通信,然后用戶間的通信,匿名服務(wù)器的高速緩存,都大大增加了匿名區(qū)構(gòu)造的通信開銷.比較而言,為了保護(hù)用戶身份信息,本方案用戶與云服務(wù)器頻繁的驗(yàn)證交互也增加了通信開銷,但依靠云服務(wù)器的快速處理,通信開銷隨著K值增大也是相對緩慢增長的,所以方案[21]的平均通信開銷是最大的. 圖4 平均通信開銷 圖5表示隨著K值增大,不同方案的平均計(jì)算時(shí)延也隨之提高.方案[20]提出的LLB算法,實(shí)現(xiàn)了請求聚合,偽ID交換和PLAM三大協(xié)議,減少了LBS的響應(yīng)時(shí)間,但算法的復(fù)雜性也增大了計(jì)算時(shí)延.方案[21]雖然利用匿名服務(wù)器的高速緩存來返回查詢結(jié)果,降低計(jì)算時(shí)延.但與本方案相比,云服務(wù)器C強(qiáng)大的處理能力保證了算法實(shí)現(xiàn)的有效性,極大的降低了計(jì)算時(shí)延,不會隨著K值增大而明顯提高. 圖5 平均計(jì)算時(shí)延 本方案中,依靠建立可信計(jì)算的方式來幫助協(xié)助用戶確定是否參與匿名區(qū)構(gòu)造,信用評分ε度量了請求用戶的可信度.在K值固定的情況下,請求用戶的ε越高,代表該用戶的真實(shí)性和可信度越高,從而使得協(xié)助用戶愿意參與匿名區(qū)構(gòu)造.利用云服務(wù)器的計(jì)算能力和快速驗(yàn)證,協(xié)助用戶靠ε來快速判斷請求用戶可信度以減少響應(yīng)時(shí)間,同時(shí)也減少了協(xié)助用戶終端的計(jì)算開銷.選取K值分別是10、20、30和40情況下重復(fù)進(jìn)行試驗(yàn),結(jié)果如圖6所示. 圖6 協(xié)助用戶平均響應(yīng)時(shí)間 考慮到實(shí)際場景下不同方案的應(yīng)用情況,我們設(shè)置場景下不同移動(dòng)用戶數(shù)量N,對匿名區(qū)構(gòu)造成功率的進(jìn)行了實(shí)驗(yàn)分析,本方案的匿名區(qū)構(gòu)造成功率是指請求用戶和K-1個(gè)真實(shí)協(xié)助用戶共同參與,構(gòu)造成一個(gè)包含K個(gè)真實(shí)位置的匿名空間.通過添加隨機(jī)數(shù)種子,生成用戶的歷史請求和協(xié)助數(shù)據(jù),充分考慮用戶的歷史行為,重復(fù)執(zhí)行實(shí)驗(yàn),對比方案的性能優(yōu)越.如圖7所示,首先對于任何方案而言,移動(dòng)用戶數(shù)量的增大,都能提高匿名區(qū)構(gòu)造成功率.方案[21]劃分統(tǒng)一網(wǎng)格,采用順序保留對稱加密,復(fù)雜的交互機(jī)制提升了匿名區(qū)構(gòu)造的成功次數(shù).而導(dǎo)致方案[20]成功率沒有明顯提升的原因是因?yàn)閰f(xié)助用戶的身份無法得到真實(shí)驗(yàn)證,導(dǎo)致匿名區(qū)中存在虛假用戶,降低了匿名區(qū)構(gòu)造成功次數(shù).本方案對于不管是請求用戶還是協(xié)助用戶,都要進(jìn)行云服務(wù)器簽名驗(yàn)證和雙方簽名驗(yàn)證,降低存在虛假惡意用戶的可能,數(shù)字信用證書的存在建立了用戶間信任的基礎(chǔ).隨著移動(dòng)用戶數(shù)量N的不斷增大,越來越多的協(xié)助用戶會通過判斷請求用戶信用評分與閾值的關(guān)系來做出響應(yīng),大幅提高匿名區(qū)構(gòu)造成功率,與另外兩種方案比較,使用本方案的平均成功率在80%以上. 圖7 匿名區(qū)構(gòu)造成功率 利用K匿名技術(shù)與各種算法模型相結(jié)合,構(gòu)成的位置隱私保護(hù)方案中,都衡量了第三方服務(wù)器或者位置服務(wù)提供商的可信任程度,但很少考慮用戶之間的信任關(guān)系,特別是協(xié)助用戶是否愿意參與匿名區(qū)構(gòu)造或者參與過程中是否愿意提交自己的真實(shí)位置信息.一方面是因?yàn)樵趯?shí)際場景下,請求用戶身份是否可信無法準(zhǔn)確度量,另一方面則是一旦協(xié)助用戶發(fā)送自己的真實(shí)位置信息后,就要承擔(dān)敏感信息泄露的可能,這對協(xié)助用戶來說是完全沒有正向收益的.本方案基于上述考慮,從用戶角度出發(fā),提出的一種結(jié)合CVCA信任評估模型的位置隱私保護(hù)方法.利用可信計(jì)算建立的評估模型,準(zhǔn)確度量了用戶的可信度,幫助其他用戶快速響應(yīng),減少匿名區(qū)構(gòu)造時(shí)間,同時(shí)用戶想達(dá)到自己的位置隱私保護(hù)需求,就要不斷幫助別人來提高自己的可信度,形成正向激勵(lì).安全性分析和實(shí)驗(yàn)表明,該方案是一種安全有效的K匿名隱私保護(hù)方案,未來的工作是完善信任評估模型,全面合理的評估用戶的可信度,從而提升匿名區(qū)服務(wù)質(zhì)量.4.2 結(jié)合CVCA信任評估模型的匿名區(qū)構(gòu)造過程
4.3 安全性分析
5 實(shí)驗(yàn)及結(jié)果分析
5.1 匿名區(qū)構(gòu)造性能分析
5.2 移動(dòng)用戶數(shù)量對匿名區(qū)構(gòu)造成功率的影響
6 小 結(jié)