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