CCSDS空间数据链路层安全协议研究

2016-09-08 01:35刘建勋程子敬陆翔林楷
电子设计工程 2016年1期
关键词:链路层信道加密

刘建勋,程子敬,陆翔,林楷

(航天恒星科技有限公司 北京 100086)

CCSDS空间数据链路层安全协议研究

刘建勋,程子敬,陆翔,林楷

(航天恒星科技有限公司 北京100086)

空间数据系统咨询委员会(CCSDS)一直致力于空间任务安全性方面的工作,并成立了一个工作小组,旨在数据链路层为遥控遥测通信制定安全协议,即空间数据链路安全(SDLS)协议。该协议为已存在的空间数据链路协议(TC、TM和AOS)提供认证、加密和认证性加密安全服务。本文简介了SDLS协议制订的背景及其特点,较为详细地描述了其协议结构、支持的服务类型以及协议的基线实现模式,最后对该协议的应用提出了一些建议。

空间数据安全;空间数据系统咨询委员会(CCSDS);综述;空间数据链路安全(SDLS)

随着我国航天任务的不断增加和航天应用的迅速发展,各类航天器与地面的连接越来越普遍,数据的安全性问题始终是数据传输系统中一个十分被关注的问题。CCSDS是一个开发式系统,有条件的任何人对系统中的数据都能够访问到,再加上计算能力的不断提升和通信资源的快速发展,航天任务系统面临一定安全威胁,因此数据的安全性是系统设计中需要重视的一个问题[1]。

多年以来,CCSDS一直致力于为空间任务提供安全标准以及为其他领域提供安全指导的工作。CCSDS安全工作小组已经制定了空间安全架构、空间任务威胁文档、安全协议指南、密钥管理指南以及加密和认证算法等相关标准。而对于单个航天器通过地面站连接至控制中心的典型CCSDS空间任务簇,还没有相关安全标准。在这个简单的互联拓扑中,如果需要对上行指令认证和/或下行载荷数据加密,目前每个任务必须研制自己的解决方案,工作重复性很大。另外,随着航天领域的国际合作与交互支持需求不断增强,各国之间需要统一相关接口标准,尤其是安全标准,以减少系统设计的复杂性。由此,CCSDS提出一种标准化想法,即对于网络拓扑简单的空间任务,可以在数据链路层将安全性集成到空间任务中去,这样可以避免每个项目开发单独的安全解决方案。

CCSDS已经成立了由空间链路服务和系统工程(安全)领域相关成员组成的联合工作小组,以开发空间链路层安全服务的CCSDS标准,旨在提供独立于加密算法的空间链路层安全标准,并且兼容已广泛使用的TC、TM和AOS标准,使其可以直接采用安全服务而不需要任何的更改或业务流程再设计,同时该标准与CCSDS空间链路扩展服务(SLE)相兼容[2]。

1 SDLS协议

2011年,CCSDS发表了《空间数据链路安全协议》红皮书(CCSDS 355.0-R-1),并分别在2012年、2013年进行了相关修改(CCSDS 355.0-R-2、CCSDS 355.0-R-3)。目前该标准仍为评审稿,技术成熟性仍需要进一步完善。

空间数据链路安全(SDLS)协议通过一个额外的安全子层来实现,它位于ISO开放互联模型(OSI)的数据链路层和网络层之间。SDLS协议可用于创建各组织成员的标准以及未来CCSDS各成员组织在交互支持中空间链路数据通信的标准,不仅可以减少各国不同型号航天任务中安全解决方案的重复设计,同时使交互支持中的技术、管理和操作成本得到一定程度的削减,而且有助于通用商业化的开发实现,提高各组织间的互操作能力。

1.1SDLS协议典型任务网络拓扑

SDLS协议针对的典型空间任务网络拓扑结构为一个任务控制中心经过地面站与航天器进行通信,如图1示[3-4]。地面站和任务控制中心之间的地面网络构成了空间链路扩展(SLE)业务。

图1 任务网络拓扑一Fig.1 Mission network topology A

任务控制中心与航天器之间端到端安全通信分为两部分:第一部分工作是保护SLE服务以及连接任务控制中心和地面站的地面网络;第二部分,即SDLS协议的作用范畴,涉及保护端到端空间数据链路协议,靠近地面任务控制系统。

1.2SDLS协议在CCSDS分层中的位置

空间数据链路安全(SDLS)协议是在航天任务的空间链路中,为数据链路层协议的“传送帧”提供认证或/和加密服务的协议。SDLS位于OSI参考模型的数据链路层,可以看作CCSDS数据链路协议子层的一个功能实体,如图2所示。

