首页 / 专利库 / 航空电子 / 机载防撞系统 / 广播式自动相关监视 / 基于无证书短签名的ADS-B消息认证方法

基于无证书短签名的ADS-B消息认证方法

阅读:812发布:2020-05-18

专利汇可以提供基于无证书短签名的ADS-B消息认证方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及信息安全技术领域,是一种基于无证书短签名的 广播式自动相关监视 系统(ADS-B)消息认证方案。针对ADS-B存在的安全隐患,利用其低带宽,可用数据位较少的特点,本发明提出一种基于无证书短签名的ADS-B消息认证方法。与当前同类方法相比,本发明方法签名长度减少了3/4,总体性能上也有一定的提升,其中在签名阶段性能提升将近1倍。此外,本发明方法不需要管理证书,同时消除了密钥托管问题,极大地减少了ADS-B系统的负担,增强了系统的可用性和整体安全性。为了进一步分析认证方法的性能,本发明使用NS2对ADS-B网络进行仿真,结果表明,本发明方法在保证ADS-B数据完整性、身份认证和不可否认性的前提下,对网络的影响很小,满足1090ES最小运行功能标准规范。,下面是基于无证书短签名的ADS-B消息认证方法专利的具体信息内容。

1.一种基于无证书短签名的广播式自动相关监视系统(ADS-B)消息认证方案,其特征在于:
1)不需要管理证书:基于证书的公钥密码体制需要复杂的证书管理。公钥证书库的管理和维护需要巨大的计算、通信和存储代价。随着飞机数量的增多,证书管理的复杂度和成本也会随之增高。本发明方法基于无证书密码体制,不需要管理证书,没有证书管理的负担,降低ADS-B系统成本的同时也会提高ADS-B系统的性能和可用性。
2)没有映射到点(Map-to-Point)运算:常见的无证书签名方法通常需要映射到点运算。映射到点运算复杂度较高,需要更多的计算资源,ADS-B机载设备计算资源有限,复杂的运算将会加大机载设备负荷,降低签名效率。本发明所用算法,去除了复杂度较高的映射到点运算,极大地提高算法的签名效率。
3)签名长度短:1090ES数据链带宽有限,同时,ADS-B报文中数据段的可用数据位较短,可承载的信息有限。长的签名长度将增加数据链的通信成本,降低ADS-B报文的更新频率,这将会增加飞机位置、速度等信息的更新频率,加大飞机之间的间隔,降低空域中可容纳飞机容量。本发明所使用的算法签名长度是对比算法的1/4,在满足安全的前提下,极大了减少了数据链的通信成本,最大程度上减少对报文更新频率的影响。
4)可证明安全:本发明所使用的方法在随机预言机模型下可证明安全,与本发明对比方法相比,本发明方法的假设敌手攻击能更强,也就是说,与对比方法相比,本发明方法可以抵御更强的攻击,安全性更高。
2.对权利1的特征3)中基于PBC库实现了发明中所提的基于无证书的ADS-B消息认证方法。并从性能、通信成本、报文丢包率和端到端时延四个方面对算法进行测试对比。测试结果表明,无论是算法性能还是签名长度,本发明算法都优于对比算法。其中,在签名阶段,本发明所用算法的签名时间是对比算法的一半,极大地提高了消息的签名效率。在验证阶段,本发明算法也依然有一定程度上的提升。更重要的是本发明消息认证方法的签名长度仅为对比算法的1/4,此外,在网络仿真测试中,无论在报文丢包率还是端到端时延方面,本发明算法都对网络的影响较小,满足1090ES最低工作性能标准规范。
3.对权利1的特征4)中ADS-B消息认证方法进行安全性分析。在k-CAA、Diffie-Hellman困难假设下,本发明方法在适应性选择消息攻击下是抗存在性伪造的,即是可证安全的。

说明书全文

基于无证书短签名的ADS-B消息认证方法

技术领域

[0001] 本发明涉及信息安全技术领域,是一种基于无证书短签名的广播式自动相关监视系统(ADS-B)消息认证方案。

背景技术

