摘 要: 提出在為不同類別的用戶提供個性化位置服務時兼顧位置服務與隱私保護的目的,當用戶好友對用戶進行定位時,系統將在服務器中查找用戶對其好友的隱私策略分組,并得到對應的隱私開放類別,對用戶的位置信息進行處理,從而實現個性化位置隱私保護的目標。方案已在IOS和Java環境下實現。
隨著基于位置服務LBS(Location-Based Service)需求的增長,傳統位置隱私保護模型的局限性日益凸顯,傳統的基于位置服務很少考慮用戶隱私問題,用戶的標識等敏感信息暴露,其安全性逐漸成為一種隱患。存在很多因為用戶位置隱私泄露而導致被人跟蹤、被垃圾廣告郵件填滿收件箱的案例[1-2]。因此,對LBS中的隱私保護問題進行研究具有較好的理論意義和實際應用意義,人們迫切需要更人性化、更安全快速的位置隱私保護方案[3-4]。
本文實現的系統主要研究并解決了當人們在使用LBS時所涉及到的位置隱私安全問題。為了實現用戶在其他用戶對其進行定位時提供不同等級和精度的位置服務,并且兼顧位置服務與隱私保護的目的,提出了一種個性化的位置隱私保護方案,即目標用戶可以在為不同類別的用戶提供個性化位置服務的同時保護自身的位置隱私。當其他用戶對目標用戶進行定位時,系統將在數據服務器和位置匿名服務器中查找用戶對其好友的隱私策略樹,并得到對應的隱私開放類別,對用戶自身的位置信息進行處理,從而實現個性化位置隱私保護的目標。
1 位置隱私保護相關概念
1.1 基于位置的服務
基于位置的服務LBS是指通過無線網絡服務提供商SP(Service Provider)提供給移動終端(如手機、PDA、無線筆記本等)的位置信息(經緯度坐標),在電子地圖平臺的支持下,為用戶提供所需的與位置相關的一種移動增值業務[5]。
1.2 定位系統
定位系統是LBS的一項重要的基礎設施,一般分為兩類:基于網絡的定位系統通過電信網絡的基礎設施(例如基站、衛星)結合某種定位方法來定位移動設備,不需要移動設備上安裝定位芯片;基于終端的定位系統需要在移動設備上安裝GPS定位芯片,然后利用GPS系統或者伽利略衛星系統定位出用戶的當前位置[6]。
1.3 位置隱私
位置隱私是一種特殊的信息隱私,指的是防止其他人以任何方式獲知對象過去、現在的位置[7]。在基于位置的服務中,敏感數據可以是有關用戶的時空信息、可以是查詢請求內容中涉及軍事或政治的信息、可以是推斷出的用戶的運動模式、用戶的興趣愛好等的個人隱私信息。
2 定制化位置隱私保護方案中的關鍵技術
本文主要研究了在人們使用LBS時涉及到的位置隱私安全問題,以及如何實現個性化的多等級位置隱私保護。提出了一種個性化位置隱私保護方案:被定位者可以針對不同類別的用戶群體,構建不同的隱私保護策略,當其被定位時,根據隱私保護策略來決定為其提供不同精度(不同等級)的位置服務。本文主要從以下兩個方面對LBS進行安全性建設。
(1)使用戶具有自主選擇能否讓指定的好友知道自己真實位置的權力,按照用戶的需求將其好友按照不同的位置隱私等級分為“對其位置隱身”、“對其顯示真實位置”和“對其顯示虛假位置”3組。
在“真實位置”設置組中,用戶的該組好友可以通過電子地圖讀取用戶實時的真實位置;在“位置隱身”設置組中,用戶的該組好友無法讀取用戶的位置,即用戶對他的該組好友在位置上隱身不可見;在“虛假位置”設置組中,用戶可以根據需要對該組好友分別在電子地圖上設置不同的假位置,完成位置隱私保護的功能。
(2)“雙服務器保護模式”,確保服務器端與客戶端相互通信時的用戶信息安全。當用戶選擇向服務器發送自己的真實位置時,位置匿名服務器能夠對用戶發送過來的用戶信息和位置信息進行匿名處理,處理結果顯示為某位置具有人的活動特征,卻無法獲取該位置的用戶信息。
3 定制化位置隱私保護方案的實現機制
3.1 位置隱私保護方案的設計思路
當用戶A請求其好友B的位置信息時,請求命令將首先發送到信息處理服務器。此時,信息處理服務器將作出判斷,若判斷結果為A在B的好友列表中,并且策略分組為“對其顯示真實位置”時,信息處理服務器選擇直接向B發送一條請求其位置的命令,并同時向位置匿名服務器發送一條帶有特定標簽的A的IP信息。客戶端B在收到位置請求信息后,會將帶有特定標簽的自己的位置信息發送給可信的位置匿名服務器,而不是信息處理服務器。
也就是說,當信息處理服務器在接收到某用戶的位置信息時,不會記錄客戶端的IP地址或除位置信息以外的任何個人信息,并將通過標簽核對,將制定的位置信息直接發送給指定的用戶。最后,位置匿名服務器將給信息處理服務器返回一條帶有與接收IP時相同的特定標簽,告知其過程是否成功完成。
不僅如此,當用戶選擇向服務器發送自己的真實位置時,雙服務器中的位置匿名服務器還能夠對用戶發送過來的用戶信息和位置信息進行匿名處理,即便檢測出某位置具有人的活動特征,也無法獲取該位置的用戶信息,避免了在位置信息傳送過程中的隱私泄露隱患。
3.2數據庫的設計
數據庫是位置隱私保護系統的重要基礎,在本系統中,選用MySQL數據庫。使用JDBC驅動實現了MySQL數據庫與Java服務器端的連接。數據庫中各個表的設計如表1、表2所示。
3.3 服務器端的實現
信息處理服務器使用Java語言開發,主要文件結構及使用的類如圖1所示。
各類實現的功能說明如下:CreateServerThread類用于生成新的線程,并通過處理Socket收到的字符串提取出所請求對象的IP和發送請求對象的IP。緊接著建立一個Socket通信請求目標的地址坐標,然后將獲取到的位置坐標用新的Socket發送到發送請求者手機中。Function類為各項功能的具體實現及收到錯誤數據時的異常處理:Main為主類,實例化一個Server對象:
try{
new Server();
}catch(Exception ex){
System.out.println(ex);
}
Server繼承于ServerSocket,當收到信息后調用CreateServerThread類生成新線程:super(SERVER_PORT)。Xxaq類用于服務端與數據庫的連接及數據庫各種操作的實現(代碼見數據庫實現部分)。
3.4 位置匿名服務器
使用Java語言開發主要文件結構及使用的類如圖2所示。
其中,Main類和Server類的功能及實現方法同于信息處理服務器,CreateServerThread類實現了接收到合法請求后對客戶端位置的獲取及向請求者發送被請求者的位置信息。
3.5 客戶端的實現
移動端采用在Windows 7操作系統下,安裝Mac OS虛擬機,并用X-code作為開發工具、Objective-C作為開發語言進行開發。UIAlertTableView用于NoteDetailController中選擇好友隱私等級時等級列表的顯示,MapLocation為定位時使用的蘋果官方工具類;KissXML和classes中的xml組均為xml的第三方解析工具,直接導入后使用,Classes中的tool為AsyncSocket類,用于Socket通信,是蘋果官方提供的工具類。
4 系統的部署與性能測試
4.1 系統的部署
服務器端因為采用了跨平臺性很強的Java語言編寫附加MySQL數據庫,故幾乎可在所有服務器上運行,且部署工作簡單,在Windows Server 2003環境下的部署如下。
(1)安裝MySQL數據庫,并使用sql轉儲文件將用到的表及數據導入到數據庫中,字符集設置為utf-8。
(2)配置Java環境,并將JDBC驅動放置到服務器端主目錄后,直接執行服務器端的主類Main。
(3)開啟服務器的12310端口并在防火墻添加此端口的例外。
經過以上3個步驟,服務器的部署即完成。
因為客戶端運行平臺為iPhone或iPad,故用戶可以在iPhone或iPad上直接安裝生成好的IOS安裝包(ipa)文件進行安裝。安裝后打開軟件登錄即可使用。
4.2 性能測試
性能測試在軟件的質量保證中起著重要作用,是系統優化的有效手段,主要檢驗軟件是否達到需求規格說明中規定的各類性能指標,確保系統達到設計要求的性能。
對于本系統,主要測試目的如下。
(1)確保服務端軟件在長時間運行時能夠及時釋放內存并且不存在多余死循環,不會造成服務器系統的崩潰。
(2)確保在多客戶端同時登錄時,對數據庫操作的同步性,避免讀寫錯誤及讀臟數據等。
(3)確保客戶端在運行時,內存能夠及時釋放,不會占用客戶機平臺過多資源。
(4)測試服務器的安全性,嘗試通過非法手段獲取用戶相關數據的各種方法并采取相應對策。
(5)嘗試用戶使用時可能存在的誤操作,處理對應異常。
(6)統計數據通信所產生的流量并作出優化。
4.3 測試結果及缺陷報告
測試表明:
(1)服務器可以及時釋放內存,且能夠保證并發時對數據庫操作的同步。
(2)客戶端用戶誤操作造成的異常均已避免或作出處理。
(3)已知在安全性測試中,數據均以明文形式傳輸,可能在傳輸信道中被截取,此缺陷均將在后期調試中解決。
由于便攜式設備、芯片感測技術和寬帶網絡的發展,使得基于位置的服務應用無處不在,為人們的生活帶來了便利的同時,也帶來了隱私威脅的問題。本文的創新之處在于解決了當人們在使用LBS時所涉及到的位置隱私安全問題,其創新點總結如下。
(1)用戶根據自己的需求可將其好友按照不同的位置隱私策略分組,“對其可見真實位置”、“對其位置隱身”和“對其可見虛假位置”3個分組能讓用戶按照自己的意愿去管理自己的位置信息,避免了在位置設置時的單調性。
(2)為了支持最優的位置匿名,必須考慮到廣泛使用的具有可信用戶和可信LSP的可信LBS中間件——位置匿名服務器。實際上,位置匿名服務器是一個位于移動用戶和信息處理服務器的中間層,接收來自移動用戶的精確位置信息以及所有用戶的隱私特征,根據每一個用戶的隱私特征,將精確的位置信息匿名成隱藏的空間區域,避免了在位置信息傳送過程中的隱私泄露隱患。
本文所述基于移動平臺的定制化位置隱私保護方案在系統功能上均已初步實現。
參考文獻
[1] 程瑤,應凌云,焦四輩,等.移動社交應用的用戶隱私泄漏問題研究[J].計算機學報,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] 李瑞軒,董新華,辜希武,等.移動云服務的數據安全與隱私保護綜述[J].通信學報,2013,34(2):159-165.
[5] 傅建慶,陳健,范容,等.基于代理簽名的移動通信網絡匿名漫游認證協議[J].電子與信息學報,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] 徐小龍,周靜嵐,楊庚.一種基于數據分剖與分級的云存儲數據隱私保護機制[J].計算機算機科學,2013,40(2):98-102.