无线信道的开放性和电磁信号的广播特性对无线通信系统的安全提出了极大挑战。为此,我们分析了现有地铁CBTC无线信道安全问题,针对其加密算法RC4的缺陷,提出了一种新的基于Montgomery型曲线ECC快速加密算法。

一、CBTC系统

基于通信的列车控制(CBTC)系统独立于轨道电路,采用高精度的列车定位和连续、高速、双向的数据通信,通过车载和地面安全设备实现对列车的控制。CBTC系统引入了通信子系统,建立车地之间连续、双向、高速的数据通信,列车的命令和状态可以在车辆和地面设备之间可靠交换,使系统的主体CBTC地面设备和受控对象列车紧密的连接在一起。

二、CBTC安全缺陷分析

目前CBTC的安全协议以WEP为主,主要有2个明显缺陷。

1)由于目前的CBTC系统在无线环境中的安全认证主要是采用单向认证,而且具有明显的认证异步性。所以这种不完善的认证体系极易受到恶意AP节点的攻击,对CBTC安全通信造成了极大的隐患。为了进一步抵御恶意的AP攻击,结合基于身份(ID)的公钥认证方案和基于证书(CA)的公钥认证方案的优缺点,提出了两者相结合的一种基于AP双向双次认证协议,从而弥补CBTC系统单向认证的缺陷。为保证传输信息的完整性,基于工程的目标,本文提出了基于Montgomery型ECC曲线的改进型的ECDSA算法,改进了异步点乘问题,提高了验证签名与产生签名时间之比。

2) WEP协议中的RC4密码本身存在缺陷,主要在于2个方面:使用静态密钥:初始化向量IV的限制,同时WEP中用来生成密钥流的RC4算法还存在弱密钥性。

在RC4加密流程的KSA过程中,存在明显漏洞:1)不变性缺陷,即存在一个密钥类,在这个密钥类里面,很小的一部分密钥就可以决定初始排列中很大一部分比特数。随后,伪随机序列产生算法(PRGA)把这些初始排列变成输出的比特流。这样RC4算法就有一个密码类,它导致输出的伪随机序列仅仅由一个范围很小的密钥类即可决定,即RC4弱密钥性。2)相关密钥缺陷问题。由于RC4密码算法所使用的密钥中有一部分是公开的,即初始化向量IV。当这些不同的IV和保密的共享密钥串联组成的密钥多次使用后,密码分析员就可以能通过分析输出的伪随机序列的头部来获得保密的密钥部分。这种用一个保密的较长的部分串联上一个较短的,攻击者可见的部分来组成整个密钥在RC4模型被广泛应用,特别是用在WEP协议中来保护无线局域网的通信中数据保密。另外,对于WEP协议,本身也存在缺陷,主要在于2个方面:①使用静态密钥;②初始化向量IV的限制,而且WEP协议并没有定义用来加密的密钥是怎样生成的。

此外,由于RC4算法加密是采用的异或运算,所以,一旦子密钥序列出现了重复,密文就有可能被破解。

因此,如何在保证其加解密速度不受太大影响的情况下,提高无线信道加密算法的安全性。

三、Montgomery型椭圆曲线

1987年,Montgomery提出了Montgomery型椭圆曲线,以比Weierstrass椭圆曲线更多优势迅速成为一种新兴的椭圆曲线的类型,而被密码界所重视。它与Weierstrass椭圆曲线比较,其优势主要体现在2个方面:一方面是由于在模乘计算时不需要计算y值,Montgomery型椭圆曲线比Weierstrass椭圆曲线具有更快计算速度;另一方面是对于简单的能量攻击和时间攻击具有更强免疫力。

Montgomery型椭圆曲线在E/Fp的仿射坐标方程为:By2 =X3 +Ax2 +x,它可以由部分满足转换条件的Weierstrass型椭圆曲线转换而成。

具有Montgomery型的Weierstrass椭圆曲线应满足的基本条件是:

1)x3+ax+b=0应在Fp至少存在一个根;

2)3a2+a=0在Fp上有二次剩余根,其中α是X3 +ax+b=0在Fp上的一个根。

Montgomery型椭圆曲线的模加运算公式(仿射坐标):P≠+Q

当P= (X1,yl),Q=(X2,y2)且在E(k)上时:

则P+Q=(X3,y3)的值为:

1

而Double Point公式为P=Q:

1

Yuichi FUTA和Motoji OHMORI提出了一种基于Montgomery型椭圆曲线的有效模乘算法,它是与预计算相结合以实现分级降低模乘代价的法。如果可以逐步分离出小数模乘,这样就可以实现利用预计算的方法来提高计算速度的目的。K.Okeya和K.S akurai在日本提出了一种基于Montgomery型椭圆曲线恢复y坐标的模乘算法。

