微信定位真的洩露了你的精確位置

Aimeast發表於2013-07-09

    最近讓相關部門和水軍忙於闢謠的微信洩露個人位置一事鬧騰的沸沸揚揚,似乎是發起了一場真理大討論。微信定位到底有沒有洩露你的隱私?

    手機定位功能已經是智慧機的標配,但定位原理都不盡相同,所得到的定位精度也差之千里。現在手機常見的定位原理有以下三種:

    1、GPS是美國上世紀發明的全球定位技術的縮寫。原理是通過衛星向地面廣播時間和位置訊號,再由地面上的接收器計算得出位置座標。其民品在空曠地帶的定位精度可達到1m。普通智慧機的定位精度一般在5m左右。這是目前最精確的定位方式。(某些手機已經支援北斗、伽利略衛星定位系統)

    2、AGPS是輔助全球衛星定位系統的縮寫。原理是通過GSM基站(即手機基站)的座標結合所發射訊號傳輸延遲,計算出位置座標。其室外空曠地方的定位精度在50~300m,室內定位精度更低。

    3、Wi-Fi定位。原理是事先收集分佈在世界各地的Wi-Fi熱點的位置座標,由於Wi-Fi熱點的位置基本不會改變(Mi-Fi,移動熱點除外),而且Wi-Fi熱點訊號的覆蓋範圍往往只有10~20m。所以搜尋到某個Wi-Fi熱點的時候,就可以近似的得到當前的位置座標。其精度在10~200m。

    【隱藏副本,本段不可見】【4、火星座標的影響。其原理是電子地圖管理部門為了所謂的國家安全,人為的對全球通用的WGS84地球座標體系進行了“修正”。正因為這個修正,所有外來地圖來到火星都會水土不服。其人為誤差在200~400m不等。】

    微信通過手機的定位系統確定了座標之後,會把這個座標原封不動的上傳給騰訊的伺服器永久儲存,當然伺服器也會永久記錄下這個座標的上傳者和上傳時間。當另一個微信使用者開始搜尋附近的人時,同樣會先把自己的座標上傳給騰訊的伺服器。伺服器搜尋了所有上傳的座標後,找出距離你最近的若干個有效座標,再把這些座標的距離四捨五入到百米後返回給你的微信程式。所以你看到附近的人只有100m以內,200m以內等等。整個過程就是這樣極其的簡單。所以也就出現了網上“謠傳”的“微信定位暴露使用者位置”。

    謠傳一定不會空穴來風,至少還要有那麼一點點的因為所以科學依據。先來看看謠傳是什麼樣的:以三個不同的地方為圓心,“查詢附近的人”顯示的距離為半徑,劃出3個圓。而在這個3個圓的交點位置,就是目標微信使用者的具體位置。

clip_image001

    沒錯,這是再簡單不過的三角定位原理了。隨後相關部門和水軍出來闢謠,還用各種“科學實驗”試圖“證明”此方法不靠譜。其觀點1認為微信定位“最最最精確也只能在100米範圍能畫一個圈”,單純的依靠微信三點定位很難準確確定微信使用者的位置。同時還有觀點2認為民用GPS的定位精度是100米,依靠GPS定位,“別說定位人家,就是你自己的定位點,都會在100米直徑的圓裡不斷閃動”,很難找到準確位置。

    “謠言”和“闢謠”就這樣出現了。現在姑且不說“謠言”是否真的是謠言。先看闢謠觀點1,這點說的非常正確,幾乎沒有任何破綻。似乎是把“謠言”給斃了,再仔細想想似乎又相當於什麼都沒回答。真不愧是“身經百戰”的“有關部門”。再看闢謠觀點2,前文已經說明了各種定位技術的定位精度,這裡明顯不靠譜(簡單想想,若GPS的定位精度真的是100m,那麼多汽車導航是如何工作的?)。除非,對方是在室內使用的AGPS或Wi-Fi定位。另外再加上前面介紹的隱藏副本,單純通過座標和距離是不可能輕易獲取到路人甲的位置。

    好了,現在重新看看微信查詢附近的人的這個過程:

    1、若干使用者先把自己手機定位出來的座標上傳給伺服器。這個過程完全是在路人甲的手機上完成的,無任何方法在此動手腳。

    2、把自己手機座標的定位資料上傳給伺服器。現在手機在自己手上,想怎麼玩就怎麼玩,可以在你認為最有利的位置檢視附近的人,獲取到附近的人與你的距離。

    3、伺服器找到你若干離你最近的人,再把距離近似處理後返回給你。這個過程完全在騰訊的伺服器上進行,你仍然無法從中作怪。

    重複上面的過程,經過三次定位後,你“大概”可以知道某個路人甲的大概位置。似乎這又回到了“謠言”和“闢謠”的開始。但是,還有一個隱藏更深的副本你還沒發現:在數學上可以通過多次迭代計算,獲取到每一個路人甲的“精確”座標。為啥是“精確”而不是精確,廣告過後更精彩!

clip_image002clip_image003

    上面展示的是我通過一些特殊手段整合到微信中的一個小外掛,通過這個外掛可以快速的計算出微信附近的人的“精確”座標。

    首先確定一個開始迭代的起點,從這個起點開始隔一段距離再次迭代搜尋。天真的伺服器會不停的給你返回附近的人。通過若干次迭代後,可以精確的計算出路人甲向伺服器上傳的座標,這個精度可以在5m之內,適當優化後甚至可以精確到1m。當然,這個座標的實際精度是由路人甲當時所處的環境決定。一般來說,如果這個路人甲在室外,那這個精度也就是10m之內。如果這個路人甲在室內,好傢伙,那這個精度只能是10~300m。

    所以說,謠言並不完全是謠言,闢謠並不完全在闢謠。通過一定的技術手段,任何的路人乙、路人丙都可以獲取到路人甲、路人丁的微信座標。但這樣的技術手段不是任何人都能掌握的。若要防範這樣的資訊洩露,唯一的方法就是不再使用類似的功能,包括陌陌、米聊之流。在當前的社交時代,什麼才是隱私?

相關文章