云環(huán)境下LBS的對(duì)稱和非對(duì)稱混合加密方案

基于位置的服務(wù)(LBS)是通過移動(dòng)通信網(wǎng)絡(luò)(GSM或3G)定位,獲取移動(dòng)用戶的地理位置信息(經(jīng)緯度坐標(biāo)),提供給LBS提供商,并在電子地圖的支持下提供給用戶與終端位置相關(guān)的增值服務(wù)。以前大多的LIBS在邏輯上都由服務(wù)提供商(SP)、位置服務(wù)平臺(tái)( LSP)和移動(dòng)用戶(MS)組成。隨著移動(dòng)云計(jì)算概念的提出以及應(yīng)用的快速發(fā)展,LBS和云計(jì)算的結(jié)合可以實(shí)現(xiàn)在沒有第三方LSP參與的情況下,MS直接和SP通信獲得位置服務(wù),比如GOOGLE地圖。

由于LBS業(yè)務(wù)迅猛增長和云環(huán)境自身安全特性,隱私信息在傳輸和云端存儲(chǔ)的私密性就顯得尤其重要。盡管目前LBS系統(tǒng)采取了隱私保護(hù)手段,但是在移動(dòng)云環(huán)境下的LBS仍然存在諸如地區(qū)信息泄露、用戶身份泄露等安全隱患。表現(xiàn)在三個(gè)方面:(1)鑒權(quán):攻擊者可能偽裝成合法用戶來偽造和訪問數(shù)據(jù)。(2)身份泄露:在無線網(wǎng)絡(luò)傳輸中用戶會(huì)頻繁暴露自己的身份給SP來核實(shí),當(dāng)完成身份認(rèn)證的同時(shí),身份信息很可能已經(jīng)被竊取。(3)位置隱私泄漏:攻擊者竊取傳輸通道和侵入LBS系統(tǒng)獲得非法訪問權(quán)限,從而竊取用戶敏感的位置數(shù)據(jù)。

為了解決上述問題。提出了一種分布式隱私保護(hù)的方案,數(shù)據(jù)不是直接發(fā)送給服務(wù)提供商,而是分布式發(fā)給自建ad-hoc網(wǎng)絡(luò)中的部分鄰居節(jié)點(diǎn),在鄰居節(jié)點(diǎn)混合重加密后再發(fā)送給服務(wù)商,歷史數(shù)據(jù)使用可變多重假名機(jī)制來保證隱私。建立了基于云存儲(chǔ)的安全模型,利用多重假名來隱藏IM-SI號(hào)碼和精確位置數(shù)據(jù)。此模型雖然保證在云端存儲(chǔ)的隱私性,卻沒有考慮敏感數(shù)據(jù)在無線網(wǎng)絡(luò)中傳輸?shù)陌踩珕栴}。針對(duì)GSM網(wǎng)絡(luò)身份認(rèn)證和密鑰協(xié)商過程中IMSI以明文傳遞,利用公私密鑰對(duì)分別提供了兩種對(duì)IMSI整體加密的保護(hù)方案,改進(jìn)方案則是細(xì)分IMSI號(hào),對(duì)號(hào)段必要的隱私區(qū)域加密。

本文通過對(duì)LBS安全模型和IMSI保護(hù)方案的研究和分析,提出基于對(duì)稱和非對(duì)稱混合加密方案的LBS安全模型,保證LBS隱私信息在無線傳輸和云端存儲(chǔ)的安全。

一、安全模型研究

1、云存儲(chǔ)優(yōu)勢

安全模型采用云存儲(chǔ)作為我們服務(wù)提供商和LBS用戶私密數(shù)據(jù)的存儲(chǔ)媒介。云存儲(chǔ)能提供強(qiáng)大的存儲(chǔ)和可擴(kuò)展能力,促使SP把數(shù)據(jù)移植到外部數(shù)據(jù)庫,提供用戶無縫機(jī)制產(chǎn)生、存儲(chǔ)、訪問自己相關(guān)數(shù)據(jù),這在云環(huán)境中稱為數(shù)據(jù)即服務(wù)(DAAS)。選擇DAAS有以下兩個(gè)基本考慮:

(1)增強(qiáng)系統(tǒng)的安全性

