無線信道加密算法

無線信道的開放性和電磁信號的廣播特性對無線通信系統(tǒng)的安全提出了極大挑戰(zhàn)。為此,我們分析了現(xiàn)有地鐵CBTC無線信道安全問題,針對其加密算法RC4的缺陷,提出了一種新的基于Montgomery型曲線ECC快速加密算法。

一、CBTC系統(tǒng)

基于通信的列車控制(CBTC)系統(tǒng)獨立于軌道電路,采用高精度的列車定位和連續(xù)、高速、雙向的數(shù)據(jù)通信,通過車載和地面安全設備實現(xiàn)對列車的控制。CBTC系統(tǒng)引入了通信子系統(tǒng),建立車地之間連續(xù)、雙向、高速的數(shù)據(jù)通信,列車的命令和狀態(tài)可以在車輛和地面設備之間可靠交換,使系統(tǒng)的主體CBTC地面設備和受控對象列車緊密的連接在一起。

二、CBTC安全缺陷分析

目前CBTC的安全協(xié)議以WEP為主,主要有2個明顯缺陷。

1)由于目前的CBTC系統(tǒng)在無線環(huán)境中的安全認證主要是采用單向認證,而且具有明顯的認證異步性。所以這種不完善的認證體系極易受到惡意AP節(jié)點的攻擊,對CBTC安全通信造成了極大的隱患。為了進一步抵御惡意的AP攻擊,結(jié)合基于身份(ID)的公鑰認證方案和基于證書(CA)的公鑰認證方案的優(yōu)缺點,提出了兩者相結(jié)合的一種基于AP雙向雙次認證協(xié)議,從而彌補CBTC系統(tǒng)單向認證的缺陷。為保證傳輸信息的完整性,基于工程的目標,本文提出了基于Montgomery型ECC曲線的改進型的ECDSA算法,改進了異步點乘問題,提高了驗證簽名與產(chǎn)生簽名時間之比。

2) WEP協(xié)議中的RC4密碼本身存在缺陷,主要在于2個方面:使用靜態(tài)密鑰:初始化向量IV的限制,同時WEP中用來生成密鑰流的RC4算法還存在弱密鑰性。

在RC4加密流程的KSA過程中,存在明顯漏洞:1)不變性缺陷,即存在一個密鑰類,在這個密鑰類里面,很小的一部分密鑰就可以決定初始排列中很大一部分比特數(shù)。隨后,偽隨機序列產(chǎn)生算法(PRGA)把這些初始排列變成輸出的比特流。這樣RC4算法就有一個密碼類,它導致輸出的偽隨機序列僅僅由一個范圍很小的密鑰類即可決定,即RC4弱密鑰性。2)相關密鑰缺陷問題。由于RC4密碼算法所使用的密鑰中有一部分是公開的,即初始化向量IV。當這些不同的IV和保密的共享密鑰串聯(lián)組成的密鑰多次使用后,密碼分析員就可以能通過分析輸出的偽隨機序列的頭部來獲得保密的密鑰部分。這種用一個保密的較長的部分串聯(lián)上一個較短的,攻擊者可見的部分來組成整個密鑰在RC4模型被廣泛應用,特別是用在WEP協(xié)議中來保護無線局域網(wǎng)的通信中數(shù)據(jù)保密。另外,對于WEP協(xié)議,本身也存在缺陷,主要在于2個方面:①使用靜態(tài)密鑰;②初始化向量IV的限制,而且WEP協(xié)議并沒有定義用來加密的密鑰是怎樣生成的。

此外,由于RC4算法加密是采用的異或運算,所以,一旦子密鑰序列出現(xiàn)了重復,密文就有可能被破解。

因此,如何在保證其加解密速度不受太大影響的情況下,提高無線信道加密算法的安全性。

三、Montgomery型橢圓曲線

1987年,Montgomery提出了Montgomery型橢圓曲線,以比Weierstrass橢圓曲線更多優(yōu)勢迅速成為一種新興的橢圓曲線的類型,而被密碼界所重視。它與Weierstrass橢圓曲線比較,其優(yōu)勢主要體現(xiàn)在2個方面:一方面是由于在模乘計算時不需要計算y值,Montgomery型橢圓曲線比Weierstrass橢圓曲線具有更快計算速度;另一方面是對于簡單的能量攻擊和時間攻擊具有更強免疫力。

Montgomery型橢圓曲線在E/Fp的仿射坐標方程為:By2 =X3 +Ax2 +x,它可以由部分滿足轉(zhuǎn)換條件的Weierstrass型橢圓曲線轉(zhuǎn)換而成。

