本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)安全領(lǐng)域,更具體地,一種LBS用戶位置及身份隱私保護(hù)方法。
背景技術(shù):
現(xiàn)如今,移動(dòng)互聯(lián)網(wǎng)技術(shù)在飛速發(fā)展,移動(dòng)設(shè)備數(shù)量也與日俱增,成為了現(xiàn)代人們?nèi)粘I钪械暮诵耐ㄐ旁O(shè)備,隨著設(shè)備數(shù)量的增多及相關(guān)技術(shù)的日漸成熟,涌現(xiàn)出一大批基于位置服務(wù)的應(yīng)用程序(Location Based Service),服務(wù)提供者需要知道用戶的位置,才能根據(jù)位置為其提供相應(yīng)的服務(wù),但用戶提供的信息中不單只包括位置信息,還可能包含id,請(qǐng)求服務(wù)屬性等隱私信息,但是LBS服務(wù)器一般是不可信的,所以用戶把這些信息發(fā)給LBS服務(wù)器,就可能面臨隱私信息泄露的危險(xiǎn)。例如,如果一個(gè)用戶想要找附近的餐廳,則需要提交附近餐廳的請(qǐng)求。其中這些上傳的數(shù)據(jù)中,就包含用戶的敏感信息,包括用戶身份、所在位置、請(qǐng)求服務(wù)屬性。一旦這些信息被攻擊者截獲,就可能對(duì)用戶的隱私造成威脅,甚至嚴(yán)重者可能造成嚴(yán)重傷害。
針對(duì)LBS中用戶位置隱私保護(hù)問題,國(guó)內(nèi)外研究者們進(jìn)行了大量研究工作,其思想主要是通過對(duì)用戶位置采用泛化、模糊或掩蓋等技術(shù)方式,降低攻擊者識(shí)別用戶位置的能力。Gruteser等人最先把關(guān)系數(shù)據(jù)庫的K匿名引入到LBS隱私保護(hù)領(lǐng)域,提出K匿名度量指標(biāo);隨機(jī)化技術(shù)也被用于保護(hù)隱私,如DUMMY-Q方法,其通過產(chǎn)生啞元來迷惑攻擊者,增加了攻擊者識(shí)別真實(shí)位置的不確定性,但是該方法疏于考慮上下文及用戶的運(yùn)動(dòng)模型,導(dǎo)致產(chǎn)生的啞元與實(shí)際的查詢差別較大,從而攻擊者很容易就能識(shí)別真實(shí)的啞元,起不到保護(hù)查詢隱私的作用。
因此,本發(fā)明針對(duì)上述問題,提出一種LBS用戶位置及身份隱私保護(hù)方法,該方法通過對(duì)用戶的位置及身份隱私加密,有效阻止該用戶請(qǐng)求信息上傳到LBS服務(wù)器途中,被惡意攻擊者截獲。且也對(duì)LBS服務(wù)器響應(yīng)消息加密,防止攻擊者的推演攻擊。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為了解決移動(dòng)互聯(lián)網(wǎng)中LBS用戶位置及身份隱私安全問題,保護(hù)用戶在得到服務(wù)的同時(shí),其敏感信息不會(huì)被攻擊者識(shí)別,提出一種LBS用戶位置及身份隱私保護(hù)方法。最終達(dá)到雙重加密的目的,對(duì)發(fā)送消息加密,有效抵抗了截獲攻擊;且對(duì)響應(yīng)消息加密,有效的阻止了推演攻擊。
為了實(shí)現(xiàn)上述目的,本發(fā)明通過如下技術(shù)方案實(shí)現(xiàn):
一種LBS用戶位置及身份隱私保護(hù)方法方法,包括以下幾個(gè)步驟:
S1:CA針對(duì)每個(gè)在線用戶生成一對(duì)屬于用戶的密鑰對(duì)<Uprivate,Upublic>,其中Uprivate表示用戶私鑰,用來對(duì)自身接收到的加密消息解密;Upublic表示用戶公鑰,且所有用戶的公鑰Upublic都在一個(gè)公開的公鑰庫中可以找到,便于其他參與者查找,并利用該公鑰加密發(fā)送給其的消息;
S2:LBS服務(wù)器針對(duì)每種可能查詢的屬性Service生成一對(duì)RSA秘鑰對(duì)<Aprivate,Apublic>,其中Aprivate表示服務(wù)私鑰,LBS服務(wù)器用其來對(duì)接收到的對(duì)應(yīng)加密消息解密;Apublic表示LBS服務(wù)器發(fā)送給用戶終端的公鑰,用戶發(fā)送查詢請(qǐng)求前,會(huì)用對(duì)應(yīng)的公鑰加密并發(fā)送;
S3:用戶終端發(fā)送查詢請(qǐng)求信息之前,根據(jù)所請(qǐng)求服務(wù)的屬性,用對(duì)應(yīng)的公鑰對(duì)信息進(jìn)行加密;其中加密包括加密用戶的身份信息及位置信息。
S4:LBS服務(wù)器在收到該加密請(qǐng)求之后,利用對(duì)應(yīng)的私鑰進(jìn)行解密;
S5:針對(duì)用戶位置及查詢請(qǐng)求,查找相關(guān)的數(shù)據(jù)庫,從中挑選合適的響應(yīng)消息,并從公鑰庫找到用戶對(duì)應(yīng)的公鑰,加密響應(yīng)消息之后發(fā)送;
S6:用戶收到消息之后,利用私鑰解密得到該服務(wù)。
在步驟3中,用戶對(duì)發(fā)送的信息進(jìn)行加密,具體包括如下步驟:
3.1首先將用戶屬性信息編碼,建立屬性值與數(shù)字字符串之間的映射,其中屬性值包括用戶的id及位置信息(經(jīng)緯度坐標(biāo)),其具體格式如下所示:
上述格式是一個(gè)映射過程,用戶id為其11位手機(jī)號(hào)碼,因此映射之后的phoneNum為11位。location為經(jīng)緯度表示,其中經(jīng)度范圍0-180(東經(jīng)為E,西經(jīng)為W);緯度范圍0-90(北緯為N,南緯為S),因此后面的longitude為4位表示,(E,W)表示其中的一個(gè),西經(jīng)或東經(jīng);latitude為3位表示,(N,S)為南緯或北緯的一個(gè)。
3.2將上述數(shù)字字符串按兩個(gè)一組,進(jìn)行分組,假設(shè)字符串為k1k2k3…k11(h1h2h3(E)g1g2(S)),其中g(shù),h,k都表示阿拉伯?dāng)?shù)字0到9的一個(gè),則分組之后格式如下:
k1k2 k3k4k5k6 k7k8k9k10 k11(h1h2h3Eg1g2S)
3.3利用該用戶查詢屬性值對(duì)應(yīng)的公鑰Apublic將得到的分組數(shù)據(jù)進(jìn)行加密,之后按分組順序組合,添加一些必要信息之后發(fā)送給LBS服務(wù)器;具體加密過程如下:
3.3.1假設(shè)Apublic公鑰為(m,n),利用公式XXmmodn=Y(jié)Y,XX/n=Q將3.2得到的分組數(shù)據(jù)進(jìn)行計(jì)算,XX表示任意的兩位數(shù)字分組,YY表示得到的加密數(shù)據(jù)。注意其中比較特殊的情況,有分組之后單獨(dú)的一個(gè)數(shù)字X,則利用公式Xmmodn=Y(jié)Y進(jìn)行計(jì)算;
3.3.2都計(jì)算之后,對(duì)得到的數(shù)據(jù)進(jìn)行整理,得到最終的發(fā)送密文消息,其中包括對(duì)每個(gè)XX對(duì)應(yīng)的Q值判斷,如果Q=0,則密文消息直接為YY;否則,密文消息為YY(Q),格式如下:
k1’k2’k3’k4’k5’k6’(Q1)k7’k8’k9’k10’(Q2)k11’(h1’h2’h3’Eg1’g2’S)
3.3.3將上述密文消息與查詢屬性service一起發(fā)送給LBS服務(wù)器。
在該身份及位置信息隱私保護(hù)方法中,每個(gè)查詢屬性對(duì)應(yīng)的公鑰,生成n的兩個(gè)素?cái)?shù)都是由服務(wù)器根據(jù)要求隨機(jī)生成;
步驟4中,LBS服務(wù)器利用查詢屬性的私鑰解密接收到的用戶請(qǐng)求,并查找響應(yīng),具體包括如下步驟:
4.1LBS服務(wù)器接收用戶上傳的請(qǐng)求信息,并根據(jù)請(qǐng)求信息中的請(qǐng)求服務(wù)屬性調(diào)取與之對(duì)應(yīng)的RSA私鑰Aprivate;
4.2LBS服務(wù)器利用獲取的RSA私鑰Aprivate解密用戶上傳的請(qǐng)求消息,以獲得用戶的身份及用戶所處的位置,具體包括如下步驟:
4.2.1假設(shè)找到的對(duì)應(yīng)私鑰為Aprivate為(w,n),先將得到的密文消息進(jìn)行兩兩分組;
4.2.2利用公式Y(jié)Ywmodn=ZZ,并判斷該YY之后是否有Q,如果有,則ZZ=ZZ+Q*n,ZZ為解密得到的明文分組;
4.2.3整理ZZ得到明文消息k1k2k3…k100k11(0h1h2h3Eg1g2S),注意此處得到的電話號(hào)碼為12位數(shù)字,其中第11位為0,去掉。位置坐標(biāo)經(jīng)度中的首個(gè)數(shù)字為0去掉,剩余的0保留,即為用戶發(fā)送的明文消息;
4.3根據(jù)用戶位置及請(qǐng)求屬性,查找相對(duì)應(yīng)的數(shù)據(jù)庫,提取滿足要求的響應(yīng)列表。
在該專利寫的LBS用戶身份及位置隱私保護(hù)方法中,RSA秘鑰包括RSA公鑰Apublic和RSA私鑰private。
在該專利寫的LBS用戶身份及位置隱私保護(hù)方法中,LBS用戶提交的服務(wù)請(qǐng)求可能是一個(gè)或多個(gè)。
步驟S5中,LBS服務(wù)器利用用戶公鑰加密響應(yīng)消息并發(fā)送,具體步驟包括:
5.1LBS服務(wù)器根據(jù)解密的用戶id,在公鑰庫中查找用戶的公鑰Upublic;
5.2LBS服務(wù)器利用用戶的公鑰Upublic對(duì)響應(yīng)消息進(jìn)行加密;
5.3LBS服務(wù)器將加密之后的密文響應(yīng)發(fā)送到用戶終端;
在該專利寫的LBS用戶身份及位置隱私保護(hù)方法中,公鑰庫是由CA頒發(fā)的用戶公鑰共同組成的。
在該身份及位置信息隱私保護(hù)方法中,每個(gè)用戶的公私鑰對(duì)<Upublic,Uprivate>由認(rèn)證中心CA頒發(fā),且每個(gè)用戶的公私鑰都是特有的。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:本專利針對(duì)基于位置服務(wù)中的查詢服務(wù)屬性,設(shè)計(jì)了一種終端用戶位置隱私保護(hù)方法。該方法針對(duì)現(xiàn)實(shí)的應(yīng)用程序注冊(cè)id及位置,提出對(duì)其的加密算法,有效的保護(hù)了用戶的id及位置隱私。該方法的優(yōu)點(diǎn)是雙重加密,對(duì)發(fā)送消息加密,有效抵抗了截獲攻擊;且對(duì)響應(yīng)消息加密,有效的阻止了推演攻擊。
附圖說明
圖1為本發(fā)明的用戶隱私保護(hù)的步驟流程圖;
圖2為用戶實(shí)例加密過程流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述,但本發(fā)明的實(shí)施方式并不限于此。
如圖1所示,利用改進(jìn)RSA算法和服務(wù)屬性保護(hù)LBS用戶位置及身份隱私方法,其實(shí)施過程具體包括以下步驟:
首先,CA針對(duì)每個(gè)在線用戶生成一對(duì)屬于用戶的密鑰對(duì)<Uprivate,Upublic>,且所有用戶的公鑰Upublic都在一個(gè)公開的公鑰庫中可以找到;
接著,LBS服務(wù)器針對(duì)每種可能查詢的屬性生成一對(duì)RSA秘鑰對(duì)<Aprivate,Apublic>,并將查詢屬性及生成的密鑰對(duì)中的公鑰發(fā)送到在線的用戶終端中;
接著,用戶終端發(fā)送查詢請(qǐng)求信息之前,根據(jù)所請(qǐng)求服務(wù)的屬性,用對(duì)應(yīng)的公鑰對(duì)信息進(jìn)行加密;其中加密包括加密用戶的身份信息及位置信息。
其中用公鑰對(duì)隱私信息加密,包括如下步驟:
首先將用戶屬性信息編碼,建立屬性值與數(shù)字字符串之間的映射,其中屬性值包括用戶的id及位置信息(經(jīng)緯度坐標(biāo));
將數(shù)字字符串按兩個(gè)一組,進(jìn)行分組,利用該查詢屬性值對(duì)應(yīng)的公鑰將得到的分組數(shù)據(jù)進(jìn)行加密。之后按分組順序組合并發(fā)送;
在該身份及位置信息隱私保護(hù)方法中,每個(gè)查詢屬性對(duì)應(yīng)的公鑰,生成n的兩個(gè)素?cái)?shù)都是由服務(wù)器根據(jù)要求隨機(jī)生成;
接著,步驟4中LBS服務(wù)器在收到該加密請(qǐng)求之后,利用對(duì)應(yīng)的私鑰進(jìn)行解密;
具體的,用私鑰解密密文消息,并查找響應(yīng),包括如下步驟:
LBS服務(wù)器接收用戶上傳的請(qǐng)求信息,并根據(jù)請(qǐng)求信息中的請(qǐng)求服務(wù)屬性調(diào)取與之對(duì)應(yīng)的RSA私鑰;
LBS服務(wù)器利用獲取的RSA私鑰解密用戶上傳的請(qǐng)求消息,以確定用戶的身份及用戶所處的位置;
接著,步驟5中針對(duì)用戶位置及查詢請(qǐng)求,查找相關(guān)的數(shù)據(jù)庫,從中挑選合適的響應(yīng)消息,并從公鑰庫找到用戶對(duì)應(yīng)的公鑰,加密響應(yīng)消息之后發(fā)送;具體實(shí)施包括如下步驟:
LBS服務(wù)器根據(jù)解密的用戶id,在公鑰庫中查找用戶的公鑰;
LBS服務(wù)器利用用戶的公鑰對(duì)響應(yīng)消息進(jìn)行加密;
LBS服務(wù)器將加密之后的密文響應(yīng)發(fā)送到用戶終端;
接著,用戶收到消息之后,利用自己的私鑰解密消息,獲得相應(yīng)服務(wù)。
為了較好的理解本申請(qǐng)利用改進(jìn)RSA算法及查詢屬性保護(hù)LBS用戶身份及位置隱私方法,以用戶id為手機(jī)號(hào)(13189340078),位置為(98(E),45(N)),查詢屬性為附近汽車站,對(duì)應(yīng)RSA公鑰為(3,33),私鑰為(7,33)為例,對(duì)本申請(qǐng)的LBS用戶身份及位置隱私保護(hù)方法是如何實(shí)現(xiàn)用戶身份及位置隱私的保護(hù)做詳細(xì)的闡述,具體見說明書附圖2。
首先,對(duì)手機(jī)號(hào)碼11位數(shù)字進(jìn)行分組,兩兩一組,則分組情況如下:
13 18 93 40 07 8
之后利用公鑰(3,33)對(duì)用戶id進(jìn)行加密,得到結(jié)果如下:
19 24 15 13 13 17
用戶所處坐標(biāo)(98(E),45(N)),利用公鑰(3,33)對(duì)其加密,得到結(jié)果如下:
32(E),12(N)
接著,構(gòu)建用戶要發(fā)送的密文消息為:
T192415(2)13(1)131732(2)E12(1)Nbus station
LBS服務(wù)器接收到用戶密文之后,根據(jù)bus station查找到對(duì)應(yīng)私鑰(7,33),解密密文,結(jié)果如下:
T131827(2)07(1)070832(2)E12(1)N
做進(jìn)一步處理,得
用戶id:13189340078,坐標(biāo)(98E,45N)
接著查找對(duì)應(yīng)數(shù)據(jù)庫,得到結(jié)果列表,用用戶公鑰加密之后,返回給用戶終端,之后用戶終端利用其私鑰對(duì)響應(yīng)消息進(jìn)行解密,得到相應(yīng)服務(wù)。
綜上所述,本專利針對(duì)上述用戶身份及位置隱私安全問題,提出利用RSA算法和服務(wù)屬性保護(hù)LBS用戶位置及身份隱私。首先,CA針對(duì)每個(gè)在線用戶生成一對(duì)屬于用戶的密鑰對(duì)<Uprivate,Upublic>,且所有用戶的公鑰Upublic都在一個(gè)公開的公鑰庫中可以找到;LBS服務(wù)器針對(duì)每種可能查詢的屬性生成一對(duì)RSA秘鑰對(duì)<Aprivate,Apublic>,并將查詢屬性及生成的密鑰對(duì)中的公鑰發(fā)送到在線的用戶終端中;用戶終端發(fā)送查詢請(qǐng)求信息之前,根據(jù)所請(qǐng)求服務(wù)的屬性,用對(duì)應(yīng)的公鑰對(duì)信息進(jìn)行加密;LBS服務(wù)器在收到該加密請(qǐng)求之后,利用對(duì)應(yīng)的私鑰進(jìn)行解密;并查找用戶對(duì)應(yīng)請(qǐng)求的列表,挑選合適的響應(yīng)消息,從公鑰庫找到用戶對(duì)應(yīng)的公鑰,并加密響應(yīng)消息之后發(fā)送;用戶收到消息之后,利用私鑰解密得到該服務(wù)。該方法的優(yōu)點(diǎn)是雙重加密,對(duì)發(fā)送消息加密,有效抵抗了截獲攻擊;且對(duì)響應(yīng)消息加密,有效的阻止了推演攻擊。
以上所述的本發(fā)明的實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神原則之內(nèi)所作出的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。