[0002] 近年来,随着经济平的提高,航空业迅速发展,飞机的数量也随之增加。随着旅客人数和客运需求的增多,各国的商业飞机总数每年都在大幅增加。因此,在可以预见的未来,空域中的飞机数量将会持续增加,空域也将变得愈加拥挤,这将会为传统的空中交通管制(Air Traffic Control简称ATC)技术带来极大的挑战。
[0003] 1.ADS-B系统的安全漏洞
[0004] ADS-B是空地协同发展的一项技术,是新一代空中交通管制系统的重要组成部分。通过与卫星导航技术以及其他通信设备相结合,强化了机场管制人员和机组人员的感知,对提升空域容量,提高空域安全和运行效率有重要作用。随着ADS-B技术的发展,未来的空中交通管制系统将更加依赖ADS-B信息,由于ADS-B使用未加密的广播协议广播飞机的位置、速度等相关信息,因此攻击者可以轻松发起诸如窃听,干扰以及消息修改等攻击,并有可能在ADS-B数据通信期间阻塞整个通信信道,为其未来的广泛应用带来极大的安全隐患。
2012年,Defcon大会上,hanies第一次现场展示了发送虚假的ADS-B信号欺骗真实的接收机。这种攻击在现实中将会产生致命的后果,例如:飞机劫持和空中相撞等。此外,欧盟网络与信息安全局(ENISA)最近的一份报告表明,近年来,全球航空业的信息安全事件逐步增加,如网络攻击和ICT依赖性中断。空中客车集团(Airbus Group)一篇报道透露,该公司每年都要遭受大约12次重大网络攻击。
[0005] 网络攻击的影响范围广泛,会产生多种多样的后果,从简单的分散飞行员和地面控制员注意力到严重的拒绝服务,这将大大增加飞机碰撞的险,破坏了国家空域系统的安全。随着FAA最后期限的临近,越来越多的飞机将会加装ADS-B机载设备。ADS-B具有安装、维护成本低,信息更新频率高等优点,因此可以预测未来的飞机将会更加依赖ADS-B报文。随着ADS-B逐渐投入使用,ADS-B的系统漏洞也引起了航空业的广泛关注。因此,为了满足未来航空业的需求,保障未来空中交通安全,急需解决ADS-B系统潜在的安全隐患。
[0006] 2.密码算法和问题介绍
[0007] A)无证书公钥密码体制
[0008] 基于密码算法的抗欺骗方案是现如今较为常用的一种方案,本发明设计了一种基于无证书公钥密码体制的ADS-B消息认证方案,其中密码学算法和ADS-B消息认证方法依赖的密码学问题如下。
[0009] Paterson等人于2003年提出无证书公钥密码体制的概念,无证书公钥密码体制在某种程度上是基于身份的密码体制的改进。与基于身份的密码体制相类似,无证书公钥密码体制也需要一个密钥生成中心(Key Generation Center),与基于身份的密码体制不同,无证书的密钥生成中心只负责生成用户的部分私钥,然后安全地传送给用户,由用户自己根据秘密信息生成完整私钥,因此KGC并不知道用户的完整私钥,从而有效地解决了基于身份密码体制存在的密钥托管问题。在无证书公钥密码体制中,用户的公钥与用户的身份信息绑定,公钥本身就可以代表用户身份,因此不需要证书来保证其有效性和真实性,这样就节省了开销。和基于证书的公钥密码体制相比,无证书公钥密码体制不需要管理和存储庞大的公钥证书,因此也就不需要公钥基础设施PKI,降低了成本的同时,也避免了基于身份密码体制中固有的密钥托管问题。因此更适用于低带宽和低功耗的应用场景。
[0010] B)双线性对和困难问题
[0011] 双线性对所具有的计算特性使它成为许多密码算法,特别是基于身份的密码算法的重要数学工具。双线性对主要指代数曲线上的Weil对和Tate对,是研究代数几何的重要工具。双线性对成为构建短签名、基于身份的密码方案和无证书密码方案的一种有效工具。本小节简要介绍双线性对的数学定义和需要满足的性质。
[0012] 令G1为q阶加法循环群,G2为q阶乘法循环群。其中,q为一大素数,p为G1的生成元,双线性对e:G1×G2→G2满足以下3个性质:
[0013] ·双线性: 有e(aP,bQ)=e(P,Q)ab;
[0014] ·非退化性:存在P,Q∈G1使得e(P,Q)≠1;
[0015] ·可计算性: 存在有效多项式时间算法计算e(P,Q)
[0016] 困难问题是指无法在多项式时间内以不可忽略的概率解决的问题。下面简要介绍下椭圆曲线上的常见困难问题,困难问题是构建密码学安全的。
[0017] ·椭圆曲线离散对数问题:给定两个元素P,Q(P,Q∈G1),求整数 使得成立Q=aP。
[0018] ·计算Diffie-Hellman问题:给定P,aP,bP∈G1( 是未知的随机数),计算abP∈G1。
[0019] ·计算双线性Diffie-Hellman问题:给定P,aP,bP,cP∈G1( 是未知的随abc机数),计算e(P,P) 。
[0020] ·判定双线性Diffie-Hellman问题:给定P,aP,bP,cP( 是未知的随机abc数)和h∈G2,判定h=e(P,P) 是否成立。
[0021] ·双线性求逆问题:给定P∈G1和e(P,Q)∈G2,求解Q∈G1。
[0022] ·k-CAA问题(Collusion Attack Algorithm With k Traitors):对某一整数k和(s是未知的随机数),P∈G1,给定 和计算{e,P/s+e1},其中
[0023] 本发明的ADS-B消息认证方法依赖于计算Diffie-Hellman问题和k-CAA问题。
[0024] 3.ADS-B系统
[0025] A)ADS-B数据链分析
[0026] 目前,ADS-B主要使用两种数据链路:通用访问收发机(Universal Access Transceiver简称UAT)数据链和1090MHz的S模式应答机电文(1090MHz Extended Squitter简称1090ES)数据链。其中,1090ES数据链兼容S模式应答机,所以主要用于商业航空领域。UAT数据链则需要加装新的硬件,主要用于通用航空领域。UAT数据链与1090ES数据链的对比如表1所示。
[0027] UAT数据链采用时分访问和随机访问两种方式的混合媒介介入方式。工作频率为978MHz,工作带宽在1MHz-2MHz之间,传输速率为1Mbit/s。UAT数据链是专为ADS-B技术设计的数据链,需要飞机加装UAT通信设备,而当前商用飞机大多没有安装UAT通信设备,改装成本较大,且与其他数据链的兼容性较差,因此,目前只用于通用航空领域。
[0028] 表1 UAT数据链和1090ES数据链的对比
[0029]
[0030]
[0031] 与UAT不同,1090ES数据链是获得国际民航组织批准的全球无线电频率。“1090”指工作频率为1090MHz,“ES”(Extended Squitter)表示对原有报文长度的扩展,将原有56bit扩展到112bit。TCAS以及多点定位监视技术也都使用1090MHz这个频段,因此与UAT相比,1090ES频段将会比较拥挤,报文冲突概率将会增加。1090ES是基于S模式应答机的一种技术,机载通信设备采用飞机上已有的S模式应答机。在S模式应答机应答其他飞机或者地面二次雷达询问的时间段外,1090ES使用S模式应答机自动对外广播飞机的位置、速度等信息。当前使用的商用飞机大都装有S模式应答机,与1090ES数据链所需硬件相符,所以飞机改装成本小,同时兼容性好,更有利于ADS-B系统的快速应用。故本发明重点讨论1090ES数据链。
[0032] B)ADS-B系统安全性分析
[0033] ADS-B通过未加密开放的无线信道发送报文,ADS-B报文采用明文传输,并没有采取任何安全措施来保护数据的传输。因此攻击者可以轻松发起诸如窃听,干扰以及消息修改等攻击,为其后期的实际应用带来极大的安全隐患。
[0034] 可以根据攻击目标不同,将攻击分为两类,一类是攻击导航信息,一类是攻击ADS-B信息。目前的ADS-B主要依靠GPS导航信号作为定位信号,当攻击者干扰、修改导航信号时,可能导致飞机无法接收导航信号,或者接收到虚假的导航信号。带来的后果则是真实的飞机发送带有错误定位信息的虚假ADS-B信息。本发明主要研究针对ADS-B信息的攻击。