图2 SDLS与OSI/CCSDS分层Fig.2 SDLS with OSI/CCSDS

SDLS协议为TM、TC和AOS 3种链路层协议的相关业务提供认证、加密、认证性加密3种安全服务,支持的业务类型如图3所示,图中列出了物理信道的发送端部分。

SDLS协议结合相应数据结构,为空间链路协议传送帧中基于字节的用户数据的安全功能实体提供一个安全的标准方法。传送帧中 “安全导头 (Security Header)”和 “尾部(Trailer)”用于传输必要的加密参数,同时由于两者的存在,空间链路协议中传送帧的数据域大小也相应减少。

1.2.1为TM提供的安全服务

安全协议可以为TM传送帧中的“数据域”提供3种安全服务(认证、加密、认证性加密),即虚拟信道包(VCP)业务和虚拟信道访问(VCA)业务;可以为传送帧的“主导头”和其它可选数据域(虚拟信道帧副导头业务,VC_FSH)提供认证服务,但不提供加密服务。

安全协议对TM传送帧中的其它可选数据域不提供安全服务,包括虚拟信道操作控制域(VC_OCF)业务、主信道帧副导头(MC_FSH)业务和主信道操作控制域(MC_OCF)业务;对于外来数据源,如虚拟信道帧(VCF)业务和主信道帧(MCF)业务,也不提供安全服务。

1.2.2为TC提供的安全服务

安全协议可以为TC传送帧中的“数据域”提供3种安全服务(认证、加密、认证性加密),即多路接入指针(MAP)包业务、多路接入指针(MAP)访问业务、虚拟信道包(VCP)业务和虚拟信道访问(VCA)业务;安全协议可以TC传送帧主导头数据域提供认证服务。

安全协议对TC传送帧中的命令操作过程(COP)管理业务以及外来数据源业务不提供安全服务,外来数据源业务包括虚拟信道帧(VCF)业务和主信道帧(MCF)业务。

1.2.3为AOS提供的安全服务

安全协议可以为AOS传送帧中的“数据域”提供3种安全服务(认证、加密、认证性加密),即虚拟信道包(VCP)业务、位流业务和虚拟信道访问(VCA)业务;安全协议可以AOS传送帧主导头数据域提供认证服务。

安全协议对AOS传送帧中的其它可选数据域不提供安全服务,包括虚拟信道操作控制域(VC_OCF)业务和插入业务;对于外来数据源,如虚拟信道帧(VCF)业务和主信道帧(MCF)业务,也不提供安全服务。

1.3SDLS协议数据单元

SDLS协议将空间数据链路上传送帧的应用数据封装在“安全导头”和“尾部”之间。安全导头和尾部包含了接收端用于解密和消息验证必要的语境信息,如图4所示。

“安全导头”包括安全参数索引(Security Parameter Index,SPI)、初始化向量、防回放序列号和填充长度。“尾部”为消息认证码(Message Authentication Code,MAC)。除“安全参数索引”外,SDLS中其它数据域是变长可选的,它们取决于安全联盟(Security Association,SA)所采用的密码算法,SDL传送帧格式如图5所示。

安全参数索引(SPI)长度为2字节,用于唯一标识传送帧所采用的SA,物理信道上SPI参数相同的所有传送帧共享同一SA,一个主信道上至多有65 534个SA。接收端根据SPI对应的SA来确定安全导头和尾部中可选数据域的长度。

初始化向量常用于加密进程的一个输入,它取决于具体的加密算法;序列号用于认证或认证加密服务的SA,用于检测非授权的数据重放;根据加密算法和模式的不同,对于小于加密块的数据需要进行额外的填充,填充长度域用于标识填充区域的长度;消息认证码(Message Authentication Code,MAC)由提供认证和完整性的相关算法计算得出。

1.4SDLS协议中的安全联盟

SDLS协议从IPSec中借鉴“安全联盟(SA)”的概念并进行调整以适应空间通信的特点。安全联盟(SA)定义发送方和接收方在通信会话中使用的密码通信参数。SA定义了单向的、状态加密会话以提供认证、数据完整性、重放攻击和/或数据机密性服务。

图3 安全协议对空间链路协议的支持Fig.3 Security Protocol Supports for SDL Services

在同一物理信道上,共享同一SA的所有传送帧组成“安全信道”,一个安全信道包含一个或多个GVCID或多路接收指针(MAP ID,仅限于TC),在SA生成时分配给SA。

