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