张 屹 何春明 魏学业 徐 虎
*北京和利时系统工程有限公司 工程师,100961 北京
**北京和利时系统工程有限公司 高级工程师,100961 北京
***北京交通大学 电子信息工程学院 教授,100044 北京
****北京和利时系统工程有限公司 工程师 (铁道部C 3技术攻关组成员),100961 北京
当通信系统传输安全相关信息时,并不需要使用专用的传输设备和线缆,而只需要升级现有的上层通信协议,在其中添加安全通信层。安全通信层可以检测现有通信系统发生的错误,从而保证消息传输的安全性。当接收消息的安全设备检测到安全消息错误时,就需要产生导向安全侧动作,例如重新建立安全通信连接、关闭输出、发送默认消息等。因此安全通信层有效地检测下层通信错误,是通信系统保证安全性的关键。
检测安全消息错误的有效性主要由 2方面来保证。一方面,实现安全通信层作为安全相关子功能,要满足一定的安全完整性等级 (SIL)要求,即安全通信层的软硬件实现平台能够提供足够小的失效率。另一方面,即使实现安全通信层是完全正确的,经过安全通信层的消息残余错误率也不等于 0,因此,需要通过有限合理的代价设计安全通信层,使其具有足够小的残余错误率。
目前,安全码是安全通信层设计中普遍应用的技术。在封闭通信系统中,安全码主要用于检测数据传输的随机错误和突发错误,一定程度上决定了安全通信层中其他技术的有效性,而且可以通过定量计算得到其残余错误概率,因此安全码是安全通信层保证错误漏检概率的关键,选择和生成安全码也是设计安全通信层的主要任务。
在开放通信系统中,传输介质的属性是未知、可变的,非授权的接入情况不可忽略,因此接入端的最大数目也是未知的。由于非授权接入,安全设备可能接收到非安全设备甚至是黑客发送的伪装消息,即安全设备误认为接收的消息为合法的安全消息。为保证系统在非授权接入情况下的安全性,也需要利用安全码来检测接收的伪装消息。
安全消息的传输受到通信网络和外界环境 2个方面影响。首先,通信网络一般未定义其安全属性,设计人员对其缺乏控制。例如,网络设备的开发、维护等过程未遵守质量安全程序和规范,设备软硬件失效结果不受约束等等。因此现有通信网络对安全信息的传输是非可信的。其次,外界环境也可以对安全信息传输产生危险事件,例如电磁干扰、热噪声、人为故障等。所以通信网络和外界环境共同威胁消息传输的安全性。
EN50159-2中总结了 7种对安全相关消息的威胁,分别为:重复,同一消息被传输了两次或以上;删除,消息在传输过程中丢失;插入,非授权接入发送方或授权接入的其他发送方,向正确传输消息队列插入消息;重排序,消息传输的顺序被更改;损坏,消息内容在传输过程中被更改;延迟,发送的消息经过较长时间才被接收到;伪装,第三方伪装为合法发送方,使接收方将接收消息误认是合法发送方发出的。当使用开放通信系统时,允许非授权的接入,因此伪装威胁是开放网络所特有的。与这 7种威胁相对应,存在 7种安全消息的基本错误类型,分别为:重复的消息、删除的消息、插入的消息、重排序的消息、损坏的消息、延迟的消息、伪装的消息。
为了防御这些威胁,EN50159-2提供了几种在安全通信层中使用的防御技术,分别为序列号、时间戳、超时、源和目标标识、反馈消息、身份验证程序、安全码、密码技术。表1给出了上述几种防御技术与 7种威胁的对应关系。
表1 威胁/防御对应关系
实际使用中为多种防御技术的组合覆盖这 7种威胁,其中序列号、时间戳、源和目标标识、安全码和密码技术是目前比较常用的防御技术。
序列号一般按照消息顺序递增加 1,达到最大表示值后归零重新递增。如果接收序列号与上次相同则表示发生了重复错误;如果接收的序列号大于上次序列号加 1,则表示发生了删除错误;如果接收的序列号小于或比上次序列号大许多,则表示发生了插入错误或重排序错误。其中,进行序列号比较时要考虑跨越最大表示值的情况。因为序列号能够防御删除威胁,所以它是一种必选防御技术。
时间戳主要防御延时威胁。接收端通过检查消息中的时间戳,判断消息是否过期。
源和目标标识可以防御网络中其他设备发出的插入消息,当设备唯一标识不能确定时该技术是无效的,需要与密码技术配合使用。
安全码与密码技术是所有其他技术的基础,可以检测消息的损坏。而其他防御技术是以消息的一部分存在的,一旦这部分消息损坏这些技术也将失效。因此,安全码与密码技术的检错性能是保证消息安全传输的关键。
密码技术是防御伪装威胁的主要方法,保证只有合法发送方和接收方之间才能进行通信,其有效性主要由加密算法的保密性和密钥的管理过程决定。密码技术有多种实现方式,目前常用的是将密码技术与安全码结合,即使用加密码作为安全码(称为带加密的安全码或密码安全码)。
开放通信系统中,由于非授权接入不可忽略,使用带加密的安全码,既可以防御消息的损坏,也可以实现接入保护、检测伪装消息。因此,设计生成安全码要从安全码的保密性能和检错能力两方面考虑。
安全码的保密性由加密算法的保密性和密钥的管理过程共同保证。一般使用 “等效保密性”来评价加密算法的保密性能。表 2给出了几种常用加密算法的等效保密性。
选择加密算法应有足够高的等效保密性,但等效保密性越高,算法的计算量也就越大,因此实际中需要做权衡考虑。而且不同的硬件计算单元和软件算法运算采用同一加密算法所需时间也是不同的,如果计算时间过长必然影响安全通信的实时性,因此软硬件计算能力约束也是设计密码安全码的考虑因素之一。
表2 加密算法的等效保密性
密钥的管理过程包括密钥生成、备份与保存、分发、安装、使用、删除、更新等过程。这是一个复杂的过程,但目前已有相关标准可以提供指导,如 ISO11770、ISO15782、ECBSTR402等。
安全码的检错能力一定程度上决定了序列号、时间戳、源和目标标识等其他技术的防御能力,这是由于其他技术是附加在消息中的冗余部分,也同样受到损坏的威胁,一旦损坏将失去防御威胁的能力。因此,选择安全码必须考虑其检错能力。评价安全码检错能力的参数主要是残余错误概率,即消息的损坏错误没有被安全码检测出来的概率。
精确的计算或实验测量残余错误概率是非常复杂的,目前通常只估计其上限。对于二进制对称信道,最常用的估计公式为~R=2-r,其中 r为安全码的长度 (二进制位数)。
但是,应用此公式有 2个约束条件:①假设通信的误码率范围是 0≤ε≤0.5;②对于所有0≤ε≤0.5,R(ε)≤R(0.5),即安全码在误码率为0.5时的残余错误概率最大。
安全码对消息损坏的防御是可以进行定量分析的,而对其他防御技术只需要进行定性分析。因此,在安全相关功能的 SIL等级确定后,定量估计安全码的残余错误概率是必要的。目前,有 2种方式可以计算给定 SIL等级对安全码的残余错误概率的要求。
第 1种,如 EN50195-2描述,以每个安全相关应用功能为基础进行风险分析,从而计算出安全通信对各种防御技术有效性的要求。使用这种方法的前提是安全应用功能需求完全确定,而如果安全应用功能需求不明确则很难做出准确的假设。
第 2种,以 IEC61784-3为代表,不对指定安全相关应用功能进行分析,而直接对系统整体安全完整性等级应用 1%原则,即安全通信对安全功能的失效只有 1%的贡献。例如,如果系统最高 SIL等级为 4级 (每小时危险失效率满足≥10-9,且<10-8),则要求安全通信每小时残余错误率满足≥10-11,且 <10-10。每小时残余错误率的大小由安全码残余错误概率决定。单通道且不考虑低层通信检错效果的情况下,计算每小时残余错误率公式为:Λ(∈)=R(∈)·υ·(m-1),其中 υ为每小时最大安全消息个数;m为安全通信参与者个数。再通过安全码残余错误概率上限的估计式即可得出对安全码长度的要求。
CTCS-3级列控系统的车-地之间通过 GSM-R无线网进行通信,是典型的开放安全通信系统,因此其安全码既要防御安全相关消息损坏,也要防御消息伪装威胁。
根据列控车载设备和 RBC接口规范的规定,车-地安全通信的安全码使用 3DES消息认证码(MAC)。这是一种带加密的安全码,既可以检测消息的损坏错误也可以屏蔽非授权接入方发送的伪装消息。
由于无法估计恶意攻击的频率,因此对伪装威胁防御的精确分析是比较困难的。由表 2知 3DES算法的等价保密性为 112,但此参数只给出一个相对的量值,因此有必要找到表 2中某种算法的绝对保密性。由于 DES加密算法目前已经比较成熟,可以对密钥被破解的时间有一个大概的估计。根据Subset-038的估算,在假设摩尔定律在 25年内有效的前提下,使用价值 25万美元的专用计算机找到 3DES算法 168位密钥的时间为 1.1×1030h。可见,如果密钥的生成、存储、分发等管理过程能够做到绝对的保密,3DES消息认证码本身可以保证有效防御伪装威胁。
3DES消息认证码的残余错误概率可以通过公式 ~R=2-r进行粗略估计,其长度 r=64,可得残余错误概率估计值为 ~R=2-64。假设每小时最大安全消息个数 υ=(3600×100);安全通信参与者个数 m=2,即端对端通信,则每小时残余错误率估计为 ~Λ=2-64· (3600×100)·(2-1)=1.95×10-14。SIL4级安全功能要求安全通信每小时残余错误率满足≥10-11且 <10-10,可见使用 3DES消息认证码是可以满足此要求的。
开放通信系统进行安全信息传输时需要采用多种威胁防御技术,而安全码是各种技术的基础。带加密安全码既可以检查安全消息是否被损坏,而且可以防御开放通信系统所特有的伪装威胁。其中,安全码检错性能可以进行量化分析,因此可以定量判断是否满足指定安全完整性等级要求。而安全码防御伪装威胁的能力主要由加密算法的保密性和密钥的管理过程决定。安全码的生成主要依据以上两方面进行。经过对 CTCS-3级列控系统的车-地安全通信的安全码进行分析表明:选择使用 3DES消息认证码对安全相关消息进行认证可以有效的防御伪装消息的威胁,并且其检错性能满足 SIL4级安全功能的需求。
公式 ~R=2-r只是对残余错误概率的一种粗略估计,研究能够更精确的计算安全码残余错误概率的方法是将来的一项工作。
[1] 运基信号[2010]224号.CTCS-3级列控系统无线通信功能接口规范[S].中华人民共和国铁道部,2010.
[2] 运基信号[2010]267号.RSSP-II铁路信号安全通信协议[S].中华人民共和国铁道部,2010.
[3] CENELECEN50159-1.Railway Applications:Communication,signalling and processing system,Part 1:Safetyrelated communication in closed transmission system s[S],2001.
[4] IEC 61784-3:Digital Data Communications for Measurement and Control-Part 3:Profiles for Functional Safety Communications in Industrial Networks[S],2005.
[5] CENELECEN50159-2.Railway Applications:Communication,signalling and processing system,Part 2:Safety-related communication in open transmission system s[S],2001.
[6] CENELEC EN50129.Railway Applications:Safety Related Electronic Systems for Signalling[S],1999.
[7] Mária FRANEKOV?,Safety Security Profile of Industry Networks Used in Safety-critical App lications.Transport Problems,Vol 4,Part 1[J],2008.
[8] Börcsök J.,Hannen H.-T.Determination of Bit Errorand Residual Error Rates for Safety Critical Communication.Second International Conference on Systems and Networks Communications(ICONS'07).French Riviera,2007.
[9] Jack K.Wolf,Arnold M.Michelson,Allen H.Levesque.On the Probability of Undetected Error for Linear Block Codes.IEEE Transactions on Communications,Vol.COM-30,NO.2,1982.
[10] ERTMS/ETCS Class 1:Off-line Key Management FIS(Subset-038).[S],2005.
[11] Schiller,F.,T.Mattes.An efficientmethod to evaluate CRC polynom ials for safety-critical industrial communication.In:11th Int.Symposium on System-Modelling-Control,Zakopane,Poland,2005.