现代人的生活已经离不开手机,离不开地图,一旦遇到定位不准的问题,就会产生很多问题,而且有些会很严重,比如打车找不到车、外卖找不到顾客,更惨的是开车的时候在高速上转圈圈,多跑个100公里也是有可能的。
大家把定位准确当做一个理所应当的事情,现在定位技术这么发达,北斗3代成功组网,定位怎么还会不准呢?确实,随着时间的推进,定位的精度是越来越高的,但是有一个潜在风险,会导致定位精度下降。
这个风险来自卫星定位欺骗技术的泛滥。卫星定位欺骗,或者位置干扰,是通过地面上的卫星伪基站广播定位信号,让周边的定位设备误以为接受到了真实的定位信号,从而将定位结果设置为干扰者预设的一个位置。之前我们比较多的听说一些人用伪通信基站去群发垃圾短信,而今天,位置干扰也越来越普遍,比如:
- 驾考作弊:驾校学习都会要求学员上车练习,而且车上有一些设备会记录学员的练习轨迹,作为学员完成学习的证据,但是一些学员不想花时间学车,于是有一些人员会利用伪基站播发伪信号,让车辆记录仪的定位点自动围绕驾校道路行驶,即使这个设备在远离驾校的地点。这样学员不需要花1分钟学车,就可以达到所要求的学车时长。
- 远程打卡:一些企业会基于轨迹对员工进行工时统计,少数员工可能会通过伪造自身位置的方法作假。
- 打车刷单:一些司机为了获取接单奖励或者挑单,用作弊办法修改自己的定位点,让平台以为他在某个指定的位置,或者完成了某个订单。
- 无人机反制:一些企业不希望无人机靠近自己的场所,于是对无人机的位置进行干扰,让其误以为进入禁飞区自动降落,或者偏离航线。
- 反跟踪:运营车辆上都装有北斗定位装置,一些企业或个人不希望自己的真实位置被发现,于是进行位置干扰。
定位伪造方法有很多种,有些只影响单一的设备(比如在设备上直接修改定位结果),而卫星伪基站的方法,则是技术含量比较高的方法,这个方法可以将附近所有设备的位置全部干扰,具体的影响范围和基站的发射功率有关,小功率的基站只影响附近几米的范围,而大功率的基站,可以影响周边几十公里,甚至在室内接受不到卫星信号的情况下,都会被干扰。
这种干扰能够将定位点定位到任意位置,而且运动速度、方向都可以指定。于是用户可能发现自己的定位点在几千公里之外,或者轨迹成为一个奇怪的形状,比如画圆圈或者沿某条道路在行驶。
位置干扰技术的原理是什么呢?简单来说,卫星定位是通过接收到卫星信号,读取信号报文,获得时间戳,然后用时间戳和本地时间相减计算出和卫星的距离,再求解一个4元方程组(x,y,z坐标以及本地时钟偏移量)。
由于卫星信号的规格是公开的,我们可以将任意的时间填充到信号报文中,再通过特定的载波信号发射出去,就可以让其他设备获得错误的定位信号。最简单的方法,是直接把某个地点的信号录下来,然后在另一个位置回放。要定位到指定位置,只需要用该位置计算出每颗星播发的时间戳即可。而现在已经有人把整个报文编写、载波调制、信号发射这一系列步骤做了封装,成为货架产品,任何人只要买了设备就可以自己输入目标经纬度以及速度方向,甚至是整段轨迹,然后就可以进行位置干扰了。
比如,HackRF是一款设备,可以发射自定义的信号,有一些开源软件可以生产GNSS的软信号,再通过HackRF发射出去,就成了一个伪基站。而且,一个设备可以同时发送多路信号,模拟多颗卫星。
为什么卫星信号这么容易被干扰呢?因为GPS设计之初并没有在安全性上考虑的很严谨,所以报文完全没有加密,用户侧也没有做鉴权,是完全开放的。
后续的伽利略、格洛纳兹、北斗也都遵循相同的设计理念,报文、调制过程都是类似的,都会被干扰。安全性比较好的方式,是军码,这种报文采用专门的频率进行发射,其报文规格、编码方式都是保密的,要读取报文需要专门的秘钥,因此难以破解或者干扰,但这种方法无法解决民用设备的安全性问题。
目前一些芯片厂商,以及高德,在做一些工作去发现这种干扰,从而避免影响到用户。具体的方法包括:
1.载波校验:真信号和假信号同时出现时,可以检查信号强度是否有异常(假信号往往信号很强,才能覆盖真信号)。
2.信号方向校验:检测信号的来源方向,如果不是来自天空,则有异常(对天线有要求)。
3.报文一致性校验:检查报文的每个字段是否和真实信号一致。
4.解算校验:解算后发现某些卫星的距离异常,比如同时收到真信号和假信号。
5.多源校验:结合惯导、网络定位以及其他定位方式校验卫星定位的结果是否异常。
以上这些方法可以在一定程度上降低被干扰的概率,但是还是无法彻底杜绝。对于普通用户来讲,当发现自己的定位结果异常时,如何发现是由于卫星信号干扰导致呢?
1.首先,看自己的定位结果是不是出现在机场、油库、驾校这些地点,或者自己的位置附近是否有油库或者是一些敏感设施。
2.然后,确认自己设备的定位结果来自卫星定位而不是网络定位,如果是安卓用户可以下载一个AndroiTS GPS Test软件,如果显示Fix或ON,则代表卫星定位成功,否则是网络定位。
对于iPhone,下载phyphox,进入GPS页面,如果速度为负说明是网络定位,否则是卫星定位。
3.此外,在明确手机定位方式是卫星定位的情况下,如果周边的多台手机都定位在了错误的位置(至少偏离了200米以上,如果偏离距离不远,有可能是卫星定位点漂移了),则大概率此地被某个周边的伪卫星基站给干扰了。
有些干扰未必是干扰者的本意,他本来可能只想控制某个小范围的设备,但是天线功率设置不合理,信号被扩散到很远的地方。
能够明确有干扰,如何解决呢?只能向政府部门寻求帮助,可以打电话给当地的无线电管理部门,要求排查。无线电管理部门有专门的仪器可以检测伪基站信号,确定位置,并将设备关停。欢迎大家举报非法的无线电干扰行为。
具体电话可参考
https://www.miit.gov.cn/gzcy/cydh/art/2020/art_ba58d28194884d66b0032861a11e0bd2.html