嚴少均,王子馳,張新鵬
上海大學(xué)通信與信息工程學(xué)院,上海200444
隨著移動設(shè)備的普及,用戶可以享受的位置服務(wù)越來越豐富.然而用戶在享受快捷服務(wù)的同時也面臨隱私泄露的問題.2018年4月28日,全球領(lǐng)先的新經(jīng)濟行業(yè)數(shù)據(jù)挖掘和分析機構(gòu)iiMedia Research(艾媒咨詢)權(quán)威發(fā)布《2018 中國手機APP 隱私權(quán)限測評報告》指出,移動社交及網(wǎng)購類APP 調(diào)用定位權(quán)限占比高達96.7%.當攻擊者掌握用戶的位置隱私后,攻擊者可以向用戶推送廣告來獲益或者推送片面信息引導(dǎo)輿論,更有甚者可以通過用戶的位置以及軌跡信息推斷出用戶的身份信息,以致對人身安全造成影響.因此,保護位置信息意義重大[1-3].
目前保護位置信息的系統(tǒng)架構(gòu)主要分為分布式架構(gòu)[4-5]和中心式架構(gòu)[6-7].其中分布式架構(gòu)中包括用戶群和服務(wù)器,如圖1所示,用戶在發(fā)起查詢請求前先在P2P(點對點)群內(nèi)自行構(gòu)建匿名區(qū)域(如匿名矩形區(qū)域或匿名圓形區(qū)域)來代替區(qū)域內(nèi)的若干個用戶.組內(nèi)的所有用戶共同分擔查詢?nèi)蝿?wù)并共享查詢結(jié)果.但該架構(gòu)所需通信帶寬大,對用戶終端計算能力依賴強,且當用戶群中出現(xiàn)惡意攻擊者時無法采取防范措施.此外,由于在用戶端對位置信息進行了模糊處理,服務(wù)質(zhì)量也會降低.與分布式架構(gòu)不同,中心式架構(gòu)通過引入一個可信第三方來對用戶的信息進行預(yù)處理.如圖2所示,引入可信第三方后,用戶不需要對自己的位置坐標進行處理,而是直接把定位信息發(fā)送給可信第三方.可信第三方將地理位置上聚集的用戶群構(gòu)建出匿名區(qū)域后向服務(wù)器發(fā)起匿名請求,之后對返回的結(jié)果進行過濾后分別分配給不同ID 的用戶.該架構(gòu)在保證安全性的前提下有效地提升了用戶的服務(wù)質(zhì)量.
圖1 分布式架構(gòu)Figure1 Distributed architecture
圖2 中心式架構(gòu)Figure2 Central architecture
在上述兩種架構(gòu)中,保護的隱私信息主要分為單次查詢的點位置坐標信息[8]與連續(xù)查詢的軌跡信息[9].針對單次查詢中點位置信息的保護,主要是采用k-匿名的方法,其目的是無法讓服務(wù)器無法在k個用戶中區(qū)分出真實用戶,從而達到保護用戶的目的.但對于同樣的單點用戶k-匿名方法應(yīng)用到軌跡保護中則效果不理想.主要原因是軌跡信息不但包含點位置坐標,而且軌跡位置坐標之間還包含了時序信息.攻擊者可以根據(jù)軌跡在時間上的趨勢還原出用戶的軌跡信息,從而推斷出用戶的敏感屬性.如圖3所示,用戶(黑色五角星)在連續(xù)3 個時刻都滿足k=4 的匿名要求,但是匿名區(qū)域中心所連接出來的軌跡(藍色軌跡線條)和原軌跡(紅色軌跡線條)是類似的,隨著連續(xù)請求的密度逐漸增大這個現(xiàn)象會更加明顯.在此基礎(chǔ)上進行改進的方法有軌跡的k-匿名法[10],該方法要求有k條難以互相區(qū)分的軌跡.但是在城市路網(wǎng)環(huán)境中,當攻擊者知道城市地圖時,其實很多條偽軌跡不可能存在,如城市中的湖泊、單行道等.此外其余k ?1 條軌跡所帶來的計算負擔會很大,影響時效性.文獻[11]利用周圍伙伴一跳內(nèi)的位置數(shù)據(jù)共享來將服務(wù)器端的連續(xù)軌跡斷開,從而使攻擊者無法在兩個時間間隔較大的點內(nèi)判斷出軌跡.但是該方法不能保證用戶下一跳的位置點剛好被伙伴緩存,所以有一定概率使得軌跡斷點失效,此外為了下一跳的緩存數(shù)據(jù)需要周圍一跳內(nèi)的所有用戶一起加入請求,可見所耗費的資源以及通信代價過高.
圖3 連續(xù)查詢的k-匿名圖示Figure3 K-anonymous for continuous query
上述工作有效解決了單次查詢中的隱私保護問題,但對連續(xù)查詢中軌跡隱私的保護方法并不完善.軌跡隱私中的保護方法浪費了大量的通信帶寬,故不能在實用性和安全性上取得一個較好的權(quán)衡.針對軌跡保護方法[11]中緩存利用率低以及匿名區(qū)域不合理的問題,本文在系統(tǒng)中引入了改進的長短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò).本網(wǎng)絡(luò)利用用戶軌跡的時序信息有效提高軌跡的預(yù)測準確率.在此基礎(chǔ)上,將預(yù)測位置放入當前時刻進行匿名區(qū)域的構(gòu)造,從而使得匿名區(qū)域更加合理,達到了隱私保護的效果.文中所提出的軌跡隱私保護方法能有效地提升緩存命中率,減少服務(wù)器有效請求次數(shù),從而在保證軌跡服務(wù)質(zhì)量的同時防止服務(wù)器推斷出用戶的隱私信息.
LSTM 網(wǎng)絡(luò)是一種時間遞歸神經(jīng)網(wǎng)絡(luò),適合處理和預(yù)測時間序列中間隔和延遲非常長的重要事件,是一種非線性模型,可以用來構(gòu)造一些大型的深度神經(jīng)網(wǎng)絡(luò).不同于傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN),LSTM 可以記憶不定時間長度的數(shù)值,其內(nèi)部有一個門模塊能夠決定輸入是否需要被長時間記住以及是否需要輸出.時序匿名是一種從時間維度上進行匿名的方法,原始的匿名方案將不同時間點的用戶單獨考慮,存在匿名者參與不夠?qū)е履涿麉^(qū)域不合理的狀態(tài);時序匿名將前后時間點的用戶放入同一個匿名區(qū)中,既可以完善本次請求的匿名合理性,又可以預(yù)測將來時刻的請求.本文將LSTM 網(wǎng)絡(luò)應(yīng)用于城市軌跡隱私保護中,可信第三方利用該LSTM 模型預(yù)測出用戶在將來時刻的位置點信息.之后可信第三方通過提前發(fā)起未來的請求來擾亂服務(wù)器端用戶的軌跡信息.這一做法使得軌跡的時序信息被打亂,一方面使得匿名區(qū)域的構(gòu)建更加合理,另一方面由于將來時刻的請求結(jié)果被提前緩存以供后續(xù)進行請求應(yīng)答,保證了后續(xù)請求的服務(wù)質(zhì)量.此時在攻擊者看來,用戶的軌跡產(chǎn)生了多種可能性,達到了軌跡隱私和服務(wù)質(zhì)量之間權(quán)衡的目的.
考慮到LSTM 模型在弱計算能力的終端運行可能會影響時效性,本文采用的系統(tǒng)為改進的中心式架構(gòu).該系統(tǒng)包含了用戶、可信第三方和服務(wù)器3 部分,其工作過程如圖4所示.
圖4 本文系統(tǒng)工作過程Figure4 Working process of the proposed system
首先,用戶會在本地生成當前時刻的請求信息MSGT:{ID,Loc,T,Q,V}.其中:ID 表示用戶的唯一身份標識,如IP 地址等;Loc 表示用戶的經(jīng)緯度定位信息;Q表示用戶的查詢內(nèi)容,T表示此次發(fā)起請求的時刻點;V表示用戶的速度.
之后可信第三方收集各個用戶的請求信息,根據(jù)不同用戶的MSGT分別預(yù)測出將來若干個時序的位置點信息MSGT+1,MSGT+2,···,MSGT+n.然后,第三方先拷貝一份存取到本地數(shù)據(jù)庫中以供后續(xù)的ID匹配,之后將請求信息去ID后根據(jù)用戶隱私預(yù)算k,將用戶的位置信息劃分成多個匿名區(qū)域,此時得到的信息為,其中為匿名區(qū)域,為Q的集合,可以參考圖3中的矩形部分(隱私預(yù)算為k=4).因為此處本文考慮的背景是用戶的連續(xù)請求,所以在該時間段內(nèi)用戶的請求內(nèi)容保持不變.為該匿名區(qū)域內(nèi)不同ID 的用戶所發(fā)起的請求內(nèi)容Q的集合.
服務(wù)器得到此信息后在數(shù)據(jù)庫進行服務(wù)請求查找,此時由于地理位置經(jīng)過了匿名化處理,服務(wù)器只能獲知用戶位置的一個范圍而無法確定具體位置.服務(wù)器根據(jù)同一匿名區(qū)域中不同的,返回該請求結(jié)果POIs(興趣點集合),POIs 包含了集合中所有請求的結(jié)果值.匿名者收到POIs 后根據(jù)之前在本地拷貝的數(shù)據(jù)集進行一一匹配,之后根據(jù)該時刻不同用戶的請求將POI 信息返回給用戶.因為此時已經(jīng)緩存了后續(xù)若干個時刻的用戶POI結(jié)果,所以當用戶在下一個預(yù)測點附近發(fā)起請求時,可信第三方不會將當前準確位置發(fā)送給服務(wù)器發(fā)起查詢,而是隨機產(chǎn)生一個偏離準確位置的假位置來混淆服務(wù)器,同時直接利用服務(wù)器上次的緩存信息返回匿名組的查詢信息.
本方法通過減少真實軌跡信息與服務(wù)器的通信次數(shù)來保證隱私免受泄露,通過緩存的POIs 信息同樣由第三方進行一一匹配后返回給用戶來保證請求結(jié)果的準確性.
LSTM 是一種RNN 的特殊類型.區(qū)別于傳統(tǒng)RNN,LSTM 在算法中加入了模擬生物細胞的結(jié)構(gòu)單元(cell),用于判斷處理信息是否有用.一個cell 中包含了3 個門:輸入門、遺忘門和輸出門.當信息進入LSTM 網(wǎng)絡(luò)當中時,可以根據(jù)算法的規(guī)則來判斷是否有用,決定是保留還是遺忘該信息,從而有效解決傳統(tǒng)RNN 所帶來的梯度消失以及梯度爆炸問題.LSTM 適用于處理和預(yù)測基于時間序列的相關(guān)事件,目前已應(yīng)用于眾多領(lǐng)域[12],包括自然語言處理以及語音識別[13-14]等,但將此技術(shù)應(yīng)用于隱私保護領(lǐng)域的文獻較少.本文將LSTM 網(wǎng)絡(luò)應(yīng)用于城市軌跡預(yù)測中,依靠準確的預(yù)測結(jié)果來保護用戶的軌跡隱私.
圖5展示了本文所采用的網(wǎng)絡(luò)結(jié)構(gòu),考慮到用戶軌跡會因為交通方式的不同對軌跡產(chǎn)生速度和方向上的影響,本文提取每一段軌跡數(shù)據(jù)的交通方式作為模型的一個輸入,并以此特征數(shù)據(jù)作為模型的旁路分支來優(yōu)化模型結(jié)果,再將分段篩選清理后的軌跡數(shù)據(jù)送入模型中訓(xùn)練,根據(jù)梯度下降和反向傳播算法進行參數(shù)修正.
圖5 LSTM 網(wǎng)絡(luò)結(jié)構(gòu)圖Figure5 Network structure diagram of LSTM
如圖6所示,不同顏色的幾何圖形表示不同ID 的設(shè)備(可以是不同交通方式,且這些方式在發(fā)起連續(xù)請求時的時間間隔和運行速度范圍都有所不同),未填充幾何圖形表示將來時刻預(yù)測的點位置信息,數(shù)字表示將來第n時刻的位置,虛線表示匿名區(qū)域.
傳統(tǒng)匿名區(qū)域的形成都是同一時刻的點位置信息,本方法利用一時間段內(nèi)的連續(xù)時序點來構(gòu)造匿名區(qū)域.使用本方法后,在一定程度上將時序強相關(guān)性的軌跡查詢轉(zhuǎn)換為時序弱相關(guān)性的點位置查詢,同時利用連續(xù)時序的用戶點位置信息來構(gòu)造匿名區(qū)域可以有效解決匿名位置數(shù)量不足的問題.因為此時匿名集合中的位置都是之后時序可能出現(xiàn)的,所以本方法可在減少無用虛擬位置的基礎(chǔ)上提高緩存利用率.同時利用了緩存作為之后時刻的應(yīng)答資源,減少了用戶對服務(wù)器的有效查詢請求,這樣服務(wù)器端得到的用戶軌跡會更模糊,從而在不影響連續(xù)請求服務(wù)質(zhì)量的前提下保護了軌跡隱私.
取t1、t2、t3這3 個時刻的4 個用戶為例,當隱私預(yù)算k=4時,傳統(tǒng)方法和本文方法中查詢單元的分布如圖7所示,其中3 種由淺到深的顏色表示連續(xù)增長的t1、t2、t3這3 個時刻.其上半部分說明了傳統(tǒng)k-匿名方法對于軌跡查詢的無效性,并與圖3對應(yīng).可以發(fā)現(xiàn)雖然每一時刻都進行了位置匿名,但是軌跡的連續(xù)性導(dǎo)致隱私依然泄露.圖7的下半部分是應(yīng)用了本文提出的預(yù)測模型后進行的軌跡查詢,相較于傳統(tǒng)方法,因為進行了軌跡預(yù)測,所以同一匿名區(qū)域內(nèi)存在不同時刻的同一用戶,匿名區(qū)域的構(gòu)造不再局限于時間維度.本方法增加了軌跡點之間的混亂程度,使得用戶真實軌跡與服務(wù)器根據(jù)用戶請求時間恢復(fù)出來的軌跡存在差異,從而使攻擊者無法準確判斷用戶軌跡,保護了軌跡隱私.
圖6 匿名區(qū)域Figure6 Anonymous area
圖7 查詢單元的分布Figure7 Distribution of the query cell
Thomas Brinkhoff[15]是常用的基于互聯(lián)網(wǎng)絡(luò)的移動對象生成器,采用了德國奧爾登堡的地圖作為實驗背景.下面的實驗數(shù)據(jù)都是由該生成器生成的.本文所用的數(shù)據(jù)集包含57 260 個點位置信息,我們將數(shù)據(jù)集按占比劃分為10%和90%兩組,利用90%的數(shù)據(jù)集來進行模型訓(xùn)練,其余的數(shù)據(jù)進行模型驗證.
已知真實軌跡Tt={T1,T2,T3,···,Ti}和預(yù)測軌跡Tp={Tp1,Tp2,Tp3,···,Tpi},D(t,p)表示空間中t和p兩點間的歐氏距離,η表示閾值,當D(t,p)<η時表示預(yù)測位置準確,定義軌跡點的預(yù)測準確度為
本文通過預(yù)測準確率來衡量模型的預(yù)測效果,預(yù)測準確率為
式中,LT p為預(yù)測的軌跡序列Tp的長度.
根據(jù)預(yù)測前已知位置序列的長度不同來預(yù)測接下來某幾個時刻點的位置信息,如A(3→1)字段表示根據(jù)3 個連續(xù)時刻的軌跡點信息,預(yù)測將來一個時刻的位置信息.表1展示了不同閾值下本文方法與基準算法[15]進行位置預(yù)測的準確率.
表1 不同閾值下本文方法與基準算法進行位置預(yù)測的準確性Table1 Accuracy of location prediction based on the proposed method and benchmark algorithm under different thresholds
相較于基準算法,本文所提出的模型就預(yù)測的準確率而言有了較大的提升,用戶根據(jù)預(yù)測軌跡值能夠較好地保護軌跡信息.考慮到極端情況下需要預(yù)測連續(xù)時刻的位置精度,從表1的數(shù)據(jù)中發(fā)現(xiàn)本文方法的準確率還是高于基準算法的準確率,當η<50 時,A(3→2),A(4→2),A(4→3)的預(yù)測值都處于40%~50%之間,且發(fā)現(xiàn)已知軌跡點信息數(shù)和預(yù)測軌跡點準確率是正相關(guān)的,即說明了軌跡之間的時間相關(guān)性.其中當我們僅根據(jù)當前值預(yù)測未來值時,準確率反而低于基準算法,這恰好說明因為用戶軌跡具有隨機性,所以在不利用時序信息的前提下很難提高預(yù)測準確率.
為了進一步說明本文方法的有效性,本文對相同數(shù)據(jù)集是否采用該模型分別進行對比分析.從圖8中可以看出,采用該方法(即當前時刻+預(yù)測時刻)所構(gòu)建的匿名區(qū)域更加合理,從根本上減少了通信帶寬.此外,本文在數(shù)據(jù)集的地理位置中隨機加入1 000 個興趣點,根據(jù)不同用戶的請求分別統(tǒng)計了各自返回的興趣點數(shù)量.對興趣點數(shù)量的求和,結(jié)果見圖9,采用該模型的方法所獲取的興趣點少于未采用該模型的方法所獲取的興趣點,這意味著服務(wù)質(zhì)量更精確,能進一步減少篩選興趣點的資源損耗.興趣點的總數(shù)能夠衡量所采用的方法是否有助于提升系統(tǒng)服務(wù)質(zhì)量,是衡量系統(tǒng)實用性的一個指標.
圖8 模型對匿名區(qū)域面積的影響Figure8 Impact of the model on the anonymous area
圖9 模型對返回興趣點的影響Figure9 Impact of the model on the returned POIs
本文采用了改進的LSTM,在預(yù)測精度上取得了明顯的提升.系統(tǒng)在保證服務(wù)質(zhì)量的同時減少了用戶與服務(wù)器之間的有效訪問次數(shù),模糊了服務(wù)器端用戶的軌跡信息,從而提升了隱私保護效果.此外,本文比較了是否采用該方法的系統(tǒng)對用戶服務(wù)質(zhì)量的影響.實驗結(jié)果表明,本方法不但混淆了軌跡的時序性,而且使匿名區(qū)域的構(gòu)造更加合理.另外利用預(yù)測的緩存應(yīng)答資源也能有效保證服務(wù)質(zhì)量.下一步的工作一方面可以通過改善模型來提高預(yù)測精度,另一方面可以考慮能否在第三方不可信的情況下完成整個服務(wù)流程,使得用戶隱私的安全性得到進一步提升.