云存儲(chǔ)端將文件復(fù)制并且存儲(chǔ)在多個(gè)不同的服務(wù)器中,硬件冗余和自動(dòng)的故障切換解決了意外的硬件故障或者其他的災(zāi)難性事件導(dǎo)致的數(shù)據(jù)損壞、丟失和無法恢復(fù)等嚴(yán)重問題。

(2)增加系統(tǒng)的可擴(kuò)展性

云存儲(chǔ)容量分配不受物理硬盤限制并且擴(kuò)容非常簡單,每個(gè)項(xiàng)目分配的存儲(chǔ)容量可以超出實(shí)際容量,只要在需要時(shí)隨時(shí)硬件擴(kuò)容即可。

針對(duì)LBS系統(tǒng)數(shù)據(jù)庫需要存儲(chǔ)用戶個(gè)人身份信息用于標(biāo)識(shí)和鑒權(quán)用戶,以及私密性很高的位置信息等數(shù)據(jù)。采用可信負(fù)責(zé)的云存儲(chǔ)服務(wù)是個(gè)相對(duì)高效、安全的選擇。

2、改進(jìn)的安全模型

安全模型綜合考慮了MS、SP和云端數(shù)據(jù)庫CDB( Cloud Database)三個(gè)方面。每一個(gè)SP有三個(gè)進(jìn)程:認(rèn)證進(jìn)程、服務(wù)進(jìn)程和結(jié)果翻澤進(jìn)程。CDB存儲(chǔ)和設(shè)備、服務(wù)、位置記錄相關(guān)的數(shù)據(jù)。用戶注冊賬號(hào)的相關(guān)數(shù)據(jù)和每次通信過程的臨時(shí)數(shù)據(jù)僅在SP那里存儲(chǔ),而不在CDB存儲(chǔ)。首先,MS發(fā)送用戶和通信設(shè)備的認(rèn)證消息到SP。接著,認(rèn)證進(jìn)程驗(yàn)證認(rèn)證信息,如果這些數(shù)據(jù)被驗(yàn)證通過,LBS服務(wù)進(jìn)程將被激活,用戶提供他們自己的位置信息。然后服務(wù)進(jìn)程可以訪問云端其他相關(guān)服務(wù)信息。最后在接到用戶隱私等級(jí)請(qǐng)求后,結(jié)果翻譯進(jìn)程把服務(wù)結(jié)果數(shù)據(jù)發(fā)給MS,把隱私等級(jí)對(duì)應(yīng)模糊化的位置記錄信息存儲(chǔ)在CDB。

云環(huán)境下LBS的對(duì)稱和非對(duì)稱混合加密方案

服務(wù)質(zhì)量直接被隱私等級(jí)影響,低等級(jí)隱私可以告訴你你朋友所在街道范圍,高隱私等級(jí)只能告訴你你朋友所在城市。除了三個(gè)進(jìn)程外,每個(gè)SP擁有一個(gè)獨(dú)立的公私密鑰服務(wù)器,生成、存儲(chǔ)公私密鑰對(duì)相關(guān)數(shù)據(jù)。

LBS安全問題的挑戰(zhàn)是如何在保證服務(wù)質(zhì)量的同時(shí),采用高效的技術(shù)保證位置數(shù)據(jù)安全和用戶身份的私密性。數(shù)據(jù)安全問題分為傳輸安全和存儲(chǔ)安全。只考慮采用假名技術(shù)隱藏真實(shí)身份和位置數(shù)據(jù)保證在云端存儲(chǔ)的安全,而沒有研究用戶身份、賬號(hào)、密碼和位置隱私信息在網(wǎng)絡(luò)傳輸中的安全。基于假名和云存儲(chǔ)的存儲(chǔ)安全,以及采用對(duì)稱和非對(duì)稱混合加密方案保證無線網(wǎng)絡(luò)中傳輸?shù)陌踩茄芯康闹饕较颉?/p>

二、混合加密方案

1、IMSI的假名