发明内容

[0035] 本发明的方案设计基于飞机从起飞到降落的通信过程展开,将数字签名的过程与ADS-B消息的通信过程相结合。具体的流程如图1所示。
[0036] 飞机在起飞前,首先向机场递交飞机的身份信息,身份信息包括由ICAO分配给飞机的全球唯一24位地址、航班信息、飞行时间等,其中飞行时间主要用来控制密钥的生存周期。机场作为密钥生成中心接收到飞机的身份信息后,计算对应身份ID的部分私钥,然后安全地传送给飞机,由飞机计算自身的公钥和私钥,秘密保存自己的私钥,公布对应的公钥。在飞行阶段,飞机通过GPS接收机接收GPS导航信息,利用导航信息计算自身的位置,速度等信息。然后飞机将相关信息封装为ADS-B数据格式,在广播ADS-B信息之前,飞机需要对信息签名。之后通过1090ES数据链周期性地对外广播包含签名的ADS-B信息。周围飞机或者地面站台接收到ADS-B信息后,首先需要验证签名的合法性,接收方利用公布的公钥验证接收到的签名,若验证通过,接收方就可以根据接收到的信息得到飞机的位置、速度等。反之,则表明该信息为非法的ADS-B信息,丢弃即可。
[0037] 1.ADS-B消息认证方法的定义
[0038] 本小节简要给出ADS-B消息认证方法的定义,ADS-B消息认证方法主要由6个步骤组成:系统建立、部分私钥解析、秘密值建立、公钥建立、签名和验证。为了方便表述,均采用统一符号,符号和具体含义见表2。
[0039] 表2发明方案符号及其说明
[0040]
[0041]
[0042] A)系统建立(Setup):输入安全参数k,返回系统参数params和主私钥s以及与主私钥对应的主公钥Ppub,然后算法公布系统参数params和主公钥Ppub。该步骤由KGC(Key Generation Center)执行,KGC秘密保存主私钥s。
[0043] B)部分私钥解析(Set-Partial-Private-Key):输入系统参数params,系统主密钥s以及飞机ID,输出部分私钥dID。该步骤由KGC执行,飞机接收到部分私钥dID时,可以验证合法性。
[0044] C)秘密值建立(Set-Secret-Value):输入系统参数params和飞机身份ID,输出飞机的秘密值xID。该步骤由飞机执行。
[0045] D)公钥建立(Set-Public-Key):输入系统参数params和飞机秘密值,输出飞机公钥PKID。该步骤由飞机执行。
[0046] E)签名(CLSS-Sign):输入系统参数params,信息m和飞机完整私钥,输出签名σ。该步骤由飞机执行。
[0047] F)验证(CLSS-Verify):输入系统参数params,信息m,KGC主公钥Ppub,签名σ以及用户完整公钥,返回“1”说明签名有效,返回“0”说明签名无效。
[0048] 2.发明设计思想
[0049] 由于ADS-B在未加密的无线信道广播信息,所以很容易受到诸如窃听、干扰和消息修改等攻击。考虑到兼容性以及国际之间的互操作性,ADS-B设计之初就具有天然的开放性。因此,从安全度来看,ADS-B在设计之初就选择了兼容和开放,放弃了机密性。此外,ADS-B还具有报文格式简单、长度较短、承载信息有限等特点。如果直接对ADS-B数据加密,虽然也可以保证ADS-B的信息安全,但是第三方无法正确解密加密密文,兼容性差,不利于国际之间的互操作性,违背了ADS-B的开放设计理念。
[0050] 本发明算法的主要思想是通过数字签名的方法来保障ADS-B的信息安全,将数字签名的过程和ADS-B通信过程相结合,在保留ADS-B开放性的基础上,保障了ADS-B数据的完整性、身份认证和不可否认性。无证书签名算法是介于基于证书的签名算法和基于身份的签名算法之间,因为需要飞机的ID产生私钥,因此并不需要证书确认飞机的身份。对于基于身份的签名算法,用户的私钥由PKG产生,PKG保留所有用户的私钥,也就是说PKG可以代替用户进行签名,因此基于身份的签名算法并不能提供真正的不可否认性。与基于身份的的签名算法不同,无证书签名算法中的密钥生成中心KGC只产生飞机的部分私钥,飞机的完整私钥和公钥由自身生成。KGC并不知道用户的完整私钥,从而提供了真正的不可否认性。
[0051] 3.功能说明
[0052] 本小节给出基于无证书短签名的ADS-B消息认证方法的具体功能,具体细节如下:
[0053] A)系统建立(Setup):输入安全参数k,机场作为KGC选择两个同阶(q阶)循环群G1和G2,P为G1的生成元,双线性映射e:G1×G2→G2。然后,KGC随机选择 作为主私钥,并计算对应的主公钥Ppub和哈希函数H1,H2:
[0054] Ppub={Ppub1,Ppub2,Ppub3}={sP,s-1P,s2P}          (1)
[0055]
[0056] 最后,KGC将系统参数params公布出去。
[0057] params={G1,G2,q,P,Ppub,H1,H2,e(P,P)}          (3)[0058] B)部分私钥解析(Set-Partial-Private-Key):输入系统参数params,系统主密钥s以及飞机ID,KGC选择随机数rID,并计算以下等式:
[0059] RID=rIDPpub1                (4)
[0060] hID=H1(ID,RID,Ppub)        (5)
[0061] sID=rID+hIDs mod q           (6)
[0062] 其中飞机ID=AR||AD||FN||AUX。AR,AD,FN,AUX分别表示飞机注册号(Aircraft Registration),24位ICAO地址码、航班号(Flight Number)和辅助信息(航班起飞时间和预计飞行时间)。通过辅助信息可以有效地控制密钥的生存周期,提高安全性。然后机场将部分私钥dID=(sID,RID)安全地传递给飞机,飞机通过以下等式是否成立对部分私钥进行验证:
[0063] sIDPpub1=RID+hIDPpub3                  (7)
[0064] C)秘密值建立(Set-Secret-Value):给定系统参数params,飞机选择随机数xID作为秘密值。
[0065] D)公钥建立(Set-Public-Key):给定系统参数params和xID,身份为ID的飞机计算PID=xIDPpub1,然后将PKID=(PID,RID)作为飞机的公钥公布出去。
[0066] E)签名(CLSS-Sign):对消息m签名σ=(kIDsID+xID)-1Ppub2,其中[0067] kID=H2(ID,m,PID,RID,Ppub)        (8)
[0068] F)验证(CLSS-Verify):验证者对签名σ验证,验证者首先计算以下等式:
[0069] hID=H1(ID,RID,Ppub)           (9)
[0070] kID=H2(ID,m,PID,RID,Ppub)         (10)
[0071] 然后检验式(11)是否成立:
[0072] e(σ,kID(RID+hIDPpub3)+PID)=e(P,P)         (11)
[0073] 若公式(11)成立,则签名验证通过。反之签名无效。其中e(P,P)可以在系统建立阶段提前计算。下面证明公式(11)的正确性。为了简化公式,式中H1(·),H2(·)分别为哈希函数H1(ID,RID,Ppub),H2(ID,m,PIDRID,Ppub)的简写。
[0074]附图说明
[0075] 图1 ADS-B消息认证方法整体方案
[0076] 图2 ADS-B消息认证方法流程图
[0077] 图3 ADS-B原始航迹
[0078] 图4含有虚假信号的ADS-B航迹
[0079] 图5验证通过的ADS-B航迹
[0080] 图6系统参数的生成
[0081] 图7部分密钥的生成
[0082] 图8公钥的生成
[0083] 图9签名的生成
[0084] 图10签名的验证
[0085] 图11实验框图
[0086] 图12地面站通信覆盖范围示意图
[0087] 图13签名生成时间
[0088] 图14签名验证时间
[0089] 图15不同算法的计算成本
[0090] 图16不同算法签名长度对比图
[0091] 图17 ADS-B报文丢包率
[0092] 图18 ADS-B报文端到端传播时延

