王 超, 陳育德, 張國梁
(佳木斯大學(xué)信息電子技術(shù)學(xué)院,黑龍江 佳木斯 154007)
協(xié)作用戶的方法顯然便于將確定的攻擊目標(biāo)轉(zhuǎn)換成不確定的移動(dòng)變換目標(biāo),通過選定的可信協(xié)作用戶,用戶可將其查詢內(nèi)容通過該用戶進(jìn)行提交,使得真實(shí)位置被協(xié)作用戶所隱藏[1, 2]。當(dāng)經(jīng)過多個(gè)協(xié)作用戶的共同泛化后,使得不可信LBS獲得用戶位置的概率與隨機(jī)猜測相等,極大的保護(hù)了用戶的位置隱私[3, 4]。然而,這種方法的前提是確保協(xié)作用戶的真實(shí)可信,盡管有的方法考慮到協(xié)作用戶潛在的半可信性質(zhì),并通過加密的手段防止協(xié)作用戶獲取用戶的查詢信息,但是當(dāng)協(xié)作用戶可以和LBS共謀的情況下,簡單的對查詢信息進(jìn)行加密顯然無法保障用戶的個(gè)人位置隱私[5-7]。
為了彌補(bǔ)當(dāng)前已有隱私保護(hù)算法存在的不足,同時(shí)最大限度的平衡隱私與服務(wù)質(zhì)量,基于Ciphertext-Policy Attribute-Based Encryption (CP-ABE),利用中心服務(wù)器與協(xié)作用戶算法的特點(diǎn)提出了基于同類興趣點(diǎn)查詢分發(fā)反饋的隱私保護(hù)方法。該方法通過半可信的中心服務(wù)器與協(xié)作用戶使得在單方以及多方半可信實(shí)體共謀的情況下能夠保護(hù)用戶的個(gè)人位置隱私。同時(shí),方法基于半可信中心服務(wù)器的cache提供通信、計(jì)算量較低的連續(xù)位置服務(wù)隱私保護(hù)。另外,基于共謀指數(shù)以及信息熵[8],提出了針對多實(shí)體共謀的隱私泄露度量方法。基于該度量方法可以方便的量化在共謀實(shí)體數(shù)量變化情況下的用戶隱私泄露量,為隱私保護(hù)算法效果的比較提供有效的評價(jià)標(biāo)準(zhǔn)。最后,通過模擬實(shí)驗(yàn)進(jìn)一步分析所提出算法的執(zhí)行時(shí)間和通信量,并通過可協(xié)作用戶數(shù)量的變化評價(jià)所提出算法的隱私保護(hù)成功率。
與當(dāng)前普遍存在的二層或三層系統(tǒng)架構(gòu)不同,SQBCF算法采用的是一種如圖1所示的四層系統(tǒng)架構(gòu),該架構(gòu)能夠保障用戶完全隱藏在中心服務(wù)器與協(xié)作用戶背后。其中,中心服務(wù)器負(fù)責(zé)公鑰密鑰分發(fā)、將加密后的查詢進(jìn)行廣播并將加密的結(jié)果保存在cache中以備連續(xù)查詢時(shí)使用;協(xié)作用戶完成查詢的提交與查詢結(jié)果反饋;LBS服務(wù)器完成對興趣點(diǎn)的查詢與分發(fā)。整個(gè)基于位置的查詢過程中,用戶與LBS服務(wù)器之間不存在任何直接的交互,查詢通過協(xié)作用戶完成,并經(jīng)由中心服務(wù)器進(jìn)行反饋,一方面保障查詢的真實(shí)性,另一方面保證用戶在不同服務(wù)介質(zhì)實(shí)體共謀情況下的安全性。
服務(wù)介質(zhì)實(shí)體包括中心服務(wù)器和協(xié)作用戶,服務(wù)實(shí)體指不同的LBS服務(wù)器。在整個(gè)服務(wù)過程中服務(wù)器介質(zhì)實(shí)體可以相互之間進(jìn)行共謀,包括協(xié)作用戶之間以及協(xié)作用戶與中心服務(wù)器之間共謀;同時(shí),服務(wù)介質(zhì)實(shí)體也可以和LBS服務(wù)器之間形成共謀。假設(shè)服務(wù)介質(zhì)實(shí)體和LBS服務(wù)器均為半可信的,即以上實(shí)體一方面能夠按照用戶提出的要求提供隱私保護(hù)與查詢服務(wù),另一方面嘗試通過各種方法主要是共謀攻擊獲取用戶的位置隱私。
圖1 SQBCF算法的系統(tǒng)架構(gòu)
假設(shè)任何隱私保護(hù)的系統(tǒng)架構(gòu)中,所有介質(zhì)實(shí)體包括中心服務(wù)器和協(xié)作用戶均為半可信實(shí)體,LBS服務(wù)器也為半可信實(shí)體。具體表現(xiàn)為以上實(shí)體能夠按照既定協(xié)議提供隱私保護(hù)和基于位置的查詢服務(wù),同時(shí)這些實(shí)體又對用戶的位置隱私存在非惡意的好奇,希望通過各種手段獲得用戶的位置隱私。在整個(gè)基于位置查詢過程中,以上半可信實(shí)體可采用兩種不同的攻擊行為:一種可稱作單實(shí)體攻擊,即服務(wù)過程中可能獲得用戶信息的實(shí)體獨(dú)立完成對用戶隱私的攻擊行為;另一種成為共謀攻擊,即服務(wù)過程中可能獲得用戶信息的實(shí)體彼此共謀,共享各自得到的信息,并綜合共享信息獲取最大的用戶隱私。
對于單實(shí)體攻擊,其隱私保護(hù)程度取決于單實(shí)體獲取的用戶隱私信息量,表現(xiàn)為單實(shí)體在獲得的經(jīng)過泛化的信息總量中提取真實(shí)用戶隱私的概率。例如:用戶提交k個(gè)位置后,攻擊者根據(jù)自身獲得的信息猜測真實(shí)位置的概率為p(i) (1≤i≤k),然后根據(jù)極大似然估計(jì)推測用戶的真實(shí)位置。由此,可得到攻擊者對用戶隱私信息識別的不確定度,該不確定度可使用信息熵加以表示:
(1)
該值越大表示攻擊者對用戶隱私信息判定性越低,用戶的個(gè)人隱私受到的保護(hù)程度越高。
對于共謀攻擊,由于很難界定共謀后每個(gè)實(shí)體獲得用戶隱私信息的數(shù)量,但是通過信息傳遞量可以界定實(shí)體間的隱私披露總量。因此,對于共謀攻擊的隱私保護(hù)程度,通過共謀實(shí)體的隱私信息在給定隱私總量條件下隨給定隱私總量變化的不確定度的縮減量加以度量。設(shè)當(dāng)LBS未加入共謀時(shí),介質(zhì)實(shí)體可獲得的用戶隱私信息總量為X={x1,x2,…,xn};每個(gè)介質(zhì)實(shí)體掌握的隱私信息占介質(zhì)實(shí)體掌握總體隱私信息的百分比可表示為p(X)={p(x1),p(x2),…,p(xn)},則當(dāng)介質(zhì)實(shí)體彼此進(jìn)行共謀時(shí),介質(zhì)實(shí)體間交互的信息總量可表示為介質(zhì)實(shí)體交互過程中的信息變化量,該變化量的不確定度的縮減量可使用互信息加以度量,并表示為:
(2)
式(2)中:p(xixj)表示單個(gè)實(shí)體間交換的隱私信息百分比;n為介質(zhì)實(shí)體數(shù)量。
若LBS參與共謀,其掌握的用戶個(gè)人隱私總量為Y={y1,y2,…,ym} ,每個(gè)LBS掌握的隱私信息占總掌握隱私信息的百分比為p(Y)={p(y1),p(y2),…,p(ym)} ,則介質(zhì)實(shí)體與LBS之間共謀后可交換的隱私信息量的不確定度的縮減量可表示為:
(3)
式(3)中:p(xiyj)表示單個(gè)實(shí)體與單個(gè)LBS之間可交換的隱私信息百分比;m為LBS數(shù)量。
當(dāng)LBS將背景知識與介質(zhì)實(shí)體間共謀時(shí),其背景知識推測的用戶個(gè)人隱私總量可表示為Z={z1,z2,…,zl},每個(gè)背景知識可推測出用戶隱私信息百分比為p(Z)={p(z1),p(z2),…,p(zl)},則在背景知識條件下介質(zhì)實(shí)體與LBS之間共謀后可交換的隱私信息量的不確定度的縮減量可表示為:
(4)
式(4)中:p(xiyj|zk)表示在背景知識Z下單個(gè)實(shí)體與單個(gè)LBS交互的隱私信息百分比;p(xi|zk)表示在背景知識Z下介質(zhì)實(shí)體間的隱私信息交互百分比;p(yj|zk)表示在背景知識Z下LBS服務(wù)器之間隱私信息交互百分比;k表示背景知識數(shù)量。
針對半可信介質(zhì)實(shí)體與LBS服務(wù)器對用戶隱私進(jìn)行共謀攻擊的問題,通過將當(dāng)前位置區(qū)域劃分為網(wǎng)格,采用協(xié)作用戶返回所在網(wǎng)格興趣點(diǎn)的方法,完成用戶的查詢申請。真?zhèn)€查詢過程中用戶不需將所需興趣點(diǎn)類型發(fā)送給各實(shí)體,且用戶的真實(shí)位置可通過單元格泛化進(jìn)一步加以保護(hù)。其中,網(wǎng)格中協(xié)作用戶通過中心服務(wù)器廣播進(jìn)行區(qū)域限定;協(xié)作用戶通過屬性基加解密的方法保障協(xié)作用戶可提供當(dāng)前查詢用戶所需的興趣點(diǎn)內(nèi)容;為防止非共謀情況下CS獲取查詢結(jié)果,使用用戶提供的對稱密鑰進(jìn)行加密;共謀情況下CS獲取結(jié)果則通過用戶設(shè)定的泛化后的隨機(jī)單元格加以模糊;針對LBS可能掌握各單元格與查詢興趣點(diǎn)之間的敏感度情況,在單元格泛化時(shí)應(yīng)遵循敏感度不可區(qū)分標(biāo)準(zhǔn)。在整個(gè)查詢過程中,共謀各方僅能獲知當(dāng)前用戶可能位于選定的網(wǎng)格區(qū)域內(nèi),而無法獲知具體網(wǎng)格。
基于位置的查詢服務(wù)主要有范圍查詢和連續(xù)查詢兩種不同的查詢方式,這兩種不同查詢方式所需選擇的單元格范圍略有不同,為最大限度的保護(hù)用戶的位置隱私,針對兩種不同查詢方式提出了基于敏感度不可區(qū)分的單元格選取方法。然后,在選定查詢單元格的基礎(chǔ)上給出了介質(zhì)實(shí)體在整個(gè)查詢服務(wù)過程中的處理方法。
用戶在制定當(dāng)前位置范圍網(wǎng)格后,進(jìn)行范圍查詢主要有如圖2所示的兩種情況。兩種不同的查詢范圍需要用戶發(fā)送不同的單元格范圍給CS,以實(shí)現(xiàn)用戶單元格泛化。針對第一種情況,用戶可選擇當(dāng)前所在單元格,同時(shí)在當(dāng)前網(wǎng)格內(nèi)隨機(jī)選取k個(gè)單元格參與查詢范圍泛化即可。針對第二種情況,采用將當(dāng)前查詢區(qū)域按照中心擴(kuò)充的方法增加參與匿名的單元格數(shù)量,其增加單元格的方式是以當(dāng)前查詢范圍的中點(diǎn)為圓心,每次向四周擴(kuò)充一個(gè)單元格范圍,直到擴(kuò)充后的結(jié)果滿足ε-敏感度不可區(qū)分。
圖2 位置網(wǎng)格中的兩種查詢范圍
擴(kuò)充后的區(qū)域如圖2b中的虛線部分所示。在完成對泛化單元格的選擇后,用戶生成的網(wǎng)格、選定的單元格以及按照屬性基加密計(jì)算獲得的對稱密鑰發(fā)送給CS。
連續(xù)查詢與范圍查詢與范圍查詢不同,用戶是在一個(gè)移動(dòng)環(huán)境下對不同單元格提出查詢申請,使用范圍查詢中的隨機(jī)方法和中心擴(kuò)充方法都存在安全隱患。例如:隨機(jī)方法可能產(chǎn)生除用戶真實(shí)單元格軌跡無其它軌跡的問題;中心擴(kuò)充方法可能會導(dǎo)致真實(shí)軌跡位于匿名后多軌跡的中心位置?;谝陨戏治?,本文針對連續(xù)查詢過程中的網(wǎng)格選取提出了隨機(jī)擴(kuò)充方法,且要求隨機(jī)擴(kuò)充后的單元格同樣滿足ε-敏感度不可區(qū)分。
以圖3所示的連續(xù)五次查詢?yōu)槔?,可看到連續(xù)查詢每次產(chǎn)生的單元格泛化后的結(jié)果。其中隨機(jī)擴(kuò)充方法是以當(dāng)前單元格為基礎(chǔ),向四周隨機(jī)選擇下一單元格,重復(fù)這一操作,直道選定的單元格總敏感度與所需申請單元格敏感度之間滿足ε-敏感度不可區(qū)分。與范圍查詢不同的是,在進(jìn)行連續(xù)查詢中需要CS將查詢結(jié)果保存在cache中,用戶可在每次查詢時(shí)從CS獲得加密的查詢結(jié)果,而不需將所有單元格中的興趣點(diǎn)保存在移動(dòng)客戶端。
圖3 連續(xù)查詢的網(wǎng)格匿名
經(jīng)過用戶計(jì)算獲得網(wǎng)格中所需單元格泛化結(jié)果后,用戶須將計(jì)算生成的信息集發(fā)送給介質(zhì)實(shí)體,以完成查詢服務(wù)。介質(zhì)實(shí)體在獲得用戶發(fā)送的消息后完成隱私保護(hù)下的查詢服務(wù)。其具體處理過程如下:
1)用戶將當(dāng)前所在區(qū)域劃分為網(wǎng)格形式,同時(shí)將查詢興趣點(diǎn)類型集合Pt按照中心服務(wù)器公布的公鑰和主密鑰建立映射屬性的解密密鑰。然后用戶建立并將加密的查詢信息發(fā)送給中心服務(wù)器,該信息可表示為M{G,CPABEENCpk(Ek,A),N,D,c}。其中,G為用戶設(shè)定當(dāng)前區(qū)域網(wǎng)格;CPABEENCpk(Ek,A)表示用戶根據(jù)興趣點(diǎn)Pt建立的屬性權(quán)限策略A在使用公鑰對用戶對稱加密密鑰Ek加密后的密文;N表示該用戶在設(shè)定的網(wǎng)格G中選定所需的單元格標(biāo)識;D為使用興趣點(diǎn)Pt、中心服務(wù)器公布的主密鑰mk、公鑰pk建立的基于指定興趣點(diǎn)類型的解密密鑰;c={0,1}用以標(biāo)記該用戶是否需要進(jìn)行連續(xù)查詢。
2)中心服務(wù)器收到有用戶傳遞的信息M后,首先檢測c的取值判斷信息廣播范圍,若c取1則在整個(gè)網(wǎng)格區(qū)域進(jìn)行廣播,否則按照N表示的單元格進(jìn)行廣播。廣播信息可表示為Mb{G,CPABEENCpk(Ek,A),D}。
3)位于當(dāng)前區(qū)域中的協(xié)作用戶在收到由中心服務(wù)器廣播的信息之后選擇是否提供協(xié)作服務(wù),若不愿提供服務(wù)則丟棄信息包,否則嘗試使用對CPABEENCpk(Ek,A)進(jìn)行解密;若該用戶成功解密則在獲取自身查詢結(jié)果后將當(dāng)前所在單元格信息與使用Ek加密后的查詢結(jié)果Ek(Pi)發(fā)送給中心服務(wù)器,該信息可表示為Mr{Ek(Pi),Gi}。協(xié)作用戶具體信息處理過程可見如圖4所示的服務(wù)介質(zhì)處理流程圖。
圖4 服務(wù)介質(zhì)處理流程圖
4)中心服務(wù)器在收到不同協(xié)作用戶返回的查詢結(jié)果后,按照N所標(biāo)識的網(wǎng)格位置將Ek(Pi)發(fā)送給用戶,同時(shí)檢查c,若取值為1則將所有返回結(jié)果保存在cache中,否則在完成指定標(biāo)識結(jié)果反饋后丟棄由協(xié)作用戶返回的查詢結(jié)果。
5)用戶將Ek(Pi)使用自身私鑰解密獲得泛化后的查詢結(jié)果,經(jīng)過提純獲得所需查詢結(jié)果。
針對協(xié)作用戶方法保護(hù)用戶隱私可能存在共謀攻擊的問題,提出了應(yīng)對方法。首先從隱私信息披露的角度對可能共謀的攻擊行為產(chǎn)生的信息流進(jìn)行了理論分析,通過信息流產(chǎn)生的各實(shí)體之間的關(guān)系提出了隱私保護(hù)算法;然后介紹了該算法所需要的系統(tǒng)架構(gòu)和隱私保護(hù)思想;最后給出了算法執(zhí)行方式和處理流程。