摘 要: 提出在為不同類別的用戶提供個(gè)性化位置服務(wù)時(shí)兼顧位置服務(wù)與隱私保護(hù)的目的,當(dāng)用戶好友對(duì)用戶進(jìn)行定位時(shí),系統(tǒng)將在服務(wù)器中查找用戶對(duì)其好友的隱私策略分組,并得到對(duì)應(yīng)的隱私開放類別,對(duì)用戶的位置信息進(jìn)行處理,從而實(shí)現(xiàn)個(gè)性化位置隱私保護(hù)的目標(biāo)。方案已在IOS和Java環(huán)境下實(shí)現(xiàn)。
關(guān)鍵詞: 無線網(wǎng)絡(luò);LBS;隱私保護(hù);位置匿名服務(wù)器
隨著基于位置服務(wù)LBS(Location-Based Service)需求的增長,傳統(tǒng)位置隱私保護(hù)模型的局限性日益凸顯,傳統(tǒng)的基于位置服務(wù)很少考慮用戶隱私問題,用戶的標(biāo)識(shí)等敏感信息暴露,其安全性逐漸成為一種隱患。存在很多因?yàn)橛脩粑恢秒[私泄露而導(dǎo)致被人跟蹤、被垃圾廣告郵件填滿收件箱的案例[1-2]。因此,對(duì)LBS中的隱私保護(hù)問題進(jìn)行研究具有較好的理論意義和實(shí)際應(yīng)用意義,人們迫切需要更人性化、更安全快速的位置隱私保護(hù)方案[3-4]。
本文實(shí)現(xiàn)的系統(tǒng)主要研究并解決了當(dāng)人們?cè)谑褂肔BS時(shí)所涉及到的位置隱私安全問題。為了實(shí)現(xiàn)用戶在其他用戶對(duì)其進(jìn)行定位時(shí)提供不同等級(jí)和精度的位置服務(wù),并且兼顧位置服務(wù)與隱私保護(hù)的目的,提出了一種個(gè)性化的位置隱私保護(hù)方案,即目標(biāo)用戶可以在為不同類別的用戶提供個(gè)性化位置服務(wù)的同時(shí)保護(hù)自身的位置隱私。當(dāng)其他用戶對(duì)目標(biāo)用戶進(jìn)行定位時(shí),系統(tǒng)將在數(shù)據(jù)服務(wù)器和位置匿名服務(wù)器中查找用戶對(duì)其好友的隱私策略樹,并得到對(duì)應(yīng)的隱私開放類別,對(duì)用戶自身的位置信息進(jìn)行處理,從而實(shí)現(xiàn)個(gè)性化位置隱私保護(hù)的目標(biāo)。
1 位置隱私保護(hù)相關(guān)概念
1.1 基于位置的服務(wù)
基于位置的服務(wù)LBS是指通過無線網(wǎng)絡(luò)服務(wù)提供商SP(Service Provider)提供給移動(dòng)終端(如手機(jī)、PDA、無線筆記本等)的位置信息(經(jīng)緯度坐標(biāo)),在電子地圖平臺(tái)的支持下,為用戶提供所需的與位置相關(guān)的一種移動(dòng)增值業(yè)務(wù)[5]。
1.2 定位系統(tǒng)
定位系統(tǒng)是LBS的一項(xiàng)重要的基礎(chǔ)設(shè)施,一般分為兩類:基于網(wǎng)絡(luò)的定位系統(tǒng)通過電信網(wǎng)絡(luò)的基礎(chǔ)設(shè)施(例如基站、衛(wèi)星)結(jié)合某種定位方法來定位移動(dòng)設(shè)備,不需要移動(dòng)設(shè)備上安裝定位芯片;基于終端的定位系統(tǒng)需要在移動(dòng)設(shè)備上安裝GPS定位芯片,然后利用GPS系統(tǒng)或者伽利略衛(wèi)星系統(tǒng)定位出用戶的當(dāng)前位置[6]。
1.3 位置隱私
位置隱私是一種特殊的信息隱私,指的是防止其他人以任何方式獲知對(duì)象過去、現(xiàn)在的位置[7]。在基于位置的服務(wù)中,敏感數(shù)據(jù)可以是有關(guān)用戶的時(shí)空信息、可以是查詢請(qǐng)求內(nèi)容中涉及軍事或政治的信息、可以是推斷出的用戶的運(yùn)動(dòng)模式、用戶的興趣愛好等的個(gè)人隱私信息。
2 定制化位置隱私保護(hù)方案中的關(guān)鍵技術(shù)
本文主要研究了在人們使用LBS時(shí)涉及到的位置隱私安全問題,以及如何實(shí)現(xiàn)個(gè)性化的多等級(jí)位置隱私保護(hù)。提出了一種個(gè)性化位置隱私保護(hù)方案:被定位者可以針對(duì)不同類別的用戶群體,構(gòu)建不同的隱私保護(hù)策略,當(dāng)其被定位時(shí),根據(jù)隱私保護(hù)策略來決定為其提供不同精度(不同等級(jí))的位置服務(wù)。本文主要從以下兩個(gè)方面對(duì)LBS進(jìn)行安全性建設(shè)。
?。?)使用戶具有自主選擇能否讓指定的好友知道自己真實(shí)位置的權(quán)力,按照用戶的需求將其好友按照不同的位置隱私等級(jí)分為“對(duì)其位置隱身”、“對(duì)其顯示真實(shí)位置”和“對(duì)其顯示虛假位置”3組。
在“真實(shí)位置”設(shè)置組中,用戶的該組好友可以通過電子地圖讀取用戶實(shí)時(shí)的真實(shí)位置;在“位置隱身”設(shè)置組中,用戶的該組好友無法讀取用戶的位置,即用戶對(duì)他的該組好友在位置上隱身不可見;在“虛假位置”設(shè)置組中,用戶可以根據(jù)需要對(duì)該組好友分別在電子地圖上設(shè)置不同的假位置,完成位置隱私保護(hù)的功能。
?。?)“雙服務(wù)器保護(hù)模式”,確保服務(wù)器端與客戶端相互通信時(shí)的用戶信息安全。當(dāng)用戶選擇向服務(wù)器發(fā)送自己的真實(shí)位置時(shí),位置匿名服務(wù)器能夠?qū)τ脩舭l(fā)送過來的用戶信息和位置信息進(jìn)行匿名處理,處理結(jié)果顯示為某位置具有人的活動(dòng)特征,卻無法獲取該位置的用戶信息。
3 定制化位置隱私保護(hù)方案的實(shí)現(xiàn)機(jī)制
3.1 位置隱私保護(hù)方案的設(shè)計(jì)思路
當(dāng)用戶A請(qǐng)求其好友B的位置信息時(shí),請(qǐng)求命令將首先發(fā)送到信息處理服務(wù)器。此時(shí),信息處理服務(wù)器將作出判斷,若判斷結(jié)果為A在B的好友列表中,并且策略分組為“對(duì)其顯示真實(shí)位置”時(shí),信息處理服務(wù)器選擇直接向B發(fā)送一條請(qǐng)求其位置的命令,并同時(shí)向位置匿名服務(wù)器發(fā)送一條帶有特定標(biāo)簽的A的IP信息。客戶端B在收到位置請(qǐng)求信息后,會(huì)將帶有特定標(biāo)簽的自己的位置信息發(fā)送給可信的位置匿名服務(wù)器,而不是信息處理服務(wù)器。
也就是說,當(dāng)信息處理服務(wù)器在接收到某用戶的位置信息時(shí),不會(huì)記錄客戶端的IP地址或除位置信息以外的任何個(gè)人信息,并將通過標(biāo)簽核對(duì),將制定的位置信息直接發(fā)送給指定的用戶。最后,位置匿名服務(wù)器將給信息處理服務(wù)器返回一條帶有與接收IP時(shí)相同的特定標(biāo)簽,告知其過程是否成功完成。
不僅如此,當(dāng)用戶選擇向服務(wù)器發(fā)送自己的真實(shí)位置時(shí),雙服務(wù)器中的位置匿名服務(wù)器還能夠?qū)τ脩舭l(fā)送過來的用戶信息和位置信息進(jìn)行匿名處理,即便檢測(cè)出某位置具有人的活動(dòng)特征,也無法獲取該位置的用戶信息,避免了在位置信息傳送過程中的隱私泄露隱患。
3.2數(shù)據(jù)庫的設(shè)計(jì)
數(shù)據(jù)庫是位置隱私保護(hù)系統(tǒng)的重要基礎(chǔ),在本系統(tǒng)中,選用MySQL數(shù)據(jù)庫。使用JDBC驅(qū)動(dòng)實(shí)現(xiàn)了MySQL數(shù)據(jù)庫與Java服務(wù)器端的連接。數(shù)據(jù)庫中各個(gè)表的設(shè)計(jì)如表1、表2所示。
3.3 服務(wù)器端的實(shí)現(xiàn)
信息處理服務(wù)器使用Java語言開發(fā),主要文件結(jié)構(gòu)及使用的類如圖1所示。
各類實(shí)現(xiàn)的功能說明如下:CreateServerThread類用于生成新的線程,并通過處理Socket收到的字符串提取出所請(qǐng)求對(duì)象的IP和發(fā)送請(qǐng)求對(duì)象的IP。緊接著建立一個(gè)Socket通信請(qǐng)求目標(biāo)的地址坐標(biāo),然后將獲取到的位置坐標(biāo)用新的Socket發(fā)送到發(fā)送請(qǐng)求者手機(jī)中。Function類為各項(xiàng)功能的具體實(shí)現(xiàn)及收到錯(cuò)誤數(shù)據(jù)時(shí)的異常處理:Main為主類,實(shí)例化一個(gè)Server對(duì)象:
try{
new Server();
}catch(Exception ex){
System.out.println(ex);
}
Server繼承于ServerSocket,當(dāng)收到信息后調(diào)用CreateServerThread類生成新線程:super(SERVER_PORT)。Xxaq類用于服務(wù)端與數(shù)據(jù)庫的連接及數(shù)據(jù)庫各種操作的實(shí)現(xiàn)(代碼見數(shù)據(jù)庫實(shí)現(xiàn)部分)。
3.4 位置匿名服務(wù)器
使用Java語言開發(fā)主要文件結(jié)構(gòu)及使用的類如圖2所示。
其中,Main類和Server類的功能及實(shí)現(xiàn)方法同于信息處理服務(wù)器,CreateServerThread類實(shí)現(xiàn)了接收到合法請(qǐng)求后對(duì)客戶端位置的獲取及向請(qǐng)求者發(fā)送被請(qǐng)求者的位置信息。
3.5 客戶端的實(shí)現(xiàn)
移動(dòng)端采用在Windows 7操作系統(tǒng)下,安裝Mac OS虛擬機(jī),并用X-code作為開發(fā)工具、Objective-C作為開發(fā)語言進(jìn)行開發(fā)。UIAlertTableView用于NoteDetailController中選擇好友隱私等級(jí)時(shí)等級(jí)列表的顯示,MapLocation為定位時(shí)使用的蘋果官方工具類;KissXML和classes中的xml組均為xml的第三方解析工具,直接導(dǎo)入后使用,Classes中的tool為AsyncSocket類,用于Socket通信,是蘋果官方提供的工具類。
4 系統(tǒng)的部署與性能測(cè)試
4.1 系統(tǒng)的部署
服務(wù)器端因?yàn)椴捎昧丝缙脚_(tái)性很強(qiáng)的Java語言編寫附加MySQL數(shù)據(jù)庫,故幾乎可在所有服務(wù)器上運(yùn)行,且部署工作簡(jiǎn)單,在Windows Server 2003環(huán)境下的部署如下。
(1)安裝MySQL數(shù)據(jù)庫,并使用sql轉(zhuǎn)儲(chǔ)文件將用到的表及數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中,字符集設(shè)置為utf-8。
(2)配置Java環(huán)境,并將JDBC驅(qū)動(dòng)放置到服務(wù)器端主目錄后,直接執(zhí)行服務(wù)器端的主類Main。
?。?)開啟服務(wù)器的12310端口并在防火墻添加此端口的例外。
經(jīng)過以上3個(gè)步驟,服務(wù)器的部署即完成。
因?yàn)榭蛻舳诉\(yùn)行平臺(tái)為iPhone或iPad,故用戶可以在iPhone或iPad上直接安裝生成好的IOS安裝包(ipa)文件進(jìn)行安裝。安裝后打開軟件登錄即可使用。
4.2 性能測(cè)試
性能測(cè)試在軟件的質(zhì)量保證中起著重要作用,是系統(tǒng)優(yōu)化的有效手段,主要檢驗(yàn)軟件是否達(dá)到需求規(guī)格說明中規(guī)定的各類性能指標(biāo),確保系統(tǒng)達(dá)到設(shè)計(jì)要求的性能。
對(duì)于本系統(tǒng),主要測(cè)試目的如下。
?。?)確保服務(wù)端軟件在長時(shí)間運(yùn)行時(shí)能夠及時(shí)釋放內(nèi)存并且不存在多余死循環(huán),不會(huì)造成服務(wù)器系統(tǒng)的崩潰。
?。?)確保在多客戶端同時(shí)登錄時(shí),對(duì)數(shù)據(jù)庫操作的同步性,避免讀寫錯(cuò)誤及讀臟數(shù)據(jù)等。
?。?)確??蛻舳嗽谶\(yùn)行時(shí),內(nèi)存能夠及時(shí)釋放,不會(huì)占用客戶機(jī)平臺(tái)過多資源。
?。?)測(cè)試服務(wù)器的安全性,嘗試通過非法手段獲取用戶相關(guān)數(shù)據(jù)的各種方法并采取相應(yīng)對(duì)策。
(5)嘗試用戶使用時(shí)可能存在的誤操作,處理對(duì)應(yīng)異常。
?。?)統(tǒng)計(jì)數(shù)據(jù)通信所產(chǎn)生的流量并作出優(yōu)化。
4.3 測(cè)試結(jié)果及缺陷報(bào)告
測(cè)試表明:
(1)服務(wù)器可以及時(shí)釋放內(nèi)存,且能夠保證并發(fā)時(shí)對(duì)數(shù)據(jù)庫操作的同步。
?。?)客戶端用戶誤操作造成的異常均已避免或作出處理。
?。?)已知在安全性測(cè)試中,數(shù)據(jù)均以明文形式傳輸,可能在傳輸信道中被截取,此缺陷均將在后期調(diào)試中解決。
由于便攜式設(shè)備、芯片感測(cè)技術(shù)和寬帶網(wǎng)絡(luò)的發(fā)展,使得基于位置的服務(wù)應(yīng)用無處不在,為人們的生活帶來了便利的同時(shí),也帶來了隱私威脅的問題。本文的創(chuàng)新之處在于解決了當(dāng)人們?cè)谑褂肔BS時(shí)所涉及到的位置隱私安全問題,其創(chuàng)新點(diǎn)總結(jié)如下。
(1)用戶根據(jù)自己的需求可將其好友按照不同的位置隱私策略分組,“對(duì)其可見真實(shí)位置”、“對(duì)其位置隱身”和“對(duì)其可見虛假位置”3個(gè)分組能讓用戶按照自己的意愿去管理自己的位置信息,避免了在位置設(shè)置時(shí)的單調(diào)性。
?。?)為了支持最優(yōu)的位置匿名,必須考慮到廣泛使用的具有可信用戶和可信LSP的可信LBS中間件——位置匿名服務(wù)器。實(shí)際上,位置匿名服務(wù)器是一個(gè)位于移動(dòng)用戶和信息處理服務(wù)器的中間層,接收來自移動(dòng)用戶的精確位置信息以及所有用戶的隱私特征,根據(jù)每一個(gè)用戶的隱私特征,將精確的位置信息匿名成隱藏的空間區(qū)域,避免了在位置信息傳送過程中的隱私泄露隱患。
本文所述基于移動(dòng)平臺(tái)的定制化位置隱私保護(hù)方案在系統(tǒng)功能上均已初步實(shí)現(xiàn)。
參考文獻(xiàn)
[1] 程瑤,應(yīng)凌云,焦四輩,等.移動(dòng)社交應(yīng)用的用戶隱私泄漏問題研究[J].計(jì)算機(jī)學(xué)報(bào),2014,37(1):87-100.
[2] BERESFORD A R, RICE A, SKEHIN N, et al. Mockdroid, trading privacy for application functionality on smartphones[C]. Proceedings of the 12th Workshop on Mobile Computing Systems and Applications(HotMobile′11). New York USA, 2011:49-54.
[3] EGELE M, KRUEGEL C, KIRDA E, et al. PiOS: detecting privacy leaks in IOS applications[C]. Proceedings of the 18th Annual Network & Distributed System Security Symposium (NDSS). San Diego, USA, 2011:66-71.
[4] 李瑞軒,董新華,辜希武,等.移動(dòng)云服務(wù)的數(shù)據(jù)安全與隱私保護(hù)綜述[J].通信學(xué)報(bào),2013,34(2):159-165.
[5] 傅建慶,陳健,范容,等.基于代理簽名的移動(dòng)通信網(wǎng)絡(luò)匿名漫游認(rèn)證協(xié)議[J].電子與信息學(xué)報(bào),2011,33(1):156-162.
[6] UNAL D, CAGLAYAN M U. A formal role-based access model control model for security policies in multi-domain mobile networks[J]. Computer Networks, 2013,57(1):330-350.
[7] 徐小龍,周靜嵐,楊庚.一種基于數(shù)據(jù)分剖與分級(jí)的云存儲(chǔ)數(shù)據(jù)隱私保護(hù)機(jī)制[J].計(jì)算機(jī)算機(jī)科學(xué),2013,40(2):98-102.