物聯網安全:位置隱私保護概述
01 位置與位置服務
位置是人或物體所在或所占的地方、所處的方位。位置的近義詞是地址,也指一種空間分布。定位是指確定方位,確定場所或界限。下面介紹常用的定位方法和位置服務過程。
1. 定位服務
定位服務即用戶獲取自己位置的服務,定位服務是基于位置的服務(Location Based Service,LBS)發展的基礎,客戶端只有獲取到當前的位置后,才能進行LBS的查詢?,F在使用最廣泛的定位方式主要有全球定位系統定位和基于第三方定位服務商(Location Provider,LP)所提供的Wi-Fi定位。
(1)全球定位系統定位
全球定位系統(Global Positioning System,GPS)通過全球24顆人造衛星,能夠提供三維位置和三維速度等無線導航定位信息。在一個固定的位置完成定位需要4顆衛星,客戶端首先需要搜索出4顆在當前位置可用的衛星,然后4顆衛星將其位置和與客戶端的距離發送給客戶端,最后由客戶端的GPS芯片計算出客戶端的當前位置。GPS的定位精度較高,一般在10 m 以內,但是其缺點也很明顯:① 首次搜索衛星時間相對較長;② GPS無法在室內或建筑物相對密集的場所使用;③ 使用GPS的電量損耗較高。
為了解決首次搜索可定位衛星時間較長的問題,AGPS(Assisted GPS)技術被提出。AGPS技術的特點主要是在定位時使用網絡直接將當前地區的可用衛星信息下載下來用于定位,這不僅可以提高發現衛星的速度,還能夠降低設備的電量使用情況。
(2)Wi-Fi定位
Wi-Fi定位不僅支持室外定位,也支持室內定位。Wi-Fi設備分布廣泛,每個Wi-Fi接入點(Access Point,AP)都有全球唯一的Mac地址,并且AP在一段時間內是不會大幅度移動的,移動設備可以收集到周圍的AP信號,獲取其Mac地址和信號強度(Received Signal Strength Indication,RSSI)。通常,LP會通過現場采集或用戶提交的方式建立自己的定位數據庫,并對數據庫進行定期更新。在定位過程中,LP會要求移動客戶端提交其周圍的AP集合信息,并將這些信息作為其位置指紋,進而LP即可通過與定位數據庫進行匹配計算估計出當前的位置。Wi-Fi定位的精度通常在80m以內。
Wi-Fi定位可以測量不同信號的到達時刻(Time of Arrival,TOA)或到達角度(Angle of Arrival,AOA),較用的是基于 Wi-Fi指紋的定位。正如每個人的指紋不同,每個位置的Wi-Fi指紋也不同,一個確定位置的 Wi-Fi指紋包括該位置采集的AP的Mac地址和RSSI的集合。
Wi-Fi指紋定位主要包含兩個步驟:離線采集和在線定位。
離線采集會將已知的確定位置作為參考點,將在該位置所采集到的AP的Mac地址和 RSSI作為該位置的指紋,并將其加入數據庫中。
在線定位會將在某個非確定位置采集到的AP的Mac地址和RSSI作為指紋以與指紋數據庫進行匹配估計,從而獲得用戶的確切位置,常用的指紋數據庫匹配算法包括最近鄰(Nearest Neighbor,NN)算法、Top-K近鄰(Top K-Nearest Neighbor,TKNN)算法、距離加權K近鄰算法(Weight K-Nearest Neighbors,WKNN)算法等。
2. 基于位置的服務
基于位置的服務(LBS)是首先獲取移動終端用戶的位置信息,然后在地理信息系統(Geographic Information System,GIS)平臺的支持下,為用戶提供相應服務的一種增值業務。
圖1展示了LBS的系統結構,包括定位組件、移動設備、LBS提供商和通信網絡等。
圖1 LBS的系統結構
① 定位組件為確定移動設備的位置提供了基礎,移動設備可以通過內置的GPS芯片或第三方網絡定位提供商追蹤其具體位置,并將位置信息傳給應用程序。
② 移動設備是指可以連入網絡并傳遞數據的電子設備,移動設備作為采集位置數據并發送LBS請求的基礎,通常包括智能手機、筆記本計算機、智能手表和車聯網設備等。
③ LBS服務商是指可以為移動設備提供LBS服務的第三方,LBS服務商通常擁有或可以創造基于位置的信息內容。
④ 通信網絡用于將移動設備同LBS服務商或網絡定位提供商相連接,實現它們之間的信息傳輸,包括無線通信網絡、衛星網絡等。
LBS服務主要包含以下兩個階段。
① 位置獲取階段:移動設備通過GPS定位或者第三方網絡定位獲取當前位置的階段。
② 服務獲取階段:移動設備將第一階段獲取的位置信息和查詢的興趣點發送給LBS提供商,LBS提供商進行信息查詢并將查詢結果返回給移動設備的階段。
3. 位置服務的隱私安全問題
隨著移動互聯網技術的發展與智能手機設備的迅速普及,越來越多的人開始習慣于使用LBS。LBS應用程序在智能手機中得到了迅猛的發展,LBS也獲得了非常廣泛的注意。為了使用LBS,智能手機用戶可以從應用商店下載基于位置的應用,這些應用首先通過GPS或網絡等方式獲取用戶的位置,然后將用戶的位置信息以及用戶希望獲得的服務通過查詢請求的方式發送到LBS服務器,LBS服務器進行相應的查詢并將查詢結果返回給用戶。據統計全球數以億計的智能手機、車載導航等設備每秒發送的位置信息就超過了1億條。目前,位置服務覆蓋了各行各業,被應用到了不同的領域,如健康、工作、個人生活等。
在位置服務過程中,用戶產生的空間數據具有復雜、異構、實時、巨量等大數據特征,通過開放共享與智能管理,這些數據不僅可以為個人生活(如交通路線導航、周邊興趣點查詢等)提供便利,也可以為政府決策(如重大事件應急響應、住宅小區規劃等)和企業生產(如廣告投放、商業布點等)提供精準服務。但是,用戶在獲取這些服務的過程中,數據服務器上會留下大量的用戶記錄,而且附著在這些記錄上的上下文信息能夠披露用戶的生活習慣、興趣愛好、日?;顒印⑸鐣P系和身體狀況等個人敏感信息。因此,如何在保護用戶隱私的同時又能為用戶提供高質量的數據分析與決策服務,是空間數據服務過程中必須解決的重要技術問題。
加密是一種保護數據隱私的有效方法,然而,加密后的數據不能直接進行檢索和利用,不能有效地提供分析和決策支持,并不適合數據開放共享的應用場景。中國衛星導航定位協會公布的數據顯示,我國衛星導航與位置服務產業總產值超過2000億元,國內導航定位終端產品總銷量突破10億臺;根據思科公司的預測,到2019年,全球約有46億部智能手機,每月全球移動互聯網流量將達24.3EB。如此大規模的數據,已超出了傳統數據處理技術在可接受時間下獲取、管理、檢索、分析、挖掘和可視化的能力。
顯然,服務提供商為了增強位置信息的精度,需要實時獲取每個用戶的位置及相關信息,以進一步提高用戶的服務質量(如獲得實時位置以提供更智能的路線規劃方案)。用戶在上傳移動位置信息的同時,其個人隱私也會遭到泄露。一旦大量個人隱私信息被攻擊者盜取,將導致整個社會產生安全信任危機。
此外,位置信息也可以被公開發布給相關研究機構和研究人員進行挖掘分析,并將分析結果作為決策依據。例如,某數據部門通過分析不同時間段的GPS位置數據來分析不同職業群體的飲食習慣;通過數據挖掘,可以發現相同的職業群體經常在相同或者不同的時刻出現在同樣的地方。因此,當這種位置關聯被利用后通過再次挖掘,就可以分析出用戶之間的社交關聯。一旦社交關聯被披露,更多的敏感信息將面臨二次泄露的風險。
例如,假設A、B、C均是學生,他們在相同的時間段內在相同的位置共同出現了兩次,因此攻擊者可能會推測他們是同班同學。再通過他們的背景知識,如果A的年紀、學?;蛘呱鐣P系被泄露,那么B和C的相應背景也會被泄露。如果不考慮用戶之間的關聯信息,只是單純地進行位置保護,那么攻擊者可以利用這種關聯屬性進行關聯推理攻擊,使用戶的個人隱私遭到更多的泄露,危及用戶的個人生命和財產安全。因此,為更好地保護用戶隱私,隱私保護還需要充分考慮群體用戶的關聯位置所帶來的風險。
4. 位置隱私及位置隱私保護對象
隱私是個人或群體通過選擇性表達有意識地保護的相關信息。不同的人對于隱私有不同的關注程度,同時也與人們所處的環境信息有關,但是相同的是,這些信息對于個人來說一定是十分敏感的。位置隱私是物聯網中用戶的位置信息,指人們在獲取位置和使用位置時將自身的位置信息視作一種個人隱私信息,同時也可以指用戶為了保護自身位置隱私所應具備的權利和能力。
通常,移動用戶在使用位置服務時需要提交用戶的身份標志符(identity)、空間信息(position)、時間信息(time)等。根據移動用戶提交的信息,我們可以概括隱私保護的對象如下。
① 身份標志符:用來唯一標志用戶信息的憑證。即使用戶在發布查詢的過程中隱藏了身份標志符信息,攻擊者仍然可以通過發布的位置信息或提交的特定查詢等上下文信息推測出用戶的身份。
② 空間信息:在LBS中指用戶提交的位置信息,在定位服務中指用戶所提交的用于定位的相關信息,包括Wi-Fi指紋信息等。用戶的空間信息泄露會直接或間接地導致攻擊者知道用戶的當前位置,進而可根據用戶的當前位置,合理地判斷用戶的工作場所、生活習慣等。例如,攻擊者可以根據用戶在工作日經常提交的位置信息推測出用戶的工作地點。用戶可能希望提供不同的位置精度,例如,告訴朋友們準確的位置,而為天氣服務提供粗略的位置。此外,位置信息不只是具體的經緯度信息,例如,用戶不希望發布其在醫院的信息,這里需要保護的空間信息代表一個位置場所。
③ 軌跡:時間信息和空間信息一起定義了在一段時間內用戶的位置移動順序,即軌跡。相對于位置信息,軌跡信息更容易導致用戶的生活習慣泄露,例如,攻擊者可以推測出用戶的上下班線路。
02 位置隱私保護結構
根據用戶的位置是否連續,位置隱私保護技術可以分為單點位置的隱私保護技術和連續軌跡的隱私保護技術。單點位置的隱私是指誰在某個時刻到過什么地方,而連續軌跡的隱私是指誰在什么時間段內到過哪些地方。
這里所指的位置隱私是單點位置隱私。位置隱私保護的目標有3種:
① 身份保護,隱藏用戶身份,SP只能知道位置但不知道是誰在請求服務;
② 位置保護,SP知道是誰在請求服務,但不能獲取其準確位置;
③ 身份和位置保護,SP不知道是誰在哪里請求服務。
目前的位置隱私保護技術所采用的結構大體可以分為以下3類:獨立結構、集中式結構和P2P結構。
(1)獨立結構
獨立結構由用戶和SP兩部分構成,因此又稱為客戶服務器結構。如圖2所示,獨立結構中一次LBS的整體流程如下:首先用戶在通過定位技術獲取位置信息后,通過假名或者模糊位置對自己要發送給SP的信息進行匿名處理,形成一個虛假的結果或者一個結果集,這些工作全部由用戶獨立完成,并直接和SP進行通信,并將結果發送給SP,SP根據接收到的信息,完成用戶提出的查詢任務,并將查詢結果返回給用戶,用戶收到后從中選出符合自己需要的結果即可。獨立結構比較簡單,容易實現,但是,所有的隱私保護工作需要用戶自己來完成,對移動設備要求高,而且在人員稀疏的環境中保護效果會很差,很容易被攻擊者識別出真實的身份信息和位置信息。
圖2 獨立結構
(2)集中式結構
集中式結構是在獨立結構的基礎上引入了可信的第三方——匿名服務器。該服務器位于用戶和SP之間,負責管理用戶的位置信息、匿名需求、定位結果處理、查詢結果篩選等,須對用戶的位置進行保護。圖3所示為集中式結構中一次LBS的整體流程。用戶首先獲得自己精確的位置信息,然后將精確的位置信息發送給匿名服務器。匿名服務器結合其他用戶上傳的位置信息,使用匿名算法按照用戶的匿名需求對位置進行匿名處理,之后將處理過的結果發送給SP。SP根據接收到的數據,查詢相應的結果并將其返回給匿名服務器,經過對結果的篩選,匿名服務器即可把最終的結果返回給查詢用戶。從服務過程的變化可以看出,引入可信第三方(匿名服務器)能夠充分減小移動設備的工作負擔,解決了移動設備計算和存儲能力有限的問題,可以把更復雜的匿名算法引入位置保護系統,還能夠利用周邊環境和其他用戶的信息,有效提高位置隱私保護的效率和安全性。但是,集中式結構也有明顯的缺點:每個用戶的匿名都需要通過匿名服務器的計算和分析,當用戶數量大幅增加時,匿名服務器就會成為性能的瓶頸,影響LBS的時效性,甚至會發生服務器崩潰的情況。更為重要的是,匿名服務器中保存著大量的用戶身份信息和位置信息數據,一旦遭到攻擊,大量用戶隱私必將泄露,這將會造成十分嚴重的后果。
圖3 集中式結構
(3)P2P結構
因為集中式結構中匿名服務器的局限性和移動設備性能的飛速發展,P2P結構應運而生。P2P結構去掉了可信第三方中間件,僅由移動用戶和SP組成。與獨立結構不同的是,移動設備用戶為了利用其他用戶的信息來保護自身的位置隱私,用戶之間建立了對等網絡。雖然同樣是由用戶自身完成位置隱私保護工作,但是P2P結構中有許多對等的移動節點提供了平等的信息共享服務,在每個節點發起查詢時,其他節點會提供協助以共同完成隱私保護,抵御攻擊。圖4所示為P2P結構中一次LBS的整體流程。當用戶需要發起LBS時,其首先會請求網絡內其他用戶的協助,即會將請求協助信息在網絡內廣播。收到其他節點的回復后,將其中符合匿名要求的信息收集到一起作為匿名集合。之后由用戶隨機選擇的代理用戶將查詢請求發送給SP。SP經過查詢后將結果返回給代理用戶并由代理用戶最終返回給用戶。P2P結構取消了匿名服務器,解決了集中式結構中第三方處理數據的瓶頸問題(如可行度、性能等),但是要求每個移動用戶都必須具有兩個獨立的網絡,一個網絡用于LBS通信,另一個網絡用于P2P通信;同時對移動設備的性能和網絡的傳輸效率要求較高;在人員稀少的地區比較難以實現匿名區的組建;惡意節點的存在會導致匿名的安全性和質量難以滿足要求。
圖4 P2P結構