一種k-匿名與云端相結合的位置隱私保護方法
【技術領域】
[0001] 本發(fā)明設及基于位置的服務及安全隱私技術領域,尤其設及一種k-匿名與云端 相結合的位置隱私保護方法。
【背景技術】
[0002] 基于位置的服務是指使用某種定位技術為移動用戶提供與當前位置有關的個性 化服務,它要求用戶在向基于位置的服務器提出服務請求時,必須向基于位置的服務器提 供自身的位置信息,LBS服務器根據(jù)用戶提供的位置信息來處理用戶提出的基于位置的查 詢并將查詢結果返回給用戶。當移動用戶向服務器提出服務請求時,用戶通過定位裝置獲 取自己的位置信息并發(fā)送給LBS服務器,LBS服務器根據(jù)接收到的位置信息對該用戶的服 務請求進行處理。由于LBS服務器根據(jù)接收到的位置信息來處理請求,因此用戶的位置信 息越準確,服務器返回給用戶的服務信息就越準確,即用戶的位置信息的準確性決定了LBS 的服務質量。
[0003] 位置服務在帶給人們巨大收益的同時,也帶來了泄露個人信息的危害。該是因為 位置服務既直接包含用戶的隱私信息,又隱含了用戶的個性習慣、健康狀況、社會地位等其 他敏感信息。隨著大數(shù)據(jù)時代的到來,大量訪問數(shù)據(jù)、共享數(shù)據(jù)和從數(shù)據(jù)中抽取信息的方法 出現(xiàn)了,人們在享受該些新技術帶來的便利應用的同時,也越來越關注隱私保護。位置數(shù)據(jù) 的不當使用,會給用戶各方面的隱私帶來嚴重威脅。
【發(fā)明內容】
[0004] 為尋求用戶位置隱私保護和充分使用云端數(shù)據(jù)的平衡,本發(fā)明提供一種k-匿名 與云端相結合的位置隱私保護方法,結合k-匿名和云端大量數(shù)據(jù)的優(yōu)點,用戶可W根據(jù)自 己的隱私要求制定個性化參數(shù),匿名服務器充當中間件,與云端交互和處理從云端選擇的 信息,從而使用戶的隱私信息得到保護。此方法在保護移動用戶位置隱私的同時,無需降低 發(fā)布位置的消息精度,使用戶得到高質量的服務。
[0005] 本發(fā)明采用如下技術方案,一種k-匿名與云端相結合的位置隱私保護方法,包 括,
[0006] 步驟1、位于某一位置的用戶采用六元組形式q= (id,loc,time,qry,k,S)表示 用戶的請求消息,其中id是發(fā)出請求用戶的id,loc是發(fā)出請求的位置,time是發(fā)出請求 的時間,qiT是請求的查詢內容,k是用戶指定的匿名參數(shù),k為正整數(shù)且#也為正整數(shù),S是用戶指定的匿名區(qū)域;
[0007] 步驟2、匿名服務器收到用戶請求消息后與云端交互,根據(jù)匿名區(qū)域S從云端中選 擇k個合適的消息,匿名服務器對該k個消息和用戶請求消息進行匿名處理;
[000引步驟3、匿名服務器將含有k+1個消息的數(shù)組Q發(fā)送給LBS服務器,LBS服務器依 次從數(shù)組中取出消息進行查詢,并將查詢結果放入到數(shù)組Q后返還給匿名服務器。
[0009] 步驟4、匿名服務器過濾出真實結果返回給用戶。
[0010] 匿名服務器的匿名處理過程為:
[0011] S21、匿名服務器將用戶請求消息的time賦值給變量date,然后從云端選出的k 個消息中選出^1116值在(date-^/^,date)范圍內的消息,假設該些消息的個數(shù)為^',首先 將該j個消息對應六元組中的itk和S改為與用戶請求消息的itk和S-致并按time值遞增排序,再將它們對應的六元組放入數(shù)組Q,然后將用戶請求消息對應的六元組也放到 數(shù)組Q中;將剩余的k-j個消息對應的六元組的中W、k和S值改為與用戶請求消息一致, time值依次改為date+random(k-j),按照time值遞增排序后,將它們對應的六元組放入數(shù) 組0中,其中^311(1〇111化-如是在化范圍內產生的隨機數(shù),精確到小數(shù)點后一位;k-j 對應該k-j個消息的下標次序;
[0012] S22、數(shù)組Q中第i個元素位置定義為loci,其time值定義為ti,將數(shù)組中每個位置 看作是用戶從loc。順序走到loCk,則需要滿足條件P找(tw) =l〇Cw|X(ti) =locj聲0, 初始賦值令i二0,A= 0 ;首先判斷At=Si,i+i/Vf,是否成立,其中SLi+1為 loc劇locw的距離,V 為用戶從loc劇locw的最大速度,若成立則說明P{X(tw)= locwlx(ti) =locj聲0,此時執(zhí)行S24,不成立則重復執(zhí)行S23 ;
[0013] S23、判斷tw-A=date是否成立,成立則說明第i+1個元素是用戶元素,此時令 A=ti+At-date,不成立則A不變;不論tw-A=date成立與否,都令tw=ti+At并 重新插入到數(shù)組Q中進行遞增排序;然后繼續(xù)判斷At=Si,w/Vi,w<tw-ti是否成立,若成 立則執(zhí)行S24,若不成立則反復執(zhí)行S23 ;
[0014] S24、將i值加1,當i<k時重復執(zhí)行S22,直至i=k。
[0015] 匿名服務器過濾出真實結果的過程為;匿名服務器接收到LBS服務器返還的包含 查詢結果的數(shù)組Q后,將該數(shù)組中每個消息對應六元組中的time值減去A值,然后在查詢 結果數(shù)組中找出time值等于date值的消息即為用戶真正需要的結果。
[0016] 采用本發(fā)明的方法,匿名服務器與通過云端交互可W獲得大量的消息W確保匿名 服務器匿名不會因為達不到k值而失??;將k個假消息與用戶消息匿名形成符合馬爾科夫 過程的一條用戶軌跡;當LBS服務器被攻擊者攻破,攻擊者獲得的資源是已經(jīng)經(jīng)過匿名服 務器匿名過的信息,從而使用戶的位置隱私得到了保護。本發(fā)明實現(xiàn)簡單,保護移動用戶位 置隱私的同時,無需降低發(fā)布位置消息精度,使用戶獲得滿意的位置服務
【附圖說明】
[0017] 圖1為本發(fā)明k-匿名與云端相結合的位置隱私保護方法的流程圖;
[001引圖2為本發(fā)明匿名服務器進行匿名處理的流程圖;
[0019] 圖3為本發(fā)明所用設備的交互示意圖。
【具體實施方式】
[0020] 為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,W下結合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用W解釋本發(fā)明,并 不用于限定本發(fā)明。
[0021] 我們采用六元組形式q= (id,loc,time,qry,k,S)表示用戶的請求消息,其中id 是發(fā)出請求用戶的id;loc表現(xiàn)為(x,y)的形式,表示用戶發(fā)出查詢時的位置,X表示位置 的經(jīng)度,y表示位置的紳度;time是發(fā)出請求的時間;qiT是請求的查詢內容;k表示用戶指 定的匿名參數(shù);S表示用戶指定的匿名區(qū)域。
[0022] 步驟一、發(fā)送請求,
[002引用戶Uid想查詢附近有哪些酒吧,此時需要知道用戶Uid的位置信息,但用戶又不想 暴露自己的真實位置信息,那么用戶Uw就需要按照六元組形式向匿名服務器發(fā)出查詢服 務請求。其請求消息六元組中id填Uid;l0c是通過定位裝置獲取的位置信息,不需要用戶 設置;time是用戶Uid發(fā)送請求時的時間,從客戶端直接獲取,該里假設時間為2015年1月 20日18:00 ;qry指查詢附近的酒吧;k表示用戶Uid指定的匿名參數(shù),為了簡單說明,該里k 取的較小,例如4 ;s表示用戶指定的匿名區(qū)域,假設用戶Uid現(xiàn)在在南京郵電大學S牌樓校 區(qū),那么用戶可W指定S為S牌樓,也可W指定S為鼓樓區(qū),亦可指定為南京,該里假設用戶 指定為S牌樓。用戶將q=扣W,loc,2015年1月20日18:00,"查詢附近的酒吧",4, "S 牌樓")發(fā)送給匿名器就完成了請求任務。
[0024] 步驟二、匿名服務器對消息匿名,
[0025] 通過與云端交互獲得需要的信息后,在匿名服務器中通過改變從云端得到的信息 達到對請求消息q的匿名化。
[0026] 具體匿名過程如下:
[0027] 步驟21、匿名服務器接收到用戶的請求q后與云端進行交互,從云端中選 擇4個loc在S牌樓的消息,該些消息均遵循六元組的形式。該里選擇的4個消息 分另II為q〇=扣ido,loc曲,time。,qry〇,k〇,s〇) ;Qi=(Uid。loc",time。qry。k。Si);屯= (Ui出,loCq2,times,qiT2,kg, S2) ;Q3=扣地,l〇Cq3,times,qiTs,ks, S3)。其中,time。為 2015年1 月 20 日 16:00 為 2015年 1 月 20 日 16:30 ;time2為 2015年 1 月 19 日 19:00 ;time3 為 2015 年 1 月 17 日 16:00 ;
[002引步驟22、匿名服務器將用戶請求消息的time賦值給date后根據(jù)date和k從4個 消息中找出time值在2015年1月20日16:00到2015年1月20日18:00范圍內的消息, 發(fā)現(xiàn)q。和q1