本發(fā)明屬于基于位置服務(wù)用戶位置隱私保護(hù)領(lǐng)域,涉及一種基于經(jīng)緯網(wǎng)格的路網(wǎng)環(huán)境下用戶位置隱私保護(hù)方法。
背景技術(shù):
隨著4g技術(shù)迅速發(fā)展,移動(dòng)終端已經(jīng)完全滲入到人們生活的方方面。定位技術(shù)的成熟,讓基于位置的服務(wù)快速崛起。目前基于位置服務(wù)可謂是移動(dòng)用戶的必需品。例如移動(dòng)用戶用自己的手機(jī)查看離自己最近的餐館、離自己最近的旅館等。然而,雖然位置服務(wù)給移動(dòng)用戶提供了較大的便利,但是其可能威脅到用戶的隱私。攻擊者很可能竄通位置服務(wù)器提供商竊取查詢用戶的隱私信息和查詢?nèi)罩?。攻擊者?lián)合位置服務(wù)提供商得到查詢用戶的位置信息和查詢信息等隱私,就可推斷去用戶的隱私信息。例如移動(dòng)用戶想位置服務(wù)器提供查詢離自己當(dāng)前位置最近眼科醫(yī)院時(shí),攻擊聯(lián)合位置服務(wù)提供商就可以獲取到該查詢用戶的具體位置和推斷出該查詢者可能患有眼科疾病。
最近幾年,關(guān)于基于位置服務(wù)的用戶位置信息保護(hù)的研究已經(jīng)取得了一定的成果。大多數(shù)算法都是基于k-匿名算法和spacetwist算法。gruteserm等提出k-匿名算法采用第三方匿名服務(wù)器體系架構(gòu)。其主要思想是:向lbs發(fā)起請求時(shí),向其請求信息中添加k-1個(gè)其它冗余信息,以至于讓lbs無法判別出用戶的真實(shí)請求,從而達(dá)到隱私保護(hù)效果。第三方匿名服務(wù)架構(gòu)中,原有的保護(hù)算法是基于第三方匿名服務(wù)器是完全可信的情況下,把移動(dòng)用戶的真實(shí)數(shù)據(jù)交個(gè)匿名服務(wù)器進(jìn)行匿名處理,但在實(shí)際情況中,匿名服務(wù)器其實(shí)是不完全可信的。賈金營等提出空間網(wǎng)格和經(jīng)緯網(wǎng)格方法,它們假設(shè)匿名服務(wù)器是不完全可信的,移動(dòng)用戶需要先簡單的匿名處理一下自己的真實(shí)位置,然后在發(fā)給匿名服務(wù)器進(jìn)行二次匿名,最后讓匿名服務(wù)器向lbs發(fā)起請求。但是該兩種算法并沒有在匿名服務(wù)器端對用戶興趣點(diǎn)進(jìn)行保護(hù),從而可能間接泄露用戶的位置信息。在興趣點(diǎn)匿名過程中,k-匿名算法采用隨機(jī)添加k-1個(gè)冗余信息,然而該方法不適用于移動(dòng)用戶的連續(xù)查詢。
spacetwist算法與k-匿名相比,spcetwist算法只適用于位置隱私保護(hù)。spacetwist方案通過選取特殊虛假位置代替用戶的真實(shí)位置向位置服務(wù)商發(fā)起查詢請求,其通常不需要加入可信第三方服務(wù)器。其主要思想是:用戶在真實(shí)位置附近隨機(jī)獲取一個(gè)錨點(diǎn),用該錨點(diǎn)向位置服務(wù)提供商發(fā)起增量查詢,直到返回的數(shù)據(jù)覆蓋到用戶需求范圍即可。該放在用戶較少的情況下可能出現(xiàn)位置保護(hù)失敗的情況,針對該問題胡德敏等提出spacetwist和k-匿名算法相結(jié)合的方法,在用戶查詢前,先向lbs請求所在區(qū)域的用戶數(shù)量,從而來形成k-匿名,然后在向lbs發(fā)起請求。該方法在lbs返回給用戶的信息為虛假信息時(shí),會(huì)出現(xiàn)位置保護(hù)失敗的現(xiàn)象。
薛姣等設(shè)計(jì)基于路網(wǎng)的保護(hù)方法,采用匿名樹和最小環(huán)來處理基于路網(wǎng)用戶隱私保護(hù)問題。但該方法需要計(jì)算最小環(huán)和匿名樹,有加大的計(jì)算開銷,不適用于實(shí)際情況。周長利等采用客服端-服務(wù)器架構(gòu),提供了移動(dòng)環(huán)境下位置意思保護(hù)方法。該算法通過計(jì)算自己即將到達(dá)的路端,然后用路端發(fā)起位置服務(wù)請求,該方法雖然保護(hù)用戶的當(dāng)前位置,但泄露了用戶即將到達(dá)的位置,在位置保護(hù)中存在一定的隱患。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于經(jīng)緯網(wǎng)格的路網(wǎng)環(huán)境下用戶位置隱私保護(hù)方法,通過移動(dòng)端興趣點(diǎn)緩沖池來解決用戶連續(xù)查詢時(shí)暴露興趣點(diǎn)的問題,結(jié)合經(jīng)緯網(wǎng)格與路網(wǎng)信息設(shè)計(jì)出一種增量查詢算法。
為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
一種基于經(jīng)緯網(wǎng)格的路網(wǎng)環(huán)境下用戶位置隱私保護(hù)方法,該方法包括以下步驟,
s1:設(shè)置用戶匿名參數(shù)集;
s2:求解用戶匿名請求集;
s3:根據(jù)隱私參數(shù)生成匿名區(qū);
s4:向lbs發(fā)起增量查詢;
s5:查詢結(jié)束,數(shù)據(jù)返回移動(dòng)端過濾展示。
進(jìn)一步,在步驟s1中,所述設(shè)置用戶匿名參數(shù)集為:
qs={id,amin,ku,kp,lr,poi,kr}
其中id為用戶的唯一請求標(biāo)識(shí),amin表示用戶設(shè)置的最小匿名區(qū)即位置服務(wù)提供商能獲知的用戶所在的最小范圍,ku為匿名區(qū)中最少用戶數(shù)量,kp為用戶興趣點(diǎn)匿名集poig{p1,p2,...,pm}中包含不同興趣點(diǎn)的最少數(shù)量,lr為匿名區(qū)包含最少道路條數(shù),kr表示用戶期望返回的興趣點(diǎn)的數(shù)量,poi為用戶的興趣點(diǎn)。
進(jìn)一步,所述步驟s2具體為:
s201:確定用戶所在的經(jīng)緯網(wǎng)格,通過定位系統(tǒng)獲取用戶所在的經(jīng)緯信息,作為用戶的經(jīng)緯網(wǎng)格id(x,y),其中,x為精確到分的經(jīng)度,y為精確到分的維度;
s202:根據(jù)用戶設(shè)置的興趣點(diǎn)匿名參數(shù),從興趣點(diǎn)緩沖池中選擇重復(fù)的興趣點(diǎn)組成興趣點(diǎn)匿名集,求得興趣點(diǎn)匿名集poig;
s203:求解得到用戶匿名請求集
qu={id,id(x,y),amin,ku,lr,poig{p1,p2,...,pm},kr}
其中,id為用戶的唯一請求標(biāo)識(shí),amin表示用戶設(shè)置的最小匿名區(qū)即位置服務(wù)提供商能獲知的用戶所在的最小范圍,ku為匿名區(qū)中最少用戶數(shù)量,lr為匿名區(qū)包含最少道路條數(shù),lr表示用戶期望返回的興趣點(diǎn)的數(shù)量,id(x,y)為用戶所在的經(jīng)緯網(wǎng)格,poig{p1,p2,...,pm}為興趣點(diǎn)匿名集。
進(jìn)一步,所述步驟s3具體為:
使用匿名生成算法(anonymousregiongenerationalgorithm,arga)
arga(id(x,y),amin,ku,lr)
生成滿足用戶匿名需求的匿名區(qū)kl-ars。
其中id(x,y)為用戶的經(jīng)緯網(wǎng)格,x為精確到分的經(jīng)度,y為精確到分的維度,amin表示用戶設(shè)置的最小匿名區(qū)即位置服務(wù)提供商能獲知的用戶所在的最小范圍,ku為匿名區(qū)中最少用戶數(shù)量,lr為匿名區(qū)包含最少道路條數(shù);
所述arga算法具體為:
首先,判斷用戶所在的網(wǎng)格中的用戶的數(shù)量和道路條數(shù)是否滿足用戶隱私需求,若用戶所在的網(wǎng)格中用戶的數(shù)量和道路條數(shù)滿足用戶隱私需求,則以用戶所在的網(wǎng)絡(luò)作為初始的匿名區(qū)ars;
否則先初始一個(gè)匿名區(qū)ars,把用戶所在網(wǎng)格添加到匿名區(qū)ars中,然后隨機(jī)確定一個(gè)初始添加方向,順時(shí)針方向順序添加匿名區(qū)ars相鄰網(wǎng)格,在添加相鄰網(wǎng)格時(shí),依次添加匿名區(qū)ars在該方向上的所有相鄰經(jīng)緯網(wǎng)格,直到滿足用戶需求或添加次數(shù)達(dá)到匿名區(qū)ars在這個(gè)方向上的厚度即匿名區(qū)ars在這個(gè)方向上經(jīng)緯網(wǎng)格的數(shù)量,若一次順時(shí)針添加結(jié)束時(shí)還沒有滿足用戶的匿名需求,則循環(huán)此步,一直到匿名區(qū)ars滿足用戶匿名配置要求;
然后,以ars作外接圓kl-ars(o,r)作為擴(kuò)大的kl-ars使其不小于用戶設(shè)置的最小匿名區(qū)。
進(jìn)一步,所述步驟s4具體為:
當(dāng)獲得滿足用戶匿名要求的匿名區(qū)kl-ars后,首先使用knn增量查詢算法向位置服務(wù)器提供商發(fā)起增量查詢;
所述增量查詢算法具體為:以kl-ars作為用戶的真實(shí)位置向lbs發(fā)起qa請求,請求公式為:
qa={kl-asr,poig{p1,p2,...,pm},kr}
其中l(wèi)l-asr為最小匿名區(qū),poig{p1,p2,...,pm}為用戶興趣點(diǎn)匿名集,kr表示用戶期望返回的興趣點(diǎn)的數(shù)量;
然后接收lbs返回的詳細(xì)數(shù)據(jù),計(jì)算興趣點(diǎn)匿名集組中各個(gè)興趣點(diǎn)的數(shù)量;當(dāng)興趣點(diǎn)匿名集組中最少興趣點(diǎn)數(shù)量的個(gè)數(shù)小于kr時(shí),通知位置服務(wù)器提供商繼續(xù)增量查詢;當(dāng)興趣點(diǎn)匿名集組中所有的興趣點(diǎn)的數(shù)量均不小于kr時(shí),通知位置服務(wù)提供商停止增量查詢并結(jié)束這次查詢。
進(jìn)一步,所述步驟s5具體為:
匿名服務(wù)器把服務(wù)商返回的興趣點(diǎn)的信息集返回給移動(dòng)端,移動(dòng)端從返回信息集中提取出用戶興趣點(diǎn)相關(guān)的信息,丟棄冗余信息,從而進(jìn)行展示。
本發(fā)明的有益效果在于:本發(fā)明解決了采用中心服務(wù)器架構(gòu)中匿名服務(wù)非可信的問題,解決了路網(wǎng)環(huán)境下經(jīng)緯網(wǎng)格方法不適用的問題,彌補(bǔ)了原有經(jīng)緯網(wǎng)格方法在匿名區(qū)生成時(shí)間接泄露用戶位置隱私的問題,彌補(bǔ)了移動(dòng)端間接性連續(xù)查詢時(shí)興趣隱私會(huì)泄露的問題。本發(fā)明結(jié)合經(jīng)緯網(wǎng)格方法解決匿名服務(wù)器非可行問題,采用興趣點(diǎn)緩沖池解決處理用戶連續(xù)查詢時(shí)興趣點(diǎn)泄露問題,通過隨機(jī)圓環(huán)算法解決匿名區(qū)生成時(shí)位置隱私安全性問題。本發(fā)明提高了移動(dòng)用戶在連續(xù)查詢以及特殊路網(wǎng)環(huán)境下發(fā)起位置服務(wù)器請求的隱私安全性。
附圖說明
為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說明:
圖1為本發(fā)明的示意圖;
圖2為本發(fā)明算法實(shí)施系統(tǒng)結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合附圖,對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
如圖2所示,本發(fā)明的實(shí)施包括三個(gè)部分:移動(dòng)終端、匿名服務(wù)器和位置服務(wù)器提供商。
移動(dòng)終端通過定位系統(tǒng)獲取經(jīng)緯度后確定用戶的所屬的經(jīng)緯網(wǎng)格id,配置好移動(dòng)用戶匿名參數(shù),在移動(dòng)端生成匿名用戶興趣點(diǎn)集,向匿名服務(wù)器發(fā)起查詢請求。匿名服務(wù)器收到移動(dòng)終端的查詢請求后為移動(dòng)用戶生成匿名請求集,代替用戶向lbs發(fā)起增量查詢,然后把查詢到的信息返回給移動(dòng)終端。最后移動(dòng)終端過濾掉無用的新區(qū)興趣信息。下面通過假設(shè)一個(gè)移動(dòng)用戶發(fā)起查詢距離自身最近的kr個(gè)眼科醫(yī)院的位置服務(wù)為例來針對本發(fā)明進(jìn)行具體實(shí)施說明:
移動(dòng)終端由三個(gè)模塊組成,第一模塊為定位模塊,該模塊通過gps或者移動(dòng)基站定位系統(tǒng)獲取到該請求用戶所在的經(jīng)緯度,通過取經(jīng)緯度的精度到分作為用戶所在的經(jīng)緯網(wǎng)格id(x,y)在發(fā)起請求時(shí)使用。用戶在發(fā)起查詢前需要根據(jù)自己對隱私保護(hù)程度設(shè)置對應(yīng)的匿名參數(shù)集。每個(gè)參數(shù)越大意味著對隱私保護(hù)需求越高。第二模塊是緩沖池模塊,該模塊主要用戶存儲(chǔ)用戶查詢過的興趣點(diǎn)信息,用于興趣點(diǎn)k-匿名的形成,該模塊中存放了用戶近期所查詢過的興趣點(diǎn)。請求時(shí)先查看眼科醫(yī)院這個(gè)興趣點(diǎn)是否存在于緩存數(shù)組前kp的元素中,如果存在則直接用緩存的前kp個(gè)興趣點(diǎn)形成興趣點(diǎn)匿名集,否則在緩存興趣點(diǎn)集中隨機(jī)選取kp-1個(gè)興趣點(diǎn),與當(dāng)前查詢興趣點(diǎn)形成匿名集piog,把所選的興趣點(diǎn)移動(dòng)到緩存池的最前面?zhèn)湎麓尾樵兪褂?。然后組裝用戶設(shè)置的匿名參數(shù)以及興趣點(diǎn)匿名形成請求集qu。通信模塊可以采用thrift框架實(shí)現(xiàn),用于和匿名服務(wù)器的通信。移動(dòng)端有兩種通信情況:一是當(dāng)移動(dòng)端經(jīng)緯id發(fā)生變化時(shí)需要向匿名服務(wù)器發(fā)送通知信息info(idpre,idcur),idpre表示上次所屬的經(jīng)網(wǎng)格,idcur表示用戶當(dāng)前所屬的經(jīng)網(wǎng)格;二是用戶發(fā)起的查詢請求,請求集形成后,通信模塊向匿名服務(wù)器發(fā)起請求并等待其返回結(jié)果。當(dāng)匿名服務(wù)器返回查詢的詳細(xì)結(jié)果后,移動(dòng)端過濾掉非用戶真實(shí)興趣點(diǎn)的信息,然后展示。
匿名服務(wù)器部分由三個(gè)模塊組成:存儲(chǔ)模塊、匿名模塊和通信模塊。
匿名服務(wù)器有自己的管轄范圍,如基站一樣,管轄特定區(qū)域的用戶請求。匿名服務(wù)器用經(jīng)緯度精確到分的精確度劃分所管轄區(qū)域,并用一個(gè)位圖來表示對應(yīng)的網(wǎng)格id,存放到存儲(chǔ)模塊中。位圖中的鍵值對應(yīng)的是該經(jīng)緯網(wǎng)格中用戶的數(shù)量和道路條數(shù)。道路條數(shù)油匿名服務(wù)器拖過lbs獲取到其所管轄區(qū)域路網(wǎng)信息,并以已經(jīng)劃分好的網(wǎng)格區(qū)中來統(tǒng)計(jì)所擁有的道路數(shù)量。
匿名模塊用于生成滿足用戶匿名度匿名請求集qa。
ⅰ.采用arga生成匿名區(qū):首先把id(x,y)添加到初始匿名區(qū)ars中,ars為一個(gè)動(dòng)態(tài)數(shù)組,其次判斷id(x,y)經(jīng)緯網(wǎng)格中移動(dòng)用戶的數(shù)量不小于ku,同時(shí)道路條數(shù)是否不小于lr,不滿足則執(zhí)行一下步驟:
步驟一:隨機(jī)確定一個(gè)初始添加方向,順時(shí)針方向順序添加ars相鄰經(jīng)緯網(wǎng)格。在添加相鄰網(wǎng)格時(shí),依次添加ars在該方向上的所有相鄰經(jīng)緯網(wǎng)格,直到ars中移動(dòng)用戶的數(shù)量不小于ku同時(shí)道路條數(shù)不小于lr。
步驟二:判斷ars中是否移動(dòng)用戶數(shù)量不小于ku,同時(shí)道路條數(shù)不小于lr,否,則跳到步驟一往下執(zhí)行。是,則以ars的外接圓作為kl-ars(o,r),擴(kuò)大kl-ars半徑使其面積不小于用戶給定的amin。
ⅱ.用kl-ars形成請求匿名集qa。
匿名服務(wù)器通信模塊為thrift服務(wù)端,用于接受移動(dòng)終經(jīng)緯網(wǎng)格的更新、興趣查詢請求和向位置服務(wù)商發(fā)起增量查詢。當(dāng)接收到用戶位置更新請求info(idpre,idcur)時(shí),對網(wǎng)格id為idpre網(wǎng)格做移動(dòng)用戶人數(shù)減一操作,對idcur網(wǎng)格則做加一操作。當(dāng)匿名請求集生成后,則向位置服務(wù)器發(fā)起增量查詢。用一個(gè)位圖count來統(tǒng)計(jì)每個(gè)興趣的數(shù)量。如圖1所示,具體步驟如下:
1.向位置服務(wù)提供商發(fā)起增量查詢;
2.從位置服務(wù)提供商提出部分?jǐn)?shù)據(jù);
3.統(tǒng)計(jì)已經(jīng)獲取到各個(gè)興趣點(diǎn)的數(shù)量;
4.選取count中最小的值,判斷count是否大于,大于,則停止增量查詢;否則,跳到步驟2繼續(xù)執(zhí)行;
5.把獲取到的詳細(xì)信息返回給請求端。
最后說明的是,以上優(yōu)選實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管通過上述優(yōu)選實(shí)施例已經(jīng)對本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書所限定的范圍。