【摘 要】本文分析了一種端到端的高強度移動通信安全機制,針對其存在的問題進行了改進,并基于橢圓曲線公鑰加密算法提出了新的移動通信安全機制。
【關(guān)鍵詞】移動通信系統(tǒng);安全機制;認證與密鑰協(xié)商
0.引言
第三代移動通信系統(tǒng)已在全球通信領(lǐng)域中得到了充分的應(yīng)用和發(fā)展,以WCDMA等技術(shù)為代表的3G業(yè)務(wù)帶來了最高可達14Mbps的帶寬。另外,隨著手機的CPU主頻達到1G左右的水平,使得移動通信系統(tǒng)可以承載種類更多、流量更大的數(shù)據(jù)業(yè)務(wù),然而目前3G通信系統(tǒng)的安全性仍主要由2G的安全機制所決定,因而其安全性要求也顯得愈發(fā)地重要和迫切。
GSM的安全機制[1]基于手機與服務(wù)網(wǎng)絡(luò)之間的論證與密鑰協(xié)商過程。用戶每次登記、呼叫建立嘗試、位置更新以及在補充業(yè)務(wù)的激活、去活、登記或刪除之前均需要鑒權(quán)。在連接后,無線信道的兩側(cè)MS和BTS均利用A5算法,以 和TDMA的幀號為參數(shù),產(chǎn)生一對密鑰流S1和S2,S2用于加密將要進入無線信道的信息數(shù)據(jù)流,S1用于解密從無線信道上傳來的加密信息數(shù)據(jù)流。在基站子系統(tǒng)BSS端同樣根據(jù)和幀號產(chǎn)生Sl和S2,與移動臺相反,Sl用于解密,S2用于加密。
UMTS的安全機制[2,3]中,f8算法類似于GSM 中的A5算法,以CK等為參數(shù),生成密鑰流用于對進入無線信道的信息數(shù)據(jù)流進行加解密。同GSM有所不同的是,UMTS還提供了完整性保護,以IK等為參數(shù)輸入 算法,可以得到信息完整性認證碼MAC-I。在無線信道的兩端,發(fā)送方計算出MAC-I附加在信息
流上送出,接收方計算一個預期的信息完整性認證碼XMAC-I和收到的MAC-I進行比較,從而確定完整性是否得到了保護。
然而,GSM和UMTS系統(tǒng)均不同程度的存在著一些安全缺陷, UMTS雖然較GSM在安全體制上有了顯著的提高,但是仍然無法提供高度安全的服務(wù),況且在由2G向3G演進過程中通信系統(tǒng)的安全性仍由2G的安全機制決定的。對于類似于電子商務(wù)或者其他有特殊安全要求的業(yè)務(wù),現(xiàn)有的安全機制無法保證通信的安全,所以我們必須提供強有力的端到端的安全機制。
2005年冒海霞等人提出了一種基于端到端的高強度移動通信安全機制MSMA[4],可基于多種移動通信系統(tǒng),如GSM,GPRS,UMTS等。一個魯棒、安全的通信機制,必須提供鑒權(quán)認證、保密、完整性控制。MSMA的安全機制正是基于這三點來設(shè)計的,它包括了鑒權(quán)認證和密鑰協(xié)商機制、數(shù)據(jù)加密以及完整性控制。
本文針對這種移動通信安全機制進行了分析,指出其協(xié)議中存在的漏洞以及不足,并在其基礎(chǔ)上提出了新的移動通信安全機制協(xié)議,同時根據(jù)目前密碼算法的發(fā)展和實際的加密需求,改進了架構(gòu)的安全機制中所需的加密算法。新的協(xié)議可以提供強有力的端到端的安全機制,對于類似網(wǎng)上銀行、網(wǎng)上證券等電子商務(wù)提供可靠的安全通信環(huán)境,也能夠滿足一些特殊部門和領(lǐng)域?qū)τ诎踩缘母咭蟆?/p>
1.對MSMA安全機制的分析
MSMA為會話的IMEi相互認證提供了一個基于公開密鑰加密算法的鑒權(quán)認證和密鑰協(xié)商機制AKA[5]。會話雙方能夠利用公鑰加密算法互相認證的一個重要的前提是互相知道對方的公開密鑰,但終端IMEi不可能同時擁有其他所有IMEs的公開密鑰。當IMEi需要另一終端的公開密鑰時,它首先檢查另一終端的公開密鑰是否在本地存儲單元上,如果不存在,IMEi需向歸屬安全環(huán)境CASC請求。因此MSMA還需要提供用戶(IMEs)訪問歸屬安全環(huán)境(CASC)的AKA,這個AKA基于對稱加密算法來實現(xiàn)。
1.1鑒權(quán)流程
IMEi向SC發(fā)起數(shù)據(jù)請求時,IMEi都需要獲得CA頒發(fā)的證書,實現(xiàn)用戶與歸屬安全環(huán)境的相互認證,為用戶和其歸屬安全環(huán)境之間建立起會話密鑰。其中,Kprvi代表IMEi和SC共享的密鑰,Kt表示臨時密鑰,Kca代表CA的密鑰,Ksc代表SC的密鑰。Ki代表IMEi和SC會話的密鑰,T,T+1代表時間戳。K(a,b)表示將內(nèi)容a和內(nèi)容b用密鑰K經(jīng)過對稱加密算法加密后的密文。Noi表示IMEi的代號,能夠標志IMEi的身份。其整個鑒權(quán)流程為:
第一,IMEi向CA發(fā)出Noi,請求與歸屬安全環(huán)境會話。
第二,CA收到Noi,根據(jù)Noi找到IMEi和CA共享的密鑰Kprvi后,向IMEi發(fā)出Kprvi(Ki、Kca(Noi,Kca))。IMEi用Kprvi解密CA發(fā)來的密文,可得到Kt和Kca(Noi,Kca)。Kt是短期內(nèi)使用的臨時密鑰,Kca(Noi,Kca)是訪問CA的證書。IMEi若能通過解密獲得Kca(Noi,Kca)并將其發(fā)回CA,CA就認定其為合法用戶IMEi。
第三,IMEi發(fā)回Kt(Kca(Noi,Kca),T),IMEi通過返回證書Kca(Noi,Kca)向CA表明自己的確是IMEi,并伴隨著時間戳T,使得竊聽者無法利用重發(fā)密文攻擊。CA用Kt解密Kt(Kca(Noi,Kca),T),得到了Kca(Noi,Kca)和T,CA看到了本方先前發(fā)出的證書Kca(Noi,Kca),則認定IMEi為合法用戶。
第四,CA發(fā)出Kt(Ki,Ksc(IMEi,Ki))給IMEi。IMEi收到后用Kt解密,獲得Ki和Ksc(IMEi,Ki)。Ksc(IMEi,Ki)是CA頒發(fā)給IMEi的另一張證書,這張證書用于訪問SC。
第五,IMEi發(fā)出Ki(Ksc(IMEi,Ki),T)給SC。SC用Ki解密后獲得Ksc(IMEi,Ki)和時間戳T。證書Ksc(IMEi,Ki)使得SC相信對方就是IMEi,因為只有IMEi才能從CA處獲取Ksc(IMEi,Ki)。SC用Ksc解密Ksc(IMEi,Ki)獲得Ki,這是SC和IMEi會話的共享密鑰。
第六,SC發(fā)送Ki(T+1)給IMEi,證明自己是真正的SC。非法入侵者既無法知道T也無法知道Ki,所以無法假造Ki(T+1)來回復IMEi。從而,不但CASC認證了IMEi,IMEi也認證了CASC。
1.2加密算法
在加密算法的選用方面,MSMA選用3DES作為其所需的對稱加密算法,3DES是DES改進的加密算法,它使用三把密鑰對報文進行三次DES加密,效果相當于將DES密鑰的長度加倍。另外,MSMA選用RSA算法作為其所需的公開密鑰加密算法[6]。
1.3該安全機制中存在的缺陷
上述方案在對稱加密算法的用戶訪問歸屬安全環(huán)境AKA的鑒權(quán)流程中存在一個較為嚴重的漏洞。在原文的論述中,當認證中心CA與用戶IMEi進行完交互論證過程后,CA發(fā)出Kt(Ki,Ksc(IMEi,Ki))給IMEi。IMEi用Kt解密獲得Ki和Ksc(IMEi,Ki)后,用Ki加密Ksc(IMEi,Ki)和時戳T發(fā)給了安全中心SC。而SC用Ki解密后獲得Ksc(IMEi,Ki)和時間戳T后,又用Ksc解密Ksc(IMEi,Ki)獲得Ki,這里就存在矛盾:如果SC已經(jīng)擁有Ki就不必再通過解密第二次得到Ki,相反如果SC沒有Ki,那之前要解密得到Ksc(IMEi,Ki)和時間戳T就變得不可能實現(xiàn)。其次,在對用戶IMEi的回復中,SC也用Ki加密時戳T+1并發(fā)給IMEi,在這里可能出現(xiàn)合謀攻擊。如CA與IMEi合謀偽造一個與SC的會話密鑰Ki,而SC無法從驗證其真實性,從而相信IMEi是可信用戶。
另外,原方案中所采用的加密算法:3DES和RSA算法,在目前的信息安全背景下已跟不上需求。這兩種加密算法都已有了更好的替代算法,能確保其加密過程更為安全和高效。
2.改進方案
針對上述機制中存在的鑒權(quán)流程方面的漏洞以及選用加密算法在現(xiàn)有條件下的不足之處,本文的改進方案如下:
IMEi向SC發(fā)起數(shù)據(jù)請求時,IMEi都需要獲得CA頒發(fā)的證書,實現(xiàn)用戶與歸屬安全環(huán)境的相互認證,為用戶和其歸屬安全環(huán)境之間建立起會話密鑰。其中,Kprvi代表IMEi和SC共享的密鑰,Kt表示臨時密鑰,Kca代表CA的密鑰,Ksc代表SC的密鑰。Ki代表IMEi和SC會話的密鑰,將CA發(fā)給用戶IMEi的Kt(Ki,Ksc(IMEi,Ki))中的前一個Ki改為SC的公鑰K'',T、T+1代表時間戳。K(a,b)表示將內(nèi)容a和內(nèi)容b用密鑰K經(jīng)過對稱加密算法加密后的密文。Noi表示IMEi的代號,能夠標志IMEi的身份。其整個鑒權(quán)流程為:
第一,IMEi向CA發(fā)出Noi,請求與歸屬安全環(huán)境會話。
第二,CA收到Noi,根據(jù)Noi找到IMEi和CA共享的密鑰Kprvi后,向IMEi發(fā)出Kprvi(Kt、Kca(Noi,Kca))。IMEi用Kprvi解密CA發(fā)來的密文,可得到Kt和Kca(Noi,Kca)。Kt是短期內(nèi)使用的臨時密鑰,Kca(Noi,Kca)是訪問CA的證書。IMEi若能通過解密獲得Kca(Noi,Kca)并將其發(fā)回CA,CA就認定其為合法用戶IMEi。
第三,IMEi發(fā)回Kt(Kca(Noi,Kca),T),IMEi通過返回證書Kca(Noi,Kca)向CA表明自己的確是IMEi,并伴隨著時間戳T,使得竊聽者無法利用重發(fā)密文攻擊。CA用Kt解密Kt(Kca(Noi,Kca),T),得到了Kca(Noi,Kca)和T,CA看到了本方先前發(fā)出的證書Kca(Noi,Kca),則認定IMEi為合法用戶。
第四,CA發(fā)出Kt(K'',Ksc(IMEi,Ki))給IMEi。IMEi收到后用Kt解密,獲得K''和Ksc(IMEi,Ki)。Ksc(IMEi,Ki)是CA頒發(fā)給IMEi的另一張證書,這張證書用于訪問SC。
第五,IMEi發(fā)出K''(Ksc(IMEi,Ki),T)給SC。SC用自己的私鑰D''解密后獲得Ksc(IMEi,Ki)和時間戳T。證書Ksc(IMEi,Ki)使得SC相信對方就是IMEi,因為只有IMEi才能從CA處獲取Ksc(IMEi,Ki)。SC用Ksc解密Ksc(IMEi,Ki)獲得Ki,這是SC和IMEi會話的共享密鑰。
第六,SC發(fā)送Ki(T+1)給IMEi,證明自己是真正的SC。非法入侵者既無法知道T也無法知道Ki,所以無法假造Ki(T+1)來回復IMEi。從而,不但CASC認證了IMEi,IMEi也認證了CASC。
接下來,IME1希望能夠與IME2會話,需使用公開密鑰加密算法的端到端的AKA,并經(jīng)過兩個步驟:①證實對方是自己所希望的會話對象,即認證;②進行密鑰協(xié)商。其機制采用常用的公鑰加密論證協(xié)商機制。通過這兩個認證和密鑰協(xié)商機制,IMEs之間就可以進行鑒權(quán)和安全會話。
RSA公鑰加密算法通常用于對短數(shù)據(jù)的加密或密鑰協(xié)商過程。但在移動通訊傳輸?shù)倪^程中,限制于移動通訊的計算能力有限,因此RSA算法在效果上較差。在橢圓曲線公鑰密碼體制提出之后,由于其與基于有限域上的離散對數(shù)問題的密碼體制相比,在同等安全條件下有更短的密鑰,更加適合計算能力受限的移動通訊傳輸需求,因此我們將原文選取的公鑰加密算法改用相同密鑰長度的橢圓曲線公鑰密碼算法,以滿足更高的安全要求。
3.結(jié)束語
本文對一種已有的高強度移動通信安全機制進行了分析,指出其協(xié)議中存在的漏洞以及不足,并在其基礎(chǔ)上提出了新的移動通信安全機制協(xié)議,在鑒權(quán)流程中引入公鑰,消除了原方案中可能存在的隱患,同時根據(jù)目前密碼算法的發(fā)展和實際的加密需求改進了架構(gòu)的安全機制中所需的加密算法。 [科]
【參考文獻】
[1]3GPP Organizational Partners.3GPP IS 03.20 v9.0.0, Security Related Network Functions[EB/OL].http:// www.3gpp.org/ftp/Specs/archive/03-series/03.20/0320-900.zip,2001-01.
[2]3GPP Organizational Partners.3GPP IS 33.102 v6.3.0,Security Architecture[EB/OL].http://www. 3gpp.org/ftp/Specs/archive/33-serie/33.102/33102-2630.zip,2004-12.
[3]3GPP Organizational Partners.3GPP IS 33.105 v6.0.0,Cryptographic Algorithm Requirements[EB/OL]. http://www.3gpp.org/ftp/Specs/archive/33-serie&/33.105/33105-600.zip,2004-06.
[4]冒海霞,陳天洲,戴鴻君.高強度移動通信安全中間件架構(gòu)[J].計算機應(yīng)用研究,2006,23(8):91-94.
[5]張方舟,葉潤國,馮彥君等.3G接入技術(shù)中認證鑒權(quán)的安全性研究[J].微電子學與計算機,2004,21(9): 33-37.
[6]劉蘇東,韋寶典,王新梅.改進的3G認證與密鑰分配協(xié)議[J].通信學報,2002,23(5):119-122.