基于CRC校验的航电网络传输通道安全性分析
摘要
完整性概率是民用飞机与系统安全性的评价指标之一。循环冗余校验(CRC)是航空电子系统通信网络中广泛应用的完整性设计措施。针对缺乏CRC校验定量安全性分析的现状,基于标准CRC校验的性能,研究了业务数据在航空电子系统通信网络传输过程中出现错误且被CRC漏检的概率。结合案例分析了CRC校验对航电网络传输通道完整性需求的影响。分析结果表明通过在应用层采取CRC校验等设计措施,并确保业务数据在网络传输过程中发生错误且被CRC漏检的概率满足顶层分配的完整性需求,则网络传输通道或链路层可无需考虑针对特定业务数据的完整性需求,进而缓解对网络传输通道的安全性需求。分析思路为航电网络CRC校验设计及安全性分析提供参考。
关键词
航电网络;CRC校验;安全性分析;漏检率;误码率;完整性概率;DAL
引言
由于机载环境中各种噪声和电磁干扰等复杂因素影响,业务数据在航空电子系统通信网络传输过程中可能出错。若出错的数据为影响飞机持续飞行与着陆的关键数据,则可能极大地降低安全裕度甚至导致灾难性事件。因此适航标准对机载系统有明确的完整性设计目标[1],即机载系统不正确工作或工作异常的概率须满足适航标准规定的定量需求。
完整性设计措施主要包括表决、校验、自检与非相似设计等[2]。其中循环冗余校验(Cyclic Redundancy Check,简称CRC)是航空电子系统通信网络中广泛应用的二进制数据校验技术,可大幅提升数据的完整性。目前,关于CRC检验对航空电子系统安全性的影响,尤其是定量的理论分析方面,鲜有文献进行讨论。
将航电网络通信协议简化成物理层、链路层与应用层3层,在航电网络终端(应用层)采取CRC校验的前提下,若业务数据在网络传输过程中发生错误且被CRC漏检的概率能够满足顶层分配的完整性需求,则网络传输通道(链路层)可无需考虑针对特定业务数据的完整性需求,进而缓解对网络传输通道的安全性需求。本文基于标准CRC校验的性能,研究了业务数据在航空电子系统通信网络传输过程中出现错误且被漏检的概率,结合案例分析了CRC校验对航电网络传输通道完整性需求的影响,为航电系统网络架构设计、数据完整性校验设计及其安全性分析提供量化参考,进而为系统完整性设计方案的优选提供支撑。
航电网络及其完整新需求
民机航空电子系统通信网络通过A429、A629、FC、SCI、AFDX等总线互联[3],提供了数据传输的公共通道。由于本文是在航电网络终端(应用层)采取CRC校验的前提下,研究对网络传输通道(链路层)的安全性需求(完整性概率与研制保证等级(DAL))的影响,因此网络传输通道的具体拓扑结构不影响本文分析结果,为便于后续分析,将航电网络简化为图1所示结构。
图1 简化的航电网络结构
安全性目标及需求是民机系统设计的基本输入之一。以民用运输类飞机为例,咨询通告AC25.1309规定了不同严酷度类别下飞机系统必须满足的顶层安全性需求,包括可用性与完整性概率、DAL、单点故障准则等,其中不同严酷度类别的完整性需求见表1[1]。这些安全性需求通常借助功能危险评估(FHA)落实到具体的飞机系统顶层功能,表1给出了不同严酷度类别对应的典型功能参考。对于“Catastrophic”失效状态,AC25.1309要求无单点故障导致其发生,因此必须采取冗余设计(双余度或更高余度),如图1所示。而对于“Hazardous”类失效状态通常也需要采取冗余设计才能满足其完整性需求。
表1 不同严酷度类别的完整性需求
航电网络的完整性需求取决于其承载的系统顶层业务功能。通过FHA确定业务功能的完整性需求后,需要借助初步系统安全性分析(PSSA),结合网络架构将系统完整性需求进一步分配到网络各环节或组成单元。
数据错误且CRC漏检的概率
2.1 CRC校验及其漏检率
CRC校验的基本原理是发送端根据CRC算法对k位信息码之后拼接r位的校验码,形成长度n位的(n,k)码。接收端收到码之后根据约定的CRC算法计算并对比接收到的CRC校验码,进而识别传输过程中出错的数据。CRC校验码是用待发送的k位信息码左移r位,然后将最高幂次为r的生成多项式G(X)转换的r +1位二进制码作为除数,对组合后的n位二进制码进行模二除(按位异或),得到的r位余数就是CRC校验码。具体的CRC校验码生成步骤参见相关标准或论文,本文不再赘述。
根据CRC算法,CRC校验存在碰撞的可能,即不同的数据有相同的校验值。如果无法检测出这种碰撞,则发生了错误漏检。生成多项式G(X)的选取决定了CRC校验的性能。基于标准G(X)的CRC校验的性能如下 :
(1)可检测出所有奇数个突发错误;
(2)可检测出所有单个突发错误;
(3)可检测出所有两个突发错误;
(4)可检测出所有长度小于等于r个比特的突发错误;
(5)突发错误长度l=r +1个比特,其漏检率为1/2r-1;
(6)突发错误长度l>r +1个比特,其漏检率为1/2r。
常用的标准G(X)及其漏检率如表2所示。
表2 标准G(X)及其漏检率
2.2 数据错误且CRC漏检的概率
航电网络数据传输过程中存在多种复杂因素(噪声、电流脉冲、单粒子翻转(SEU)、传输设备故障等)导致二进制比特翻转。假设在传输通道中单个比特翻转的概率(即误码率)为α,且各个比特翻转事件是独立的,则对于n位二进制(n,k)码出错的总概率为:
基于表2标准G(X)的CRC校验,只有错误比特位长度l>r +1且为偶数时存在漏检的可能。l>r +1的偶数个突发错误的样本总数为:
n位二进制码出错总共有2n-1个样本,则n位二进制(n,k)码出现l>r +1的偶数个突发错误的概率为:
综上,n位二进制(n,k)码出错且被CRC漏检的概率为:
由于民机系统安全性概率需求以每飞行小时(FH)为单位,因此P2需根据数据发送频率f(Hz)换算成每飞行小时(FH)概率为:
为便于后文对比,将P1换算成每飞行小时概率为:
对于CRC-12、CRC-16(或CRC-CCITT)与CRC-32,给定f为20Hz、α为1E-7,则n-P4的对应关系如图2所示。
图2 基于标准CRC的n-P 4对应关系
航电网络传输通道的安全性分析
3.1 l≤r +1的情况分析
对于突发错误长度l≤r +1的情况,基于标准G(X)的CRC校验理论上可以100%检测出错误。即,要确保数据完全不被漏检,则只能使用1位信息码。显然这种编码方式的通信效率太低,极大地限制了其应用。若在适合的场景下使用r +1位的CRC编码方式,如主备用切换、关键状态信息等,则可以避免向网络传输通道分配针对该业务数据的完整性需求,只分配可用性需求。需注意对于完成CRC编码、解码的网络终端设备,仍须满足顶层分配的完整性需求。
3.2 l>r +1的情况分析
对于突发错误长度l>r+1的情况,基于标准G(X)的CRC校验存在数据错误且漏检的概率P3或P4。以下结合案例分析CRC校验对网络传输通道安全性需求的影响。
基于图1简化的航电网络结构,利用故障树将顶层功能完整性概率需求分配到网络传输通道。对于“Catastrophic”与“Hazardous”类完整性概率需求,假定1)系统均采取双冗余设计;2)应用终端对不同源头的数据进行比对表决;3)数据在网络中的传输路径相对独立;则这两类失效状态的故障树结构一致,如图3所示。对于“Major”与“Minor”类完整性概率需求,假定无冗余设计,应用终端直接使用单个数据源的数据,其故障树结构一致,如图4所示。为简化分析,概率需求采用平均分配。取平均飞行时间为3FH,则分配结果如表3所示。其中对于数据生成/应用终端的完整性概率需求,基于现有航电设备的可靠性水平是能够满足的。
图3 “Catastrophic”与“Hazardous”类故障树
图4 “Major”与“Minor”类故障树
表3 网络传输通道的安全性需求
假定某业务数据的生成终端通过ARINC429总线对外发送该数据,发送频率20Hz,其中信息码长度k为16位。考虑机载总线传输系统的误码率α必须达到1E-7[10],则业务数据在航电网络传输过程中出错且CRC漏检的概率P4计算结果见表4。
表4 数据错误且CRC漏检的概率计算案例
计算结果表明:
1)若采取CRC-12校验,数据的完整性概率提高了4个数量级。对于II类、IV类严酷度,CRC-12校验能够满足分配给网络传输通道的完整性概率需求。而对于I类、III类严酷度,CRC-12检验不能满足分配的完整性概率需求。这种情况下,则需要向网络传输通道或链路层分配I类、III类严酷度对应的完整性概率需求与DAL需求,或者在应用层采取设计措施以确保系统完整性需求得到满足,如:
(1)采用更高性能的CRC校验
(2)对待传数据进行分组校验
(3)将待传数据无损压缩后再校验
(4)采取冗余设计,应用终端对冗余数据对比表决
2)若采取CRC-16、CRC-CCITT或CRC-32校验,数据的完整性概率提高了至少6个数量级。这种情况下对于任何严酷度的业务数据,均无需向网络传输通道分配完整性需求,只需要向网络传输通道分配针对该业务数据的可用性需求。通常可用性需求低于完整性需求,因此通过应用层的CRC校验可缓解对网络传输通道的安全性需求。例如,空中交通服务(ATS)作为机载数据链应用之一,其完整性需求为1E-5/FH、DAL C,可用性需求为1E-3/FH、DAL D。在机载和地面应用终端采取CRC-16或CRC-CCITT校验的前提下,对ATS机载通信链路(如VHF、HF、卫星通信等)分配可用性需求即可,机载通信链路的数据完整性由应用层CRC校验保证。
以上案例分析仅给出l>r +1情况的分析思路,实际工程中的情况是复杂的,需要结合具体业务数据的安全性需求、实现原理、总线结构等相关因素进行分析。此外,对于冗余设计,数据在网络中传输路径的独立性也需要重点考虑。
结论
本文分析了应用层CRC校验对航电网络传输通道安全性需求的影响,结论如下:
1)基于标准的CRC校验,若采用r +1位的编码方式,理论上无漏检的可能性,则无需向网络传输通道分配针对该业务数据的完整性需求。但这种编码方式的信息码只有1位,通信效率极低,应用场合有限。
2)若采用r+k(k>1)的CRC编码方式,可按照本文思路评估数据错误且被漏检的概率并采取相应的完整性设计措施,如采用更高性能的校验、分组校验或冗余(表决)设计等,使其满足顶层分配的完整性概率需求,进而缓解对网络传输通道的安全性需求,为系统完整性设计方案的优选提供支撑。
(以上文章来源《民用飞机设计与研究》,作者单位:中电科航空电子有限公司,作者:曾强、江源、王焱滨)
本篇文章来源于微信公众号: 航电科技圈
还没有评论,来说两句吧...