國際移動(dòng)用戶識(shí)別碼(IMSI)是區(qū)別移動(dòng)用戶的標(biāo)志,儲(chǔ)存在SIM卡中,可用于識(shí)別移動(dòng)用戶的有效信息。其總長度不超過15位,同樣使用0~9的數(shù)字。移動(dòng)網(wǎng)號(hào)碼(MNC),最多由兩位數(shù)字組成,用于識(shí)別移動(dòng)用戶所歸屬的移動(dòng)通信網(wǎng);移動(dòng)用戶識(shí)別碼( MSIN),用以識(shí)別某一移動(dòng)通信網(wǎng)中的移動(dòng)用戶。

IMSI在GSM和3C網(wǎng)絡(luò)中作為用戶身份唯一標(biāo)識(shí)。通常情況下,IMSI在無線通道中以明文傳輸,攻擊者很容易通過竊聽或請(qǐng)求用戶主動(dòng)發(fā)送IMSI的主動(dòng)攻擊方式獲取到IMSI號(hào)碼。在移動(dòng)通信領(lǐng)域IMSI是用戶全球范圍內(nèi)唯一性的標(biāo)識(shí),也包含了注冊的相關(guān)信息,比如注冊HI。R路由信息,家鄉(xiāng)網(wǎng)絡(luò)等。一旦被截取,攻擊者很容易通過移動(dòng)通信網(wǎng)絡(luò)對(duì)同一個(gè)用戶跟蹤定位,導(dǎo)致嚴(yán)重的安全威脅。

采用假名代替IMSI明文作為用戶在LBS安全模型中的唯一標(biāo)識(shí)。在用戶的LBS應(yīng)用客戶端中有假名生成函數(shù)——哈希( HASH)函數(shù):不僅能夠?yàn)槊恳粋€(gè)用戶對(duì)應(yīng)的IMSI號(hào)碼提供唯一的的假名標(biāo)識(shí);而且由于哈希函數(shù)的不可逆性,黑客也很難通過哈希后的假名反推出用戶的IMSI號(hào)碼。注冊時(shí)假名( Pseudo)和存儲(chǔ)在云端的鑒別密鑰(C-Key)生成圖如圖2所示。

云環(huán)境下LBS的對(duì)稱和非對(duì)稱混合加密方案

2、基于組合公鑰體制的公私密鑰對(duì)

(1)初始化

首先在該LBS客戶端軟件中嵌入橢圓曲線加密算法(ECC),LBS服務(wù)器端能夠自己產(chǎn)生公私密鑰對(duì)(LBS-PK/SK),并把初始公鑰Pk0和此公鑰的版本號(hào)VeI0一同嵌入到客戶端軟件中。這樣當(dāng)用戶安裝該LBS客戶端,第一次注冊時(shí),可以使用初始公鑰Pk0加密注冊信息,從而保證信息私密性。

(2)公私密鑰對(duì)生成原理

組合公鑰(CPK)體制是依據(jù)離散對(duì)數(shù)難題的數(shù)學(xué)原理構(gòu)建公鑰與私鑰矩陣。采用雜湊函數(shù)與密碼變換將實(shí)體的標(biāo)識(shí)映射為矩陣的行坐標(biāo)與列坐標(biāo)序列,通過對(duì)矩陣元素進(jìn)行選取和組合,生成數(shù)量龐大的公私密鑰對(duì),從而實(shí)現(xiàn)基于標(biāo)識(shí)的超大規(guī)模的密鑰生成與分發(fā)。

鑒于橢圓曲線離散對(duì)數(shù)問題在密碼應(yīng)用中具有相同安全度下占有資源小于一般有限域離散對(duì)數(shù)問題的優(yōu)勢,采用橢圓曲線離散對(duì)數(shù)問題構(gòu)建該機(jī)制。

定義1(橢圓曲線上的加法)

橢圓曲線方程上任意兩點(diǎn)P(XI,Yi)、Q(X2,y2),通過該兩點(diǎn)直線£若與橢圓曲線有第三個(gè)交點(diǎn)記為-R(X3,- y3),該點(diǎn)-R關(guān)于x軸的對(duì)稱點(diǎn)尺(X3,y3)也在橢圓曲線上。定義“加法”:P+Q=R,此時(shí)橢圓曲線上的點(diǎn)加上無窮遠(yuǎn)點(diǎn)(零點(diǎn))構(gòu)成加法群。

公私鑰生成矩陣:

