(文/思博伦通信卫星导航事业部)GPS周计数即将于2019年4月6日24点发生翻转,还有3周多的时间,一些GPS接收机可能会因此而发生故障,本文将说明原因、影响以及如何排查接收机是否存在漏洞和应对措施。
2018年4月,民用GPS服务接口委员会(CGSIC)宣布,美国国土安全部发布了一份题为“使用GPS获取时间的所有方和运营方”的备忘录,这份文件的目的是帮助读者理解2019年4月6日将要发生的GPS周计数翻转会对从GPS设备中计算得出的世界时间产生怎样的影响。感兴趣的GPS用户可通过本文最后的“阅读原文”链接查阅这份备忘录,了解2019年4月6日-2019年4月7日GPS周计数翻转归零时,自己的设备会所受到哪些潜在的影响。
“周计数翻转”的消息同时也出自美国民用GPS服务接口委员会(CGSIC)的预警通知,其本质上是对GPS系统服务一次较为重要但常规的例行预警。
1 周计数翻转的影响会有哪些?
如果您的车辆或设备需要依赖GPS接收机,那么您现在就应当排查是否会受到GPS周计数翻转问题的影响。
如果您面临此类问题,您会发现接收机开始表现出些许异样,尤其是在今年4月初始。接收机输出的数据可能突然回跳至之前的时间,在授时和导航数据中添加已经过时近20年的时戳。
这个问题不会对接收机导航或计算精确时间的能力造成影响,无论是日级别还是微秒级别。但它所创建的周、月和年时戳会出现严重错乱,对依赖这些级别GPS数据的任何系统和应用造成严重的影响。
例如,车队管理系统中所用的GPS跟踪器本来可用于跟踪交货情况,但这一问题会突然开始输出时戳日期为20年前的位置数据,因此很可能导致系统发生错误,甚至彻底崩溃。
很明显,这种情况并不完全等同于GPS接收机的千年虫,但两者有一些类似之处。好消息是,只要预留足够的时间实施有效的针对措施和解决方案,便可容易地检查接收机是否会受到影响。
但首先,我们要找出问题的根源是什么。
2 GPS周计数翻转到底是什么?
周计数翻转问题是一个已知的问题,出现的原因是GPS处理数据中周元素的方式,而这些数据正是构成导航信号的基本组成部分。GPS在每条时间消息中使用一个10位的域对周计数进行编码,也就是说,GPS最多只能处理1024周(19.7年),每个这样的时期在GPS术语中被称为一个“历元”(epoch)。
在每个1024周的历元结束时,接收机会将周数重置为零并重新开始计数。
第一颗GPS卫星于1980年1月6日使用,这意味着GPS时间的第一个历元一直持续到了1999年8月21日。我们现在已接近第二个历元的结束点,即2019年4月6日。也就是说,在此日期之后,那些未对周计数重置处置问题进行编程的GPS接收机上,很可能会遇到翻转问题。
3 翻转可能发生在2019年4月6日当天或之后
之所以与千年虫不同,原因之一就是影响不一定只会在翻转当日显现。事实上,受影响的接收机更可能在2019年4月6日之后很长时间才会开始输出有错误的数据。
这是因为许多接收机制造商一直在寻求使其接收机默认寿命最大化,因此其实施的1024周大限是从固件编写之日算起,而非当前GPS历元的起始日期。
事实上,这意味着较老的GPS接收机会在翻转问题发生前正常运行近20年,如果所实施的固件属于这种类型,即使GPS历元发生变化,也不会出现任何问题。
例如,当第二个GPS历元于1999年8月26日开始时,2005年1月制造的接收机固件编码的中枢日期为2005年1月 + 1024周,这意味着它将稳定工作至2025年8月。下图显示的便是硬件编码的中枢日期是如何工作的:
示例:如果以这种硬件方式编码的某台设备开发于2001年7月14日(第2个历元中第97周),其正常工作的时间为1024周,那么在2021年2月(第3个历元的98周)该设备可能突然显示日期为2001年7月14日。
GPS现代化计划是一项正在进行的价值数十亿美元的工程,其目的是升级全球定位系统(GPS)的各项特性和总体性能。升级的特性还包括全新的民用和军用GPS信号。为了改善周计数翻转方面的问题,消息类型(CNAV和MNAV)使用了13位的域来代表GPS周数,而如果是采用13位域的新型GPS接收机就根本不会存在1024周历元的问题。
4 周计数翻转问题过去也曾发生过
我们已经深入了解了硬件编码的中枢日期如何在历元翻转日之后制造问题。2017年11月,美国海军天文台公布了一份可能受到影响的历史接收机部分清单,而这些接收机会分别于2014年12月、2016年2月、2016年8月和2017年7月出现功能异常。
这些接收机仍然运行着第一个GPS历元的初始固件,而该历元本应在1999年便已结束。但由于它们的制造时间接近该历元结束时,制造商得以分别实施2014、2016和2017的中枢日期,因此导致的问题会出现在该历元结束近20年后。
如果这些接收机的用户已经发现了问题,他们可以在接收机故障之前通过多种方式从制造商那里获得固件更新。这样便可创建更偏向未来的新中枢日期,或者以使用13位周计数编码域的新型接收机来替代受影响的接收机,从而使问题得以解决。
5 周计数翻转问题有多严重?
许多用户在第一次发生事件的时候并没有寻求解决方案,这表明许多GPS接收机的用户根本不知晓问题的存在或没有意识到后果或影响。
这种情况并不是由于用户的疏忽。根据思博伦的经验,许多机构并不知道自己拥有多少台GPS接收机,或者不清楚GPS数据对于那些看似不相关的系统中发挥着怎样的作用。
由于各类机构拥有的GPS接收机越来越多,而且对其输出的数据也越来越依赖,周计数翻转之类的问题也就变得越发严重。因此,我们鼓励所有需要依赖GPS的用户,包括导航、定位或授时这样的应用,检查自己的接收机目前是否会受此次翻转事件的影响。
6 如何检查接收机是否受影响?
好消息是,我们有方案检查接收机是否会受到周计数翻转问题的影响,这一过程分为两个步骤:
首先,联系接收机制造商了解所涉及的接收机使用的是10位,还是13位的周计数编码空间。如果是10位,应了解漏洞所在,确定固件中是否有经过编码的中枢日期。如果有,则应确定问题可能在何时显现。询问厂商是否提供固件更新,并确保以恰当的方式安装和测试新的固件。
其次,使用GPS模拟器来执行简单的测试,反复检查您的接收机是否会受影响。这一步操作起来非常简单,只需要在模拟的授时消息里将日期设置至未来19.7年后,并查看接收机报告中的周、月和年数据即可。如果数据有错误,或者新固件并未解决问题,那么您可以考虑升级为一台全新的13位接收机。
思博伦的GPS系列模拟器可以帮助您执行这项测试。
7 现在就测试并检查IS-GPS-200H一致性
周计数翻转问题并不是影响GPS接收机固件的惟一问题。美国空军(USAF)曾向GPS用户和设备制造商发出过另外一个问题的警告,称会影响到数以千计的接收机。
2017年9月21日,美国空军对全球定位系统进行了一次小规模的软件升级。在此之后不久,美国空军便收到了大量的报告,称有“数千台接收机”受到影响。
在一份12月7日致GPS用户和设备制造商的备忘录中,美国空军说:“鉴于大量的接收机受到了影响,两项标准作业流程在之后删除了软件更新。”弹性导航和授时基金会报告称,多数受影响的接收机均为在日本和韩国使用的第一响应方。
GPS卫星会广播一个与GPS时间相关的值(称为“数据发布,时钟”,缩写为IODC),是一个包含一至三位数的数字。从2017年9月21日起,数字更改为一至四位数。这项新方案已经写入2014年以后的新规格中。很明显,受影响的接收机开始在三天后陆续出现问题。
8 模拟在评估系统问题中的重要性
GPS模拟器可以帮助用户解决周计数翻转和IODC两方面的问题。在需要查看系统错误的影响效果时,使用真实天空或记录与回放模拟的效果都不好,因为它们无法为广播卫星导航信号的格式建立模型。
相比之下,出色的无线射频GNSS模拟器允许用户在ICD规格的范围内,对广播信号数据进行调整(例如模拟一次周计数翻转并在新时代中进行检查,也可以修改IODC的格式),甚至可以利用ICD规定范围之外输出内容来执行校验。
后者的重要性显而易见,这种作法是防范黑客的有效手段。例如,在某次事件中,黑客向GPS接收机发送了错误的星历数据,显示GPS卫星在地球表面的轨道上运行,因而导致部分接收机完全崩溃。
所有人都对GPS越来越依赖,了解此次周计数翻转事件以及GNSS各种漏洞对设备正常功能的影响也变得更加重要。欢迎您加入“GNSS健壮与安全测试交流”的微信群,及时、随时了解卫星定位、导航和授时系统方面的各类最新威胁和前沿的测试方法与解决方案。