具体实施方式

[0093] 1.发明实现
[0094] 本发明在装有Windows 10操作系统,硬件配置为intel-i3 3.8GHz处理器,4GB RAM的计算机上,采用由斯坦福大学基于C语言开发的PBC(Pairing-based cryptography)库来实现算法。
[0095] PBC库是一个开源,免费并且可修改的C语言库。可以对基于配对的密码系统进行快速原型设计,它为双线性映射的实现提供一个高度抽象的接口,屏蔽了复杂的数学细节,研究人员甚至不需要考虑椭圆曲线和数论的相关知识就可以实现基于双线性映射的密码体制。
[0096] PBC库共有7种类型的配对:A、B、C、D、E、F和G七种。常见类型的配对参数如表3所示。
[0097] 表3常见类型的配对参数(比特)
[0098]
[0099] 在这7种类型的配对中,运算速度最快的为类型A配对。与之对应的是类型D和类型F的配对,它们运算速度较慢,但其参数较短。D159,D201和D224分别为类型D配对的不同曲线参数。PBC库中用于实现密码算法的配对主要是类型A、类型D和类型F的配对。在实际应用中,需要根据具体的要求和场景选择合适的配对类型。
[0100] 本发明选择在椭圆曲线y2=x3+x构造的类型A的配对,基域为512比特。类型A的配对是构造在有限域 上的点群,因此类型A的配对是一个对称配对,符合本发明算法的要求。
[0101] 算法所使用的ADS-B数据来源于OpenSky Network 2016年5月19日MH804航班的部分数据。OpenSky Network数据库主要供不同领域的研究人员用于分析和改进空中交通管制技术和流程。
[0102] ADS-B消息认证方法的具体流程图如图2所示。
[0103] ADS-B消息认证方法的核心就是对数据的签名和验证。算法基于无证书签名体制,具体流程与无证书签名体制类似。首先是系统参数的生成,参数主要用于公私密钥的生成。接着根据系统参数和用户身份信息生成私钥和公钥,私钥由签名者秘密保存,公钥则公布出去。然后则是对ADS-B数据签名,最后由验证者对签名进行验证,若验证通过,则为合法消息,接收该消息。反之则为非法消息,将该消息丢弃。
[0104] 实现过程与算法流程图类似。首先是对原始ADS-B数据签名,接着将虚假ADS-B数据与签名后的数据混合,然后将混合后的数据发给验证者验证。最后将这些ADS-B数据经过解析,转化为KML(keyhole markup language)格式,然后使用“谷歌地球”将其可视化,用来直观地展示航迹数据。KML是基于XML语言的一种文件格式,可以很方便地用来描述和存储地理信息数据。
[0105] 图3、4和5分别为原始ADS-B航迹、含有虚假ADS-B数据的ADS-B航迹以及通过签名验证的ADS-B航迹。由图4的水面上方可以看到部分非正常航迹点,那些航迹点则是测试时加的虚假数据,用来测试ADS-B消息认证方法是否能够正确识别虚假信息。由图5的航迹可以看出,图5的航迹和图3的航迹完全一致,因此本发明算法准确地识别了虚假信号,去除了非正常的航迹点,有效地保证了ADS-B的数据安全。
[0106] 基于无证书短签名的ADS-B消息认证方法的程序运行图如下:
[0107] A)首先是算法的初始化阶段,初始化阶段主要是初始化群G1,GT和环 上的元素。
[0108] B)接着是系统参数的产生,系统参数主要用来产生后面的私钥和公钥。由于密钥每次都是随机产生,因此每次运行的系统参数都不尽相同,产生的系统参数如图6所示。
[0109] C)由于采用无证书短签名体制,所以KGC只负责产生部分私钥,然后将部分私钥安全地传递给用户,由用户自己负责生成完整私钥,消除了基于身份签名体制的密钥托管问题。部分密钥的生成结果见图7。
[0110] D)然后根据已公开的系统参数和用户的身份信息生成公钥,公钥的生成结果见图8。
[0111] E)最后是用户使用完整私钥对信息签名,签名结果见图9。
[0112] F)验证者对收到的签名进行验证,若验证通过,则接受该信息,反之则丢弃。验证结果见图10。
[0113] 2.发明测试
[0114] 本节主要从性能、通信成本、报文丢包率和网络延时四个方面对算法进行测试。其中,签名算法的性能主要从签名时间和验证时间进行对比。上文中已经基于PBC库实现了ADS-B消息认证方法,PBC库中包含有时间读取接口,测试中,通过PBC库的时间读取接口就可以方便地得到ADS-B消息认证方法不同阶段所消耗的时间。测试的实验框图如图11所示。签名端的计算机负责对ADS-B数据签名,然后将签名通过集线器发送给验证端的计算机。航迹显示器用来可视化转换为KML格式的ADS-B数据,主要用来对比签名方和验证方的航迹是否一致。此次测试使用的数据依然来自于OpenSky Network的真实ADS-B数据。
[0115] 实验中签名和验证所用的计算机配置如表4所示。随着网络技术的发展,人们对网络的性能要求越来越高,因此,提升网络性能,开发新的网络技术逐渐成为网络领域的重要工作。利用网络仿真工具对网络协议、算法等内容进行仿真,在提高网络设计的效率、降低网络设计的成本方面,已得到业界的高度认可。
[0116] 表4实验所用计算机配置详情表
[0117]
[0118] 为了进一步测试算法对网络的影响,需要对算法进行网络模拟仿真。目前业界主流的网络仿真工具有三种:OPNET、QualNet和NS2。
[0119] NS2是一个由C++和otcl语言编写的、面向对象的、事件驱动的网络模拟器。该模拟器由UC Berkeley设计,VINT Project负责维护。由于NS2(Network Simulator 2)配置方便,便于二次开放,因此本发明选择NS2对文中所提算法进行网络仿真。模拟仿真正常情况下ADS-B网络中报文的丢包率和端到端时延,以及采用本发明消息认证方法后,ADS-B报文的丢包率和端到端时延。通过结果对比,评估本发明所提消息认证方法对网络的影响。
[0120] 在此次仿真中,本发明只仿真单个地面站台与空域中多架飞机通信场景下,ADS-B报文端到端的时延以及报文丢失率。不考虑飞机与飞机之间的通信和多架飞机与多个地面站台的通信场景。NS2的仿真参数设置如表5所示。
[0121] 表5仿真场景参数设置
[0122]
[0123] 1090ES的A1设备的有效通信范围为20NM(37.04Km)。为了保证地面站台能够接收仿真场景内的所有飞机发出的报文,需要具体计算合适的场景大小。已知系统损失率L′=6.3L,本发明采用的1090ES的A1设备在多径衰落下的实际通信距离应为:
[0124]
[0125] 可以将地面站台的通信覆盖范围抽象为图12的示意图。图12中h为飞机的高度,仿真场景为示意图中地面站覆盖范围映射到空中的内接正方形,x为仿真场景大小的1/2。已知飞机高度h和A1设备的通信距离,可以得出仿真场景大小为:
[0126]
[0127] 为了降低仿真复杂度,仿真的拓扑范围设置为15347m*15347m的正方形区域。由于装备1090ES数据链的商用飞机的典型飞行高度为10Km以上的空域,所以场景中所有飞机均在垂直高度为10Km的水平区域以恒定的速度随机运动。1090ES规范规定1090ES数据链A1设备支持的飞机数量不少于200架。因此,在网络仿真中,飞机数量由10架逐渐递增到200架,飞机节点水平位置由NS2自带的随机位置生成函数随机生成。飞机报文发送间隔为0.5s,只发送两种类型的报文:位置报文和空中速度报文,两种类型报文的发送具有独立性。地面站的高度为0,位于拓扑中心。
[0128] ADS-B报文丢包率的计算方法为:
[0129]
[0130] 其中,M1表示仿真过程中飞机发送报文总数,M2则为地面站接收的报文总数。
[0131] 发送时延和接收时延的计算方式相同:
[0132]
[0133] 所以总的端到端时延期望为:
[0134] T端到端时延=T发送时延+T传播时延+T接收时延=0.264ms          (16)[0135] 3.测试结果及分析
[0136] 本节首先从计算量和通信成本两个方面来评估本发明提出的消息认证方法。首先是理论上的计算复杂度对比,不同的计算复杂度,所消耗的CPU时间也不尽相同,通过理论对比算法中计算公式的复杂度,就可以大致得出算法的性能。
[0137] 常见的签名算法主要包括标量乘法运算、映射到点运算、双线性对运算以及简单的加法运算等。其中,映射到点运算和双线性对运算是最复杂的运算,需要的运算量是标量乘法运算的数十倍,因此,主要对比这两种运算就可以大致得出理论上的算法性能。表6给出了本发明方法和目前较新的同类方法的计算复杂度比较。
[0138] 表6本发明方法和其他方法性能比较
[0139]
[0140] 为了节省空间,本发明只选取签名与验证过程中相对耗时的运算用于对比。其中,Tm表示群中的标量乘法运算,Tbp表示双线性对运算,Tmap表示映射到点运算。由表6可以看出,在签名阶段,本发明方法只需要1次标量乘法运算,对比HIBS-Y,HIBS-H的2次标量乘法运算,运算量减少一半,这将极大地减少消息的签名时间,提高消息的签名速度。
[0141] 同样,在签名验证阶段,本发明方法只需要1次双线性对运算和2次标量乘法运算,更不需要复杂的映射到点运算。与之相对应的HIBS-Y则需要5次双线性对运算、2次映射到点运算以及一次标量乘法运算,同样,HIBS-H需要2次双线性对运算和3次标量乘法运算。可以看出,在签名验证阶段,本发明方法与对比方法相比,依然具有较低的计算复杂度,带来的优势则是相对快速的验证速度。
[0142] 理论分析表明,与对比方法相比,本发明方法无论是在签名阶段,还是签名验证阶段都具有较低的计算复杂度。其中,在签名阶段,本发明方法复杂度降低一半,有效地较少了消息的签名时间,提高了签名的效率。同样,在签名验证阶段,本发明方法与对比方法相比,也降低了一定的计算复杂度。
[0143] 在测试中,由于单次签名和验证时间较短,PBC库中用于获得算法具体运行时间的接口精度有限,单次运行的误差较大。因此,为了得到算法较为稳定的运行时间,在实际测试中,每组算法运行100次,然后求其平均值,共做30组,这样就得到较为稳定的运行时间,便于对比不同算法的运行时间。具体的统计结果如图13和图14所示。其中,图13为本发明算法和对比算法的签名时间,图14则是对应的签名验证时间。
[0144] 由图13可以看出,HIBS-Y,HIBS-H算法在签名阶段的性能相差不大,HIBS-H略优于HIBS-Y。本发明算法的签名时间是对比算法的一半,明显优于对比算法。由表6可以看出,HIBS-Y和HIBS-H算法签名阶段的需要2次标量乘法运算,相对应的本发明算法仅需要1次标量乘法运算。由测试的运行时间可以看出,此结果与前文中的理论分析相吻合。
[0145] 由图14可以看出,在签名验证阶段,HIBS-H算法运行时间相对于HIBS-Y算法有大幅度降低,提高了签名的验证效率。而本发明方法的签名验证时间相对与HIBS-H算法,依然有一定程度的降低。由前文中的计算复杂度分析得知,HIBS-H算法需要2次双线性对运算,而HIBS-Y算法则需要5次双线性对运算,与此相对比,本发明方法仅需要1次双线性对运算。因此,可以看出实际的测试时间与理论分析相符。
[0146] 为了更直观,准确地比较本发明算法和对比算法的性能,将图13和图14中的30组运行时间数据取平均,汇成图15的柱状图。由图15可以较为清晰地看出,无论是签名阶段还是验证阶段,本发明算法的运行时间都有很大程度上的降低。所以,从测试结果可以看出,本发明所提算法在综合性能上优于对比算法。
[0147] 通信成本的评估主要是比较不同签名的长度。ADS-B数据链带宽有限,可供传输的数据量较少,1090ES只有56位可用数据位。当签名长度较长时,单条报文不足以携带完整的签名,这将减少ADS-B报文的更新频率。签名长度越短,需要传输的总数据量就越少,同时对报文更新频率的影响就越小,这样就更适合ADS-B数据的传输。由图16可以看出本发明方法的签名长度是对比算法的1/4,极大地降低了ADS-B报文的通信成本。其中,图16中L表示G1中元素的长度。
[0148] 报文丢包率仿真结果如图17所示。本发明只考虑ADS-B信号之间存在的冲突,暂没有考虑190MHz频率上A/C模式和S模式应答机信号对ADS-B信号的干扰。造成报文丢失的原因有三个:排队丢包、发送丢包和接收丢包。
[0149] 排队丢包是指发送缓存队列已满,此时又有新的报文进来,从而导致报文丢弃。因为ADS-B报文发送间隔为0.5s,报文生成的数量相对来说比较少,对队列的影响可以忽略不计,因此本发明直接忽略排队丢包。
[0150] 由于ADS-B以随机突发方式发射信号,且并没有相应的冲突检测机制。当一个节点正在发送报文时,此时另一个节点也可能同时在发送报文,由于没有冲突检测机制,此时两个报文将产生冲突,导致报文丢失。由此可以看出,发送丢包与网络中节点数量有关,网络中节点数量越多,报文冲突概率越大,发送丢包数就越多。
[0151] 飞机通过广播的形式向周围广播ADS-B报文,因此网络中的每个节点都有可能收到其他节点的报文。如果此时地面站台正在接收某一飞机的ADS-B报文,此时,若有其他飞机的ADS-B报文同时到达,将会产生冲突,从而导致报文冲突。与发送丢包类似,接收丢包也与网络中节点数量有关,网络中节点数量越多,报文冲突概率越大,接收丢包数就越多。
[0152] 由于机载ADS-B发射机以随机突发的方式发射ADS-B报文,并没有冲突检测机制,随着空域中飞机的数量增加,网络中的ADS-B报文数量也随之上升,发射报文冲突的概率也相应地变高,带来的结果则是发送丢包增多。同样地,随着网络中报文数量的增加,由于多径衰落的影响,不同飞机发射的ADS-B报文同时到达地面站台的概率也将增加。当两个报文同时到达接收机时将发生冲突,导致接收机无法准确解调冲突信号,地面站的接收丢包也随之增多。
[0153] 从图17可以看出,正常情况下,随着网络中飞机数量的增加,网络中的报文数量也随之增加,报文冲突的概率也随着升高,导致接收丢包和发送丢包数都增加,最终引起总的报文丢包率增加,当飞机数量达到200架时,丢包率为17%左右。在使用本发明认证方法后的仿真结果表明,相对于正常情况下的ADS-B网络,报文丢包率有所上升。因为签名的生成和验证过程都需要时间。当地面站在接收到ADS-B报文时,首先需要对接收到的报文进行验证,也就是说地面站处于接收状态的时间将会变长,此时如果另一个报文也到达,将产生冲突,引起报文丢失。从图17可以看出,报文丢包率虽然有所上升,但上升幅度较小,因此可以得出本发明方法对网络的影响较小。
[0154] 由于本发明并没有考虑1090ES数据链上A/C模式以及S模式应答机的信号,只考虑ADS-B信号之间的冲突,所以仿真的结果相对保守,实际网络中的报文丢包率要大于仿真值。
[0155] ADS-B端到端的时延仿真结果如图18所示。端到端时延主要包括发送时延,传播时延和接收时延。传播时延主要与传播的距离有关,在此场景中即指飞机高度,当飞机高度为10Km时,传播时延的数学期望为0.042ms。
[0156] 由图18可以看出,端到端时延与网络中节点数量无关。随着网络中的节点数量的增加,端到端时延在0.263ms上下波动,与理论值0.264ms相差很小,可以视为与理论分析相符。然而,当采用本发明提出的方法后,端到端时延增加了24ms左右。上文已提到,本发明方法平均运行时间为23.32ms,可以看到,增加的端到端延时与本发明提出方法的运行时间相差无几。尽管本发明使用的方法增加了端到端延时,但是在本发明仿真场景中其值依然满足于1090ES最低工作性标准规范。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