K.Okeyac31等人更加深入地对Montgomery型椭圆曲线的性质进行了研究,得出如何把Weierstrass型椭圆曲线转换成Montgomery型椭圆曲线,从而可以构造新的安全曲线,并且还提出了如何产生带有Montgomery型椭圆曲线的Weierstrass型椭圆曲线的快速有效算法。鲍皖苏等也提出一种改进的构造安全Montgomery型椭圆曲线的方法。它是基于CM方法来挑选安全曲线,是对基于不变量的构造安全曲线的方法的一种改进。先利用CM方法先产生J不变量,然后再进行构造曲线的工作。但不同的是,在他们的方法中合理地在域中引入了预计算方法,对于一些需要判别的量进行预计算并且存储。利用这种方法,可以比较大幅度地提高挑选曲线的速度,达到构造高安全性Montgomery型椭圆曲线的目的。Jiin-Chiou CHENG等也对Montgomery型椭圆曲线进行了细致的研究。他们纠正了广义中的一些错误,使带有y值的Montgomery型椭圆曲线在数字认证上在保证其运算速度条件下更加安全。

四、基于Montgomery型ECC曲线快速加密算法设计

由于Montgomery型椭圆曲线在密码算法中比传统的Weierstrass型ECC曲线具有更快的运算速度以及其对于时间攻击和窃听攻击具有更强的免疫力,所以它在以ECC为基础的密码体系中更具有优势,因此本文设计了一种基于Montgomery型ECC曲线的快速加密算法。

下面为算法设计的主要原理和步骤。

1)首先选取一条安全的Montgomery型的ECC曲线,确定曲线的所有参数权值。

2)由于Montgomery型的ECC曲线计算点乘运算可以仅仅计算x坐标值,不需要计算),坐标值,因此在无线信道中传输时可以加快传输速率,节约传输信道。但是由于要将明文分组嵌入ECC曲线中,具有(x,y)坐标明显比单权x坐标更具有扰乱性,即具有更高的安全性,所以,本文在部分计算点乘运算后,可部分恢复v坐标的值数,为后续加密算法作基础。这也是本文算法与传统Montgomery型的ECC曲线的不同之处。

恢复y坐标计算如下。

假设Montgomery型的ECC曲线上有3个点,(P,p1,P2),其坐标分别为: P=(x,y),p=(x1,Y1),P2=(X2,y2),P3=(X3,y3),同时P2=p1+P,P3=p1-P和y≠O,所以即可推出:

1

如点坐标放在射影坐标系下表示:

1

那么即可推出:

1

3)在选择ECC加密算法时,选择以点加形式嵌入曲线中的X-EIGamal椭圆曲线公钥加密算法,即( ECES-EIGamal with Xiao's Extend)完成对明文数据加密,具体步骤如下。

1、加密过程

当通信一方B需要给另一方A发送消息M时。B按下列步骤对消息M进行加密。

1)从可信第三方获取A的公钥PKA;

2)将所要传出的明文M分组加密为GF(p…)上的一对元素m=(m1,m2);

3)随机选择一整数k∈[1,m],计算c0=kG,Q= kPKA=(Yi,y2);

4)加密计算公式 E(rrh,t772,=(c0,Y.+mi,y2+m2)=(co,cl,C2),在有限域GF(p)上计算加密计算式,可得到c= (Co,cl,C2);

5)传输密文c= (c0,cl,C2)给A即可。

2、解密过程

当通信方A接到B发给的密文c= (CO,C1,C2)时,A按下面的步骤解密:

1)首先使用的A使用自己的私钥SKA,计算SKACO=Q=(yl,y2);

2)定义自己的解密计算式D(co,Cl,C2)= (CO,c一yl,C-y)=(mi,m2),在有限域GF(p…)上计算解密计算式,可得到m=(m1,m2);

3)将数据m= (ml,m2)转换,合成明文M即可。

五、CBTC系统的ECC双向认证体制

本文将上述加/解密方案应用到CBTC双向认证体制中。

1)用户A选择自己的椭圆曲线EA,随机选择私钥ni并生成公钥PA=nlGA。同样,用户B也选择合适的EB,Yl2和PB。他们同时把自己的椭圆曲线和公钥公布到无线网络上。

2)若用户A向用户B发送认证信息PAm。用户A从无线网络用户信息中下载用户B信息——PB和EB,使用前面的加密算法产生对认证信息PAm进行加密,得到密文CAm。

3)用户B收到密文CAm后,利用4.2节的解密算法对CAm进行解密获取用户A的认证信息PAm。

4)反之亦然,用户B也可以通过下载用户A信息用于向用于A发送认证信息。从而完成了CBTC通信网络的椭圆曲线双向认证。

图1是CBTC系统的ECC双向认证体制的结构图。

1

小知识之CBTC

CBTC-基于无线通信的列车自动控制系统,CBTC系统(Communication Based Train Control System):随着通信技术特别是无线电技术飞速发展,人们开始研究以通信技术为基础的列车运行控制系统。