改进RSA算法的ADS-B飞机身份认证及数据加密方案

李云飞,刘菊琨

(1.云南财经大学研究生院,云南 昆明 650221;
2.云南中医药大学国际交流中心,云南 昆明 650500)

广播式自动相关监视(ADS-B)[1]是一种新型的监视手段,航空器通过自身携带的机载导航系统、GPS 等定位系统得到包括航空器唯一标识、位置数据以及其他相关数据,通过地空数据链以广播模式将这些数据发布出去。相比二次雷达监视目标的方位,是通过地面多个二次雷达询问,由地面自动化系统综合计算得到的。由于二次雷达的飞机方位信息是由地面自动化系统计算得到,所以很难出现假目标的情况。而ADS-B 系统的方位信息是由飞机自身产生的,这样某些非法的航空器可以通过ADS-B 技术向地面发射假的方位信息,所以如何认证飞机的身份是目前ADS-B 技术研究的重点领域之一[2,3]。

本文针对这种情况提出了一种ADS-B 飞机身份认证和数据加密方案。该方案基于数字签名、对称加密算法、PKI[4](Public Key Infrastructure)公钥基础设施来实现。其中数字签名采用RSA 算法[5]来实现。RSA 密码算法是目前应用最为广泛的公钥密码算法,拥有良好的安全性且易于实现和理解。RSA 密码算法已成为公钥密码学研究的一个重要范本[6]。经过三十多年的技术发展和在信息领域的大规模应用,RSA 密码算法实现技术已经很成熟,并且出现了许多如OpenSSL 的RSA 算法实现的代码开源库,这进一步促进了RSA 密码算法的更广泛的应用,而且其安全性也进一步得到事实的证明。但RSA 算法在进行数字签名和解密时需要耗费大量的计算资源。考虑到机载设备的重量轻、设备硬件配置低、设备运算能力弱的情况,本文基于之前的EAPORSA算法[7,8]提出了一种负载转移的RSA 数字签名方案。将机载设备签名的绝大部分负载转移到地面的ADS-B服务器中,使机载设备用较小的计算资源就能实现数字签名。

本文中飞机的身份认证是通过数字签名来实现的,在进行数字签名和认证签名时需要使用相应的私钥和公钥,其中公钥的信息是公开的,这样可能会出现公钥和公钥持有者的身份不匹配的情况,在这种情况下进行数字签名和签名认证都是毫无意义的。所以如何将公钥和公钥持有者的身份绑定在一起是认证签名的关键。PKI 公钥基础设施通过引入第三方认证中心,将公钥和公钥持有者身份绑定到数字证书中。这样可通过对数字签名的认证方式来对签名者的身份进行认证。目前PKI 已经得到了广泛的应用。特别在保障电子商务网上交易安全方面,发挥了重要的作用。所以本文基于PKI提出了一种适合于民航系统的数字证书管理体系,来绑定飞机和ADS-B台站的身份信息,从而实现对飞机身份的认证[6]。

本节首先对ADS-B 身份认证和数据加密方案中使用到的改进RSA 签名算法进行了研究,接着对基于PKI 的民航证书管理体系进行详细的阐述。

1.1 EAPORSA 签名算法内容

EAPORSA 签名算法[7,8]包括:密钥生成阶段、签名阶段和认证签名三个阶段。

1.1.1 密钥生成阶段

该阶段需输入密钥生成算法的安全参数n、k和c。改进算法的公钥和密钥通过该密钥生成算法得到,具体计算过程如下:

(1)产生两个[n/3]位的素数p和q,且必须保证p和q互不相同,接着通过N=p2q计算得到大数模N。

(2)选取改进RSA 算法公钥e,一般状况下e取值为65 537,并且e与∅(N)=(p-1)(q-1)(注意不是∅(N)=p(p-1)(q-1))互素,接下来计算d=e-1mod∅(N)。与此同时计算e_inv_p=e-1modp和p2_inv_q=(p2)-1modq。

(3)计算d=d1,1e1,1+d2,2e2,2mod∅(N)其中di,j和ei,j为二进制向量,其中1 ≤i≤2 和1 ≤j≤2,di,j和ei,j分别是为c位和[n]位的随机序列。经过以上计算步骤,计算得到EAPORSA 算法的公钥是:<N,e,e1,1,e2,2>,算法的私钥是:<N,e,d1,1,d2,2>。