選一點(diǎn)G(XG,yG)∈E( Fp),如果n是滿足nG=o的最小整數(shù),則由G的倍點(diǎn){G,2G,3G,…,nG}構(gòu)成一子群,G是此子群的生成元,n是階(一大的素?cái)?shù))。在子群眾選取mxh個(gè)等式Ru=rdG;1≤i≤m,1≤j≤n -1。將每個(gè)等式中的Rij,rij放在兩個(gè)矩陣中的相應(yīng)位置,構(gòu)成:每個(gè)用戶將自己的IMSI標(biāo)識(shí)通過HASH函數(shù)運(yùn)算得到固定長度的Pseudo,Pseudo作為映射的中間變量,通過映射行算法、列映射算法使每一個(gè)標(biāo)識(shí)在每一行都有一個(gè)元素與之對(duì)應(yīng)。將PSK中的對(duì)應(yīng)元素取出求和,設(shè)PK=Rli+R2j+-Rmk,SK= rli+r2j+…rmk(i,j,…,互不相等),則PK為服務(wù)器的階段性公鑰,SK為服務(wù)器階段性私鑰。

(3)密鑰操作

在服務(wù)器端有公私鑰對(duì)生成矩陣能夠根據(jù)用戶登陸時(shí)提供Pseudo產(chǎn)生的公私鑰對(duì),并和對(duì)應(yīng)公鑰版本號(hào)(VER-PK)共同保存在LBS服務(wù)器的公私鑰對(duì)表中,作為后續(xù)更新,查詢和解密依據(jù)。

每當(dāng)服務(wù)器端收到用戶公鑰加密的數(shù)據(jù)時(shí),可以通過查閱VER-PK,找到對(duì)應(yīng)的私鑰(LBS-SK),從而解密數(shù)據(jù)。

3、對(duì)稱和非對(duì)稱和混合加密

完整的非對(duì)稱密鑰技術(shù)面臨的最主要的難題就是公鑰交換。而通常的解決辦法,例如PKI是在網(wǎng)絡(luò)中建立專門的可信第三方證書權(quán)威機(jī)構(gòu)(CA)。這樣雖然解決了公鑰交換難題,但是也引出了CA機(jī)構(gòu)建立和維護(hù)比較復(fù)雜,以及CA對(duì)通信帶寬和高實(shí)時(shí)性要求的難題。

該模型在沒有可信第三方CA參與的前提下,只由LBS服務(wù)器端產(chǎn)生自身的公私鑰對(duì),基于預(yù)先嵌入和查詢更新的形式完成單向公鑰的交換。同時(shí)利用存儲(chǔ)在云端C-Key和用戶提供的部分注冊信息結(jié)合產(chǎn)生對(duì)稱加密所需的密鑰。

根據(jù)上述原則,就構(gòu)成了對(duì)稱和非對(duì)稱混合的加密機(jī)制,如下:

(1)MS向服務(wù)器發(fā)送的數(shù)據(jù)采用非對(duì)稱加密方式。LBS服務(wù)器能夠產(chǎn)生公私鑰對(duì),MS利用服務(wù)器提供的定期更新的公鑰來加密發(fā)往LI3S服務(wù)提供商的身份和位置信息。移動(dòng)終端資源有限,同時(shí)用戶端發(fā)送的信息都是跟身份標(biāo)識(shí),公鑰和固定長度數(shù)字相關(guān)的必要信息,信息量很小。根據(jù)以上兩點(diǎn),在移動(dòng)終端采用ECC加密算法是可行的。

注冊階段的加密行文ECC[ LBS-PK,(Pseudo,ID,PW)],ECC()是公開的加密函數(shù),方括號(hào)內(nèi)第一個(gè)參數(shù)LBS-P'K是加密的公鑰,第二個(gè)參數(shù)圓括號(hào)內(nèi)的Pseudo,賬號(hào)(ID),密碼(PW)是加密的內(nèi)容。

(2)服務(wù)器向用戶端發(fā)送數(shù)據(jù)采用對(duì)稱加密方式。對(duì)稱密鑰在登錄階段和活動(dòng)階段的組成模式不同。