安全参数索引(SPI)用于唯一标识传送帧所采用的SA;物理信道上SPI参数相同的所有传送帧共享同一SA。SA一旦创建,则至少为使用该SA的所有传送帧提供一种下面的一种安全功能:认证、加密、认证加密。SA一旦创建,则用于认证或加密的算法及操作模式在SA生存周期内保持不变。

当需要在信道上进行安全通信时,发送方和接收方必须创建SA,关联加密密钥,并在使用前激活。SA可以在任务开始前静态预置,也可以按照需要动态创建,即便是其它SA仍处于激活状态也可以动态创建。SA联盟的切换机制是由应用层功能函数来完成的,安全联盟管理涉及的相关参数参见文献[2]。

图4 SDLS协议中"安全导头"和"尾部"Fig.4 Security header and trailer of SDLS protocol

图5 应用安全协议的SDL传送帧Fig.5 Transfer Frame Using the Security Protocol

2 SDLS协议基线实现模式

为了在空间任务工程中更容易地采用SDLS协议,促进可用于多任务的协议研究与实现,工作组制定了SDLS协议的基线实现模式。基线实现模式经过了至少两个CCSDS组织成员之间交换支持的测试和验证。对每个空间数据链路(TC、TM和AOS),基线实现模式给出了建议采用的安全服务、协议数据域和相应参数值。为了精简协议的安全导头,去掉了所有可选的协议数据域。

基线模式的安全服务是基于预先的安全性要求的:对于TC,所有空间任务组织都要求充分实现认证服务;对于TM 和AOS,对安全性的要求更多的是数据的机密性。由于工作组一致认为只有补充了完整性保护,才能实现鲁棒的数据机密性,所以对TM和AOS推荐的是认证性加密服务。

2.1TM基线模式

对于TM协议,用于交换支持测试和操作的基线实现模式为“认证性加密”服务,使用的是GCM模式的高级加密标准(AES),其密钥长度为128比特;输入初始向量长度为96比特,输出消息认证码(MAC)长度为128比特。

TM基线模式的安全导头长度为14字节,安全尾部为16字节。由于GCM模式使用一个简单递增的初始向量,故不再需要“序列号”数据域;GCM模式也不用填充数据;安全尾部(消息认证码)的长度为128比特。

2.2TC基线模式

对于TC协议,用于交换支持测试和操作的基线实现模式为“认证”服务,使用的是CMCA模式的AES算法。其密钥长度为128比特;防重复序列号为32比特,输出消息认证码(MAC)长度为128比特。

TC基线模式的安全导头长度为6字节,安全尾部为16字节。由于CMCA模式不进行数据加密,所以不需要“初始向量”和“填充长度”数据域;安全尾部(消息认证码)的长度为128比特。

2.3AOS基线模式

对于AOS协议,用于交换支持测试和操作的基线实现模式为“认证性加密”服务,使用的是GCM模式的高级加密标准(AES),其密钥长度为128比特;输入初始向量长度为96比特,输出消息认证码(MAC)长度为128比特。

AOS基线模式的安全导头长度为14字节,安全尾部为16字节。由于GCM模式使用一个简单递增的初始向量,故不再需要“序列号”数据域;GCM模式也不用填充数据;安全尾部(消息认证码)的长度为128比特。

3 SDLS协议安全性分析与应用建议

3.1SDLS协议的潜在威胁

在空间通信信道上,SDLS可以为TM、TC和AOS提供认证、加密、认证性加密3种安全服务,但仍存在一定的安全威胁:

1)SDLS协议不提供“抗拒绝服务攻击”的安全措施,如射频干扰等。这是由空间链路固有的开放性所决定的。为此,可以在链路层采用扩频等相关技术来防范此类攻击;

2)SDLS协议不提供“抗流量分析”的安全措施,由于链路层加密数据域不包括飞行器标识、虚拟信道标识、TC的MAP标识、操作控制域(OCF)或命令操作过程(COP),故攻击者可以侦听此类数据来分析飞行器或通信实体间等的相关状态;

3)SDLS协议对TC的命令操作过程(COP)以及COP对应的命令链路控制字(CLCW)状态信息不提安全服务,攻击者可能利用无效的COP控制指令干扰通信进程。对此,TC对其需要采取额外的安全措施。

另外,安全协议没有提供用于加密密钥管理的协议,存在由于加密模式转换而引起的脆弱性等。

3.2对我国空间任务应用SDLS协议的建议

