zoukankan      html  css  js  c++  java
  • 微信定位真的泄露了你的精确位置

        最近让相关部门和水军忙于辟谣的微信泄露个人位置一事闹腾的沸沸扬扬,似乎是发起了一场真理大讨论。微信定位到底有没有泄露你的隐私?

        手机定位功能已经是智能机的标配,但定位原理都不尽相同,所得到的定位精度也差之千里。现在手机常见的定位原理有以下三种:

        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。

        所以说,谣言并不完全是谣言,辟谣并不完全在辟谣。通过一定的技术手段,任何的路人乙、路人丙都可以获取到路人甲、路人丁的微信坐标。但这样的技术手段不是任何人都能掌握的。若要防范这样的信息泄露,唯一的方法就是不再使用类似的功能,包括陌陌、米聊之流。在当前的社交时代,什么才是隐私?

  • 相关阅读:
    最全的静态网站生成器(开源项目)
    移动互联网流量变现模式调研问卷
    公众平台商户接入(微信支付)功能申请教程
    微信支付全面开放
    百度天气预报接口
    微信公众平台开发(83) 生成带参数二维码
    微信支付接口申请指南
    微信自媒体账号涉违规大规模被封
    php大文件上传解决方案支持分片断点上传
    html5大文件上传解决方案(500M以上)
  • 原文地址:https://www.cnblogs.com/Aimeast/p/3181102.html
Copyright © 2011-2022 走看看