登錄階段對(duì)稱密鑰KeyA是ID和MS端產(chǎn)生的固定長度隨機(jī)數(shù)R某種運(yùn)算后經(jīng)過哈希函數(shù)處理的結(jié)果;活動(dòng)階段對(duì)稱密鑰KeyB是C-Key和R某種運(yùn)算后經(jīng)過哈希函數(shù)處理的結(jié)果。見圖2。

上述對(duì)稱加密的模式可以保證每一個(gè)有唯一IMSI的用戶都有不同的對(duì)稱密鑰,并且由于每次登錄都會(huì)產(chǎn)生隨機(jī)數(shù)R,可以保證同一個(gè)用戶每次登錄后所使用的對(duì)稱密鑰又不盡相同。破譯密鑰的難度大大增強(qiáng)。具體過程后面將會(huì)詳細(xì)介紹。

三、服務(wù)流程

1、注冊

云環(huán)境下LBS的對(duì)稱和非對(duì)稱混合加密方案

(1)用戶在自己的終端產(chǎn)生Pseudo,即加密的IMSI。

(2)把Pseudo,賬號(hào)ID和密碼PW通過初始的服務(wù)器公鑰Pk0加密,并和對(duì)應(yīng)的版本號(hào)Ver0 -同發(fā)給服務(wù)器。

(3)服務(wù)器接收到數(shù)據(jù)后,根據(jù)公鑰版本號(hào)在公私鑰對(duì)表中查找對(duì)應(yīng)的私鑰Sk0,解密數(shù)據(jù)獲得用戶注冊信息。

(4)ID和PW存儲(chǔ)在服務(wù)器端,P,seudo和ID某種運(yùn)算結(jié)合經(jīng)過HASH函數(shù)處理,得到C-Key并存儲(chǔ)在云端數(shù)據(jù)庫,用于以后涉及敏感位置信息時(shí)的身份驗(yàn)證。

2、登錄

云環(huán)境下LBS的對(duì)稱和非對(duì)稱混合加密方案

注冊之后,用戶使用LBS服務(wù)之前,需要使用ID PW登錄,啟動(dòng)服務(wù)進(jìn)程。

(1)用戶端產(chǎn)生一個(gè)隨機(jī)數(shù)R和ID,PW共同經(jīng)過LBS-PK加密,密文和VER-PK -起發(fā)送給LBS服務(wù)器。

(2)服務(wù)器根據(jù)VER-PK查詢出相應(yīng)的私鑰LBS-SK,解密密文。

(3)服務(wù)器根據(jù)ID,PW驗(yàn)證用戶賬戶信息合法性。鑒權(quán)之后,根據(jù)用戶上報(bào)的VER-PK和目前最新的VER-PK比較。如果上報(bào)的VER-PK為最新的版本,則無需更新公鑰文件;如果為老版本號(hào),則需要更新公鑰文件VER-PKnO服務(wù)器端根據(jù)ID和隨機(jī)數(shù)R生成對(duì)稱密鑰KeyA。

(4)解密獲得的R和新版本號(hào)VER-PKn(無更新則不需要傳送)通過KeyA密鑰加密后發(fā)送給用戶。因?yàn)镽由用戶產(chǎn)生,用戶端合成KeyA后解密,比較獲得的R是否一致,從而對(duì)服務(wù)器身份進(jìn)行驗(yàn)證,從而完成雙向身份認(rèn)證。最后根據(jù)獲得的數(shù)據(jù)更新?lián)碛械墓€版本號(hào)和公鑰。

3、活動(dòng)

云環(huán)境下LBS的對(duì)稱和非對(duì)稱混合加密方案

通過用戶和服務(wù)器之間的雙向認(rèn)證并登錄后,每當(dāng)用戶需要一次位置服務(wù)時(shí)就會(huì)產(chǎn)生一次活動(dòng)。

(1)用戶把假名身份Pseudo和請(qǐng)求服務(wù)時(shí)所在的位置location用LBS-PK加密,密文和VER-PK發(fā)送給服務(wù)器。

(2)服務(wù)器查詢出對(duì)應(yīng)私鑰LBS-SK并解密。

(3)根據(jù)Pseudo和ID計(jì)算出C-Key,和注冊時(shí)存儲(chǔ)在云端的C-KEY查詢比較,確定發(fā)位置信息的用戶是否為注冊的合法用戶。鑒權(quán)成功后,把location暫時(shí)存儲(chǔ)在服務(wù)器端。