我国航天任务系统初步建立了以技术体系结构和管理体系结构为基础的信息安全体系,并且正在不断完善立体化、多层次的网络信息安全防护体系[5]。SDLS协议是CCSDS安全体系结构的重要组成部分,在链路层采用数据保护有其特定的明显优势[6],采用SLDS协议应注意一下几点:

1)SDLS协议要经过地面和在轨充分验证,尤其是交互支持时的性能测试与验证。2)各SA采用的加密算法[7]、密钥及初始向量要相互独立;3)SA提前预置到星上和控制中心[8],在使用时尽可能不进行协商。

4)建立对应的可靠密钥管理,尤其是在交互支持中。

我国作为CCSDS的正式成员,航天任务已采用了大量CCSDS标准建议[9],采用SDLS协议作为数据保护方式,不仅可以减少我国不同型号航天任务中安全解决方案的重复设计,同时有利于我国开展广泛的空间任务交互支持。因此,在建立我国航天数据系统链路层安全标准时,应兼容SDLS协议标准,同时也应增添自己独立的安全标准。

4 结束语

本文介绍了SDLS协议的基本内容、数据结构及其支持的业务类型及安全服务,分析了SDLS协议的安全威胁,并提出了一些应用建议。SDLS协议是CCSDS链路层的安全措施,它不仅可以提供高级别的安全性能,同时保留了CCSDS协议提供的优越性能,而且降低了系统对安全性处理能力的要求,在未来航天任务中将会得到一定程度的应用。

[1]谭维炽,顾莹琦.空间数据系统[M].北京:中国科学技术出版社,2004.

[2]CCSDS 355.0-R-3 Space Data Link Security Protocol[S]. Washington D.C.:CCSDS Secretariat,2013.

[3]I.Aguilar Sanchez,C.Biggerstaff,D.Fischer,et al.Towards Completion of the CCSDS Space Data Link Security Protocol [C].//2012 IEEE Aerospace Conference,Big Sky,MT,United States:1-15.

[4]I.Aguilar Sanchez,G.Moury,H.Weiss.The CCSDS Space Data Link Security Protocol[C]//AFCEA/IEEE Military Communications Conference(MILCOM 2010),San José,USA,2010:219-223.

[5]苑刚,王喆.CCSDS空间数据系统安全体系结构研究[J].飞行器测控学报,2012,31(增):23-28.

[6]黄薇,张继生.CCSDS AOS数据保护途径的研究[J].飞行器测控学报,2001,21(1):11-20.

[7]闻怡.时变加密算法可靠性改进[J].电子设计工程,2014 (14):168-170.

[8]董新燕,丁学明,王健.基于改进的引力搜索算法的T-S模型辨识[J].电子科技,2015(11):16-20.

[9]李少宾,白海斌,张亚生.IP over CCSDS协议适配的高速并行实现技术[J].飞行器测控学报,2013(5):432-437.

Research on space data link security protocol of CCSDS

LIU Jian-xun,CHENG Zi-jing,LU Xiang,LIN Kai
(Space Star Technology Co.,Ltd,Beijing 100086,China)

For more than 10 years ongoing effort in the area of space mission security,the Consultative Committee of Space Data System(CCSDS)has formed a joint working group to develop a security protocol at the Data Link layer for Telecommand and Telemetry communications.The result of this working group is the production of CCSDS Space Data Link Security(SDLS)protocol.This protocol provides Security Services like Authentication,Encryption and Authenticated Encryption to the existing CCSDS family of Space Data Link(SDL)protocols:Telecommand(TC),Telemetry(TM)and Advanced Orbiting System (AOS).This paper gives a general description of SDLS protocol,and then summaries some suggestions for its application in China's space mission.

space data security;committee for space data system(CCSDS);introduction;space data link security protocol

TN91

A

1674-6236(2016)01-0040-05

2015-03-24稿件编号:201503322

国家自然科学基金重大研究计划资助项目(91438117)

刘建勋(1987—),男,河北邯郸人,硕士研究生。研究方向:空间网络协议安全。

猜你喜欢
链路层信道加密
一种新型离散忆阻混沌系统及其图像加密应用
基于多空间内存共享的数据链路层网络包捕获方法
卫星网络中的TCP 跨层技术研究
一种基于PCI接口的1394B总线的设计与实现
一种基于熵的混沌加密小波变换水印算法
加密与解密
FRFT在水声信道时延频移联合估计中的应用
认证加密的研究进展
基于导频的OFDM信道估计技术
IEEE 1394事务层接口的设计与实现