本發(fā)明屬于網(wǎng)絡(luò)安全和隱私保護(hù)領(lǐng)域,特別涉及一種基于邊簇圖的語義位置隱私保護(hù)方法。
背景技術(shù):
隨著定位技術(shù)的發(fā)展和移動設(shè)備的普及,基于位置的服務(wù)(Location Based Service,LBS)給人們生活帶來很多便利,如查詢附近餐館,查詢附近酒吧,或者到指定位置時發(fā)送通知等,請求基于位置的服務(wù)日漸成為人們生活的一部分。然而,用戶在享受基于位置服務(wù)帶來便利的同時,也存在隱私泄露的風(fēng)險,用戶在使用基于位置的服務(wù)時需要發(fā)送服務(wù)請求和自身的位置信息,如果位置服務(wù)器被攻擊或服務(wù)提供商把數(shù)據(jù)用于其他商業(yè)目的,用戶的生活習(xí)慣,行為偏好,健康狀況等隱私信息就存在被暴露的風(fēng)險。
目前大部分位置隱私保護(hù)方法基于歐幾里得空間,不適用實際生活中的道路網(wǎng)絡(luò),且提出的(k,l)隱私模型不足以保證用戶隱私安全,即匿名集雖然包含k個用戶l條路段,但匿名集可能以較大概率暴露用戶在敏感位置附近。在已有語義敏感的位置隱私保護(hù)方法中普遍存在匿名成功率低,匿名速度慢的問題,且都不能保證匿名集的結(jié)構(gòu),這給位置服務(wù)器帶來很大的查詢延時,匿名服務(wù)器較高的求精延時,從而導(dǎo)致較低的服務(wù)質(zhì)量。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種基于邊簇圖的語義位置隱私保護(hù)方法,該方法能夠提高匿名服務(wù)器對匿名請求保護(hù)的成功率,降低匿名時間,提高位置服務(wù)器的查詢效率。
本發(fā)明的目的通過以下技術(shù)方案實現(xiàn):一種基于邊簇圖的語義位置隱私保護(hù)方法,該方法具體包括如下步驟:
1)用戶發(fā)送當(dāng)前位置、隱私偏好、請求興趣點類型到匿名服務(wù)器;
2)匿名服務(wù)器執(zhí)行匿名算法得到匿名集;
3)匿名服務(wù)器發(fā)送匿名后的請求到位置服務(wù)器;
4)位置服務(wù)器進(jìn)行查詢,將查詢結(jié)果返回給匿名服務(wù)器;
5)匿名服務(wù)器對結(jié)果進(jìn)行求精,將結(jié)果返回給用戶。
其中,興趣點表示為poi=(type,pop),type為興趣點類型,pop為興趣點流行度;用戶隱私偏好profile=(k,l,θ,v,lmax),表示匿名集至少需要包含k個用戶,l條路段,θ為用戶敏感度閾值,即匿名集興趣點敏感值之和與流行度總和的比值不大于θ,v為一個向量,表示用戶對不同類型興趣點的敏感度,用戶對興趣點的敏感值為用戶對該興趣點敏感度與興趣點流行度的乘積,lmax為用戶容忍的最大匿名集大小。
匿名算法包括以下步驟:
(1)將路網(wǎng)地圖轉(zhuǎn)換為邊簇圖,在邊簇圖中執(zhí)行算法,邊簇圖中的各頂點對應(yīng)路網(wǎng)地圖的相應(yīng)邊,邊簇圖中兩頂點有連接,當(dāng)且僅當(dāng)路網(wǎng)圖中兩邊鄰接;設(shè)置匿名集為用戶所在邊簇圖頂點,候選集初始為該頂點的鄰接頂點。
(2)計算候選集各頂點得分score(i):
score(i)=(1-w)×A(i)+w×Struct(i),0≤w<1, (1)
式(1)中A(i)為加入候選頂點i后匿名集達(dá)到的隱私程度分?jǐn)?shù),Struct(i)為加入候選頂點i后匿名集結(jié)構(gòu)分?jǐn)?shù),加入頂點i匿名集新增環(huán)時,Struct(i)取較大值。w為用于調(diào)節(jié)匿名集隱私程度和匿名集結(jié)構(gòu)重要程度的偏好參數(shù)。式(2)中k為當(dāng)前匿名集達(dá)到的用戶數(shù)水平,K為用戶隱私偏好中匿名集包含用戶數(shù)的需求,si為加入候選頂點i后由匿名算法計算的匿名集敏感值得分。
(3)選擇得分最高的頂點加入匿名集并更新候選集,直到滿足用戶隱私偏好或匿名集大小超過用戶容忍的lmax。
相對于現(xiàn)有技術(shù),本發(fā)明具有如下的優(yōu)點與有益效果:
本發(fā)明定義的隱私需求偏好符合用戶實際需求,通過在邊簇圖中執(zhí)行匿名算法來約束匿名集結(jié)構(gòu),并根據(jù)當(dāng)前匿名集狀態(tài),啟發(fā)式地優(yōu)先加入能使當(dāng)前匿名集最快達(dá)到用戶隱私需求的候選頂點,該方法能夠提高匿名服務(wù)器對匿名請求保護(hù)的成功率,降低匿名時間,提高位置服務(wù)器的查詢效率。
附圖說明
圖1是本發(fā)明系統(tǒng)結(jié)構(gòu)示意圖。
圖2a是路網(wǎng)示意圖;其中,●表示路網(wǎng)頂點,表示醫(yī)院,表示發(fā)起匿名請求用戶,○表示邊簇圖頂點,表示學(xué)校,△表示其他用戶。
圖2b是路網(wǎng)地圖所對應(yīng)的邊簇圖。
圖3是本發(fā)明匿名算法過程示意圖。
具體實施方式
下面結(jié)合實施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實施方式不限于此。
實施例
本發(fā)明采用如圖1所示的基于可信第三方的系統(tǒng)結(jié)構(gòu),系統(tǒng)主要分為LBS用戶、匿名服務(wù)器、位置服務(wù)器三部分,LBS用戶為位置服務(wù)請求者,匿名服務(wù)器執(zhí)行匿名算法對用戶請求進(jìn)行保護(hù),位置服務(wù)器為位置服務(wù)提供者,響應(yīng)匿名保護(hù)后的請求。
下面對本發(fā)明提供的一種基于邊簇圖的語義位置隱私保護(hù)方法進(jìn)行詳細(xì)描述,為了方便描述,首先作如下定義:
定義1:(用戶隱私偏好profile)用戶向匿名服務(wù)器發(fā)送的隱私偏好表示為profile=(k,l,θ,v,lmax);
其中,k,l,θ分別表示匿名集至少需要包含k個用戶,l條路段,θ為用戶敏感度閾值,即匿名集興趣點敏感值之和與流行度總和的比值不大于θ,v為一個向量,表示用戶對不同類型興趣點的敏感度,用戶對興趣點的敏感值為用戶對該興趣點敏感度與興趣點流行度的乘積,lmax為用戶容忍的最大匿名集大小。
定義2:(興趣點poi)位置服務(wù)器保存的興趣點表示為poi=(type,pop);
其中,type為興趣點類型,pop為興趣點流行度,流行度表示興趣點的繁華程度,興趣點流行度高時表示用戶以較大概率出現(xiàn)在該興趣點附近,對于同類型興趣點,流行度不一定相同,如大的商場流行度普遍比小商場高。
定義3:(邊簇圖Gc)邊簇圖為路網(wǎng)地圖轉(zhuǎn)換后的一種圖,邊簇圖中的各頂點對應(yīng)路網(wǎng)地圖的相應(yīng)邊,邊簇圖中兩頂點有連接,當(dāng)且僅當(dāng)原圖兩邊鄰接。興趣點和用戶分布在路網(wǎng)地圖的邊上,對應(yīng)分布在邊簇圖頂點。
邊簇圖用于基于路網(wǎng)的位置隱私保護(hù)方法時具有如下特點:
1)邊簇圖在匿名集擴(kuò)展時,能快速地回答一個頂點的鄰接頂點,即對應(yīng)路網(wǎng)圖中一條邊的鄰接邊。
2)路網(wǎng)圖中構(gòu)成環(huán)的結(jié)構(gòu)在邊簇圖中也構(gòu)成環(huán),路網(wǎng)中兩條以上邊通過同一個路網(wǎng)頂點鄰接時,邊簇圖構(gòu)成環(huán)。如圖2a和圖2b虛線部分所示。
3)路網(wǎng)拓?fù)浣Y(jié)構(gòu)不發(fā)生變化時,邊簇圖也不需要改變。
定義4:(純非敏感語義缺失值di)純非敏感語義缺失值di定義為加入邊簇圖候選頂點i后當(dāng)前匿名集為了達(dá)到用戶的θ需求所需要加入的純非敏感語義值。
式(3)中,∑svalue為用戶對當(dāng)前匿名集中興趣點的敏感值之和,∑pop為當(dāng)前匿名集興趣點的流行度之和。
定義4:(匿名集敏感值得分si)加入邊簇圖候選頂點i后當(dāng)前匿名集的敏感值得分si定義為:
式(4)中,di由式(3)定義,dmax和dmin分別為當(dāng)前候選集中所有候選頂點的最大純非敏感語義缺失值和最小純非敏感語義缺失值,當(dāng)dmax=dmin時,si取固定值,表示當(dāng)前候選集中,候選頂點的匿名集敏感值得分相同。
定義5:(開放節(jié)點Vo)在路網(wǎng)地圖中,開放節(jié)點定義為匿名集所包括的頂點中,存在鄰接邊不屬于匿名集的頂點。
定義6:(查詢代價Cost)匿名服務(wù)器把匿名后的請求發(fā)送給位置服務(wù)器進(jìn)行查詢,為保證用戶得到所有準(zhǔn)確poi,位置服務(wù)器需要先查詢匿名集中的興趣點,然后對所有開放節(jié)點進(jìn)行查詢,查詢代價由式(5)定義。
Cost=|E|+|Vo|×para (5)
式(5)中,|E|為匿名集中路網(wǎng)邊的數(shù)目,|Vo|為匿名集中開放節(jié)點數(shù)目,para為興趣點在路網(wǎng)分布情況的參數(shù),當(dāng)路網(wǎng)拓?fù)浣Y(jié)構(gòu)、興趣點分布不發(fā)生變化時為確定值。為了減少位置服務(wù)器的查詢代價和匿名服務(wù)器的結(jié)果求精開銷,在滿足用戶隱私偏好的前提下,匿名集中邊的數(shù)目,開放節(jié)點數(shù)目要盡可能少。
本發(fā)明提供的一種基于邊簇圖的語義位置隱私保護(hù)方法,如圖3所示,包括如下步驟:
步驟1、用戶發(fā)起查詢:用戶發(fā)送當(dāng)前位置、隱私偏好、請求興趣點類型到匿名服務(wù)器。用戶個性化的隱私偏好可根據(jù)自身需求動態(tài)調(diào)整,用戶可以細(xì)粒度地表達(dá)對一類興趣點敏感度而不僅僅是敏感或非敏感,同一類型興趣點流行度可不同。
步驟2、匿名:匿名服務(wù)器執(zhí)行匿名算法得到匿名集,匿名集包含若干連接的路網(wǎng)邊集,匿名集須滿足用戶的隱私偏好。
步驟3、匿名服務(wù)器轉(zhuǎn)發(fā)匿名請求:匿名服務(wù)器發(fā)送匿名后的請求到位置服務(wù)器,用戶的準(zhǔn)確位置被匿名集中的路網(wǎng)邊集代替。
步驟4、位置服務(wù)器查詢:位置服務(wù)器收到匿名請求后,先查詢匿名集中的興趣點,再對匿名集中的各邊界節(jié)點進(jìn)行范圍查詢,將查詢結(jié)果返回給匿名服務(wù)器;
步驟5、結(jié)果求精:匿名服務(wù)器擁有用戶的真實位置,通過計算位置服務(wù)器返回的興趣點與用戶真實位置的距離,對結(jié)果進(jìn)行求精,將結(jié)果返回給用戶。
本發(fā)明的主要技術(shù)特征體現(xiàn)在:定義的個性化隱私需求偏好符合用戶實際需求;在邊簇圖中執(zhí)行匿名算法來約束匿名集結(jié)構(gòu),以減少匿名集中開放節(jié)點數(shù)目;根據(jù)當(dāng)前匿名集狀態(tài),啟發(fā)式地選擇最優(yōu)邊加入匿名集,以減少匿名集中邊的數(shù)目。
上述步驟2中,匿名算法先將路網(wǎng)圖轉(zhuǎn)換為邊簇圖,通過路網(wǎng)擴(kuò)展的方式從用戶所在的邊簇圖頂點出發(fā),啟發(fā)式地加入鄰接邊簇圖頂點并更新當(dāng)前匿名集,直到滿足用戶隱私需求,匿名算法的具體步驟如下:
步驟1、用戶請求匿名:用戶發(fā)送查詢請求給匿名服務(wù)器,匿名服務(wù)器獲取用戶所在路段對應(yīng)邊簇圖頂點和用戶的隱私偏好profile=(k,l,θ,v,lmax),設(shè)置初始匿名集為該頂點,初始候選集為該頂點的鄰接邊簇圖頂點。
步驟2、判斷匿名集是否滿足用戶隱私要求:滿足用戶隱私要求時,將匿名集中的邊簇圖頂點轉(zhuǎn)換為路網(wǎng)圖中的相應(yīng)邊返回,否則進(jìn)行步驟3。
步驟3、計算當(dāng)前匿名集提供的隱私保護(hù)狀態(tài):匿名集不滿足用戶隱私偏好時,包括以下七個狀態(tài):k,l,θ不滿足,k,l不滿足,k,θ不滿足,k不滿足,l,θ不滿足,l不滿足,θ不滿足。當(dāng)匿名集存在用戶數(shù)k不滿足時,匿名集擴(kuò)展時兼顧候選頂點提供的用戶數(shù)k和語義值,否則,匿名集擴(kuò)展時,不考慮候選頂點提供的用戶數(shù),僅優(yōu)先選擇語義最快滿足的候選頂點。計算當(dāng)前候選集中最大的純非敏感語義缺失值dmax,最小的純非敏感語義缺失值dmin。
步驟4、根據(jù)公式(1)(2)(3)(4)計算各候選頂點得分score(i),計算候選頂點分?jǐn)?shù)時將兼顧匿名集達(dá)到的隱私狀態(tài)和匿名集的結(jié)構(gòu)。匿名集擴(kuò)展加入一個候選邊簇圖頂點,即路網(wǎng)邊時,匿名集對應(yīng)路網(wǎng)圖中的開放節(jié)點包括以下狀態(tài):
1)開放節(jié)點數(shù)減少兩個;
2)開放節(jié)點數(shù)減少一個;
3)開放節(jié)點數(shù)不變;
4)開放節(jié)點數(shù)增加一個;
其中,開放節(jié)點數(shù)減少時,必定是加入該候選邊后,使路網(wǎng)圖中匿名集新增環(huán)的結(jié)構(gòu),邊簇圖中也新增環(huán)的結(jié)構(gòu);開放節(jié)點數(shù)不變時存在兩種情形,一種為匿名集對應(yīng)路網(wǎng)圖不增加頂點,此時構(gòu)成環(huán),該邊至少被兩個開放節(jié)點用于查詢,另一種為匿名集增加一個新開放頂點,而此前匿名集中一個開放節(jié)點變成非開放節(jié)點,此時邊簇圖中新增環(huán)時,對應(yīng)著新加入的路網(wǎng)邊至少和匿名集中兩條路網(wǎng)邊鄰接;加入候選路網(wǎng)邊后開放節(jié)點增加一個時,邊簇圖新增環(huán)的結(jié)構(gòu)也對應(yīng)著新加入的路網(wǎng)邊至少和匿名集中兩條邊鄰接,位置服務(wù)器在新加入的開放節(jié)點進(jìn)行查詢時,至少可以重用兩條以上鄰接的邊,則返回的興趣點數(shù)目減少,匿名服務(wù)器求精開銷相應(yīng)減少。加入候選頂點i使匿名集新增環(huán)時,Struct(i)取較大值。
步驟5、選擇候選頂點:選擇得分最高的候選頂點加入匿名集并更新候選集。判斷匿名集大小是否超過用戶容忍的lmax,超出用戶容忍的最大匿名集大小時返回匿名失敗,否則執(zhí)行步驟2。
下面結(jié)合附圖舉例對匿名算法進(jìn)行描述。
假設(shè)用戶在如圖2所示的位置發(fā)起匿名請求,用戶的隱私偏好profile=(k,l,θ,v,lmax),其中k和l為2,匿名集敏感語義值與匿名集興趣點流行度比值θ要求為0.5,用戶對醫(yī)院敏感度為0.9,對學(xué)校敏感度為0.1,用戶允許的最大匿名集邊的數(shù)目lmax=20。用于調(diào)節(jié)匿名集隱私程度和匿名集結(jié)構(gòu)重要程度的偏好參數(shù)w為0.1。匿名集擴(kuò)展加入候選頂點i新增環(huán)時,Struct(i)取1,否則Struct(i)取0。假設(shè)圖2a和圖2b中醫(yī)院和學(xué)校的流行度都為0.5,當(dāng)dmax=dmin時,si取1。匿名算法執(zhí)行的流程如下:
1、匿名算法定位用戶所在邊簇圖頂點e4,把e4加入匿名集CS,e4的鄰接頂點e2,e3,e5,e7加入候選集ES。
2、匿名集CS={e4},此時匿名集只包含一個邊簇圖頂點、一個用戶,且僅包含敏感興趣點,不滿足用戶隱私需求,匿名算法繼續(xù)。
3、計算當(dāng)前匿名敏感語義值與匿名集興趣點流行度比值為大于0.5。候選集ES={e2,e3,e5,e7},其中候選頂點e2包含學(xué)校興趣點,加入e2后匿名集純非敏感語義缺失值取最小值,為候選頂點e3,e5,e7不包含興趣點,加入后純非敏感語義缺失值都取最大值
4、計算ES中各候選頂點分?jǐn)?shù)。其中e2不包含用戶,加入e2后匿名集語義值得分se2為加入e2,邊簇圖中匿名集沒有新增環(huán)結(jié)構(gòu),Struct(e2)為0,則
score(e5)=0,score(e7)=0。
5、選擇得分最高的e2加入匿名集,此時匿名集CS={e4,e2},匿名集大小為2小于匿名算法最大容忍頂點數(shù)20,更新候選集ES={e1,e3,e5,e7}。
6、匿名集包含的用戶數(shù)為1,不滿足用戶隱私需求,匿名算法繼續(xù)。
7、當(dāng)前匿名集敏感語義值與匿名集興趣點流行度比值為0.5。候選集ES={e1,e3,e5,e7},且候選頂點中都不包含興趣點,
8、計算ES中各候選頂點分?jǐn)?shù)。匿名集加入候選頂點e1或e3時,匿名集都增加一個用戶,而加入候選頂點e3時,邊簇圖匿名集中新增環(huán)結(jié)構(gòu),
score(e1)=0.9,score(e5)=0.45,score(e7)=0.45。
9、選擇得分最高的e3加入匿名集,此時,匿名集滿足用戶隱私偏好,返回匿名集CS={e2,e3,e4}。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。