1.1.2 签名阶段

签名过程包括以下几个步骤:先将需要签名的信息M∈ZN通过哈希摘要函数得到该信息的哈希值H=Hash(M)。

再产生签名向量S=(s1,1,s2,2),其中最后计算得到签名向量S=(s1,1,s2,2),签名方将该向量发送到签名认证端进行认证处理。这样数字签名的大部分计算负载被转移到了认证方。

对于s1,1和s2,2的计算,本文采用了中国剩余定理[9]来进行加速,以下是求解的过程:

(1)计算Mq通过,位数为c位的d1,1值在密钥生成阶段签名方已经将它保存在算法的私钥中。签名方通过多个位数较小的模幂运算,就可以实现签名。

(2)求取A0通过计算接下来通过式子计算出,其中H_inv_P=H-1modp。

通过以上步骤可计算得到Mp值。

(4)结合中国剩余定理先求出V=Mq-Mpmodq,接着计算出V=V×(p2_inv_q)modq的值。

(5)最后以中国剩余定理为依据,将Mp值和Mq值进行合并。最终得到明文,通过s1,1=V•p2(modN)和M=M+MpmodN。

1.1.3 认证签名阶段

认证方得到签名向量S后进行认证,具体操作步骤如下:

(2)计算H通过,其中e为公钥。若认证方已知签名方的明文,并将该明文进行哈希摘要处理得到哈希值H´,若认证得到H和H´是相等的,则可以证明该签名确实是该公钥持有者签的名,在公钥证书中,公钥和身份是绑定的,这样既可确定了签名者的身份。

EAPORSA 以中国剩余定理为基础,使用中国剩余定理的标准RSA 算法,签名CdmodN需要耗时O(log3N/2)[7],通过以上数值,可以得到理论上,EAPORSA 算法相比标准RSA 的签名加速比大概为:

其中k是指私钥指数d被划分为k个向量,c是为k个向量元素的位数大小,数值b是大数模N(N=pb-1q)的参数,本文b的取值为3。例n=2 816 位,b=3,k=2 和c=128 位,改进算法的理论加速比为12.38。

1.2 基于PKI 的民航数字证书管理体系

如前所述,可以使用数字签名作为验证签名者身份的有效性,必须建立在公钥的确是签名者唯一持有,这就会出现签名者公钥的真实性的确认问题。所以必须要通过某种办法,使得签名验证者们能够识别相应签名者的公钥的真伪。目前最常用的验证签名者公钥的真伪方法或机制是通过身份认证权威机构CA(Certif icate Authority)机制。CA 是可信第三方,在PKI 系统中通信双方都信任的实体。

公钥的持有人用自己的公钥和身份信息向CA 申请数字证书(Certif icate),为了保证持有者私钥的机密性,通常情况下,数字证书的申请人不用向CA 中心提供自己的私钥信息。数字证书由CA 签发,并由CA 负责管理。数字证书的内容必须包括证书持有者的身份信息、公钥信息、CA 的签发证书。为了确保证书的真实性,CA 通过数字证书证实其他通信实体的公钥信息,通过对其他实体上证书进行CA 的签名。而PKI 公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是对密钥和数字证书进行管理。一个机构或系统通过采用PKI 框架管理密钥和证书可以建立一个安全的网络环境,可以构建可靠的CA 平台。

本文基于PKI 提出了中国民航的证书管理体系。整个体系包括两个部分:空管局、机场、ADS-B 站证书管理体系(如图1 所示)和空管局、航空公司、飞机证书管理体系(如图2 所示)。整个体系以民航空管局为核心,是整个体系的最高身份认证权威机构,是民航证书管理体系的根CA,它构成了证书管理体系的第一个层次。第二个层次包括各地区空管局和各大航空公司,它们构成了证书管理体系的第一级CA,空管局根CA 授权、认证和确保第一级CA 身份的真实性、有效性,第一级CA 由空管局CA 进行管理。一级CA 下设的各空管分局构成了第二级CA,该级CA 由一级CA 进行授权和管理。最后一个层次为实体证书的发放。该层次包括各空管分局所涉及的各机场和ADS-B 台站对应证书的发放、认证和身份绑定,以及各航空公司飞机证书的认证、发放和身份绑定。以上各级CA 持有其上级CA 认证和授权的证书。

