王 超, 陳育德, 張國梁
(佳木斯大學(xué)信息電子技術(shù)學(xué)院,黑龍江 佳木斯 154007)
協(xié)作用戶的方法顯然便于將確定的攻擊目標(biāo)轉(zhuǎn)換成不確定的移動變換目標(biāo),通過選定的可信協(xié)作用戶,用戶可將其查詢內(nèi)容通過該用戶進行提交,使得真實位置被協(xié)作用戶所隱藏[1, 2]。當(dāng)經(jīng)過多個協(xié)作用戶的共同泛化后,使得不可信LBS獲得用戶位置的概率與隨機猜測相等,極大的保護了用戶的位置隱私[3, 4]。然而,這種方法的前提是確保協(xié)作用戶的真實可信,盡管有的方法考慮到協(xié)作用戶潛在的半可信性質(zhì),并通過加密的手段防止協(xié)作用戶獲取用戶的查詢信息,但是當(dāng)協(xié)作用戶可以和LBS共謀的情況下,簡單的對查詢信息進行加密顯然無法保障用戶的個人位置隱私[5-7]。
為了彌補當(dāng)前已有隱私保護算法存在的不足,同時最大限度的平衡隱私與服務(wù)質(zhì)量,基于Ciphertext-Policy Attribute-Based Encryption (CP-ABE),利用中心服務(wù)器與協(xié)作用戶算法的特點提出了基于同類興趣點查詢分發(fā)反饋的隱私保護方法。該方法通過半可信的中心服務(wù)器與協(xié)作用戶使得在單方以及多方半可信實體共謀的情況下能夠保護用戶的個人位置隱私。同時,方法基于半可信中心服務(wù)器的cache提供通信、計算量較低的連續(xù)位置服務(wù)隱私保護。另外,基于共謀指數(shù)以及信息熵[8],提出了針對多實體共謀的隱私泄露度量方法。基于該度量方法可以方便的量化在共謀實體數(shù)量變化情況下的用戶隱私泄露量,為隱私保護算法效果的比較提供有效的評價標(biāo)準(zhǔn)。最后,通過模擬實驗進一步分析所提出算法的執(zhí)行時間和通信量,并通過可協(xié)作用戶數(shù)量的變化評價所提出算法的隱私保護成功率。
與當(dāng)前普遍存在的二層或三層系統(tǒng)架構(gòu)不同,SQBCF算法采用的是一種如圖1所示的四層系統(tǒng)架構(gòu),該架構(gòu)能夠保障用戶完全隱藏在中心服務(wù)器與協(xié)作用戶背后。其中,中心服務(wù)器負責(zé)公鑰密鑰分發(fā)、將加密后的查詢進行廣播并將加密的結(jié)果保存在cache中以備連續(xù)查詢時使用;協(xié)作用戶完成查詢的提交與查詢結(jié)果反饋;LBS服務(wù)器完成對興趣點的查詢與分發(fā)。整個基于位置的查詢過程中,用戶與LBS服務(wù)器之間不存在任何直接的交互,查詢通過協(xié)作用戶完成,并經(jīng)由中心服務(wù)器進行反饋,一方面保障查詢的真實性,另一方面保證用戶在不同服務(wù)介質(zhì)實體共謀情況下的安全性。
服務(wù)介質(zhì)實體包括中心服務(wù)器和協(xié)作用戶,服務(wù)實體指不同的LBS服務(wù)器。在整個服務(wù)過程中服務(wù)器介質(zhì)實體可以相互之間進行共謀,包括協(xié)作用戶之間以及協(xié)作用戶與中心服務(wù)器之間共謀;同時,服務(wù)介質(zhì)實體也可以和LBS服務(wù)器之間形成共謀。假設(shè)服務(wù)介質(zhì)實體和LBS服務(wù)器均為半可信的,即以上實體一方面能夠按照用戶提出的要求提供隱私保護與查詢服務(wù),另一方面嘗試通過各種方法主要是共謀攻擊獲取用戶的位置隱私。

