ACARS地-空数据链中数字证书的应用研究

2013-06-09 12:36吴志军贾悦霖
中国民航大学学报 2013年3期
关键词:数字证书数字签名私钥

吴志军,贾悦霖

(中国民航大学电子信息工程学院,天津300300)

ACARS地-空数据链中数字证书的应用研究

吴志军,贾悦霖

(中国民航大学电子信息工程学院,天津300300)

ACARS(aircraft communication addressing and reporting system)即飞机通信寻址报告系统,它是当前民航部门使用的飞机与地面的主要通信方式之一。ACARS地空数据链对航空飞行安全保障十分重要,但其安全性和重要性并非成正比。在分析其安全隐患的基础上,针对ACARS中实体身份认证方法的不足,在地-空安全会话初始化中研究基于椭圆曲线加密ECC(elliptic curve cryptography)的数字证书认证方法,以及基于OpenSSL的航空地-空数据链数字证书,设计和实现了用于签发和管理的证书授权机构。分析表明,将数字证书认证方法应用到ACARS中,会提高系统的安全性,并且不会对系统性能造成影响。

飞机通信寻址报告系统;数字证书;认证;椭圆曲线

飞机通信寻址报告系统ACARS于上世纪70年代提出,是一种基于甚高频VHF(very high ferquency)数据链的空地网络传输系统。ACARS用于通过自动报告飞机的到达和离场时间以及其它任务飞行数据来减少话音通信的要求[1]。

ACARS被提出后,在国际和国内范围都得到了广泛的应用,但关于ACARS数据链安全方面的研究并不多。ARINC公司对ACARS的四种安全威胁数据泄露、数据欺骗、实体伪装和拒绝服务攻击提出了安全方案,形成了ARINC 823协议,其中也提出将公钥数字证书应用于ACARS中[2-3]。在国内,北京航空航天大学也进行了ACARS安全的研究,搭建了ACARS通信仿真平台,提出了基于第三方的端对端安全构架,并对ACARS数据链进行了链路加密,基本实现了ACARS报文的安全传输[4]。但对密钥分发和身份认证方面的研究还有不足之处,在安全会话初始化中,非法用户可能窃取链路中的公钥并修改,使地-空对等实体无法完成身份认证,从而造成安全会话初始化失败,双方拒绝通信。

为了确保地-空通信中公钥传输的安全,可以在安全会话初始阶段,由可信的证书授权机构(CA)签发公钥数字证书,保护公钥不被修改,使一方数字签名的报文能被另一方验证[5],解决通信中的公钥安全分发问题。

另外,公钥数字证书使用数字签名技术,能保证信息传送的完整性、真实性和不可否认性,地面将用地面私钥签名的信息发送给飞机,飞机用从地面的数字证书中提取的地面公钥对地面身份进行认证,避免了受到实体伪装攻击的隐患,可以有效保障地-空通信安全。

基于以上分析,本文研究了基于OpenSSL建立CA系统的通用方法,并将数字证书认证方法应用于ACARS地空数据链的实体身份认证中,以弥补ACARS地-空数据链中实体身份认证方法的不足。

1 基于数字证书的认证方法

在ACARS中应用数字证书可以在会话初始化时进行身份认证,保证ACARS非法访问,进而避免数据欺骗和分布式拒绝服务攻击DDoS(distributed denial of service)等安全隐患。

1.1 ACARS数字证书

数字证书,即“网络身份证”,是用来标识和验证通信双方真实身份的数字信息文件。它由可信的第三方发证机构CA为用户签发和撤销,保护用户的公钥以及其他信息,带有CA的签名,具有安全、保密、防篡改,不可伪造性和不可否认性[6]。

在ACARS的公共密钥基础设施(PKI)中使用的证书格式都是遵循ITU X.509国际标准的,X.509也是使用最为广泛的一种证书格式[7],如图1所示。

图1 ACARS中数字证书结构Fig.1Structure of digital certificate in ACARS

1.2 数字证书的申请和签发