具有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型橢圓曲線的有效模乘算法,它是與預計算相結(jié)合以實現(xiàn)分級降低模乘代價的法。如果可以逐步分離出小數(shù)模乘,這樣就可以實現(xiàn)利用預計算的方法來提高計算速度的目的。K.Okeya和K.S akurai在日本提出了一種基于Montgomery型橢圓曲線恢復y坐標的模乘算法。

K.Okeyac31等人更加深入地對Montgomery型橢圓曲線的性質(zhì)進行了研究,得出如何把Weierstrass型橢圓曲線轉(zhuǎn)換成Montgomery型橢圓曲線,從而可以構(gòu)造新的安全曲線,并且還提出了如何產(chǎn)生帶有Montgomery型橢圓曲線的Weierstrass型橢圓曲線的快速有效算法。鮑皖蘇等也提出一種改進的構(gòu)造安全Montgomery型橢圓曲線的方法。它是基于CM方法來挑選安全曲線,是對基于不變量的構(gòu)造安全曲線的方法的一種改進。先利用CM方法先產(chǎn)生J不變量,然后再進行構(gòu)造曲線的工作。但不同的是,在他們的方法中合理地在域中引入了預計算方法,對于一些需要判別的量進行預計算并且存儲。利用這種方法,可以比較大幅度地提高挑選曲線的速度,達到構(gòu)造高安全性Montgomery型橢圓曲線的目的。Jiin-Chiou CHENG等也對Montgomery型橢圓曲線進行了細致的研究。他們糾正了廣義中的一些錯誤,使帶有y值的Montgomery型橢圓曲線在數(shù)字認證上在保證其運算速度條件下更加安全。

四、基于Montgomery型ECC曲線快速加密算法設計

由于Montgomery型橢圓曲線在密碼算法中比傳統(tǒng)的Weierstrass型ECC曲線具有更快的運算速度以及其對于時間攻擊和竊聽攻擊具有更強的免疫力,所以它在以ECC為基礎的密碼體系中更具有優(yōu)勢,因此本文設計了一種基于Montgomery型ECC曲線的快速加密算法。

下面為算法設計的主要原理和步驟。

1)首先選取一條安全的Montgomery型的ECC曲線,確定曲線的所有參數(shù)權(quán)值。

2)由于Montgomery型的ECC曲線計算點乘運算可以僅僅計算x坐標值,不需要計算),坐標值,因此在無線信道中傳輸時可以加快傳輸速率,節(jié)約傳輸信道。但是由于要將明文分組嵌入ECC曲線中,具有(x,y)坐標明顯比單權(quán)x坐標更具有擾亂性,即具有更高的安全性,所以,本文在部分計算點乘運算后,可部分恢復v坐標的值數(shù),為后續(xù)加密算法作基礎。這也是本文算法與傳統(tǒng)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)完成對明文數(shù)據(jù)加密,具體步驟如下。

1、加密過程

當通信一方B需要給另一方A發(fā)送消息M時。B按下列步驟對消息M進行加密。

1)從可信第三方獲取A的公鑰PKA;

2)將所要傳出的明文M分組加密為GF(p…)上的一對元素m=(m1,m2);

3)隨機選擇一整數(shù)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發(fā)給的密文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)將數(shù)據(jù)m= (ml,m2)轉(zhuǎn)換,合成明文M即可。

五、CBTC系統(tǒng)的ECC雙向認證體制

本文將上述加/解密方案應用到CBTC雙向認證體制中。

1)用戶A選擇自己的橢圓曲線EA,隨機選擇私鑰ni并生成公鑰PA=nlGA。同樣,用戶B也選擇合適的EB,Yl2和PB。他們同時把自己的橢圓曲線和公鑰公布到無線網(wǎng)絡上。

2)若用戶A向用戶B發(fā)送認證信息PAm。用戶A從無線網(wǎng)絡用戶信息中下載用戶B信息——PB和EB,使用前面的加密算法產(chǎn)生對認證信息PAm進行加密,得到密文CAm。

3)用戶B收到密文CAm后,利用4.2節(jié)的解密算法對CAm進行解密獲取用戶A的認證信息PAm。

4)反之亦然,用戶B也可以通過下載用戶A信息用于向用于A發(fā)送認證信息。從而完成了CBTC通信網(wǎng)絡的橢圓曲線雙向認證。

圖1是CBTC系統(tǒng)的ECC雙向認證體制的結(jié)構(gòu)圖。

1

小知識之CBTC

CBTC-基于無線通信的列車自動控制系統(tǒng),CBTC系統(tǒng)(Communication Based Train Control System):隨著通信技術特別是無線電技術飛速發(fā)展,人們開始研究以通信技術為基礎的列車運行控制系統(tǒng)。