图1 空管局、机场、ADS-B 台站证书管理体系

图2 空管局、航空公司、飞机证书管理体系

飞机身份认证和数据加密方案基于飞机起飞到降落的整一过程。该过程包括三个阶段:身份认证和密钥交换阶段、起始机场密钥传递阶段和终点机场密钥销毁阶段。

2.1 身份认证和密钥交换阶段

该阶段是指飞机起飞前和起飞机场ADS-B 服务器之间的身份认证和密钥交换过程,整个过程类似于SSL 协议[11],具体过程如下:

(1)飞机根据飞行计划在起飞前45 分钟,通过地空数据链向起飞机场ADS-B 服务器端发送一个需要建立身份认证的“client Hello”请求消息。该消息包括随机序列rc和飞机能够支持密码算法套件。

(2)地面服务器端发送“server Hello”消息作为回应.消息中包括随机序列rs、ADS-B 服务器端证书和在飞机支持的密码算法套件中ADS-B 服务器端选择的算法套件。

(3)在飞机客户端预主密钥(Pre-Master Secret)x被产生,该预主密钥是一个大小为48 位的随机数,与此同时密钥导出函数f将x、rc和rs作为函数的输入,输出函数值k,即飞机客户端和ADS-B 服务器端进行安全通信的对称主密钥k(Master Secret);
接着,飞机通过EAPORSA 签名算法产生数字签名信息S=(s1,1,s2,2),其中H是飞机唯一标识(Air ID)的哈希摘要值、。接着飞机将x、飞机唯一标识和签名S=(s1,1,s2,2)通过用ADS-B 服务器端公钥进行加密处理后,存储在“Client Key Exchange”消息,并将该消息通过地空数据链传到机场ADS-B 服务器端。

(4)ADS-B 服务器端通过自身私钥将以上信息进行解密得到:x、飞机唯一标识和签名向量S=(s1,1,s2,2)。ADS-B服务器首先求出飞机唯一标识的哈希摘要值H,接着认证签名向量通过计算其中e、e1,1和e2,2的值是服务器端通过飞机的唯一标识在证书列表中得到的值。若H值和H´的值相同,则表示该飞机身份是真实可靠的,可进行下一步操作。如果不相同的话,说明该飞机的身份是不可靠的服务器拒绝提供服务。若飞机身份得到了认证且真实、有效,则在ADS-B 服务器端,类似于客户端通过密钥导出函数f得到k,以x、rc和rs作为函数输入。计算得到k,并将其作为该飞机和起飞机场ADS-B 站进行安全通信的共有对称密钥。

(5)飞机客户端向服务器端发送客户端结束消息“Client Finished”,为确保此前握手过程信息未被修改,“Client Finished”包含了此前飞机客户端发送的所有握手消息的哈希摘要值。该消息通过加密处理后以密文形式进行传送。

(6)起飞机场ADS-B 服务器端向客户端发送“Server Finished”消息,其中包含了此前服务器端发送的握手消息的哈希摘要值,以确保此前的握手消息未经篡改。这个消息也是经加密后以密文形式进行传输的。

2.2 起始机场密钥传递阶段

接下来是起飞机场如何将对称通信密钥k传递到飞机经过的每一个ADS-B 台站直到降落机场,确保飞机从起飞到降落的整个过程中飞机身份得到认证并且通信信息得到加密。该身份认证是基于共享对称密钥来实现的,即飞机和地面台站之间有可以通信的共同密钥,该密钥由上一阶段产生并且将飞机身份和该密钥进行了绑定,所以只需要传递共享密钥即可对飞机身份进行了认证,以下为密钥传递过程:

(1)起飞机场ADS-B 服务器对飞机身份认证成功后,产生双方共享的对称密钥k,接着起飞机场用二级CA 的公钥对密钥k和飞机唯一标识进行加密,并发送到二级CA 认证中心。

(2)二级CA 认证中心用自己的私钥对起飞机场发来的密文进行解密得到对称密钥k和飞机唯一标识。接着二级CA 根据该飞机的飞行计划,确定其所经过的ADS-B 台站。