ACARS中证书的申请一般都是由负责管理飞机的航空公司负责,而证书签发则是由证书授权机构完成,具体过程如图2所示[8]。

图2 证书请求和签发Fig.2Request and issuance of certificate

其中,一个数字证书申请请求至少包括:

1)占用实体私钥的证明;

2)与公/私钥相关的实体的认证信息;

3)实体被授权请求证书的证明。

CA通过对证书请求的验证后,可以基于OpenSSL制作公钥数字证书[9]。

根据证书请求、申请证书对象,依次设置版本号、证书序列号、证书开始时间、证书结束时间、主体名称、公钥信息、颁发者信息、扩展项目,最后对证书数字签名并编码保存。

1.3 数字证书的验证

使用证书前必须对其进行验证。公钥证书必须是一个可用的ACARS证书,含ACARS证书所指定的必须部分,并经过CA的数字签名。

要验证一个ACARS证书,一个ACARS实体必须执行以下检查[3]:

1)检查版本字段,确定是X.509版本3证书;

2)检查主体标识名字段和主体备用名扩展字段,确定该域包含一个单独的ACARS实体名,实体名代表了期望与之通信的实体;

3)检查颁发者名字段,确认它包含了一个可信的颁发ACARS证书的CA名;

4)检查有效期字段并确认证书是最新的;

5)如果确认实体是地面并且证书吊销列表(CRL)有效,那么确认证书没被撤销;否则如果确认实体是地面而CRL无效,就认为证书已被撤销并终止检查;

6)检查主体公钥字段并确认它包含公钥算法和ACARS指定的参数;

7)检查密钥使用扩展名,确认它同时包含数字签名和密钥协商;

8)检查颁发者签名算法和颁发签名字段,确认证书已经被数字签名;

9)使用数字签名验证过程来验证CA签名。

1.4 ACARS安全会话流程

应用数字证书的ACARS安全会话初始化流程如图3所示[2]。

图3 ACARS安全会话初始流程Fig.3Secure session initiation process in ACARS

将数字证书认证方法引入ACARS,可以在安全会话初始化中由地面连入证书库,获取数字证书和CRL,完成实体的身份认证。具体过程如下:

1)CA生成自己的根证书和公/私钥对,公钥公开,私钥保密;

2)航空公司在安全会话初始化前生成飞机和地面的公/私钥对,将私钥分发给飞机和地面,用各自公钥和实体信息生成证书请求并发送到CA申请实体的数字证书;

3)CA对证书请求审核通过后为空地实体分别生成证书,并对证书进行数字签名,同时生成CRL。证书和CRL都保存在CA的证书库中,供用户查询;

4)CA根据航空中心的吊销请求吊销不能使用的证书,并及时更新证书库和CRL;

5)一般由飞机进行安全会话初始化,飞机用自己的私钥对初始化信息进行数字签名并发送到地面,若飞机中没有安装地面证书或证书不可用,则要向地面申请;

6)飞机和地面从CA获得对方证书。其中,飞机可通过以下两种方式获取地面的证书:

地面证书可能预存在飞机中。

初始化过程中,飞机请求地面上传。

地面从证书库中获得飞机的公钥证书和CRL,一旦找到,地面存储证书和CRL于本地内存来减少接入证书库。通信双方将各自证书预置于本地内存中;

7)地面首先要接收信息,再导出飞机证书,若验证证书失效,地面要连接到证书库重新获取飞机的证书和CRL;

8)地面用CA的公钥对飞机证书进行验证后,安装证书,从中提取飞机的公钥,验证飞机的数字签名,并从初始化信息中提取有用信息,构造会话中专用共享密钥,会话中一般使用对称加密算法进行加密,如AES;

9)若初始化信息中包含证书请求,地面要上传最新的证书给飞机;

10)地面确认初始化信息后要对此信息做出响应,飞机收到响应信息后先导出地面证书,并用CA公钥对证书进行验证;

11)验证通过后,飞机安装证书,并从证书中获得地面公钥,并生成会话中的共享密钥;

