4 月 262011
 

原文(source): Google WiFi 定位的原理 | DearHoney 數位音樂工作室

以前我不了解 Google WiFi 定位時,一直對這技術嗤之以鼻,我想說從 IP Address 哪裡能定位到很精準,最多就是從一些公開的 IP to GEO 資料庫可以查詢到這個 IP 是在那個城市,是沒辦法精準定位的。

可是隨著我發現沒有 GPS 衛星定位功能的 iPod Touch 在打開 WiFi 的情況下竟然可以在 Google 地圖上精準到我所在地的附近,這就引起了我很大的好奇心,到底這是怎麼做到的?顯然不可能是靠 IP Address 去查詢啊?

看了一些簡體與繁體的文件,實在是覺得扯太遠扯太多,還是沒看到精髓處,所以直接從英文去查吧!果然查到了不少資料,也就瞭解 Google WiFi 定位的原理了。在這之前先把幾個名詞給解釋一下。

GPS 衛星定位:靠的是環繞在地球四周的數顆衛星發送訊號到地面,交叉連集出所在地的方法。從十幾年前開始出 現汽車導航產品,就是使用這種技術。初次定位時常要花上一分鐘以上的時間,這也是目前汽車導航和智慧型手機都有提供的定位方式。當有遮蔽物阻擋來自天空的 訊號時就會發生定位的困難。

A-GPS 定位:靠著事先下載星曆資料,能夠加速上述 GPS 定位的初次定位速度。由於一般車用導航機都不具備網路連線能力因此無法事先下載星曆資料,所以也都不具備 A-GPS 定位。

手機基地台定位:靠的是偵測到的手機基地台(Cell Tower),比對資料庫以及信號強度,交叉連集出所在地的方法。也因為要能夠偵測手機基地台,所以一般車用導航機因不具備手機電話能力而無法提供,幾乎 可以說手機基地台定位是智慧型手機或者能夠插手機 SIM 卡的平板電腦才可以提供的功能。此法尚須有網路連線做資料庫查詢才能完成定位。

WiFi 定位:靠的是偵測附近周圍所有的無線網路基地台 (WiFi Access Point) 的 MAC Address (類似 10-78-D2-93-58-C2 這樣的格式),去比對資料庫中該 MAC Address 的座標,交叉連集出所在地。此法尚須有網路連線做資料庫查詢才能完成定位。

所以問題來了:這份無線網路基地台 MAC Address 對應到經緯度的資料庫,是怎麼建立起來的呢?

基礎建設靠的是 Google 街景車。Google 街景車除了拍下街景以外,另外還做了兩件事情:(訊息來源:Google blog)

  1. 沿路蒐集所有公開的無線網路 MAC Address,與當時的經緯度一併記錄。
  2. 根據拍下的街景來建立建築物 3D 模型資料。

但資料庫一定會面臨過期與需要更新的問題,這時候全世界有在使用行動裝置 + Google 定位程式的人,等於是在不知不覺中幫忙做這件事情。更新的方法是當 WiFi 與手機基地台定位或 GPS 定位同時開啟時,手持裝置藉由手機基地台定位或 GPS 定位這兩種方式可以獲得目前的座標,再透過 WiFi 搜尋到附近所有的 MAC Address,背後向 Google 的資料庫做更新。(訊息來源:Google 員工 Christopher 的公開說法)

說穿了技術其實不難,但這麼龐大的資料庫,又能夠不痛不癢的號召每個行動裝置幫忙更新維護這份資料庫,大概也只有 Google 做得來了。

知道了原理之後,衍生出來的就是一些隱私權的問題。

首先就是 Google 蒐集 WiFi 的 MAC Address 資訊合法嗎?德國政府去年對此提出疑慮,而 Google 認為合法,兩造後來怎麼樣了我懶得去追,反正從技術上來看,MAC Address 在網路上要能夠被查詢到,那麼你與對方之間不能有路由器存在,一旦過了路由器那麼原始 MAC Address 就會被替換(詳細的原理這邊就不多說了),所以一般人雖然可以用很多方法去找出對方的 IP Address,但對方的 MAC Address 就沒辦法了,中間經過的路由器太多啦!也就無法利用 MAC Address 去查對方身處何處。除非將木馬植入對方電腦來回報,且對方有在使用無線網路而且他附近的無線網路基地台有被登記到 Google 資料庫中,那才有機會找到對方所在地附近,但這難度又高條件又多,對警察來說還是用 IP Address 行文法院與電信業者來找精確的地址最快。

所以回頭來說隱私權,我個人覺得應該是不會,且 WiFi 的 MAC Address 是屬於公開資訊,並非刻意用什麼非法手段才能取得。一般人就算探測到你的 MAC Address,也不曉得你是誰或什麼人在使用。

再來就是定位錯誤的問題。

搬家後其無線網路基地台也跟著移動,那麼以 WiFi 定位來看自己身在何處,可能會呈現仍然在上一個住所的問題。針對這種因為資料庫尚未被更新而產生的定位錯誤問題,Google 提供了一個無線網路定位錯誤的表格來申請回報, 但一如一般 Google 的服務一樣,這表格並不能保證立即得到回應。想要加速更新資料庫,除了填寫這份表格以外,另外就是自己時常拿行動裝置開著 WiFi + GPS 定位吧,這是剛才提過的資料庫更新法,總有一天 Google 會因為你與行動裝置的努力而修正過來的。

回頭看我一開始以為 Google WiFi 定位是靠著 IP Address 來定位,真是大錯特錯了啊!Google 要的只是偵測到 WiFi 基地台的 MAC Address 就可以,也沒有強調一定要與無線基地台連線,只要打開行動裝置的 WiFi 功能,讓 Google 定位可以藉由 WiFi 去蒐集附近可偵測的 MAC Address,接著透過 3G 行動上網或此時你真的有 WiFi 連線,就可以去向 Google 資料庫查詢這些 MAC Address 連集起來的可能位置,就這樣完成定位了。

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

CAPTCHA Image
Play CAPTCHA Audio
Reload Image