作者:沈叶锋(中国科学院微小卫星创新研究院)
谣言一向似野草,野火烧不尽,春风吹又生。
比如,北斗三号全球组网卫星都要发射了,还是有人问我,“听说国家投了几百个亿建设北斗,结果被美国轻松破解了?!”“听说破解北斗的还是清华毕业生呢!”
我深感有必要在大院好好回答下这个问题。
——“破解了吗?”
——“可以说,‘破解’了。”
——“那不是完蛋了?!”
——“并没有。”
——“为什么?!”
”且看下文。
“北斗被破解”的谣言是如何诞生的
北斗卫星导航系统是我国自行研制的全球卫星导航系统,目前已经实现亚太区域覆盖。
按计划,北斗在2018年将覆盖“一带一路”沿线国家,2020年正式实现全球覆盖。
但这么一个大工程,几乎每年都会传几次“被破解”的谣言。
追根溯源,是因为斯坦福大学相关人员在2007年的一篇文章“GNSS over China—The Compass MEO Satellite Codes”,该篇文章发表于顶级卫星导航行业媒体——Inside GNSS。
当年4月14日,中国发射了第一颗中地球轨道卫星(这是一颗北斗二号的先期试验卫星)。
5月7日,斯坦福大学相关人员在收集该卫星信号后随即开展分析,“破解”了该星所用的民用码相位序列。
图1 2007年中国发射第一颗MEO北斗导航卫星
很快,这个消息就演变为了“中国军用卫星密码遭美国破解”,以各种相似的标题出现在了国内各媒体平台上。
谣言背后的真相
事实真的是这样吗?仅仅经过一个月,投资百亿的北斗导航系统就被破解了?国家安全如何保障?
其实,大可不必担心,斯坦福大学相关人员确实“破解”了该星的民用码相位序列,但破解了它,根本不构成实质危害。
为什么这么说?
导航卫星民用码相位序列代表了卫星编号,对于每颗卫星,它都是独一无二的。
此码序列的作用,只是让民用用户识别卫星编号,仅此而已。
这就相当于,在人群中把“张三”这个人认出来了。但是认出这个人,并不代表能够知道他做了什么,当然更不会知道他是怎么做的。
而且,斯坦福大学相关人员的该项研究内容是偏学术性的,获奖也是因为他们首先提出了该方法。在2007年发表关于北斗的民用码文章之前,他们在2006年就发表了“破解”欧洲伽利略卫星导航系统第一颗试验卫星GLOVE-A民用码序列的文章“Code Generation Scheme and Property Analysis of Broadcast Galileo L1 and E6 Signals”。
手把手教你“破解”北斗
为了充分证明当年斯坦福大学的这种破解,并不会构成危害。我甚至还可以教大家,如何“破解”卫星的民用码相位序列。
为何卫星的民用码可以代表卫星编号
首先,我们要理解一个问题:导航卫星的民用码相位序列为什么能代表卫星编号?
我们知道,声音的三个要素是:音调、音量、音色,这三个因素辅助我们用来区分不同人声。
音调即是声音的频率,正常人能听到从20赫兹到20000赫兹的声音频率,低于20赫兹的声波叫次声波,高于20000赫兹的叫超声波。我们平时能区分男女声音的一个重要标志是就是女性声音的频率一般要比男性高,更加显得尖锐。
音量就是声音的响度,表现在声波上就是振幅,“说话大声”就是指振幅大。下图中,音调高的地方音量要小,而音量大的地方音调要小。
图2 时域上音调和音量的变化
世界上人这么多,说话声音频率和响度相似的大有人在,但真正让每个人的声音听上去独一无二则是“音色”的功劳。不少优秀的歌手都受益于独特的音色,能拥有极高的辨识度。
音调和音量都可以在时域上明显表示,但音色分析需要扩展到频域(时域和频域是看待事物的两种方式,生活中也可以找到示例,比如一年365天我们都要吃饭,这是时域描述,但是在频域上我们描述的是一天吃3顿的有几天,不吃饭的有几天)。
声音是由发音体发出的一系列频率、振幅各不相同的振动复合而成,而其中的最低频率称为基音,其余为泛音。
音色可以由基音和泛音以不同幅度或相位组合来表示,下图中,A、B两组基音和泛音相位相同,但幅度不同,所以音色不同;B、C两组基音和泛音幅度相同,但相位不同,所以音色也不同,但是人耳对相位的变化不敏感,B、C虽然音色不同,在人听来是一样的。
图3 音色在频域的表现
导航卫星编号区分和声音辨别原理是如出一辙的,对于同一个星座的导航卫星而言,其导航信号工作频率、幅度都是相同的。
那么,区分不同导航卫星编号的方法就只能靠“导航卫星音色”,即卫星编号在频域上的体现。
“导航卫星音色”在频域上幅度包络都是相同的,如下图所示,因此用来辨别卫星编号的任务就落到了“导航卫星音色”相位上面。
图4 全球导航系统导航信号频域
对于一个默认相位的“导航信号声音”波形,叠加不同的相位,将使“导航卫星音色”在频域上表现出不同特性。
而用导航卫星实现定位的器材,正是通过该叠加的相位来确定导航卫星编号的。
图5 不同相位下的“导航卫星音色”
因此,斯坦福大学相关人员“破解”的是叠加在“导航信号声音”上的相位序列,确认该序列就等于确认了卫星身份。
就跟我们在日常生活中辨别别人声音一样,听到不同音色的声音,就能确定是某某人。
如何找到卫星专属的相位序列
需要解释的是,斯坦福大学相关人员是如何找到这串“+1 -1 -1 +1……”的相位序列的?
由于GPS导航系统的成功在前,不管是北斗还是欧洲伽利略卫星导航系统,都借鉴了GPS的相关技术,也就是——表征导航卫星编号的民用码相位序列是一串周期重复性的“+1 -1 -1 +1……”的数字符。
在正式找出该相位序列之前,首先需要知道该串序列的重复周期及一个周期内的数字符号个数。
这里可以直接给出一个通信领域的定理,即从下图中中间幅度最高的一个突出的瓣占据4.092MHz带宽可以得到北斗民用码相位序列一秒内有2.046M个“+1 -1 -1 +1……”的数字符号。
图6 斯坦福大学相关人员采集分析的北斗信号频域特性
第二步要找到的是民用码相位序列的周期,这里用“丢硬币”来形容。
假设一个人丢硬币100次,如果出现正面则记为+1,负面记为-1,然后他继续丢第101至200次。
现在,分别让第1次结果和第101次结果相乘,让第2次结果和第102次结果相乘,以此类推,让第100次结果和第200次结果相乘,由于丢硬币结果的随机性,将上述100次相乘结果相加的结果将接近于0,而且丢的次数越多,该结果越准确。
但是如果让第1次结果和第1次结果相乘,让第2次结果和第2次结果相乘,以此类推,让第100次结果和第100次结果相乘,将上述100次相乘结果相加,结果将等于100。
斯坦福大学相关人员也正是应用了该原理,他们将采集的一段数据与自己相乘并将结果累加,累加结果每出现一次大值就意味着“对齐”,两次大值结果之间的时间间隔就是该相位序列周期。
由此,他们得到了北斗民用码相位序列是一个周期为1ms,一个周期内有2046个“+1 -1 -1 +1……”数字符号的序列。
图7 相位序列周期推导过程
最后,就是确定2046个数字序列分别是什么了,该工作并不简单。
要知道,导航卫星都是运行在中高地球轨道,距离地球表面距离在22000千米以上,而“导航信号声音”的功率只有50W左右,仅仅相当于在离地球22000千米以外地区点了一盏50W的灯。
当其传播到地球上的时候,地面用户接收到的功率只有10-16瓦,已经微乎其微了,而且还受到周边众多噪声的干扰,“导航信号声音”已经完全淹没在噪声底下。
仍旧以“丢硬币”来说明,现在假设一个人先丢2046次硬币,由于受到“噪声”影响,其每次记录的结果出现偏差,比如正面时本应记为+1,但是由于噪声干扰是+2,那么实际记录的结果+3,如果噪声干扰是-2,那么记录的结果是-1。
但是,现在这个人能够稳定地丢出自己想要的硬币面,他可以使丢硬币结果每2046次就重复出现相同结果。现在他连续重复了100次,每次记录2046个受噪声影响的结果,将第1、2047、4093、6139、...、202555次结果相加,由于噪声是随机的,上述100次相加的结果将近似于+100或-100。
而且如果他重复次数越多,通过该种方法对噪声的消除越有效,比如重复1000次,1000次相加结果就越接近于1000。
斯坦福大学相关人员正是通过这种“丢硬币”的方式,利用噪声的随机性,最后得到了一个周期内2046个“+1 -1 -1 +1……”数字符号序列的确切排列方式。
图8 相位序列一个周期内数字符号推导过程
说回关于北斗的谣言。
可以看到,民用码相位序列能够被“破解”在于其具有周期性。但是军用码,以GPS为例,军用码的周期达267天,北斗军用码周期虽然不公布,但是可想而知,至少和GPS是同等时间长度。对于民用码,尚能采集几十毫秒周期数据就能“破解”,军用码周期这么长,至少现在来看是不适合暴力破解的。
运用上面所讲的方法,任何人都可以“破解”导航卫星的民用码,中科院微小卫星创新研究院在北斗系统建设中承担了两颗新一代北斗导航试验卫星的研制,分别于2015年3月30日和2016年2月1日成功发射。
预计从今年11月开始,承研的北斗三号卫星也将陆续发射,大家可以通过上述方法试着“破解”下民用码相位序列。
参考文献
[1]Alan Chen, David De Lorenzo, Per Enge, Grace Xingxin Gao, Sherman Lo, “GNSS over China—The Compass MEO Satellite Codes”. Inside GNSS, July/August 2007:3642.
[2]Gao, G.X, and J.Spilker, T.Walter, P.Enge and A.R.Pratt, “Code Generation Scheme and Property Analysis of Broadcast Galileo L1 and E6 Signals”, ION GNSS 2006,Fort Worth, Texas, USA, September 2006.