(3)若该飞机所经过的ADS-B 台站都处于该二级CA管辖的范围内,则该二级CA 用该飞机所涉及的所有ADS-B台站的公钥对密钥k和飞机唯一标识进行加密,将密文发送到对应的台站,密文到达各个台站后用相应的密钥解密出对称密钥k和飞机唯一标识,根据密钥和飞机唯一标识与将要飞越的飞机建立安全通信。

(4)若该飞机所经过的ADS-B 台站不仅处于本二级CA 管辖区域内,还处于其他或同一一级CA 管辖下的其他二级CA 管理的范围内,则该二级CA 首先向自己管辖区域的ADS-B 台站传送密钥,如(3),同时该二级CA 用飞机经过的相邻的其他二级CA 的公钥对对称密钥k和飞机唯一标识进行加密,传递到相邻的二级CA 中心,该二级CA 解密,并进行(3)中的操作。

(5)其中(4)中的操作是以各个二级CA 之间有直接的链路为前提,如民航ATM 网或转报网络。若二级CA 之间没有直接的链路可以通过路由的方式,首先在密文上加上密文要抵达的二级CA 的标记,接着将该密文发送到对应的一级CA,一级CA 存有相应的路由表,根据二级CA的标记和路由表将该密文发送到相应的二级CA。若该密文所涉及的二级CA 是其他一级CA 下的二级CA,则该一级CA 根据路由表将该密文发送到相应的一级CA,一级CA根据二级CA 的标记和路由表,将该密文发送到相应的二级CA。其中密文处于一级CA 时,不需要对密文进行加密和解密。整个密钥传递过程是:二级CA 对二级CA。这样一级CA 不用花费太多资源去加密和解密,整个分配过程处于一种分布式的状态,计算所耗费的资源被分散到了各个二级CA。整体上提升了密钥传递过程的性能。

2.3 终点机场密钥销毁阶段

当飞机到达终点机场时,若飞机需停留很长时间(该时间门限值可设为24 小时)才进行下一次飞行,则可以对飞机共享的密钥进行销毁。进行下一次飞行时,再重新认证身份和分配密钥。若飞机停留几个小时后又重新起飞且经过的航线相同,则不需再进行身份认证,继续使用共享密钥。但为了确保密钥和身份认证的安全性,每24 小时需要更新一次会话密钥。

以上三个阶段构成了完整的ADS-B 飞机身份认证和数据加密方案。该方案提供了数据完整性、防否性、机密性和身份认证服务。确保了ADS-B 系统中的飞机的身份真实性,能有效抵抗假目标和非法数据攻击。

本文提出了一种ADS-B飞机身份认证和数据加密方案。该方案包含了数字签名技术、对称加密技术、PKI 公钥基础设施等。其中认证方案包括了基于公钥的认证和基于对称共享密钥的认证。本文还基于PKI 提出了与该方案相匹配的中国民航数字证书管理体系。ADS-B 飞机身份认证和数据加密方案为ADS-B 监视系统提供了机密性、数据完整性服务、防否认性服务和身份认证服务,为ADS-B 监视系统在运行过程中提供了各种安全保障,能有效抵抗ADS-B 监视系统中的假目标和非法数据攻击。下一步研究的重点是:认证方案的不断细化和对认证方案的形式化验证。

猜你喜欢 公钥服务器端密文 一种支持动态更新的可排名密文搜索方案黑龙江大学自然科学学报(2022年1期)2022-03-29嵌入式异构物联网密文数据动态捕获方法计算机仿真(2021年2期)2021-11-17一种新的密文策略的属性基加密方案研究无线互联科技(2019年13期)2019-10-17一种抗攻击的网络加密算法研究现代电子技术(2018年20期)2018-10-24神奇的公钥密码知识就是力量(2018年10期)2018-10-18国密SM2密码算法的C语言实现中国新通信(2017年18期)2017-10-22基于身份的聚合签名体制研究成长·读写月刊(2017年4期)2017-05-16基于Qt的安全即时通讯软件服务器端设计网络空间安全(2016年11期)2017-02-13基于Qt的网络聊天软件服务器端设计软件导刊(2016年11期)2016-12-22一种基于Java的IM即时通讯软件的设计与实现科技资讯(2015年19期)2015-10-09

推荐访问:算法 加密 身份认证