本發(fā)明涉及一種移動(dòng)用戶位置隱私的保護(hù)技術(shù),特別涉及一種基于路網(wǎng)環(huán)境下個(gè)性化位置隱私保護(hù)方法,該方法是一種在路網(wǎng)環(huán)境下,考慮了位置語(yǔ)義情況的個(gè)性化位置隱私的保護(hù)方法。當(dāng)移動(dòng)用戶基于位置信息及語(yǔ)義信息,向第三方數(shù)據(jù)服務(wù)器請(qǐng)求服務(wù)數(shù)據(jù)時(shí),該方法保證用戶享受服務(wù)數(shù)據(jù)的同時(shí),保護(hù)用戶的位置隱私,能抵抗惡意用戶的推理攻擊和重放攻擊。
背景技術(shù):
:隨著定位技術(shù)的發(fā)展與移動(dòng)設(shè)備的普及,基于位置服務(wù)(Location-basedService)成為了數(shù)據(jù)請(qǐng)求的主流方式。移動(dòng)用戶開(kāi)啟某個(gè)應(yīng)用并到達(dá)某個(gè)位置后,應(yīng)用程序根據(jù)用戶的定位主動(dòng)向移動(dòng)用戶推送一些信息,如定位附近的商店、餐廳、酒店等。同時(shí),用戶也可能主動(dòng)請(qǐng)求附近的某一類服務(wù)數(shù)據(jù),如查詢附近的超市;這種基于定位的服務(wù)請(qǐng)求方式給移動(dòng)用戶提供了極大的便利,同時(shí)也給用戶帶來(lái)了一定的風(fēng)險(xiǎn),用戶在請(qǐng)求服務(wù)的時(shí)候,直接或間接地導(dǎo)致了個(gè)人隱私的泄露。如用戶Alice查詢附近的醫(yī)院,則可以推測(cè)Alice身體可能有問(wèn)題;再如Alice于午夜12點(diǎn),在某位置請(qǐng)求附近的外賣服務(wù),則可以推測(cè)出Alice可能住在外賣商鋪附近。由于用戶請(qǐng)求服務(wù)時(shí),需要提供自身的位置等敏感信息,如何保護(hù)用戶的隱私而不影響服務(wù)質(zhì)量是基于位置服務(wù)中重要的研究課題之一。在本領(lǐng)域比較經(jīng)典的方法有:K-匿名、假名,加密等,其主要內(nèi)容如下:[1].K-匿名工作相關(guān)文獻(xiàn)為L(zhǎng)atanyasweeney的文章《k-Anonymity:AModelforProtectingPrivacy》,其主要工作內(nèi)容是:偽造或選擇K-1個(gè)用戶,與請(qǐng)求用戶一并構(gòu)成匿名集,這種方法下,用戶被識(shí)別出來(lái)的概率是1/K;[2].假名方法是由ShankarP等人的著作《PrivatelyQueryingLocation-basedServiceswithSybilQuery》提出,其使用偽造的用戶信息代替真實(shí)用戶信息進(jìn)行請(qǐng)求,從而達(dá)到保護(hù)用戶隱私信息的目的。[3].加密技術(shù)在MascettiS等人的著作《PrivacyinGeo-socialNetworks:ProximityNotificationwithUntrustedServiceProvidersandCuriousBuddies》有使用到,其使用加密的技術(shù)對(duì)用戶信息進(jìn)行加密,以達(dá)到保護(hù)隱私的效果。但現(xiàn)有的這些方法存在一定的局限性,K匿名與假名等容易遭受推理攻擊和重放攻擊,從而危害用戶的安全。如匿名集中雖然有K個(gè)用戶,但是某些偽造的用戶位置可能位于湖泊或其他一些不可能到達(dá)的地點(diǎn),攻擊者可以將這些用戶排除,從而危害用戶隱私;加密方案對(duì)系統(tǒng)要求性高,需要移動(dòng)設(shè)備與數(shù)據(jù)服務(wù)器都支持加解密方案。另外,因?yàn)殡[私保護(hù)算法是公開(kāi)的,攻擊者可以對(duì)截獲的匿名集中的所有用戶,逐一執(zhí)行隱私保護(hù)算法。根據(jù)算法執(zhí)行后得到的匿名集與所截獲的匿名集的相似性,可以以一定的概率推測(cè)出發(fā)起查詢的用戶。此外,位置語(yǔ)義信息也是導(dǎo)致用戶隱私泄露的因素之一;如用戶連續(xù)數(shù)次在某個(gè)??漆t(yī)院進(jìn)行查詢時(shí),攻擊者可以以一定的概率推測(cè)用戶在某方面存在疾病。所以學(xué)者們提出了基于位置語(yǔ)義信息的隱私保護(hù)方法,如:[4].DamianiML等人的著作《ThePROBEFrameworkforthePersonalizedCloakingofPrivateLocations》中首次提出采用流行度來(lái)標(biāo)識(shí)語(yǔ)義位置,即所有同類型的語(yǔ)義流行度相同。[5].LiM等人的著作《SensitiveSemantics-AwarePersonalityCloakingonRoad-NetworkEnvironment》將語(yǔ)義分為敏感,非敏感的,優(yōu)選選擇非敏感的語(yǔ)義來(lái)構(gòu)造匿名集。同樣,這些方法也存在不足之處,DamianiML的著作中不同的位置的同一種位置語(yǔ)義,其流行度是固定的。但在實(shí)際中,不同地點(diǎn)的同一種語(yǔ)義位置,流行度也不一定相同,比如,三甲醫(yī)院和社區(qū)醫(yī)院,雖然都是醫(yī)院,它們的流行度是不同的,用一個(gè)固定的流行度值來(lái)表示與實(shí)際情況不符。LiM等人的著作將語(yǔ)義位置抽象為路網(wǎng)中的節(jié)點(diǎn),但實(shí)際情況下,在某些位置語(yǔ)義位置非常密集,如一棟樓中包含診所,超市等,如果使用不同的節(jié)點(diǎn)描述,這些節(jié)點(diǎn)將標(biāo)記在同一個(gè)位置,這也不符合實(shí)際情況。上述現(xiàn)存方法對(duì)應(yīng)文獻(xiàn)列表如下。經(jīng)過(guò)閱讀和對(duì)比,雖然這些方案所涉及的領(lǐng)域與本發(fā)明的相同,但其存在上文所述的幾個(gè)問(wèn)題,針對(duì)上文所述的問(wèn)題,本發(fā)明提出相應(yīng)的解決機(jī)制,為發(fā)起查詢的移動(dòng)用戶提供相應(yīng)的隱私保護(hù),且算法本身需要達(dá)到一定的抗攻擊能力。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于路網(wǎng)環(huán)境下個(gè)性化位置隱私保護(hù)方法,該方法是一種基于路網(wǎng)下,考慮位置語(yǔ)義因素的為用戶提供可以抵抗推理攻擊和重放攻擊的個(gè)性化位置隱私保護(hù)方法,其中,路網(wǎng)使用無(wú)向圖來(lái)表示,圖節(jié)點(diǎn)表示交叉路口,圖邊表示真實(shí)路段。在位置語(yǔ)義方面,該發(fā)明首次使用位置語(yǔ)義影響力的概念,不同路段上的同一語(yǔ)義位置類型,可能擁有不同的語(yǔ)義影響力,此舉可更精準(zhǔn)地實(shí)現(xiàn)個(gè)性化的位置隱私保護(hù);其次,基于候選路段與用戶所在路段的距離,首次提出使用權(quán)值衰減的路段權(quán)值設(shè)定方式,以抵抗重放攻擊和推理攻擊;本發(fā)明的具體過(guò)程如圖1所示。本發(fā)明的主要機(jī)制主要包含如下模塊:1)用戶配置文件:用于描述用戶的標(biāo)識(shí)、查詢以及個(gè)性化隱私需求。2)位置語(yǔ)義影響力:用于描述路段上各類位置語(yǔ)義的影響力;同一類型的位置語(yǔ)義在不同路段上可以有不同的語(yǔ)義影響力,影響力的值由地圖數(shù)據(jù)確定。3)路段距離調(diào)整模塊:本模塊對(duì)候選集中路段距離進(jìn)行調(diào)整。路段距離表示某路段到用戶所在路段的路段數(shù)。構(gòu)造匿名集時(shí),添加路段進(jìn)入候選集后,候選集的路段構(gòu)成的圖形可能存在環(huán)狀,從環(huán)的兩個(gè)方向計(jì)算時(shí),環(huán)上路段可能存在兩個(gè)不同的路段距離,選取較小者作為該路段的路段距離。4)路段權(quán)值計(jì)算模塊:用于為候選集各路段計(jì)算出一個(gè)權(quán)重因子。根據(jù)各路段的路段距離設(shè)定路段的權(quán)重范圍,從所設(shè)定范圍中隨機(jī)選取一個(gè)值作為路段的權(quán)重因子。5)路段敏感度計(jì)算模塊:用于計(jì)算路段對(duì)某一用戶的敏感程度。敏感度由語(yǔ)義影響力、路段權(quán)值及用戶配置文件計(jì)算而得。敏感度越低,路段被選擇的概率越大。6)匿名集敏感度計(jì)算模塊:計(jì)算整個(gè)匿名集對(duì)用戶的敏感程度。匿名集敏感度是由匿名集中各個(gè)路段的敏感度計(jì)算所得。7)匿名集聚合度計(jì)算模塊:計(jì)算整個(gè)匿名集的聚合程度。聚合度是衡量匿名集抗推理攻擊能力的重要指標(biāo)之一,聚合度越高,抗攻擊能力越強(qiáng)。匿名集的聚合度可以用匿名集對(duì)應(yīng)的路網(wǎng)子圖中度為1的節(jié)點(diǎn)數(shù)占總節(jié)點(diǎn)數(shù)的比例來(lái)表示。本發(fā)明的目的通過(guò)下述技術(shù)方案實(shí)現(xiàn):一種基于路網(wǎng)環(huán)境下個(gè)性化位置隱私保護(hù)方法,在路網(wǎng)環(huán)境下,利用所述的位置語(yǔ)義影響力來(lái)對(duì)路段上各類語(yǔ)義進(jìn)行描述,由各類語(yǔ)義的語(yǔ)義影響力組成語(yǔ)義影響力向量,作為路段的屬性,附加到路網(wǎng)中;且利用所述的路段距離概念,為匿名集的各路段以所述的方式計(jì)算路段距離;最后,基于路段距離,為路段計(jì)算被用戶選擇的權(quán)值;根據(jù)權(quán)值,結(jié)合上述的位置語(yǔ)義影響力,計(jì)算候選集中各路段的敏感度并選擇敏感度最低的路段加入匿名集中,為用戶構(gòu)造符合隱私需求的匿名集,并使用匿名集代替用戶發(fā)送請(qǐng)求。所述基于路網(wǎng)環(huán)境下個(gè)性化位置隱私保護(hù)方法主要基于以下模塊:路網(wǎng)數(shù)據(jù)獲取模塊:該模塊初始化地圖路網(wǎng),設(shè)置各路段語(yǔ)義影響力向量;定位模塊:根據(jù)用戶的經(jīng)緯度,確定用戶所在路網(wǎng)中的路段;鄰居獲取模塊:獲取某一路段的所有鄰接路段;路段距離調(diào)整模塊:根據(jù)實(shí)際情況調(diào)整各路段的路段距離;路段權(quán)值計(jì)算模塊:根據(jù)路段的路段距離,計(jì)算路段的權(quán)值;路段敏感度計(jì)算模塊:根據(jù)路段的語(yǔ)義影響力向量、路段權(quán)值及用戶配置文件等計(jì)算路段的敏感度;匿名集敏感度計(jì)算模塊:根據(jù)各路段的語(yǔ)義影響力,用戶配置文件等計(jì)算匿名集的整體敏感度。所述基于路網(wǎng)環(huán)境下個(gè)性化位置隱私保護(hù)方法主要包括如下步驟:步驟1、首先執(zhí)行路網(wǎng)數(shù)據(jù)獲取模塊,匿名服務(wù)器根據(jù)地圖數(shù)據(jù),初始化路段的位置語(yǔ)義影響力向量;步驟2、移動(dòng)用戶使用移動(dòng)設(shè)備進(jìn)行定位,然后根據(jù)需求封裝查詢信息Q并將其發(fā)送給匿名服務(wù)器。Q包含用戶經(jīng)緯度:longitude和latitude,匿名集用戶數(shù)要求:K,匿名集路段數(shù)要求:L,匿名集敏感度要求:ρ,匿名集構(gòu)造用戶最大等待時(shí)間:T,用戶自身對(duì)各類語(yǔ)義敏感度向量:Pl;查詢內(nèi)容C;步驟3、匿名服務(wù)器接收到用戶發(fā)送的查詢信息Q后,首先根據(jù)用戶的經(jīng)緯度,使用定位模塊,確定用戶所在的路段e,其路段距離為0;將路段e加入匿名集S;并標(biāo)記當(dāng)前路段eNow=e;步驟4、匿名服務(wù)器調(diào)用鄰居獲取模塊,獲取eNow的所有鄰接路段,并設(shè)定所有鄰接路段的距離的eNow的路段距離加1;并將所有鄰接路段加入候選集H;步驟5、匿名服務(wù)器調(diào)用距離調(diào)整模塊,對(duì)H中所有路段進(jìn)行路段距離調(diào)整;步驟6、匿名服務(wù)器調(diào)用權(quán)值計(jì)算模塊,使用所述方式計(jì)算H中各路段的權(quán)值;匿名服務(wù)器基于各路段權(quán)值,調(diào)用路段敏感度計(jì)算模塊,使用所述公式計(jì)算H中各路段的敏感度,并選擇敏感度最低的路段et加入S,設(shè)定eNow=et;步驟7、匿名服務(wù)器調(diào)用匿名集敏感度計(jì)算模塊,使用所述公式計(jì)算S是否滿足用戶要求,如已達(dá)到要求則返回S,否則判斷是否達(dá)到時(shí)間限度T,如未達(dá)到,則循環(huán)執(zhí)行4至7;如已達(dá)到,則匿名失敗。本發(fā)明利用位置語(yǔ)義影響力對(duì)路段各類語(yǔ)義進(jìn)行描述,且由各類語(yǔ)義的語(yǔ)義影響力組成位置語(yǔ)義影響力向量的方式的特點(diǎn)在于:各路段的位置語(yǔ)義影響力由路段中位置語(yǔ)義實(shí)際情況決定,同種位置語(yǔ)義在不同的路段可能擁有不同的影響力;如三甲醫(yī)院的影響力比社區(qū)診所大;其涉及的模塊主要為路網(wǎng)數(shù)據(jù)獲取模塊;例如,某路段的語(yǔ)義影響力向量為<a,b,c,d,e…>,其中向量元素為非負(fù)數(shù),每個(gè)元素對(duì)應(yīng)著一類語(yǔ)義的影響力情況,如a表示醫(yī)院的影響力,b表示超市的影響力,c表示學(xué)校的等;每條路段的這一向量擁有不同的元素值,但向量的維度相同。本發(fā)明使用了路段距離概念,計(jì)算各路段的路段距離,該方式的特點(diǎn)是:以用戶所在路段為基準(zhǔn),每往外拓展一條路段,其路段距離加一,當(dāng)某些路段存在;所涉及的模塊包括:鄰居路段獲取模塊,路段距離調(diào)整模塊;例如,用戶所在路段距離為0,則與之相鄰的所有路段的路段距離為1,往外拓展一層,則距離加一。本發(fā)明使用了路段距離概念計(jì)算路段的權(quán)值的方式,按用戶要求L將權(quán)值從1到0分為L(zhǎng)段,根據(jù)路段的距離確定所述的權(quán)值段,并隨機(jī)從中選取一值作為路段的權(quán)值,當(dāng)路段距離超過(guò)L時(shí),則采用最小的一段作為路段的權(quán)值;其包括:路段權(quán)值計(jì)算模塊。例如,當(dāng)L取值為3時(shí),則權(quán)值分為{[0.6667,1],[0.3334,0.6667],[0,0.3334]};如果某路段距離為2,則其權(quán)值將從[0.333,0.6667]隨機(jī)選擇;如果某路段的路段距離為5,超過(guò)了用戶對(duì)匿名集路段要求L,則從最后一段權(quán)值范圍[0,0.3334]中隨機(jī)選擇。結(jié)合路段的位置語(yǔ)義影響力向量,路段的權(quán)值以及用戶的語(yǔ)義敏感度向量,計(jì)算每條路段對(duì)用戶而言的敏感度,選擇敏感度最低的路段來(lái)組建匿名集。其包括路段敏感度計(jì)算模塊。路段敏感度的計(jì)算公式如下:式中:n為位置語(yǔ)義影響力向量的維度,Pl為用戶語(yǔ)義敏感度向量;We表示路段的位置語(yǔ)義影響力向量;Weight為路段權(quán)值。pli表示用于語(yǔ)義敏感度向量Pl第i個(gè)元素,Asi表示W(wǎng)e中第i個(gè)元素。pe越小,路段的敏感度越低。例如,當(dāng)L=3,用戶敏感度向量<0.3,0.5,0.1,0.8,0.2>,某路段的語(yǔ)義影響力向量為<100,50,0,300,800>,假設(shè)該路段的路段距離為2,則其權(quán)值范圍為:[0.3334,0.6667],假設(shè)隨機(jī)獲取的權(quán)值為0.5;則對(duì)于該路段,其敏感度計(jì)算如下:pe=(0.3*100+0.5*50+0*0.1+0.8*300+0.2*800)/(1250*0.5)=0.728;結(jié)合路段的位置語(yǔ)義影響力向量,用戶的語(yǔ)義敏感度向量計(jì)算匿名集的整體敏感度,其包括匿名集敏感度計(jì)算模塊,匿名集的敏感度計(jì)算如下:式中:n表示語(yǔ)義影響力向量We的維度;L表示用戶要求匿名集中的路段數(shù);wij表示S中第j條路段的第i種語(yǔ)義的影響力,pi表示用戶語(yǔ)義敏感度向量Pl的第i個(gè)元素。例如,S中包含三條路段e1,e2和e3。假設(shè)僅考慮5種語(yǔ)義類型,則各路段的語(yǔ)義影響力向量分別為We1={100,0,200,100,300},We2={0,100,100,300,200}以及We3={100,300,0,0,300},假設(shè)用戶語(yǔ)義敏感度向量為{0.1,0.3,0,0.5,0.5},則該匿名集的敏感度計(jì)算如下:0.1*(100+0+100)+0.3*(0+100+300)+0*(200+100+0)+0.5*(100+300+0)+0.5*(300+200+300)/(100+200+100+300+100+100+300+200+100+300+300)=0.3619。本發(fā)明目的為:請(qǐng)求基于位置服務(wù)的移動(dòng)用戶提供一種個(gè)性化隱私保護(hù)機(jī)制。該機(jī)制在考慮位置語(yǔ)義的情況下,首先提出了位置語(yǔ)義影響力的概念,該概念用于描述路段上各類位置語(yǔ)義信息。其次,為了抵抗攻擊者的推理攻擊與重放攻擊,本發(fā)明首次提出基于路段距離來(lái)確定路段權(quán)值的方法,根據(jù)候選路段與用戶所在路段距離,確定路段的權(quán)值范圍;且采用梯度下降的方式,即距離越遠(yuǎn),權(quán)值范圍的最大值越??;并結(jié)合隨機(jī)權(quán)值方式,從權(quán)值范圍中隨機(jī)選取一數(shù)值作為路段的權(quán)值。本發(fā)明使用該權(quán)值,結(jié)合路段的語(yǔ)義影響力與用戶個(gè)性化隱私要求共同確定各條路段對(duì)用戶的敏感度,選擇敏感度最低的路段構(gòu)造匿名集。使用該機(jī)制,更傾向于選擇靠近用戶所在路段的路段,且存在一定的隨機(jī)性。最后,本發(fā)明公開(kāi)了利用上述機(jī)制來(lái)實(shí)現(xiàn)匿名集構(gòu)造的完整過(guò)程。該機(jī)制具有抗攻擊能力強(qiáng),更安全,考慮的情況更符合實(shí)際情況等優(yōu)點(diǎn)。本發(fā)明相對(duì)于現(xiàn)有技術(shù)具有如下優(yōu)點(diǎn)以及效果:1、本發(fā)明提出了語(yǔ)義影響力的概念。在構(gòu)造匿名集時(shí),考慮了不同路段的同類位置語(yǔ)義,擁有不同影響力這一實(shí)際情況,從而使所提隱私保護(hù)方法能提供更加精準(zhǔn)的個(gè)性化位置隱私保護(hù)。2、本發(fā)明提出了路段距離概念?;诼范尉嚯x,確定路段的權(quán)重因子范圍,并從指定范圍中隨機(jī)選擇權(quán)值。由權(quán)值、語(yǔ)義影響力、用戶配置文件計(jì)算得到路段敏感度。選擇敏感度最低的路段來(lái)構(gòu)造匿名集,使所提隱私保護(hù)方法能抵抗推理攻擊和重放攻擊。附圖說(shuō)明圖1是本發(fā)明方法構(gòu)造匿名集的詳細(xì)流程圖。圖2是基于位置服務(wù)請(qǐng)求總過(guò)程圖。圖3是帶位置語(yǔ)義影響力的路網(wǎng)圖模型。圖4是攻擊者排除路段示意圖。圖5a是重放攻擊執(zhí)行時(shí)路網(wǎng)結(jié)構(gòu)圖。圖5b是用戶路段為路段13得到原始匿名集示意圖。圖5c是重放攻擊之假設(shè)用戶在路段10執(zhí)行算法得到匿名集示意圖。圖5d是重放攻擊之假設(shè)用戶在路段12執(zhí)行算法得到匿名集示意圖。圖5e是重放攻擊之假設(shè)用戶在路段13執(zhí)行算法得到匿名集示意圖。圖5f是重放攻擊之假設(shè)用戶在路段20執(zhí)行算法得到匿名集示意圖。圖5g是重放攻擊之假設(shè)用戶在路段4執(zhí)行算法得到匿名集示意圖。圖5h是重放攻擊之假設(shè)用戶在路段14執(zhí)行算法得到匿名集示意圖。圖6是匿名候選集調(diào)整距離示意圖。圖7a是聚合度為7/9匿名集示意圖。圖7b是聚合度為4/9匿名集示意圖。圖8是條帶狀匿名集示意圖。具體實(shí)施方式下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。實(shí)施例如圖2所示,基于位置服務(wù)請(qǐng)求的詳細(xì)過(guò)程包括如下步驟:第一步:用戶使用定位設(shè)備獲取位置數(shù)據(jù),將位置數(shù)據(jù)、個(gè)性化隱私要求數(shù)據(jù)、查詢信息發(fā)送給中間匿名服務(wù)器,對(duì)應(yīng)于圖2中①和②;第二步:匿名服務(wù)器根據(jù)路網(wǎng)圖信息及用戶的配置文件,進(jìn)行匿名集的構(gòu)造,對(duì)應(yīng)圖2中③,路網(wǎng)圖結(jié)構(gòu)如圖3所示;第三步:匿名集構(gòu)造完成后,匿名服務(wù)器將用戶的查詢內(nèi)容以及匿名集一并發(fā)送給第三方數(shù)據(jù)服務(wù)器,對(duì)應(yīng)圖2中④;第四步:服務(wù)器對(duì)匿名集中所有用戶作同樣要求的查詢,將所有查詢結(jié)果發(fā)回給匿名服務(wù)器,對(duì)應(yīng)圖2中⑤;第五步:匿名服務(wù)器根據(jù)用戶的要求,將結(jié)果數(shù)據(jù)進(jìn)行過(guò)濾,得到用戶所需數(shù)據(jù)并發(fā)回用戶,對(duì)應(yīng)圖2中⑥。其中,本保護(hù)方法主要在上述第二步執(zhí)行,對(duì)應(yīng)著圖2中虛線部分,其詳細(xì)過(guò)程如圖1所示。下文先對(duì)圖1中的模塊進(jìn)行介紹,然后結(jié)合實(shí)施例對(duì)模塊的實(shí)施過(guò)程進(jìn)行講解,最后對(duì)實(shí)施例結(jié)果進(jìn)行數(shù)據(jù)分析。本發(fā)明的實(shí)施例在地圖模擬器:Network-basedGeneratorofMovingObjects中執(zhí)行。該模擬器在導(dǎo)入地圖數(shù)據(jù)情況下,模擬用戶的運(yùn)動(dòng)過(guò)程。本發(fā)明實(shí)施例按照?qǐng)D1所示流程圖執(zhí)行,其中各模塊的具體功能已于
發(fā)明內(nèi)容中詳細(xì)闡釋。本發(fā)明在路網(wǎng)的基礎(chǔ)上,為路段設(shè)置位置語(yǔ)義影響力向量,該向量由路段上各類位置語(yǔ)義的語(yǔ)義影響力組成。如圖3中,We1表示路段e1的位置語(yǔ)義影響力向量。圖2中①、②和③所涉及的用戶配置文件及匿名集說(shuō)明如下:1)用戶個(gè)性化配置文件為:{K,L,ρ,T,Pl};其中K,L,ρ分別表示用戶對(duì)匿名集的用戶數(shù)量要求,路段數(shù)量要求,匿名集語(yǔ)義敏感度要求;T表示構(gòu)造匿名集時(shí),用戶愿意等待的最長(zhǎng)時(shí)間;Pl={p1,p2…pn},表示用戶對(duì)各類位置語(yǔ)義的敏感度,取值范圍為[0,1]。2)匿名集,即路網(wǎng)的一個(gè)子圖,用子圖上路段的集合表示,記為S={e1,e2…en};用戶所在的路段包含在S中。候選集,為S中各路段的鄰接路段組成的集合,記為H={e1,e2…en},H∩S=φ。3)位置語(yǔ)義影響力向量:路段e的位置語(yǔ)義影響力,記為We={w1,w2,…wn},w1,w2,…wn表示路段上各類位置語(yǔ)義的影響力。對(duì)于圖2中⑤,如果使用現(xiàn)有的技術(shù)進(jìn)行請(qǐng)求時(shí),存在兩個(gè)問(wèn)題:?jiǎn)栴}一:攻擊者截獲S后,由于匿名算法公開(kāi),攻擊者了解算法執(zhí)行的每一個(gè)步驟。攻擊者可以假設(shè)用戶所在路段為S中任何一條路段,根據(jù)用戶的隱私要求執(zhí)行算法,得到n個(gè)匿名集(n為S中元素個(gè)數(shù))。將n個(gè)匿名集分別與截獲的S進(jìn)行相似度計(jì)算,則可以以一定的概率推算出用戶所在的路段。如圖5a、圖5b、圖5c、圖5d、圖5e、圖5f、圖5g和圖5h所示,假設(shè)路網(wǎng)圖為圖5a,用戶所在路段為路段13且所構(gòu)造的匿名集為{10,12,13,20,4,14},如圖5b所示,攻擊者截獲的S,攻擊者分別假設(shè)用戶在每一條路段上,重新執(zhí)行算法,所得到的匿名集如圖5c、圖5d、圖5e、圖5f、圖5g和圖5h所示,通過(guò)匹配,可以確定用戶在每一條路段上的概率,并以較大的概率確定用戶在路段13上。問(wèn)題二:攻擊者獲取集合S后,根據(jù)路段之間方向不同等差異信息,進(jìn)行路段排除,這樣用戶被確定的概率則由1/L提升到1/(L-x),x為被合并的路段數(shù)。當(dāng)匿名集中,一系列路段僅能通向一個(gè)方向時(shí),這些路段可以看似為同一條路段,如圖4虛線所示,用戶要求的路段數(shù)為9,經(jīng)過(guò)合并之后,路段數(shù)為8。當(dāng)S中這一類型的路段數(shù)過(guò)多時(shí),攻擊者準(zhǔn)確定位用戶的概率大大提升。為解決上述問(wèn)題,本發(fā)明提出了如下兩種機(jī)制:機(jī)制一:路段距離機(jī)制?;谠摼嚯x設(shè)定權(quán)值范圍,距離越遠(yuǎn)權(quán)值越小。機(jī)制二:隨機(jī)權(quán)值機(jī)制。由權(quán)值、語(yǔ)義影響力向量、用戶配置文件,計(jì)算出候選集中各路段的敏感度,選擇敏感度低的路段加入匿名集。以上機(jī)制執(zhí)行的過(guò)程如圖1所示。用戶輸入個(gè)性化隱私要求及查詢內(nèi)容,中間匿名服務(wù)器構(gòu)造符合要求的匿名集。整個(gè)過(guò)程包含以下幾個(gè)核心模塊:1)用戶配置文件模塊:該模塊在用戶端運(yùn)行,用于聲明與用戶個(gè)性化隱私相關(guān)的配置文件。例如用戶Alice的配置文件為:{10,5,0.5,T,<0.8,0.2,0.6…0.1>},則表示Alice希望在T時(shí)間內(nèi)構(gòu)造出包含10個(gè)用戶,5條路段,敏感度不超過(guò)0.5的匿名集,其中<0.8,0.2,0.6…0.1>表示用戶對(duì)各類語(yǔ)義的敏感度向量,如向量中0.8表示用戶對(duì)醫(yī)院的敏感度,0.2表示用戶對(duì)學(xué)校的敏感度等。2)路網(wǎng)數(shù)據(jù)獲取模塊:該模塊在匿名服務(wù)器端執(zhí)行。用于初始化地圖數(shù)據(jù)。假設(shè)用戶Alice位于廣州天河區(qū),則匿名服務(wù)器獲取天河區(qū)路網(wǎng)數(shù)據(jù)。3)定位模塊:LocatedUser(longitude,latitude):該模塊在匿名服務(wù)器端執(zhí)行。根據(jù)用戶的位置信息,確定用戶所在路段,并將路段加入S中。例如匿名服務(wù)器可以根據(jù)經(jīng)緯度,計(jì)算出Alice在路段e1上,則將e1加入S中。4)鄰居路段獲取模塊:GetAllNeighbour(edge):該模塊在匿名服務(wù)器端執(zhí)行。用于獲取路段edge的鄰居。每條路段皆有兩個(gè)端點(diǎn),由端點(diǎn)可以獲取與之相連的邊。將除edge以外的所有鄰接路段加入H中,并設(shè)置鄰邊的距離為:distaceedge+1,其中distanceedge表示路段edge的路段距離。5)路段距離調(diào)整模塊ResignRoadDistance(H):該模塊在匿名服務(wù)器端執(zhí)行。用于調(diào)整路段距離。當(dāng)執(zhí)行添加當(dāng)前路段的鄰居路段進(jìn)入H后,可能存在環(huán)的情況,即從當(dāng)前路段的兩端計(jì)算距離時(shí),H中某些路段可能出現(xiàn)兩個(gè)不一樣的距離值,本模塊選擇二者中較小的一個(gè)作為該路段的距離。例如,如圖6所示,星號(hào)表示用戶所在位置,其路段距離為0,S中有e0,e1,e2,e3四條路段,對(duì)應(yīng)的距離分別為0、1、2、3,H中包含路段e4與路段e5;當(dāng)路段e0右側(cè)距離為1的候選路段e5被選中時(shí),其鄰居虛線路段e6需要加入H且e6的距離為2,則H中路段e4的距離有:4和3兩個(gè)值,取較小的一個(gè)3作為路段e4的距離。6)路段權(quán)值計(jì)算模塊ComputeWeight(Edge,L):根據(jù)路段距離,計(jì)算出路段的權(quán)值范圍,權(quán)值的獲取采用隨機(jī)方式。根據(jù)用戶對(duì)匿名集中路段數(shù)要求L,將1由大到小分為L(zhǎng)段,然后根據(jù)路段距離值d,取第d段,作為該路段的權(quán)值范圍,然后從中產(chǎn)生隨機(jī)數(shù)作為權(quán)值。如果距離超過(guò)L,則使用最小的一個(gè)范圍作為路段權(quán)值范圍。例如假設(shè)用戶要求L=5,則將權(quán)值分為{[0.8,1],[0.6,0.8],[0.4,0.6],[0.2,0.4],[0,0.2]}。此時(shí),距離為2的路段的權(quán)值范圍為[0.6,0.8],隨機(jī)從中取一個(gè)值作為權(quán)值,如0.75,距離超過(guò)5的路段的權(quán)值范圍為[0,0.2]。之所以采用1分成L段的原因是:假設(shè)用戶對(duì)路段要求為L(zhǎng),構(gòu)造匿名集的極端情況呈現(xiàn)出一條帶狀,如圖8所示。此時(shí)離用戶最遠(yuǎn)路段的路段距離為L(zhǎng),此時(shí),集合內(nèi)路段數(shù)已經(jīng)滿足用戶要求,其他方面未滿足要求,則需要優(yōu)先考慮靠近用戶的路段,故超過(guò)L的路段可以以一個(gè)非常小的權(quán)值去選擇。這樣采用權(quán)值衰減的方式,傾向于選擇靠近用戶的路段來(lái)構(gòu)成匿名集。使得匿名集內(nèi)部緊湊,避免出現(xiàn)圖8所示的匿名集情況。其次,當(dāng)執(zhí)行算法時(shí),隨機(jī)在指定范圍內(nèi)選取權(quán)值讓每一次執(zhí)行算法都可能有不同的權(quán)值,選擇不一樣的路段加入候選集,使所構(gòu)成的匿名集不同,降低了重放攻擊成功率。此外,當(dāng)用戶路段要求L較小時(shí),初始被識(shí)破的概率(1/L)較高,而使用上述方式計(jì)算權(quán)值范圍較大,隨機(jī)性高。而對(duì)于L較大時(shí),權(quán)值范圍較小,但初始被識(shí)破的概率則較低,采用這種分段的方法,結(jié)合L的大小相互補(bǔ)充。7)路段敏感度計(jì)算模塊ComputeSensitivity(edge,Pl):根據(jù)用戶的配置文件、路網(wǎng)信息和路段的權(quán)值,計(jì)算每一條路段的敏感度。路段的敏感度pe計(jì)算如式(1)所示。式(1)中:n為位置語(yǔ)義影響力向量的維度,Pl為用戶語(yǔ)義敏感度向量;We表示路段的位置語(yǔ)義影響力向量;Weight為路段權(quán)值。pli表示用于語(yǔ)義敏感度向量第i個(gè)元素,Asi表示W(wǎng)e中第i個(gè)元素。pe越小,路段的敏感度越低。假設(shè)共有6類位置語(yǔ)義,分別為超市、娛樂(lè)場(chǎng)所、住所、醫(yī)院、公園、酒店,路段1和路段2的位置語(yǔ)義影響力向量分別為<100,200,0,100,300,100>和<100,200,300,0,0,300>,向量元素分別對(duì)應(yīng)著上述6類位置語(yǔ)義影響力,用戶位置語(yǔ)義的敏感度向量為<0.1,0.2,0.2,0.3,0.05,0.15>,其中0.1為用戶對(duì)超市的敏感度,0.2為對(duì)娛樂(lè)場(chǎng)所的敏感度,其他類推。則路段1的敏感度為:Pe1=(0.1*100+200*0.2+0*0.2+100*0.3+300*0.05+100*0.15)/800=0.1375;路段2的敏感度為:Pe2=(0.1*100+200*0.2+300*0.2+0*0.3+0*0.05+300*0.15)/800=0.19375??梢?jiàn)路段1對(duì)用戶的敏感度更低。假設(shè)路段1的路段距離為4,路段2的路段距離為1,通過(guò)權(quán)值計(jì)算模塊計(jì)算得到路段1的權(quán)值為0.6,路段2的權(quán)值為1,則路段1的敏感度為0.1375/0.6≈0.229,路段2的敏感度為0.19375/1=0.19375.8)路段選擇模塊:ChooseLowerSensitivityEdge(H,L,Pl):選取敏感度最低的一條路段加入匿名集S中,其中H為候選集,Pl為用戶語(yǔ)義敏感度向量,L為用戶路段數(shù)要求。如候選集中路段為前述的路段1和路段2,因?yàn)槁范?的敏感度(0.229)大于路段2的(0.19375),所以選擇路段2加入匿名集。9)匿名集敏感度計(jì)算模塊ComputeSetSensitivity(S,Pl):計(jì)算S的敏感度Pz,如果敏感度不超過(guò)用戶要求的閾值ρ,且用戶數(shù)以及路段數(shù)皆滿足用戶要求時(shí),則匿名成功。否則,以新加入S的那條路段為起點(diǎn),重復(fù)執(zhí)行模塊4)至模塊8),直到匿名集滿足要求或者達(dá)到用戶時(shí)間要求上限T為止。匿名集敏感度Pz計(jì)算如公式(2)所示:式(2)中n表示語(yǔ)義影響力向量We的維度;L表示用戶要求匿名集中的路段數(shù);wij表示S中第j條路段的第i種語(yǔ)義的影響力,pi表示用戶語(yǔ)義敏感度向量Pl的第i個(gè)元素。10)匿名集聚合度模塊ComputeSetPolyDegree(S):計(jì)算匿名集的聚合程度I,用S所構(gòu)成的路網(wǎng)子圖中度為1的節(jié)點(diǎn)占比來(lái)衡量,度為1的節(jié)點(diǎn)占比越高,則S的聚合度越高,出現(xiàn)圖8所示的匿名集概率越低。匿名集聚合度計(jì)算如式(3)所示。式(3)中,d為S中度為1的節(jié)點(diǎn)個(gè)數(shù),size(S)表示S的路段數(shù)。圖7a和圖7b分別示意了聚合度為I=7/9與I=4/9的匿名集。為進(jìn)一步解釋本發(fā)明的上述幾個(gè)模塊,下面詳細(xì)介紹幾個(gè)模塊的算法實(shí)現(xiàn)。算法1將某一路段的所有鄰居路段加入H中。在添加一條新路段進(jìn)S后,如S仍未滿足用戶要求且匿名時(shí)間不超過(guò)T,則執(zhí)行一次算法。執(zhí)行完后,將設(shè)置好路段距離的鄰接路段集返回。如圖5a所示的路網(wǎng),假設(shè)用戶在路段14,S與H內(nèi)的元素如表1所示,其中<x,y>中x為路段,y為距離。表1表1為用戶在路段14時(shí),S與H的狀態(tài),如下一次選擇路段13,其路段距離為1,需將路段13的所有鄰居加入,并將路段13從H中剔除。路段13的鄰居為{10,12,18,19,20,4,14,21,22}。將路段加入H之前,要判斷路段是否已在H和S中,如果不在,則加入H;其次,路段加入H時(shí)要設(shè)置其距離為路段13的距離加1,即為2。如果路段已在H中但不在S中,則需要比較該路段在H中的距離與路段13的距離加1后兩者的大小,選擇較小者作為路段的距離。添加了路段13后S與H的內(nèi)容如下表2:表2表2為添加路段13后,S與H的狀態(tài)表,由于路段13的部分鄰居已經(jīng)存在于集合H中,且這些路段距離標(biāo)記為1,而路段13的鄰居的距離皆為2,故選擇1作為最終路段距離。另外,雖然某路段在集合H中不存在,但加入該路段后,將導(dǎo)致H中形成環(huán),從環(huán)不同方向訪問(wèn)時(shí),路段的距離可能存在兩個(gè)。因此,需要對(duì)H中各路段的路段距離進(jìn)行一次調(diào)整,為存在兩個(gè)距離的路段選擇較小的一個(gè)作為其距離。算法2為距離調(diào)整模塊的偽代碼。算法2運(yùn)行結(jié)束后H為調(diào)整距離后的候選集,下一步則要從中選擇最優(yōu)的路段加入S。該操作需要依賴路段權(quán)值。因此要確定每一條路段的權(quán)值。本發(fā)明中,權(quán)值的大小依賴于L。假設(shè)L為6,H為{<10,2>,<1,1>,<15,2>,<7,4>,<12,3>}。先獲取各距離所屬的權(quán)值范圍,將1分成L份,即1/6=0.16667,路段距離為1的權(quán)值范圍為[0.8333,1]。路段距離2為[0.6666,0.8333]。以此類推,隨機(jī)從所處范圍中選取一個(gè)值作為路段權(quán)值。算法3是確定權(quán)值模塊的偽代碼。繼算法3獲取每一條路段的權(quán)值后,匿名服務(wù)器要從H中選擇敏感度最低的路段加入S。該過(guò)程包括:路段敏感度計(jì)算模塊ComputeSensitivity(edge,Pl)和路段選擇模塊ChooseLowerSensitivityEdge(H,L,Pl)。假設(shè)L=5,當(dāng)前語(yǔ)義類型共有5類,H中元素如下表第一列,語(yǔ)義影響力向量元素個(gè)數(shù)為5,其他屬性如表3所示,路段距離、權(quán)值皆為1。表3表3為敏感度計(jì)算表,由表3可知,對(duì)于路段1:pe1=(0.3*100+0.5*50+0*0.1+0.8*300+0.2*800)/1250≈0.364,路段2路段3同理,計(jì)算得到的敏感度如第三列。通過(guò)得到每一條路段對(duì)于用戶而言的敏感度,選擇敏感度最低的一條,即路段3加入S中。算法4為路段選擇模塊的偽代碼。每次添加一條路段(記為e)進(jìn)入匿名集S之后,要用公式(2)計(jì)算當(dāng)前匿名集的敏感度,判斷該值、K、L等是否滿足要求,滿足則返回S,否則以e為起點(diǎn),繼續(xù)執(zhí)行算法1至算法4,直到匿名時(shí)間超過(guò)T為止。算法4為匿名集敏感度計(jì)算模塊的偽代碼。假設(shè)用戶的個(gè)性化隱私要求為{10,5,T,0.5,<x,y,z…>},<x,y,z>為用戶的敏感度向量。如S中已有5條路段,10個(gè)以上的用戶,但S敏感度超過(guò)0.5,則需要判斷當(dāng)前執(zhí)行時(shí)間是否超過(guò)T,如未超過(guò),以最后加入S的路段為起點(diǎn),繼續(xù)執(zhí)行算法1至算法4;如果S滿足用戶的各項(xiàng)要求,則將S返回即可。上面對(duì)各算法進(jìn)行了講解,下面則將以偽代碼的形式,綜合上述各個(gè)算法對(duì)本發(fā)明的技術(shù)方案實(shí)施例的執(zhí)行次序進(jìn)行完整的算法描述,如算法5所示。上述部分介紹了本技術(shù)方案所包含的概念及功能模塊,結(jié)合偽代碼,詳細(xì)講解了本技術(shù)方案的執(zhí)行過(guò)程,并以例子進(jìn)行輔助解釋。在完成上述講解后,下文在地圖模擬器:Network-basedGeneratorofMovingObjects中對(duì)所得到的實(shí)施結(jié)果進(jìn)行分析。表4為本次實(shí)施的具體參數(shù)。表4表4為實(shí)施例詳細(xì)參數(shù)表,表4中,位置語(yǔ)義種類參考現(xiàn)有方法,設(shè)定為6種。用戶的敏感度要求為:0.2至0.8。查詢用戶對(duì)S中K、L與ρ組合成不同的隱私需求,如{3,3,0.2}、{3,3,0.3}等,再分別進(jìn)行匿名請(qǐng)求。匿名服務(wù)器根據(jù)用戶發(fā)送的個(gè)性化需求,按照上文所述的各個(gè)模塊執(zhí)行本發(fā)明得到匿名集。下表5為按照用戶不同需求各執(zhí)行1000次的匿名成功率與耗時(shí)數(shù)據(jù),時(shí)間單位為:ms。表5表5為匿名成功率、時(shí)間消耗與K、ρ的關(guān)系(L=5)表,從表5可見(jiàn),算法執(zhí)行總時(shí)間為1-3秒,單次查詢平均時(shí)間為1-3ms;隨著匿名要求的降低,匿名集更加容易滿足要求,執(zhí)行時(shí)間隨用戶個(gè)性化要求的降低而降低。在匿名成功率方面,成功率隨著ρ降低而升高,隨著K增大而降低,這是因?yàn)楫?dāng)L一定時(shí),如果匿名集內(nèi)K要求偏高時(shí),路段上的用戶已無(wú)法滿足要求,如表6所示,表6中取K為10,ρ為0.5,其余數(shù)據(jù)表示了L與匿名成功率的關(guān)系。表6表6為匿名成功率與L的關(guān)系表,從表6可知,當(dāng)K及ρ一定時(shí),隨著L的增加,匿名集成功率呈現(xiàn)遞增趨勢(shì),這是因?yàn)镵不再是影響匿名成功率的因素。由表5和表6可知,雖然用戶個(gè)性化隱私要求中增加了位置語(yǔ)義因素,通過(guò)本發(fā)明得到匿名集時(shí),也不會(huì)嚴(yán)重降低用戶匿名的成功率及匿名時(shí)間,效果滿足需求。此外,本發(fā)明的另一個(gè)特色是抗擊推理攻擊和重放攻擊;對(duì)于推理攻擊,本實(shí)施例以聚合度來(lái)衡量匿名集的抗攻擊能力。表7表示了I與L的關(guān)系。L34567I0.6590.6730.6520.6370.654表7表7為I與L的關(guān)系表,從表7可見(jiàn),匿名集平均大小皆超過(guò)0.5,說(shuō)明本發(fā)明所構(gòu)造的匿名集聚合度較高,出現(xiàn)圖8及圖4虛線部分所示的匿名集的概率較低,抗推理攻擊能力強(qiáng)。在重放攻擊方面,本發(fā)明實(shí)施例從兩方面來(lái)衡量匿名集的抗重放攻擊能力:重放攻擊1:先以路段e為用戶所在路段,得到匿名集S,再重復(fù)n次執(zhí)行算法5得到一個(gè)匿名集集合Ss={S1,S2…Sn},分別計(jì)算Ss中元素Si(i為1≤i≤n)與S的相似度;如果平均相似度較小,則表示抗重放攻擊能力強(qiáng);重放攻擊2:以路段e為用戶所在路段得到匿名集S,再分別以S中任意路段ei(可能為用戶所在路段e)為用戶所在路段,執(zhí)行算法5得到一個(gè)匿名集集合Ss={Se1,Se2…Sen},分別計(jì)算Ss中元素Sei(i為1≤i≤n)與S的相似度,得到相似度集合Sim={sime1,sime2…simen};如果用戶所在路段e對(duì)應(yīng)的匿名集與S的相似度sime(sime為集合Sim元素)不是集合Sim中最大值,攻擊者可能把相似度最大的匿名集對(duì)應(yīng)的路段當(dāng)成用戶所在路段,使得本算法所生成的匿名集具有較好的抗重放攻擊能力。表8表示了本發(fā)明所生成的匿名集抗重放攻擊能力。其中,K=10,ρ=0.5;L34567重放攻擊10.88780.85210.81860.87560.8445重放攻擊20.3570.3360.2980.2560.243表8表8為匿名集抗重放攻擊能力表,表8中,第二行為確定用戶所在路段,重復(fù)執(zhí)行算法1000次所得的匿名集與S相似度的平均值;第三行為假設(shè)用戶所在路段為S中任意一條路段,重復(fù)執(zhí)行算法1000次與S相似度得到集合Sim后,用戶實(shí)際所在路段e對(duì)應(yīng)的sime為Sim中最大值出現(xiàn)的次數(shù)與1000的比。對(duì)于重放攻擊1,從表8可以看出,即使同一條路段,每次執(zhí)行得到的結(jié)果也不盡相同,存在一定的隨機(jī)性,這得益于本發(fā)明的隨機(jī)權(quán)值獲取機(jī)制。對(duì)于重放攻擊2,1000次的算法執(zhí)行中,出現(xiàn)用戶實(shí)際所在路段得到的匿名集與S相似度最高的情況的概率僅為20%-35%,表8表明:即使攻擊者截獲用戶的S,采用重放攻擊,也無(wú)法以很高的概率確定用戶所在路段。綜上,本發(fā)明提出的技術(shù)方案,針對(duì)現(xiàn)存方法的局限性,提出了語(yǔ)義影響力的概念,結(jié)合所提概念,提出一種基于路網(wǎng)的個(gè)性化位置隱私保護(hù)方法,所提方法能較好地抵抗推理攻擊和重放攻擊。實(shí)施例結(jié)果可以證明本發(fā)明可以滿足實(shí)際應(yīng)用需求。上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3