Google WiFi 定位的原理 (转)
以前我不了解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 )
- 沿路搜集所有公开的无线网路MAC Address,与当时的经纬度一并记录。
- 根据拍下的街景来建立建筑物3D模型资料。(此效果截至本文刊出时仅能在Google Android手机上看到)
但资料库一定会面临过期与需要更新的问题,这时候全世界有在使用行动装置+ 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 连集起来的可能位置,就这样完成定位了。