本發(fā)明屬于基于位置的服務(wù)及安全和隱私保護(hù)技術(shù)領(lǐng)域,具體涉及一種基于灰色預(yù)測的鏈?zhǔn)絢-匿名位置隱私保護(hù)方法。
背景技術(shù):
移動通信業(yè)的發(fā)展誕生了位置服務(wù)(locationbasedservice,簡稱lbs)的概念,加上最近幾年計算機(jī)互聯(lián)網(wǎng)技術(shù)、無線技術(shù)的飛速發(fā)展,諸如北斗導(dǎo)航、gps等移動定位和地理信息系統(tǒng)在越來越多的領(lǐng)域被應(yīng)用。當(dāng)下智能手機(jī)的普及,使得移動終端的位置服務(wù)變得越來越盛行,lbs可以給移動用戶提供豐富的位置信息服務(wù),諸如地圖導(dǎo)航、餐飲查詢、定位追蹤、位置共享社交等。
lbs在迅速發(fā)展的同時,也帶來了越來越多的安全隱患,位置數(shù)據(jù)隱私保護(hù)成為了一直以來的研究熱點。lbs服務(wù)之所以會帶來隱私安全問題,是因為用戶在獲取lbs提供的服務(wù)時,需要向lbs提供自身的位置信息,若lbs本身就不可信任,則用戶的位置信息自然會泄露,即便lbs是可信任的,第三方也可以攻擊lbs以獲取用戶的位置信息。用戶信息泄露后,除直接暴露用戶當(dāng)前位置,更多的隱含信息也會被同時暴露,比如生活習(xí)慣、興趣愛好、身體狀況、職業(yè)角色、社交關(guān)系等敏感信息,第三方在搜集諸如此類用戶信息后,可以做更多的預(yù)測外延,由此可以看出用戶的位置信息一旦泄露將會帶來不可想象的后果。
國內(nèi)外對位置隱私保護(hù)技術(shù)的研究一直在不斷進(jìn)行,解決方案從整體結(jié)構(gòu)上看可分為兩大類,一類是基于可信任第三方(thirdtrustedparty,簡稱ttp)的位置隱私保護(hù)方法,另一類是沒有ttp的位置隱私保護(hù)方法。
第一類方法中最為常見的是k-匿名位置隱私保護(hù)技術(shù),同時還有匿名框和考慮數(shù)據(jù)特征方法等。k-匿名技術(shù)基于ttp為請求用戶構(gòu)造一個包含當(dāng)前用戶的共k個用戶的匿名空間區(qū)域(anonymizingspatialregion,簡稱asr),隨后將asr的請求消息發(fā)送給lbs服務(wù)器,lbs服務(wù)器將asr中的所有用戶的查詢結(jié)果返還給匿名服務(wù)器,匿名服務(wù)器對查詢結(jié)果進(jìn)行遍歷,篩選出真實用戶位置并將真實查詢結(jié)果返還給用戶,這樣一來,即便攻擊了lbs服務(wù)器獲取了查詢結(jié)果,但攻擊者并不能確定匿名域中哪一個是真實用戶位置,從而實現(xiàn)了對用戶位置隱私的保護(hù)。marcogruteser等首次將k-匿名技術(shù)應(yīng)用到位置隱私保護(hù)中,該方案是基于四叉樹算法對時空進(jìn)行偽裝實現(xiàn)的,但其k值固定,且容易造成asr過剩,增加了計算開銷且影響了服務(wù)質(zhì)量。bugragedik和lingliu提出了cliquecloak方法,該方案中的k值不再固定,但計算復(fù)雜度較高,且僅支持較小的k值。mohamedf.mokbel等在marcogruteser的基礎(chǔ)上提出了casper算法,降低了開銷但依然存在服務(wù)質(zhì)量降低的問題。benniu和qinghuali等提出dls和enhanced-dls算法,dls算法通過熵度量選擇虛假位置進(jìn)行匿名,enhanced-dls算法擴(kuò)大了虛假位置的分布,即擴(kuò)大了匿名域。
從上述方案可看出,當(dāng)前的位置隱私保護(hù)技術(shù)大都依賴于一個可信任的匿名服務(wù)器,對用戶位置進(jìn)行匿名的時候更多的采用構(gòu)造asr的方法,這樣做的確可以保障用戶的位置隱私安全,但同時會帶來一個服務(wù)質(zhì)量(qualityofservice,簡稱qos)與隱私保護(hù)程度的矛盾,當(dāng)追求更好的隱私保護(hù)程度即增大asr時,通信開銷和計算復(fù)雜度會相應(yīng)增大,qos會降低。
無論從用戶還是lbs的角度來說,隱私保護(hù)程度高、額外開銷少、服務(wù)質(zhì)量高都是追求目標(biāo),在當(dāng)下這樣一個注重效率和質(zhì)量的時代,在不降低隱私保護(hù)程度的前提下,如何有效地提高服務(wù)質(zhì)量而不過多增加開銷就成為了急需解決的問題。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有位置隱私保護(hù)技術(shù)出現(xiàn)的qos與隱私保護(hù)程度的矛盾,為降低通信開銷和計算復(fù)雜度,本發(fā)明提供了一種基于灰色預(yù)測的鏈?zhǔn)絢-匿名位置隱私保護(hù)方法,匿名服務(wù)器根據(jù)請求消息基于灰色預(yù)測構(gòu)建出一條虛假用戶路徑,在保障了用戶位置隱私的同時實現(xiàn)了100%的服務(wù)質(zhì)量。
首先對本發(fā)明所使用的重要術(shù)語及其約束介紹如下:
灰色系統(tǒng)理論(greysystemtheory):灰色系統(tǒng)理論著重研究小樣本、貧信息的不確定問題,通過對原始數(shù)據(jù)的適當(dāng)施加序列算子并進(jìn)行灰色序列生成,探索出事物運動的現(xiàn)實規(guī)律。
序列算子和灰色序列生成:在本發(fā)明中,對于用戶的位置請求消息序列,嚴(yán)格上來講是一個沖擊擾動系統(tǒng),可以根據(jù)實際情況對消息序列施加緩沖算子以過濾干擾項,之后將累加生成算子(accumulatinggenerationoperator,簡稱ago)作用于序列使其具有灰指數(shù)規(guī)律。
灰色預(yù)測(greyforecasting):灰色系統(tǒng)理論的重要分支,以灰色生成技術(shù)為基礎(chǔ),以gm(greymodel,簡稱gm)系列模型為核心,實現(xiàn)對系統(tǒng)運行行為和演化規(guī)律的正確描述。
gm(1,1)模型:gm系列模型應(yīng)用最廣泛的模型,具體是指均值gm(1,1)模型(evengreymodel,簡稱egm),本發(fā)明的灰色預(yù)測即采用此模型,具體模型如下:
設(shè)序列x(0)=(x(0)(1),x(0)(2),…,x(0)(n)),其中,x(0)(k)≥0,k=1,2…n;
對序列x(0)進(jìn)行一階累加生成(1-ago),得序列x(1)如下:
x(1)=(x(1)(1),x(1)(2),…,x(1)(n))
其中,
接下來對一階累加生成序列x(1)施以緊鄰均值生成算子,得到序列z(1),如下:
z(1)=(z(1)(1),z(1)(2),…,z(1)(n))
其中,
z(1)(k)=0.5x(1)(k)+0.5x(1)(k-1),k=2,3,…n
則gm(1,1)模型的均值形式為
x(0)(k)+az(1)(k)=b
其中,參數(shù)向量
其中y,b分別為
根據(jù)gm(1,1)模型的均值形式,其白化微分方程為
求解此方程,則均值gm(1,1)模型的時間響應(yīng)式為
其中e為自然底數(shù),根據(jù)響應(yīng)式便可進(jìn)行后續(xù)的預(yù)測。
為實現(xiàn)本發(fā)明的目的,本發(fā)明提出的技術(shù)方案為一種基于灰色預(yù)測的鏈?zhǔn)絢-匿名位置隱私保護(hù)方法,具體包括如下步驟:
步驟1.以六元組的形式代表某一用戶在當(dāng)前位置的位置服務(wù)請求消息,即q=(id,loc,t,qry,r,k),其中id指發(fā)出請求消息的用戶id,loc指用戶發(fā)出消息請求的位置,含坐標(biāo)分量,t是發(fā)出請求的時刻,qry指用戶請求查詢的興趣點的有關(guān)信息,r指用戶請求的興趣點到loc的距離,k指用戶自己指定的匿名整型參數(shù);
步驟2.匿名服務(wù)器收到用戶請求消息q后,根據(jù)k值對用戶請求消息進(jìn)行匿名處理,構(gòu)建虛假消息路徑、生成請求信息q并發(fā)送給lbs服務(wù)器;
步驟3.lbs接收到匿名服務(wù)器的請求消息q后開始進(jìn)行遍歷查詢,并將查詢結(jié)果r返還給匿名服務(wù)器;
步驟4.匿名服務(wù)器接收到lbs的返還查詢結(jié)果集r后,遍歷路徑中的所有節(jié)點,過濾出真實位置后將其對應(yīng)的真實結(jié)果返還給當(dāng)前用戶,最后清空當(dāng)前消息路徑。
進(jìn)一步,上述步驟2中的匿名處理過程包括以下步驟:
步驟2.1.匿名服務(wù)器在收到當(dāng)前用戶請求消息后標(biāo)記為q(0),然后根據(jù)k值進(jìn)行判斷,若k≤4,即不滿足進(jìn)行灰色預(yù)測所需原始數(shù)據(jù)個數(shù)的最低要求,則返回等待用戶輸入狀態(tài),且服務(wù)器給出提示信息,要求用戶輸入大于4的整數(shù),若滿足后繼續(xù)執(zhí)行步驟2.2;
步驟2.2.匿名服務(wù)器與云服務(wù)器相互通信并從云端選取s=(int)random[3,k-2]個請求信息,函數(shù)(int)random[3,k-2]表示在3到k-2之間隨機(jī)產(chǎn)生整數(shù),保證原始請求隊列中至少有4個位置請求消息;
步驟2.3.將匿名服務(wù)器選取的虛假用戶請求消息加上當(dāng)前用戶請求q(0)一起存放到數(shù)組m中,即m={q(0),q(1),q(2),…,q(s)},3≤s≤k-2;下面遍歷q(i)進(jìn)行初始化處理,將q(0)的id,r,k賦值給其他q(i)并用變量time記錄q(0).t,即q(i).id=q(0).id,q(i).r=q(0).r,q(i).k=q(0).k,time=q(0).t,1≤i≤s;初始化完畢后,匿名服務(wù)器根據(jù)各點發(fā)出請求消息的時刻q(i).t進(jìn)行排序,最后將排序結(jié)果存入數(shù)組p中,得到p={p(0),p(1),p(2),…p(s)},3≤s≤k-2;
步驟2.4.對步驟2.3得到的序列p求其1-ago序列p′,即p′={p′(0),p′(1),p′(2),…,p′(s)},其中
步驟2.5.求解白化微分方程
將初值帶入白化微分方程的通解形式,得到均值gm(1,1)模型的時間響應(yīng)式為:
由上式可計算預(yù)測出p(s+1),p(s+2),…,p(k-1),加上數(shù)組p中已有的s個位置請求消息,共有k個位置請求信息,達(dá)到匿名參數(shù)要求;
步驟2.6.匿名服務(wù)器生成一條從p(0)~p(k-1)的鏈?zhǔn)教摷俾窂絫={p(0),p(1)…p(k-1)},并將路徑中k個節(jié)點的位置請求信息q(t)發(fā)送給lbs服務(wù)器申請查詢。
作為優(yōu)選,上述步驟2.2中所述整數(shù)包括3和k-2。
上述步驟2.5中所述gm(1,1)模型具體如下:
設(shè)序列x(0)=(x(0)(1),x(0)(2),…,x(0)(n)),其中,x(0)(k)≥0,k=1,2…n;
對序列x(0)進(jìn)行一階累加生成(1-ago),得序列x(1)如下:
x(1)=(x(1)(1),x(1)(2),…,x(1)(n))
其中,
接下來對一階累加生成序列x(1)施以緊鄰均值生成算子,得到序列z(1),如下:
z(1)=(z(1)(1),z(1)(2),…,z(1)(n))
其中,
z(1)(k)=0.5x(1)(k)+0.5x(1)(k-1),k=2,3,…n
則gm(1,1)模型的均值形式為
x(0)(k)+az(1)(k)=b
其中,參數(shù)向量
其中y,b分別為
根據(jù)gm(1,1)模型的均值形式,其白化微分方程為
求解此方程,則均值gm(1,1)模型的時間響應(yīng)式為
其中e為自然底數(shù),根據(jù)響應(yīng)式便可進(jìn)行后續(xù)的預(yù)測。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
1,本發(fā)明在對用戶位置請求信息進(jìn)行匿名處理時,并沒有像現(xiàn)有絕大多數(shù)方法那樣構(gòu)造一個asr,轉(zhuǎn)而通過灰色預(yù)測生成一條包含用戶請求在內(nèi)的共k個節(jié)點的虛假路徑,這種模式很好地降低了通信開銷以及計算復(fù)雜度,且由于灰色系統(tǒng)本身的特性,進(jìn)一步提高了用戶位置隱私保護(hù)程度
2,本發(fā)明解決了用戶位置隱私保護(hù)程度與qos之間矛盾的問題,即無論k值怎樣變化,都不會影響qos,達(dá)到了服務(wù)質(zhì)量100%的目標(biāo)。
3,本發(fā)明可以克服傳統(tǒng)k-匿名位置隱私保護(hù)方法的服務(wù)質(zhì)量不高的問題,由于引入灰色預(yù)測并構(gòu)造鏈?zhǔn)教摷儆脩袈窂酱鎍sr,避免了額外的通信開銷,降低了計算復(fù)雜度,提高了系統(tǒng)運行效率。
附圖說明
圖1為本發(fā)明基于灰色預(yù)測的鏈?zhǔn)絢-匿名位置隱私保護(hù)方法的匿名流程圖;
圖2為本發(fā)明匿名服務(wù)器生成的虛假用戶路徑圖;
圖3為本發(fā)明所用設(shè)備的交互示意圖。
具體實施方式
現(xiàn)結(jié)合附圖及實例,對本發(fā)明作進(jìn)一步的詳細(xì)說明。
作為實施例,此處將本發(fā)明應(yīng)用到某用戶查詢附近酒店的場景中,應(yīng)指出,該實例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明基于灰色預(yù)測的鏈?zhǔn)絢-匿名位置隱私保護(hù)方法的匿名流程圖如圖1所示。本發(fā)明采用六元組的形式表示用戶請求消息,即q=(id,loc,t,qry,r,k),其中id指發(fā)出請求消息的用戶id,loc指用戶發(fā)出消息請求的位置,含坐標(biāo)分量,t是發(fā)出請求的時刻,qry指用戶請求查詢的興趣點(pointofinterest,簡稱poi)的有關(guān)信息,r指用戶請求的poi到loc的距離,k指用戶自己指定的匿名整型參數(shù)。
步驟1.用戶發(fā)送請求
用戶u現(xiàn)在想查詢附近有哪些酒店,此時服務(wù)器需要知道用戶的當(dāng)前位置,但是用戶不想將自己的位置隱私暴露,故用戶u首先按照六元組的形式發(fā)送查詢服務(wù)請求。用戶在六元組中的id上填入自己的id;位置信息loc通過終端的定位裝置自動獲取,用戶無需填寫;用戶發(fā)送請求的時刻t由客戶端直接獲??;qry填入查詢附近酒店;r是匿名服務(wù)器查詢poi到loc的距離,此處假設(shè)用戶指定為1000米;對于匿名參數(shù)k,不妨假設(shè)用戶設(shè)定為8;綜上,用戶請求信息設(shè)置好后的q=(id,loc,t,“查詢附近的酒店”,1000米,8),之后將q發(fā)送給匿名服務(wù)器,這樣就完成了發(fā)送請求。
步驟2.匿名服務(wù)器對用戶請求消息匿名
匿名服務(wù)器根據(jù)用戶請求消息的位置及時間生成一條包含k個節(jié)點的虛假用戶路徑對用戶請求消息進(jìn)行匿名化,如圖2所示。
具體匿名過程如下:
步驟2.1.匿名服務(wù)器收到用戶請求消息q后標(biāo)記為q(0),首先判斷k值,若k≤4說明不滿足進(jìn)行灰色預(yù)測所需原始個數(shù)最低要求,則需要重新輸入服務(wù)請求,本例中的k=8,故滿足要求;
步驟2.2.匿名服務(wù)器與云服務(wù)器相互作用并從云端選取(int)random[3,6]個請求消息,這里假設(shè)上述函數(shù)的隨機(jī)結(jié)果為4,則加上真實用戶當(dāng)前共有5個服務(wù)請求消息;
步驟2.3.匿名服務(wù)器將上述5個請求消息一起存入數(shù)組m中,即m={q(0),q(1),q(2),q(3),q(4)},其中q(0)為真實用戶數(shù)據(jù),接著匿名服務(wù)器用q(0)對q(1),q(2),q(3),q(4)進(jìn)行初始化,將q(0)的id,r,k賦值給q(1),q(2),q(3),q(4)并用變量time記錄q(0).t,即q(i).id=q(0).id,q(i).r=q(0).r,q(i).k=q(0).k,time=q(0).t,i=1,2,3,4;完成初始化后,匿名服務(wù)器根據(jù)各節(jié)點的請求時刻t進(jìn)行排序,最后將排序結(jié)果存入數(shù)組p中,得到p={p(0),p(1),p(2),p(3),p(4)};
步驟2.4.首先計算序列p的1-ago序列p′,p′={p′(0),p′(1),p′(2),p′(3),p′(4)},其中
步驟2.5.進(jìn)一步求解白化微分方程
將初值帶入白化微分方程的通解形式,得到均值gm(1,1)模型的時間響應(yīng)式為
最后由上式計算出預(yù)測值
步驟2.6.匿名服務(wù)器由預(yù)測結(jié)果生成一條鏈?zhǔn)教摷俾窂絫={p(0),p(1),p(2),p(3),p(4),p(5),p(6),p(7)},并將路徑中8個節(jié)點的位置請求信息q(t)發(fā)送給lbs服務(wù)器申請查詢;
步驟3.匿名服務(wù)器與lbs服務(wù)器通信
lbs服務(wù)器根據(jù)來自匿名服務(wù)器的請求消息q(t)遍歷查詢虛假路徑中的各節(jié)點,并將查詢結(jié)果集r返還給匿名服務(wù)器;
步驟4.匿名服務(wù)器過濾篩選返還真實結(jié)果給用戶
匿名服務(wù)器接收到lbs服務(wù)器返還的結(jié)果集r后,根據(jù)之前設(shè)定的變量time對當(dāng)前路徑中的節(jié)點進(jìn)行遍歷查詢,篩選出真實用戶后將真實查詢結(jié)果返還給當(dāng)前用戶,最后清空當(dāng)前虛假消息路徑。用戶、匿名服務(wù)器與lbs服務(wù)器之間的交互示意圖如圖3所示。
以上實施例表明,本發(fā)明方法能夠有效地保護(hù)用戶位置隱私,減少了額外通信開銷,降低了計算復(fù)雜度,并能達(dá)到100%的服務(wù)質(zhì)量。以上所述僅為本發(fā)明的一個具體實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。