12)建立安全会话,传输应用数据等。

2 实现和测试分析

为了查看数字证书的引入是否会提高ACARS安全性,是否对ACARS执行效率造成影响,对ACARS流程进行了仿真实现,并针对证书制作时间、证书签发时间和证书所占用信道比率进行了测试分析。

2.1 实现过程

利用Visual Studio 2010搭建ACARS仿真环境,并将OpenSSL软件包用到CA中,建立证书库。CA接到请求后,验证实体身份,并生成飞机和地面的数字证书,如图4所示。

图4 飞机和地面证书Fig.4Certificate of aircraft and ground

通信对等实体对证书验证后,就可以安装证书到本地内存。飞机初始化安全连接,如图5所示。

飞机对安全会话初始化报文Init_REQ进行加密和签名,通过RGS和DSP,发送到地面,地面会对初始化报文的数字签名进行验证,如图6所示。

再用地面的私钥进行解密即可得到明文形式的报文,如图7所示。

图5 建立安全连接Fig.5Establish secure connection

图6 验证请求Fig.6Verify request

图7 解密后的报文Fig.7Packets after decryption

在一些特殊情况下(如私钥泄露),航空公司会向CA发送证书吊销请求,CA会吊销证书,并将证书序列号添加到CRL中。其中用到的部分OpenSSL命令如下:

1)生成椭圆曲线参数:ecparam-out EccCA.pemname prime256v1;

2)生成私钥及证书请求:req-new-newkey ec:EccCA.pem-keyout Ecckey.pem-out Eccreq.pem;

3)生成CA自签名根证书和CA私钥:req-x509-newkey ec:EccCA.pem-keyout CAkey.pem-out CAcert. pem;

4)生成用户(飞机)证书请求:ecparam-out airecc. pem-name prime256v1;

req-new-newkey ec:airecc.pem-keyout airkey. pem-out airreq.pem;

5)CA签发证书:CA-in airreq.pem-out cert.cer–notext–days 356;

6)CRL生成:CA-genCRL-CRLdays 7-CRLhours 7-out CRL.CRL;

7)吊销证书(原因:密钥泄露):CA-revoke aircert. cer-CRL_reason keyCompromise;

8)更新证书库:CA-updated。

2.2 测试分析

针对所提出的ACARS实体身份认证方法,对引入数字证书后系统的安全性和计算性能进行了分析。

2.2.1 安全性分析

正常会话初始化情况下,飞机将公钥发送到地面,并用私钥对初始化报文Init_REQ数字签名。若飞机公钥在传输中被截获或篡改,则地面无法对飞机签名进行认证,进而拒绝飞机的会话初始化请求,影响了系统正常运行。若在受保护信道传输公钥,又对资源造成浪费。

将数字证书认证方法引入ACARS,就解决了密钥的发布和管理问题,将实体身份和实体公钥联系起来。由于证书不可伪造,地面在验证CA的签名后可确认信息来源,安装飞机证书并从中提取飞机公钥,提高了ACARS运行效率和安全性。

另外,在正常情况下,如果有非法攻击端伪装成飞机或地面用户,要在会话初始化时被地面或飞机验证身份,而非法攻击端不会通过CA的身份验证,也就没有CA颁发的证书,飞机或地面对其身份验证失效后,会决绝与其建立连接,这就在会话开始前有效防护了实体伪装,确保了地-空数据链连接的安全建立。

2.2.2 计算性能分析

利用OpenSSL生成ECC标准X.509v3证书[9],并对证书制作时间和传输时间进行了测试,对信道占用率进行了计算,结果如表1所示。测试的硬件平台为普通微机(AMD Athlon64 X2 7750,2G内存),操作系统为Windows 7。

数字证书的制作和传输是在安全会话建立初始化中完成,这时空地实体还没有发送应用数据,所以证书的传递不会对信道中传输报文造成影响,由表1也能看出,数字证书的制作和传输时间都很短,几乎不会占用安全会话初始化的时间,所以,将数字证书用到ACARS地-空数据链中,对系统性能带来的影响可忽略不计。

