吕宗平 1 , 倪育德 2 , 陈 君 2 , 路 璐 2
(1.中国民航大学国家空管运行安全技术重点实验室, 天津 300300;2.中国民航大学电子信息与自动化学院, 天津 300300)
摘 要 : 为有效解决广播式自动相关监视(ADS-B)系统易被人为恶意虚假欺骗这一紧迫问题,提出了一种将全球导航卫星系统(GNSS)完好性信息与ADS-B报文完好性特征属性参数进行一致性比对的自主式防欺骗方法。设计了基于GNSS完好性信息的ADS-B自主式防欺骗算法流程,并利用ADS-B接收机接收的真实报文和模拟产生的虚假报文,对整个防欺骗过程实施了仿真实验。通过对真假ADS-B混合报文的解析,获得时间、位置和导航不确定类别(NUC)的值,根据时间和位置信息利用接收机自主完好性监视(RAIM)和高级接收机自主完好性监视(ARAIM)的完好性增强算法,获得水平保护级(HPL)的预测值,再将该预测值与NUC值进行一致性比对,从而判别ADS-B报文的真实性。仿真结果表明,提出的防欺骗方法能有效防止不含完好性信息或完好性信息与飞机位置不关联的虚假ADS-B报文的恶意欺骗,对虚假报文的识别率不会低于99%。
关键词 : 广播式自动相关监视(ADS-B); 防欺骗; 接收机自主完好性监视(RAIM); 高级接收机自主完好性监视(ARAIM); 水平保护级(HPL); 导航不确定类别(NUC)
广播式自动相关监视(ADS-B)系统已成为民用航空一种重要的新监视手段,但其开放共享的监视架构使它面临易被人为攻击和遭受虚假欺骗等安全性问题。若虚假的ADS-B系统向周围邻近的飞机或ADS-B地面站发送虚假ADS-B报文,则会造成飞行秩序的混乱,严重的会造成飞行冲突,酿成灾难性事故。因此,要实现ADS-B系统的全面推广应用,必须解决该系统易被人为攻击和虚假欺骗的安全漏洞。
目前国内外学者在非信息安全领域解决ADS-B系统防欺骗的方法主要有3种。第一种为采用一次监视雷达/二次监视雷达(PSR/SSR)校验法,通过将雷达获得的航迹与ADS-B信号形成的航迹进行比对来鉴定虚假位置目标;第二种为多基站时差定位校验法,利用机载ADS-B报文传输的到达时间差对目标进行位置解算;第三种为多阵列天线校验法,利用多面阵列天线对ADS-B报文进行空中方位的解算处理,获得目标真实位置信息,借此识别虚假欺骗目标。
上述3种方法都需要给ADS-B系统加装额外设备。本文提出一种基于全球导航卫星系统(GNSS)完好性信息与ADS-B报文完好性特征属性参数进行一致性比对的ADS-B自主式防欺骗方法,只是加装在ADS-B系统机载端和/或地面端的一种防欺骗算法,无须增加额外设备,能大大降低实现成本。
ADS-B报文中完好性特征属性参数综合反映了ADS-B报文所提供定位信息的精度和完好性,因此对ADS-B报文的解析和对报文中完好性特征属性参数的提取是完成ADS-B自主式防欺骗算法的必要内容之一。
目前ADS-B报文中的位置信息都依赖于GNSS接收机,GNSS接收机在输出位置信息的同时亦输出水平保护级(HPL)来表征定位数据的精度。HPL是一个以计算出来的位置为圆心的圆的半径,飞机真实位置以1~10 -7 的概率落在圆圈内。为提高ADS-B报文有限长度内信息利用率,ADS-B机载设备将HPL值转化为导航不确定类别(NUC)值,NUC是ADS-B报文中充分反映GNSS完好性信息的特征属性参数,NUC是一个0~9的整数。随着对监视系统定位精度和完好性要求的提高,美国航空无线电技术委员会(RTCA)在2002年颁布的DO-242A《广播式自动相关监视(ADS-B)最低航空系统性能标准》中,提出了导航精度类别(NAC)、导航完好性类别(NIC)和监视完好性界别(SIL)的概念,对定位信息的精度和完好性分别进行描述 [1] ,但目前只有极少数机载ADS-B设备支持该标准,因此,本文只考虑ADS-B报文中NUC参数的提取。
图1为1090ES ADS-B报文的基本结构 [2] ,它由4个前导脉冲报头和112个信息脉冲数据构成。前导脉冲用来表示该数据为S模式数据,后112个信息脉冲数据在内容上有严格的格式要求,其中前88 bit为消息位,包括5 bit下行链路格式(DF)、3 bit设备能力标识位域(CA/CF/AF)、24 bit飞机地址(AA)以及56 bit ADS-B数据(ME),最后24 bit则为奇偶校验位(PI)。
图1 1090ES ADS-B报文组成
ADS-B数据体主要存放在56 bit的ME字段中,其中前5 bit为TYPE字段(TYPE Code),表示不同类型的报文,取值0~31,但空中位置报文只能取0, 9~18和20~22之间的整数。空中位置报文中的经度和纬度采用紧凑位置报告(CRP)格式进行编码,而高度信息则直接取自于GNSS定位数据或气压高度表 [2-3] 。
根据文献[2-3],ADS-B报文中NUC的值依据接收机输出的HPL值的范围进行编码,通过解算TYPE Code的值,便可解码通过查表得到对应的NUC值,NUC对于位置和速度分别有一个指标,本文只研究表示定位精度和完好性的NUC p ,因此文中出现的NUC均代表NUC p 。
作为GNSS完好性参数,水平保护级(HPL)直接影响着1090ES ADS-B报文中位置信息的质量和可靠性,同时HPL也充分反映在ADS-B报文特征属性里。虽然目前ADS-B报文中的NUC参数都是通过接收机自主完好性监视(RAIM)预测的HPL转化来的,但作为RAIM的升级和扩展,本文在遵循DO-260A标准定义的ADS-B报文前提下,探索利用高级接收机自主完好性监视(ARAIM)解算的HPL进行ADS-B自主式防欺骗,从而将ADS-B报文自主式防欺骗的过程由航路、非精密进近扩展到LPV-200进近。
接收机自主完好性监视(RAIM)是利用全球定位系统(GPS)接收机的多余观测值,或借助其他机载辅助信息,来检测和识别故障卫星的一种机载增强系统(SBAS)。RAIM只提供水平完好性监视,其监视结果可支持民用航空航路、终端区和非精密进近飞行对完好性的要求 [4] 。
在进行RAIM增强算法之前,需要根据当前位置下可见星的空间几何先判断RAIM的可用性,即根据接收的卫星导航数据计算HPL,并与所在飞行阶段要求的水平保护限值(HAL)相比较,如果 HPL < HAL 则RAIM可用,否则RAIM无效。
可用性判定中HPL的具体算法如下:
设GPS的伪距观测模型为
y = Gx + ε
(1)
式中: 是 n ×4阶系数矩阵,前3列由卫星位置[ x i , y i , z i ]与用户估计位置 之间的方向余弦组成,第4列为常值 为第 i 颗卫星与用户估计位置之间的几何距离; y 是 n 阶伪距观测值与估计用户位置伪距值的差, n 为可见星数目; x 是4阶待求的用户信息参数, x =[Δ x Δ y Δ z Δ t ] T ,包括接收机三维位置误差和时钟偏差; ε 是 n 阶由观测噪声形成的伪距测量误差矢量,假定其各分量服从均值为零、方差为 σ 2 的高斯分布。
用户状态的最小二乘解为
(2)
由 估计的观测矢量值为 且
伪距残差矢量 v 为
(3)
由上式可知,向量 v 中包含卫星观测误差信息,可以用作判断有无故障星的依据。通常距离残差向量 v 中的各分量是相互独立的服从正态分布的随机误差。
在实际应用中,通常用 v 的验后单位权重误差 作为统计检测量 [4] :
(4)
式中, SSE 是伪距残差矢量平方和,且 SSE =|| ν || 2 = ν T ν 。
已知 ε ~ N (0, σ 2 ),则 服从自由度为 n -4 2 分布 为 ε 的方差,有SA时取 σ = σ 0 =33.3 m,无SA时CA码取 σ = σ 0 =12.5 m);当 ε 均值不为0时, 服从非中 2 分布,非中心化参数 λ 为 故假设如下:无卫星故障假设(H 0 ), E ( ε )=0,则 有卫星故障假设(H 1 ), E ( ε )≠0,则
在H 0 假设下,对于一定的误警率 P fa ,可以得到 [5]
f χ 2 ( n -4) ( x )d x =
1- P fa
(5)
便可获得 的检测门限 T 2 ,而 的检测门限为
在H 1 假设下,对于一定的漏警率 P md ,由 [5]
f χ 2 ≤( n -4, λ ) ( x )d x = P md
(6)
可获得非中心化参数 λ 的值,其中 f χ 2 ≤( n -4, λ ) ( x )表 2 分布的密度函数。
临界偏差则为
(7)
令每颗卫星的特征斜率为 Slope ( i ),它是 G 的相关函数,即 [6]
(8)
式中, A =( G T G ) -1 G T , S = I - G ( G T G ) -1 G T 。
在位置误差一定的情况下,卫星的斜率越大对应的检验统计量越小,卫星故障也越难检测。
因此,HPL为
(9)
式中, Slope max 为 Slope ( i )的最大值。
高级接收机自主完好性监视(ARAIM)不仅能提供水平完好性监视,还支持具有垂直引导满足航向信标性能(LPV)的进近对完好性的要求,最多可以支持将飞机以规定的所需导航性能(RNP)引导至距地面200 ft(60 m)高度的LPV(即LPV-200) [7] 。
与RAIM算法流程不同,ARAIM直接根据具体飞行阶段对导航系统完好性的要求来计算保护限值,即通过控制危险误导信息概率(PHMI)来满足某一飞行阶段的完好性要求。基于多假设分组解(MHSS)的ARAIM算法是GNSS发展结构研究小组推荐的算法,通过扩展传统分组解法和使用多种假设法对完好性风险进行评估,考虑到在多个独立和相关卫星故障条件下多星座的伪距测量值,通过最优分配连续性和完好性风险来计算水平和垂直保护级,在算法上更加严格和灵活 [8] 。
GPS单星座下线性伪距方程如式(1)所示,多星座时ARAIM则需统一观测量的时空坐标基准,不同系统之间的钟差分别进行估计。
利用最小二乘法,可获得 n 颗可视卫星的 x 的估计值
(10)
式中: S 0 为无故障假设下加权最小二乘投影矩阵;加权矩阵 W URA 为 n × n 维加权对角阵, 为完好性标称误差模型测量数据的协方差矩阵。
相应地,可获得排除第 k 颗卫星条件下 x 的估计值
(11)
式中: M k 为第 k 个对角线元素置零的 n × n 维单位矩阵; S k 为假定第 k 颗卫星为故障星条件下的加权最小二乘投影矩阵, 为精度标称误差模型测量数据的协方差矩阵。
定义 q =1,2和3分别为东、北和天代表的分量 在 q 值所代表分量上的估计值 的方差 [9-10] 为
(12)
标称误差 b nom, i 对位置解 的影响 [9-10] 为
(13)
想要计算HPL,首先必须计算HPL q ( q =1和2),而HPL q 是以下方程的解 [9-10] :
(14)
式中, 。
使用二分法解式(14)可得到 HPL 1 和 HPL 2 ,则
基于GNSS完好性ADS-B自主式防欺骗算法的整体设计思路如图2所示,主要算法流程如下:
1) ADS-B报文库的生成。由于1090ES ADS-B数据与SSR数据共享传输射频,所以先从ADS-B接收机接收的原始数据中筛选出ADS-B空中报文,再根据RTCA DO-260标准规定的ADS-B报文格式和报文中包含的数据信息编解码算法,生成ADS-B虚假空中报文,将真假报文混合得到一个ADS-B报文库。
2) ADS-B报文解析。根据ADS-B报文解析方法,对ADS-B报文库中所有的ADS-B报文进行解析,得到报文的接收时间、飞机的位置信息(经纬高)以及NUC值。
3) HPL值解算。下载GNSS卫星星历,获取卫星运行轨道的开普勒参数,设定卫星遮蔽角为5°。由星历数据计算得到在报文接收时刻,飞机位置处可见星数目及其位置坐标。根据RAIM或ARAIM中HPL的算法,计算出ADS-B报文中时间和位置信息处预测的HPL值。
4) 虚假报文的剔除。根据RTCA DO-260标准,将得到的预测HPL值转化为预测NUC值,对比预测NUC值是否与报文解析得到的NUC值相等,如果相等则判断为真实报文,否则为虚假报文。
图2 基于GNSS的ADS-B防欺骗算法总体设计
在Matlab仿真平台上对图2给出的防欺骗算法流程进行仿真实现。由于目前几乎所有民航运输飞机机载ADS-B设备的定位和导航信息均来自GPS接收机,而GPS输出的完好性信息HPL值是由内嵌在GPS接收机内部的RAIM算法计算得到的,故仿真实验采用从美国海岸警卫队官网(http://www.navcen.uscg.gov)下载的YUMA格式的GPS历书数据,数据包含正在运行的31颗GPS卫星,卫星遮蔽角取5°。
本仿真实验系统主要包括三大内容板块:第一部分主要完成ADS-B虚假报文的生成;第二部分主要完成卫星历书的加载和真假报文的混合;第三部分则完成对虚假欺骗的判别,并将结果直接显示在界面上。仿真实验系统的具体功能实现如下。
首先采用SBS-3系列ADS-B接收机,以中国民航大学北院[N39.1,E117.3,3]为接收点,接收从2015年5月18日6时51分18秒至2015年5月18日8时50分54秒之间,近2 h共计11 853条ADS-B和SSR报文数据。数据以十六进制保存为dat格式的文件,为便于仿真先转化存放在excel表格中,如图3所示。机载设备发送的ADS-B报文中并不包含报文生成发送的时间信息,但接收机在接收到报文时,会根据当地的计算机系统时间给报文加上一个时间戳,直接在报文的最前端加上相应的协调世界时(UTC)到达时间信息。
图3 ADS-B接收机接收的原始报文数据
然后对图3所示的原始报文数据进行处理,筛选出只带有时间和ME消息字段的ADS-B报文数据。根据1090ES数据链报文的结构和组成,通过解析筛选得到所有ADS-B报文数据以及发送报文的所有飞机的身份识别号(ID)。选取其中接收到广播报文比较多的飞机进行仿真,本次仿真选取的飞机ID为8D780D33,通过筛选得到如图4所示的总计279条该架飞机的ADS-B空中位置报文。
图4 ID为“8D780D33”飞机的空中位置报文
图5 模拟生成ADS-B虚假空中位置报文
通过Matlab模拟生成ID为“8D780D33”飞机的ADS-B虚假报文。图5为ADS-B虚假报文的模拟生成界面,该界面包括ADS-B报文模板的输入、各种时间和位置等仿真参数的输入以及仿真生成的虚假报文的显示。其中在飞机身份标签的文本框中输入包含飞机ID信息且满足RTCA DO-260标准的ADS-B报文,作为生成虚假报文的参考模板。虚假报文可以人为设定报文的经纬度和时间信息,高度值和NUC值则采用选取随机数的方式。本次实验共生成500条ID为“8D780D33”飞机的虚假ADS-B空中位置报文。
将接收的279条ID为“8D780D33”飞机的真实ADS-B空中位置报文,与模拟生成的500条虚假ADS-B空中位置报文相混合,得到含779条ADS-B报文的报文库。同时加载GPS历书文件,得到所有卫星的开普勒轨道参数。
最后解析报文库中的所有报文,得到对应报文的到达时间、飞机位置信息(经纬高)和NUC值。根据报文到达时间和位置,利用RAIM便可获得对应时间和位置处的HPL预测值。依据RTCA DO-260标准将该预测的HPL值转化为预测的NUC值,并将其与对应报文解析得到的NUC值进行一致性比对:如果两者一致则判断为真报文,否则判断为虚假欺骗。图6是对ID为“8D780D33”飞机的所有ADS-B空中位置报文的判别结果。上述处理过程在Matlab仿真平台上运行时间总计1.065 009 s。
图6 基于RAIM的ADS-B真假报文的判别结果
为了获得本ADS-B自主式防欺骗方法的性能,分别对接收到的10架飞机的3 372条原始真实报文进行解析,并利用本防欺骗方法进行报文的真假判别,结果显示由上述3 372条原始报文通过CPR解码算法解析得到的578个位置信息中,有一条被误判为欺骗报文,误警率为0.173%。同样模拟生成5 000条虚假的ADS-B空中位置报文,对这些报文进行解析并利用本防欺骗算法进行真假判别,结果显示2 500个位置信息中有1个被误判为真实位置信息,漏警率为0.04%。
基于ARAIM的ADS-B自主式防欺骗算法原理和流程与图2所示的一致,只不过由于目前接收到的飞机广播的ADS-B真实报文,其HPL都是基于RAIM算法而生成的 [4] ,因此必须仿真生成完好性信息是基于ARAIM的ADS-B空中位置报文,并把这种报文作为真实报文。图7为这种报文的模拟仿真生成界面。
图7 基于ARAIM的ADS-B真实报文的生成
图7所示的仿真界面包括ADS-B报文模板的输入、各种时间和位置等仿真参数的输入以及仿真生成的真实ADS-B报文的显示。其中在报文模板标签的文本框中输入包含飞机ID信息且满足RTCA DO-260标准的ADS-B报文,作为模拟生成真实报文的参考模板。设定报文的经纬度和时间信息,高度值则采用选取随机数的方式给出。根据给定的时间和位置信息,利用基于MHSS的ARAIM算法计算HPL,并转化为报文中的NUC。依据ADS-B报文的编码原理,根据时间、空中位置信息(经纬高)和NUC值,模拟生成500条ID为“8D780D33”的飞机的真实报文,并显示在界面上。
此处ARAIM算法采用的是“GPS+GLONASS”双星座,星历数据采取http://celestrak.com网站上下载的两行轨道数据(TLE),包括正在运行的31颗GPS卫星和29颗GLONASS卫星,卫星截止高度角设为5°。
将仿真生成的ADS-B真实空中位置报文与3.1节仿真生成的虚假空中位置报文相混合,得到ID为“8D780D33”飞机广播的ADS-B报文库。解析所有接收到的报文,得到对应的报文到达时间、飞机位置(经纬高)以及NUC。根据时间和位置信息,利用基于MHSS的ARAIM算法计算出预测的HPL,转化为预测的NUC,并将其与解析得到的报文中的NUC值作一致性比对。如果二者一致,则判断为真报文,否则为虚假报文,如图8所示。上述处理过程在Matlab仿真平台上运行时间总计1.813 226 s。
图8 基于ARAIM的ADS-B真假报文的判别结果
同样,为了获得本方法的性能,利用上述模拟产生真实报文的方法,生成5 000条ADS-B真实报文,并用本方法进行报文的真假识别,结果显示得到的2 500个位置报文均为真实报文,误警率为0。同样模拟生成5 000条虚假ADS-B空中位置报文,对这些报文进行真假识别,结果有1个被误判为真实位置报文,漏警率为0.04%。
本文提出了一种基于GNSS完好性信息的ADS-B自主式防欺骗方法,并基于RAIM对ADS-B接收机接收的真实ADS-B报文与模拟产生的虚假ADS-B报文进行了相应的报文防欺骗仿真实验,结果表明本方法能有效防止不含完好性信息或完好性信息与飞机位置不关联的虚假ADS-B报文的恶意欺骗,误警率和漏警率分别为0.173%和0.04%。考虑到随着ADS-B技术的发展,其报文中的完好性信息完全有可能来自其他的GNSS增强技术,因此本文还同时研究了基于ARAIM的ADS-B自主式防欺骗算法,并进行了相应仿真,仿真结果同样表明本文提出的防欺骗方法具有良好的防虚假ADS-B报文欺骗的性能。
参考文献 :
[1] Minimum Aviation System Performance Standards for Automatic Dependent Surveillance Broadcast (ADS-B):RTCA DO-242A[S]. Washington DC: RTCA Inc, 2002.
[2] Minimum Operational Performance Standards for 1 090 MHz Extended Squitter Automatic Dependent Surveillance-Broadcast (ADS-B) and Traffic Information Services-Broadcast (TIS-B):RTCA DO-260A[S]. Washington DC: RTCA Inc, 2003.
[3] Minimum Operational Performance Standards for 1 090 MHz Extended Squitter Automatic Dependent Surveillance-Broadcast (ADS-B) and Traffic Information Services-Broadcast (TIS-B):RTCA DO-260B[S]. Washington DC: RTCA Inc, 2009.
[4] 刘瑞华,邓明智,蔚保国,等. 基于北斗的机载终端完好性算法仿真研究[J]. 中国空间科学技术, 2016, 36(2):20-27.
[5] LI Liang, WANG Huan, JIA Chun, et al. Integrity and Continuity Allocation for the RAIM with Multiple Constellations [J]. GPS Solutions, 2017, 21(4):1503-1513.
[6] YANG Yuanxi, XU Junyi. GNSS Receiver Autonomous Integrity Monitoring (RAIM) Algorithm Based on Robust Estimation [J]. Geodesy and Geodynamics, 2016, 7(2):117-123.
[7] JOERGER M, PERVAN B. Fault Detection and Exclusion Using Solution Separation and Chi-Squared ARAIM [J]. IEEE Trans on Aerospace and Electronic Systems, 2016, 52(2):726-742.
[8] 李彬,吴云,李征航. GNSS接收机自主完备性监测高级算法的有效性验证[J]. 武汉大学学报(信息科学版), 2015, 40(6):800-804.
[9] FAA GEAS Panel. Phase Ⅱ of the GNSS Evolutionary Architecture Study[R]. Washington, DC:FAA,2010.
[10] 吕宗平,倪育德,陈君,等. 基于MHSS算法的ARAIM完好性和可用性预测[J]. 中国空间科学技术, 2017, 37(1):41-48.
LYU Zongping 1 , NI Yude 2 , CHEN Jun 2 , LU Lu 2
(1. National Key Laboratory of Air Traffic Operation Safety Technology , Civil Aviation University of China , Tianjin 300300, China ;2. College of Electronic Information and Automation , Civil Aviation University of China , Tianjin 300300, China )
Abstract : The automatic dependent surveillance-broadcast (ADS-B) system is vulnerable to false spoofing that is artificially malicious. In order to effectively solve the pressing issue, an autonomous anti-spoofing method is put forward in this paper, in which the consistence comparison is made between the integrity information of global navigation satellite system (GNSS) and the attribute parameters of integrity contained in ADS-B messages. The autonomous anti-spoofing algorithm flow is designed based on GNSS integrity information, and the whole process of anti-spoofing is simulated by use of the true messages received by ADS-B receiver and the false messages generated by simulation. The time, position and navigation uncertainty category (NUC) are obtained by decoding the mixture of true and false ADS-B messages, then the prediction about horizontal protection level (HPL) is acquired according to the time and position based on receiver autonomous integrity monitoring (RAIM) and advanced receiver autonomous integrity monitoring (ARAIM), and therefore the truth of ADS-B messages is finally decided by the consistence comparison between the prediction of HPL and the NUC. The simulation results show that the proposed anti-spoofing method can effectively prevent the malicious spoofing caused by the false ADS-B messages which do not contain the integrity information, or in which the integrity is not related to the position of aircraft, and the rate to recognize the false messages is not less than 99%.
Key words : automatic dependent surveillance-broadcast (ADS-B); anti-spoofing; receiver autonomous integrity monitoring (RAIM); advanced receiver autonomous integrity monitoring (ARAIM); horizontal protection level (HPL); navigation uncertainty category (NUC)
基金项目: 国家空管委基金(No.GKG201410004); 中央高校基本科研业务费(No.ZXH2011C013); 民航安全能力建设项目(No.AADSA0007)
修回日期: 2017-12-22
DOI: 10.3969/j.issn.1672-2337.2018.04.002
收稿日期: 2017-05-15;
文献标志码: A
文章编号: 1672-2337(2018)04-0359-07
作者简介 :
中图分类号 : TN967.5
吕宗平 男,1964年生于湖北武汉,硕士,副研究员,主要研究方向为空管运行安全技术。
E-mail: zplv@cauc.edu.cn
倪育德 男,1963年生于江西鹰潭,硕士,教授,主要研究方向为新航行系统。
E-mail:ydni@cauc.edu.cn