圖1 SQBCF算法的系統(tǒng)架構(gòu)
假設(shè)任何隱私保護的系統(tǒng)架構(gòu)中,所有介質(zhì)實體包括中心服務(wù)器和協(xié)作用戶均為半可信實體,LBS服務(wù)器也為半可信實體。具體表現(xiàn)為以上實體能夠按照既定協(xié)議提供隱私保護和基于位置的查詢服務(wù),同時這些實體又對用戶的位置隱私存在非惡意的好奇,希望通過各種手段獲得用戶的位置隱私。在整個基于位置查詢過程中,以上半可信實體可采用兩種不同的攻擊行為:一種可稱作單實體攻擊,即服務(wù)過程中可能獲得用戶信息的實體獨立完成對用戶隱私的攻擊行為;另一種成為共謀攻擊,即服務(wù)過程中可能獲得用戶信息的實體彼此共謀,共享各自得到的信息,并綜合共享信息獲取最大的用戶隱私。
對于單實體攻擊,其隱私保護程度取決于單實體獲取的用戶隱私信息量,表現(xiàn)為單實體在獲得的經(jīng)過泛化的信息總量中提取真實用戶隱私的概率。例如:用戶提交k個位置后,攻擊者根據(jù)自身獲得的信息猜測真實位置的概率為p(i) (1≤i≤k),然后根據(jù)極大似然估計推測用戶的真實位置。由此,可得到攻擊者對用戶隱私信息識別的不確定度,該不確定度可使用信息熵加以表示:
(1)
該值越大表示攻擊者對用戶隱私信息判定性越低,用戶的個人隱私受到的保護程度越高。
對于共謀攻擊,由于很難界定共謀后每個實體獲得用戶隱私信息的數(shù)量,但是通過信息傳遞量可以界定實體間的隱私披露總量。因此,對于共謀攻擊的隱私保護程度,通過共謀實體的隱私信息在給定隱私總量條件下隨給定隱私總量變化的不確定度的縮減量加以度量。設(shè)當(dāng)LBS未加入共謀時,介質(zhì)實體可獲得的用戶隱私信息總量為X={x1,x2,…,xn};每個介質(zhì)實體掌握的隱私信息占介質(zhì)實體掌握總體隱私信息的百分比可表示為p(X)={p(x1),p(x2),…,p(xn)},則當(dāng)介質(zhì)實體彼此進行共謀時,介質(zhì)實體間交互的信息總量可表示為介質(zhì)實體交互過程中的信息變化量,該變化量的不確定度的縮減量可使用互信息加以度量,并表示為:
(2)
式(2)中:p(xixj)表示單個實體間交換的隱私信息百分比;n為介質(zhì)實體數(shù)量。
若LBS參與共謀,其掌握的用戶個人隱私總量為Y={y1,y2,…,ym} ,每個LBS掌握的隱私信息占總掌握隱私信息的百分比為p(Y)={p(y1),p(y2),…,p(ym)} ,則介質(zhì)實體與LBS之間共謀后可交換的隱私信息量的不確定度的縮減量可表示為:
(3)
式(3)中:p(xiyj)表示單個實體與單個LBS之間可交換的隱私信息百分比;m為LBS數(shù)量。
當(dāng)LBS將背景知識與介質(zhì)實體間共謀時,其背景知識推測的用戶個人隱私總量可表示為Z={z1,z2,…,zl},每個背景知識可推測出用戶隱私信息百分比為p(Z)={p(z1),p(z2),…,p(zl)},則在背景知識條件下介質(zhì)實體與LBS之間共謀后可交換的隱私信息量的不確定度的縮減量可表示為:
(4)
式(4)中:p(xiyj|zk)表示在背景知識Z下單個實體與單個LBS交互的隱私信息百分比;p(xi|zk)表示在背景知識Z下介質(zhì)實體間的隱私信息交互百分比;p(yj|zk)表示在背景知識Z下LBS服務(wù)器之間隱私信息交互百分比;k表示背景知識數(shù)量。

針對半可信介質(zhì)實體與LBS服務(wù)器對用戶隱私進行共謀攻擊的問題,通過將當(dāng)前位置區(qū)域劃分為網(wǎng)格,采用協(xié)作用戶返回所在網(wǎng)格興趣點的方法,完成用戶的查詢申請。真?zhèn)€查詢過程中用戶不需將所需興趣點類型發(fā)送給各實體,且用戶的真實位置可通過單元格泛化進一步加以保護。其中,網(wǎng)格中協(xié)作用戶通過中心服務(wù)器廣播進行區(qū)域限定;協(xié)作用戶通過屬性基加解密的方法保障協(xié)作用戶可提供當(dāng)前查詢用戶所需的興趣點內(nèi)容;為防止非共謀情況下CS獲取查詢結(jié)果,使用用戶提供的對稱密鑰進行加密;共謀情況下CS獲取結(jié)果則通過用戶設(shè)定的泛化后的隨機單元格加以模糊;針對LBS可能掌握各單元格與查詢興趣點之間的敏感度情況,在單元格泛化時應(yīng)遵循敏感度不可區(qū)分標(biāo)準(zhǔn)。在整個查詢過程中,共謀各方僅能獲知當(dāng)前用戶可能位于選定的網(wǎng)格區(qū)域內(nèi),而無法獲知具體網(wǎng)格。
基于位置的查詢服務(wù)主要有范圍查詢和連續(xù)查詢兩種不同的查詢方式,這兩種不同查詢方式所需選擇的單元格范圍略有不同,為最大限度的保護用戶的位置隱私,針對兩種不同查詢方式提出了基于敏感度不可區(qū)分的單元格選取方法。然后,在選定查詢單元格的基礎(chǔ)上給出了介質(zhì)實體在整個查詢服務(wù)過程中的處理方法。
用戶在制定當(dāng)前位置范圍網(wǎng)格后,進行范圍查詢主要有如圖2所示的兩種情況。兩種不同的查詢范圍需要用戶發(fā)送不同的單元格范圍給CS,以實現(xiàn)用戶單元格泛化。針對第一種情況,用戶可選擇當(dāng)前所在單元格,同時在當(dāng)前網(wǎng)格內(nèi)隨機選取k個單元格參與查詢范圍泛化即可。針對第二種情況,采用將當(dāng)前查詢區(qū)域按照中心擴充的方法增加參與匿名的單元格數(shù)量,其增加單元格的方式是以當(dāng)前查詢范圍的中點為圓心,每次向四周擴充一個單元格范圍,直到擴充后的結(jié)果滿足ε-敏感度不可區(qū)分。

