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