(4)服務(wù)器向其他用戶發(fā)出廣播請(qǐng)求,收到請(qǐng)求后,其他用戶把假名和所在位置location返回給服務(wù)器。LBS服務(wù)器比較其他用戶location和請(qǐng)求服務(wù)用戶location,找出符合用戶服務(wù)需求的的location。把符合要求用戶的ID和location通過對(duì)稱加密(密鑰是C-Key和登陸傳遞的隨機(jī)數(shù)R結(jié)合的KeyB)發(fā)送給終端用戶。

(5)最后把用戶請(qǐng)求服務(wù)時(shí)所在不精確location的存儲(chǔ)在云端數(shù)據(jù)庫作為歷史記錄。

四、安全性分析和方案比較

1、安全性分析

(1)服務(wù)器公私密鑰對(duì)本地產(chǎn)生。用戶用于注冊以及后續(xù)階段用于信息加密的LBS-PK,在服務(wù)器端產(chǎn)生。對(duì)應(yīng)LBS-SK只用于解密并且永遠(yuǎn)保存在服務(wù)器端,攻擊者很難通過LBS-PK推導(dǎo)出LBS-SK。

(2)公私密鑰更新。組合公鑰體制的密鑰矩陣提供了基數(shù)龐大的密鑰組合結(jié)果,很大程度降低了密鑰對(duì)重復(fù)概率。

(3)保證了用戶IMSI永久身份。在無線環(huán)境中傳輸還是在服務(wù)器端、云端存儲(chǔ)使用的都是IMSI的假名。只有用戶自己知道真正的IMSI號(hào)。

(4)用戶能夠?qū)Ψ?wù)器身份認(rèn)證,防止中間人攻擊。不斷變更的私鑰確保服務(wù)器身份;初始密鑰離線預(yù)置以及新公鑰的更新都經(jīng)過舊公鑰加密,不存在公鑰交換過程中的中間人攻擊。

(5) Rand能夠避免重放攻擊。每次對(duì)稱密鑰登錄產(chǎn)生隨機(jī)數(shù)不同和非對(duì)稱密鑰的公鑰定期更新。

2、方案比較

本方案充分考慮了無線傳輸和云端存儲(chǔ)兩方面的安全。并且不為每個(gè)用戶分配公私密鑰對(duì),在向服務(wù)器發(fā)送對(duì)話時(shí)統(tǒng)一采用LBS服務(wù)器最新的公鑰加密。相對(duì)于PKI方案,大大減輕了服務(wù)器端用于維護(hù)和管理用戶密鑰的難度,也不受限于用戶數(shù)量的增加,服務(wù)器維護(hù)和管理難度只取決于自己更新的頻率和運(yùn)行的時(shí)間,如圖6所示。

云環(huán)境下LBS的對(duì)稱和非對(duì)稱混合加密方案

本方案和基于PKI方案方案的綜合比較見表1。

云環(huán)境下LBS的對(duì)稱和非對(duì)稱混合加密方案

五、結(jié)語

本文的LBS安全模型部署在云環(huán)境中,使用戶能夠直接和LBS服務(wù)商通信,同時(shí)能夠充分利用云環(huán)境的分布式計(jì)算和存儲(chǔ)的功能。利用SIM卡中唯- IMSI號(hào)碼的假名來標(biāo)示、鑒別用戶,保證了身份信息的隱私。在不引入第三方CA的前提下,對(duì)稱和非對(duì)稱混合的加密方案使通信雙方能夠采用相異的加密機(jī)制。利用可更新的公私密鑰對(duì)和公鑰版本號(hào)完成用戶端密鑰的更替,利用隨機(jī)數(shù)和用戶密切相關(guān)的身份標(biāo)識(shí)完成服務(wù)器端的密鑰更替。該保護(hù)方案充分考慮了隱私信息在存儲(chǔ)和無線網(wǎng)絡(luò)傳輸兩個(gè)方面的安全,是移動(dòng)LBS應(yīng)用比較有效、實(shí)際的安全方案。

小知識(shí)之LSB

LSB是一套核心標(biāo)準(zhǔn),它保證了LINUX發(fā)行版同LINUX應(yīng)用程序之間的良好結(jié)合。