表1 证书的制作时间、传输时间和信道占用率Tab.1Production time of certificate,transmission time of certificate and use rate of channel

3 结语

本文对ACARS地-空数据链安全隐患进行分析,找出实体身份认证方法的不足,将数字证书认证方法应用于ACARS地-空数据链中,构建了证书授权机构CA,可以在地-空安全会话初始化时制作并签发X. 509数字证书证书,实体可以使用数字证书完成对方身份的认证,在一定程度上保障了通信安全。分析表明,将ECC数字证书认证方法引入到ACARS中,能有效解决实体身份认证问题,避免了实体伪装等安全隐患,同时,数字证书的制作和传输时间很短,不会对系统性能造成影响。本文仅涉及了一级CA,并未考虑多级CA及交叉认证等情况,也没有对其他安全隐患进行防范,在今后的研究中会进一步完善。

[1]ACARS.官方文档[G]:http://www.arinc.com/products/voice_data_comm/ ACARS.html.

[2]ARINC 823P1-2007,Data link security part2-ACARS message security[S].Annapolis:Aeronautical Radio,Inc,2007.

[3]ARINC 823P1-2007,Data link security part1-ACARS message security[S].Annapolis:Aeronautical Radio,Inc,2008.

[4]王晓琳,张学军,何葭.ACARS数据链中的安全通信[J].航空电子技术,2003,34(z1):95-100.

[5]张方国,王常杰,王育民,等.基于椭圆曲线的数字签名与盲签名[J].通信学报,2001,22(8):22-28.

[6]HOUSLEY R.RFC 2459-Internet X.509 Public Key Infrastructure Certificate and CRL Profile[G].ISOC:January 1999.

[7]许平.基于X.509标准的CA数字证书系统的设计与实现[J].计算机与数字工程,2011,39(9):95-97,167.

[8]赫威,陈谦,李鑫,等.浅析电子数字证书签发系统[J].黑龙江科技信息,2011(20):77.

[9]王志海,童新海,沈寒辉.OpenSSL与网络信息安全—基础、结构和指令[M].北京:清华大学出版社,北京交通大学出版社,2007:100-127.

[10]关振胜.公钥基础设施PKI及其应用[M].北京:电子工业出版社,2008.

(责任编辑:党亚茹)

Research on digital certificate in ACARS ground-air datalink

WU Zhi-jun,JIA Yue-lin
(College of Electronic and Information Engineering,CAUC,Tianjin 300300,China)

Aircraft Communication Addressing and Reporting System(ACARS)is the main method of communication in civil aviation of China.ACARS air-ground datalink is quite important for aviation security,while the datalink system is not secure enough since lacking of adequate research on it.With regard to the shortcuts of entity authentication method in ACARS,and on the basis of analyzing the risks existing in the datalink,this paper studies the digital certificate authentication method based on the elliptic curve cryptography during the secure session initiation process between the ground and aircraft entity,then designs and implements a certificate authority for signing and managing certificates based on OpenSSL in aviation ground-air datalink,and finally completes the authentication between ground and aircraft before the secure session.Analyses show that the digital certificate authentication method used in ACARS improves the security of the system,without impacting on system performance.

aircraft communication addressing and reporting system(ACARS);digital certificate;authentication;elliptic curve

TN918.91

A

1674-5590(2013)03-0023-04

2012-06-06;

2012-10-09

吴志军(1965—),男,新疆库尔勒人,教授,博士,主要研究方向为网络与信息安全.

猜你喜欢
数字证书数字签名私钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于正交拉丁方理论的数字签名分组批量验证
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
交通运输行业数字签名系统的设计与实现分析
浅析计算机安全防护中数字签名技术的应用
一种基于虚拟私钥的OpenSSL与CSP交互方案
基于数字证书的军事信息系统安全防护方案
数字签名保护Word文档
掌握方法用好数字签名