嚴(yán) 琳,盧 忱,張啟云
(武警工程大學(xué) 研究生管理大隊(duì),陜西 西安710086)
微波存取全球互通(Worldwide Interoperability for Microwave Access,WiMAX)融合了無線、寬帶和移動(dòng)3大特點(diǎn),可作為線纜和DSL的無線擴(kuò)展技術(shù),用于將802.11無線接入熱點(diǎn)連接到互聯(lián)網(wǎng),也可連接公司與家庭等環(huán)境至有線骨干線路,從而實(shí)現(xiàn)“最后一公里”的無線寬帶接入。
由于無線傳輸介質(zhì)的開放性,WiMAX技術(shù)自提出之初,其安全問題就成為其能否成功商用和可運(yùn)營的關(guān)鍵。無線網(wǎng)絡(luò)的安全威脅包括網(wǎng)絡(luò)竊聽、未經(jīng)授權(quán)使用服務(wù)、拒絕服務(wù)(Denial of Service,DoS)攻擊、非法基站、非法篡改數(shù)據(jù)和重放攻擊等。鑒于上述安全威脅,WiMAX安全技術(shù)的重點(diǎn)是用戶及設(shè)備的身份鑒權(quán)及授權(quán)、數(shù)據(jù)的保密性和數(shù)據(jù)的完整性保護(hù)等方面,以保證網(wǎng)絡(luò)資源的合法使用。
為此,本文提出了一種更高效、更安全、基于橢圓曲線公鑰密碼體制[1-5](Elliptic Curve Cryptography,ECC)的認(rèn)證和授權(quán)方法。
設(shè)K為一個(gè)給定域,橢圓曲線E由下述Weierstrass方程定義
其中,a1,a2,a3,a4,a5,a6∈K且Δ≠0,Δ是E的判別式,具體定義如下
若L是K的擴(kuò)域,則E上的L有理點(diǎn)數(shù)的集合是有理數(shù)點(diǎn)的集合:
橢圓曲線上的兩點(diǎn)可以進(jìn)行點(diǎn)加運(yùn)算。具體的群運(yùn)算規(guī)則如下:(1)單位元。對(duì)于所有的P=(x,y)∈E(K),P+O=O+P=P。(2)負(fù)元素。若P=(x,y)∈E(K),則(x,y)+(x,-y)=O。記點(diǎn)(x,-y)為-P,稱其為P的負(fù)。-P也是E(K)上的一個(gè)點(diǎn),且-O=O。(3)點(diǎn)加。令P=(x1,y1)∈E(K),Q=(x2,y2)∈E(K),P≠±Q,則P+Q=(x3,y3)。其中(4)倍點(diǎn)。令P=(x1,y1)∈E(K),P≠-P,則2P=(x3,y3)。其中。
討論橢圓曲線上的點(diǎn)乘運(yùn)算kP,其中,k為一個(gè)整數(shù);P為定義在域GF(q)上的橢圓曲線E上的一個(gè)點(diǎn);階為n,k∈[0,n-1]。ECDLP是已知Q=kP,則稱求解k為Q的基于P的離散對(duì)數(shù)問題,表示為k=logPQ。合理選取橢圓曲線參數(shù),有效防止各種攻擊,這樣的ECDLP才會(huì)被認(rèn)為相對(duì)于現(xiàn)在的計(jì)算水平是難解的。橢圓離散對(duì)數(shù)問題是構(gòu)造橢圓曲線密碼ECC的數(shù)學(xué)基礎(chǔ)。
認(rèn)證與授權(quán)是實(shí)現(xiàn)對(duì)用戶進(jìn)行授權(quán)的一個(gè)基礎(chǔ),只有通過認(rèn)證的合法設(shè)備和用戶,才被允許接入網(wǎng)絡(luò),使用網(wǎng)絡(luò)資源,訪問網(wǎng)絡(luò)提供的服務(wù)。
WiMAX主要有802.16d和802.16e兩個(gè)版本,其安全策略集中體現(xiàn)在支持固定接入的802.16d和支持移動(dòng)接入的802.16e兩個(gè)標(biāo)準(zhǔn)的安全子層中。802.16[6]系列標(biāo)準(zhǔn)采用“X.509公鑰證書+RSA公鑰加密算法”的接入認(rèn)證方法,來確認(rèn)接入者的合法身份,及保護(hù)用戶站SS和基站BS之間的密鑰交換。
圖2是基于RSA的WiMAX接入鑒權(quán)和授權(quán)的全過程。整個(gè)鑒權(quán)認(rèn)證和授權(quán)的工作過程描述如下[7]:(1)當(dāng)SS與BS建立無線連接時(shí),SS將自己的數(shù)字證書傳給BS。(2)BS檢驗(yàn)SS的證書的有效性。(3)如果證書鑒權(quán)成功,則BS通過證書提供的公鑰使用RSA算法加密授權(quán)密鑰AK,然后傳遞給SS;如果不成功,BS拒絕SS的接入請(qǐng)求。(4)SS用自己的RSA私鑰解密便可以獲得AK。認(rèn)證和授權(quán)結(jié)束。
圖1 基于RSA的接入鑒權(quán)和授權(quán)過程示意圖
從WiMAX的接入鑒權(quán)和授權(quán)的全過程中可以看出存在以下問題:(1)存在中間人攻擊的危險(xiǎn)。在RSA認(rèn)證中,BS可以認(rèn)證SS的身份,而SS不能反向認(rèn)證BS的身份,只能無條件地信任BS。攻擊者可以利用這一點(diǎn)使用相關(guān)設(shè)備冒充合法BS,對(duì)SS發(fā)起中間人MITM攻擊。(2)RSA存在一定的局限性。RSA公鑰加密算法安全性是基于大整數(shù)分解的困難性。但小于1 024位的N已經(jīng)被證明是不安全的,而且由于RSA算法進(jìn)行的都是大數(shù)計(jì)算,使得RSA最快的情況也比DES慢幾倍,因此,計(jì)算量過大、密鑰長度過長是RSA公鑰算法最大的缺陷,通常只能用于加密少量數(shù)據(jù)或者加密密鑰。
考慮到IEEE 802.16系列標(biāo)準(zhǔn)安全框架使用的RSA算法運(yùn)算量過大、密鑰較長等缺陷,本文旨在提供一種基于橢圓曲線公鑰密碼的WiMAX接入認(rèn)證方法,作為先有基于RSA公鑰的WiMAX補(bǔ)充接入認(rèn)證的補(bǔ)充。
1985年,N.Koblitz和V.Miller將橢圓曲線引入密碼學(xué),成為構(gòu)造雙鑰密碼體制的一個(gè)有力工具,提出了基于橢圓曲線的公鑰密碼機(jī)制ECC(Elliptic Curves Cryptosystem),它是建立在基于橢圓曲線離散對(duì)數(shù)問題(ECDLP)的一種非對(duì)稱密碼安全體制,具有密鑰短小、運(yùn)算速度快等優(yōu)點(diǎn)。160 bit長的密鑰所具有的安全性和密鑰長度1 024 bit的RSA算法所具有的安全性相當(dāng)[8]。這適合那些存儲(chǔ)空間及處理能力有限的設(shè)備,尤其適用于智能卡。
表1 同等安全強(qiáng)度下,ECC和RSA密鑰長度之比較
作為一種公鑰密碼,橢圓曲線密碼不僅有較好的安全性,而且利用橢圓曲線離散對(duì)數(shù)問題可以同時(shí)構(gòu)造3種基本形式的公鑰體制,即公鑰加密體制、密鑰交換協(xié)議和數(shù)字簽名方案等。
前文中提到,WiMAX安全策略集中體現(xiàn)在802.16標(biāo)準(zhǔn)的安全子層中。本方法就是在安全子層中增加一種基于橢圓曲線ECC的WiMAX接入認(rèn)證方法,作為現(xiàn)有基于RSA公鑰的WiMAX補(bǔ)充接入認(rèn)證補(bǔ)充,體現(xiàn)在鑒權(quán)認(rèn)證過程中就是用ECC加密算法替代RSA加密算法。此外,本設(shè)計(jì)還根據(jù)802.16標(biāo)準(zhǔn)只能單向認(rèn)證的實(shí)際,在授權(quán)響應(yīng)中增加了BS的證書,并在其中附加了BS的簽名,實(shí)現(xiàn)了SS和BS的之間的雙向認(rèn)證。
圖2是基于橢圓曲線ECC的WiMAX接入認(rèn)證和授權(quán)的全過程。整個(gè)認(rèn)證和授權(quán)的工作過程詳細(xì)描述如下:(1)SS與BS建立初始無線連接,SS向BS發(fā)送“認(rèn)證信息消息”,消息中包含SS的X.509數(shù)字證書,該證書由第三方證書權(quán)威機(jī)構(gòu)(CA)分配。(2)BS檢驗(yàn)SS發(fā)送的證書信息。(3)如果證書認(rèn)證通過,BS向SS發(fā)送“認(rèn)證信息消息”,消息中包含自身的X.509數(shù)字證書;如果不通過,BS拒絕SS的接入請(qǐng)求。(4)SS檢驗(yàn)BS發(fā)送的證書信息。(5)如果證書認(rèn)證通過,SS向BS發(fā)送“授權(quán)請(qǐng)求消息”,請(qǐng)求授權(quán)密鑰AK;如果不通過,SS拒絕接入該BS。(6)BS使用SS證書提供的公鑰和ECC算法加密授權(quán)密鑰AK,在“授權(quán)響應(yīng)消息”中回送給SS。(7)SS用自己的ECC私鑰解密,從BS處獲得的授權(quán)密鑰AK。至此,鑒權(quán)認(rèn)證和授權(quán)過程結(jié)束。
圖2 基于橢圓曲線ECC的接入鑒權(quán)和授權(quán)示意圖
上文描述了接入認(rèn)證和授權(quán)的過程,其中設(shè)計(jì)了用ECC算法代替RSA算法實(shí)現(xiàn)對(duì)授權(quán)密鑰AK的傳輸。3.3將具體介紹ECC加密的設(shè)計(jì)與實(shí)現(xiàn)。本設(shè)計(jì)為Elgamal[9]算法模擬的橢圓曲線加密與解密方案,是ECC加密在WIMAX認(rèn)證授權(quán)過程中的直接應(yīng)用。
ECC加密主要用于BS傳送授權(quán)密鑰AK給SS的過程中對(duì)AK進(jìn)行加密。加密過程如下:
(1)密鑰對(duì)的生成。從證書導(dǎo)出橢圓曲線參數(shù)集D={p,a,b,G,n,h},其中p為一個(gè)大素?cái)?shù),如>160 bit的素整數(shù),指定了有限域GF(p);a,b指定橢圓曲線E;G=(xG,yG)∈E(GF(p))為一個(gè)基點(diǎn);素?cái)?shù)n為基點(diǎn)G的階;h=#E(GF(p))/n為協(xié)因子整數(shù);#E(GF(p))表示橢圓曲線點(diǎn)群的階;同時(shí)也得到了密鑰對(duì)(d,Q),其中d是私鑰,Q=dG是公鑰。
(2)加密實(shí)現(xiàn)。1)將要加密的AK密鑰作為明文,如果AK長度>n的話就進(jìn)行分組,如果長度不夠,則在高字節(jié)處填充0。2)將要加密的安全數(shù)據(jù)A轉(zhuǎn)換成橢圓曲線方程上的點(diǎn)的橫坐標(biāo)xA,計(jì)算,Q=p,利用數(shù)論相關(guān)定理及平方剩余判斷算法,判斷大整數(shù)A是否模平方剩余數(shù)。如果A不是模p的平方剩余數(shù)時(shí),則說明xA不是橢圓曲線上的點(diǎn),即不滿足橢圓曲線方程等式成立。在最低字節(jié)內(nèi)重新選取xA,并重復(fù)這個(gè)平方剩余算法進(jìn)行判斷,直到滿足為止。3)根據(jù)明文安全數(shù)據(jù)轉(zhuǎn)換成橢圓曲線點(diǎn)的橫坐標(biāo)后,利用二次同余方程解的計(jì)算法,計(jì)算出對(duì)應(yīng)橫坐標(biāo)xA的縱坐標(biāo)yA。yA的計(jì)算如下:如果p具有2u+1,u為奇數(shù)形式時(shí),即滿足p≡3(mod 4)或p≡7(mod 8)時(shí),橢圓曲線方程的解為yA≡±A((p+1)/4)(mod p);如果p具有4u+1,u為奇數(shù)的形式時(shí),即滿足p≡1(mod 4)或p≡5(mod 8),如果A((p-1)/4)≡1(mod p),則yA≡±A((p+3)/8)(mod p);如果A((p-1)/4)≡1(mod p),則yA≡±2((p-1)/4)·A((p+3)/8)(mod p);完成將安全數(shù)據(jù)編碼為橢圓曲線上的點(diǎn)PA=(yA,yA)。4)對(duì)安全數(shù)據(jù)編碼為橢圓曲線上的點(diǎn)后,就可能利用BS私鑰dR和SS公鑰QA對(duì)數(shù)據(jù)進(jìn)行加密運(yùn)算。加密計(jì)算過程為PA+dRQA=PA+dR(dAG),然后將加密后的授權(quán)密鑰AK在“授權(quán)響應(yīng)消息”中傳送給BS。5)當(dāng)BS收到“授權(quán)響應(yīng)消息后”時(shí),使用其私鑰dA完成如下計(jì)算:PA+dR(dAG)-dA(QR)=PA+dR(dAG)-dA(dRG)=PA;6)對(duì)解密出的點(diǎn)PA中的橫坐標(biāo)xA進(jìn)行解碼處理,然后將該整數(shù)轉(zhuǎn)換成字節(jié)串,即可授權(quán)密鑰AK來。
改進(jìn)后的安全策略與原策略相比,具有如下優(yōu)點(diǎn):(1)在安全性相當(dāng)?shù)臈l件下可以使用更短,運(yùn)算速度快,占用空間更小的密鑰。160 bit長的密鑰所具有的安全性和密鑰長度1 024 bit的RSA算法所具有的安全性相當(dāng),適合存儲(chǔ)空間及處理能力有限的設(shè)備,尤其適合于智能卡。(2)設(shè)備與基站間的互認(rèn)證防止中間人攻擊。新方法實(shí)現(xiàn)了設(shè)備與基站之間的互認(rèn)證機(jī)制,很好地解決了中間人攻擊的問題。(3)安全性強(qiáng)。橢圓曲線密碼體制式建立在一個(gè)不同于大整數(shù)分解及素域乘法群離散對(duì)數(shù)問題的數(shù)學(xué)難題之上。基于大整數(shù)分解及離散對(duì)數(shù)的RSA方案,數(shù)學(xué)背景狹窄,而橢圓曲線方法在同一個(gè)有限域上存在大量不同的橢圓曲線,為安全性增加了額外的保證。
通過對(duì)支持WiMAX的802.16協(xié)議的認(rèn)證授權(quán)機(jī)制進(jìn)的研究,提出一種基于橢圓曲線密碼的認(rèn)證授權(quán)方法,對(duì)WiMAX接入實(shí)施增強(qiáng)安全保護(hù)。針對(duì)802.16協(xié)議只能單向認(rèn)證與ECC密鑰長度小、計(jì)算速度快等特點(diǎn),設(shè)計(jì)了一個(gè)新的認(rèn)證授權(quán)過程與實(shí)時(shí)有效的ECC加密算法,使得由該方法實(shí)現(xiàn)的認(rèn)證授權(quán)過程完成了雙向認(rèn)證,克服了存在中間人攻擊的不足。所設(shè)計(jì)ECC算法,相對(duì)于802.16標(biāo)準(zhǔn)中給出的RSA算法,速度得到了提高,更適合于一些存儲(chǔ)和計(jì)算能力有限的移動(dòng)終端。
[1]NEAL K.Elliptic curve cryptosystems[J].Mathematics of Computation,1987,48(5):203-209.
[2]DARREL H,ALFRED M.Guide to elliptic curve cryptography[M].北京:電子工業(yè)出版社,2005.
[3] 盧忱.基于橢圓曲線密碼的分組網(wǎng)通信安全與保密[J].計(jì)算機(jī)工程,2006(21):133-135.
[4] 盧忱.有限素整數(shù)域橢圓曲線密碼體制基于代數(shù)幾何快速算法設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2002(16):63-65.
[5] 盧忱.橢圓曲線加密卡設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2002(18):165-168.
[6]IEEE.IEEE 802.16e-2005 IEEE standard for local and metropolitan area networks-part 16:air interface for fixed broadband wireless access systems-physicaland medium access control layers for combined fixed and mobile operation in licensed bands[S].USA:IEEE,2006.
[7] 張曉宏.WiMAX安全機(jī)制[J].信息技術(shù)與信息化,2011(5):79-81.
[8] 盧忱.基于橢圓曲線方法的醫(yī)學(xué)信息安全與保密研究[D].西安:西安交通大學(xué),2004.
[9] 蔣書法,黃伯男.基于橢圓曲線ECELG密碼體制的雙重加密[J].上海電力學(xué)院學(xué)報(bào),2011,27(2):204-207.