现代人的生活已经离不开手机,离不开地图,一旦遇到定位不准的问题,就会产生很多问题,而且有些会很严重,比如打车找不到车、外卖找不到顾客,更惨的是开车的时候在高速上转圈圈,多跑个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

你可能也会关注:

关于卫星定位,你想知道的一切

【定位不准的烦心事系列】第1篇:谈谈卫星定位的位置干扰相关推荐

  1. 【定位不准的烦心事系列】第2篇:卫星信号弱到底是咋回事

    对于每个使用手机导航App的用户来说,最怕听到的就是"卫星导航信号弱"这个提示,因为这意味着定位不准了,用户可能无法获得准确的指引.那么信号弱到底是咋回事呢?明明没有遮挡,咋就收不 ...

  2. 【IDEA 教程系列第 6 篇】idea 快速定位到某一行

    这是[IDEA 教程系列第 6 篇],如果觉得有用的话,欢迎关注专栏. 快捷键 Mac: Command + L Windows: Ctrl + G 更多 idea 中的快捷键,推荐一篇博客 idea ...

  3. 明翰经验系列之恋爱篇V5.6(持续更新)

    明翰经验系列之恋爱篇V5.6(持续更新) 文章目录 传送门 前言 `0.认清自己` 1. 提升自己 1.1 `建立吸引` 1.1.1 `保持干净,整洁,卫生` 1.1.1.1 头发 1.1.1.2 ` ...

  4. SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)

    SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行) 原文:SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行) 前言 本篇继续玩转模块 ...

  5. 【阿里妈妈营销科学系列】第二篇:消费者行为分析

    ▐ 分析背景 大部分品牌或商家寻求通过海量数据来更好地了解消费者,以便打造出色的商品和体验,这个过程中会面临数据整合ETL.数据分析.数据理解等各种挑战,需要合适的分析模型来整合所有渠道的数据,全面了 ...

  6. 【阿里妈妈数据科学系列】第二篇:在线分流框架下的AB Test

    背景 AB Test 是为同一目标制定两个方案,在同一时间维度,保证其他条件一致的情况下,分析实验组跟对照组的区别,根据不同的实验类型以及应用场景,产生了不同分桶逻辑的AB Test,包括在线分流及离 ...

  7. ESP32系列--第六篇 WiFi AP模式

    一.目的 在上一篇<ESP32系列--第五篇 WiFi Station模式>我们介绍了station模式,本篇我们介绍一下AP模式. 二.准备 首先我们从esp-idf里面拷贝一份官方的示 ...

  8. 互联网神经学系列第五篇:研究大脑中的谷歌,脸书和华为思科路由,脑互联网生理学

    本文是互联网神经学系列第五篇-"大脑中的类互联网应用和结构,脑互联网生理学" 一.人类大脑研究的困境 大脑的秘密一直是科学皇冠上最明亮的宝石之一,但在两千年前,人们确连它的重要意义 ...

  9. 一点就分享系列(理解篇3)—Cv任务“新世代”之Transformer(下篇)提前“cv领域展开”——快速学习“视觉transformer的理解”+“一些吐槽”

    一点就分享系列(理解篇3)Cv任务"新世代"之Transformer(下篇)--"cv领域展开" 提示:本篇内容为下篇,如感兴趣可翻阅上和中篇! 理解篇3 上 ...

最新文章

  1. 数据蒋堂 | 数据分段讨论
  2. robo3t 连接服务器数据库_Win7上安装 MongoDB、Robo 3T及vn.py
  3. 后缀数组--(最长公共前缀)
  4. java23种设计模式个人整理_java23种设计模式-行为型模式之模板方法模式
  5. 如何通过反射将字符串转换为类
  6. 翼城中学2021高考成绩查询入口,2021年临汾中考分数线查询(4)
  7. php 异常错误信息用处,关于PHP中异常错误的处理详细介绍
  8. opencv获取模板旋转角度_OpenCV入门之获取图像的旋转角度
  9. 基于RTMP实现Linux|麒麟操作系统下屏幕|系统声音采集推送
  10. android 进程(复习)
  11. GCN相关paper集合
  12. 一个按照行来截取显示文章摘要的函数
  13. 26_多易教育之《yiee数据运营系统》数据治理-atlas介绍篇
  14. 学生网站模板——我的家乡-云南(9页) HTML+CSS+JavaScript 关于我的家乡的HTML网页设计-----云南
  15. abaqus2020软件 Linux版本安装教程 超详细安装教程
  16. Linux Canbus调试笔记
  17. Xilinx zynq EtherCAT LAN9252
  18. keil优化等级影响STM32 GPIO速度变化
  19. java8 LocalDate获取自然周的方法
  20. 【考研英语语法】定语从句全面介绍

热门文章

  1. 利用计算机测地震是计算机的什么,六年级计算机测试题
  2. html5游戏开发_HTML5游戏开发–第10课
  3. 多卡聚合路由器和企业路由器的区别
  4. 使用uEdit时,在线管理图片功能不可用
  5. iOS 企业包无法安装
  6. Tensorflow 2.3 model.evaluate报错InvalidArgumentError: Incompatible shapes: [1,64] vs. [1,128]
  7. 大华监控前端实时预览(DHplayer)官方插件
  8. 计算机毕业设计SSM飞羽羽毛球馆管理系统【附源码数据库】
  9. SWFObject 设置透明 Flash
  10. 安卓全屏java模拟器如何安装_使用Android 模拟器运行自定义Rom