圖2 位置網(wǎng)格中的兩種查詢范圍

擴充后的區(qū)域如圖2b中的虛線部分所示。在完成對泛化單元格的選擇后,用戶生成的網(wǎng)格、選定的單元格以及按照屬性基加密計算獲得的對稱密鑰發(fā)送給CS。
連續(xù)查詢與范圍查詢與范圍查詢不同,用戶是在一個移動環(huán)境下對不同單元格提出查詢申請,使用范圍查詢中的隨機方法和中心擴充方法都存在安全隱患。例如:隨機方法可能產(chǎn)生除用戶真實單元格軌跡無其它軌跡的問題;中心擴充方法可能會導(dǎo)致真實軌跡位于匿名后多軌跡的中心位置。基于以上分析,本文針對連續(xù)查詢過程中的網(wǎng)格選取提出了隨機擴充方法,且要求隨機擴充后的單元格同樣滿足ε-敏感度不可區(qū)分。
以圖3所示的連續(xù)五次查詢?yōu)槔煽吹竭B續(xù)查詢每次產(chǎn)生的單元格泛化后的結(jié)果。其中隨機擴充方法是以當(dāng)前單元格為基礎(chǔ),向四周隨機選擇下一單元格,重復(fù)這一操作,直道選定的單元格總敏感度與所需申請單元格敏感度之間滿足ε-敏感度不可區(qū)分。與范圍查詢不同的是,在進行連續(xù)查詢中需要CS將查詢結(jié)果保存在cache中,用戶可在每次查詢時從CS獲得加密的查詢結(jié)果,而不需將所有單元格中的興趣點保存在移動客戶端。

圖3 連續(xù)查詢的網(wǎng)格匿名
經(jīng)過用戶計算獲得網(wǎng)格中所需單元格泛化結(jié)果后,用戶須將計算生成的信息集發(fā)送給介質(zhì)實體,以完成查詢服務(wù)。介質(zhì)實體在獲得用戶發(fā)送的消息后完成隱私保護下的查詢服務(wù)。其具體處理過程如下:
1)用戶將當(dāng)前所在區(qū)域劃分為網(wǎng)格形式,同時將查詢興趣點類型集合Pt按照中心服務(wù)器公布的公鑰和主密鑰建立映射屬性的解密密鑰。然后用戶建立并將加密的查詢信息發(fā)送給中心服務(wù)器,該信息可表示為M{G,CPABEENCpk(Ek,A),N,D,c}。其中,G為用戶設(shè)定當(dāng)前區(qū)域網(wǎng)格;CPABEENCpk(Ek,A)表示用戶根據(jù)興趣點Pt建立的屬性權(quán)限策略A在使用公鑰對用戶對稱加密密鑰Ek加密后的密文;N表示該用戶在設(shè)定的網(wǎng)格G中選定所需的單元格標(biāo)識;D為使用興趣點Pt、中心服務(wù)器公布的主密鑰mk、公鑰pk建立的基于指定興趣點類型的解密密鑰;c={0,1}用以標(biāo)記該用戶是否需要進行連續(xù)查詢。
2)中心服務(wù)器收到有用戶傳遞的信息M后,首先檢測c的取值判斷信息廣播范圍,若c取1則在整個網(wǎng)格區(qū)域進行廣播,否則按照N表示的單元格進行廣播。廣播信息可表示為Mb{G,CPABEENCpk(Ek,A),D}。
3)位于當(dāng)前區(qū)域中的協(xié)作用戶在收到由中心服務(wù)器廣播的信息之后選擇是否提供協(xié)作服務(wù),若不愿提供服務(wù)則丟棄信息包,否則嘗試使用對CPABEENCpk(Ek,A)進行解密;若該用戶成功解密則在獲取自身查詢結(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ā)送給用戶,同時檢查c,若取值為1則將所有返回結(jié)果保存在cache中,否則在完成指定標(biāo)識結(jié)果反饋后丟棄由協(xié)作用戶返回的查詢結(jié)果。
5)用戶將Ek(Pi)使用自身私鑰解密獲得泛化后的查詢結(jié)果,經(jīng)過提純獲得所需查詢結(jié)果。
針對協(xié)作用戶方法保護用戶隱私可能存在共謀攻擊的問題,提出了應(yīng)對方法。首先從隱私信息披露的角度對可能共謀的攻擊行為產(chǎn)生的信息流進行了理論分析,通過信息流產(chǎn)生的各實體之間的關(guān)系提出了隱私保護算法;然后介紹了該算法所需要的系統(tǒng)架構(gòu)和隱私保護思想;最后給出了算法執(zhí)行方式和處理流程。