文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)04-0137-04
隨著電信領(lǐng)域內(nèi)通信標(biāo)準(zhǔn)的應(yīng)用越來越普遍[1], 通信軟件的應(yīng)用及研發(fā)也更加廣泛且深入,所以驗(yàn)證軟件的標(biāo)準(zhǔn)性以及健壯性就顯得尤為重要。對(duì)于LTE協(xié)議棧而言,為保證通信軟件協(xié)議棧的實(shí)現(xiàn)質(zhì)量,必須對(duì)該軟件進(jìn)行協(xié)議一致性測(cè)試。協(xié)議測(cè)試其實(shí)是一種典型的黑盒測(cè)試,它包括4個(gè)方面:一致性測(cè)試、互操作性測(cè)試、堅(jiān)固性測(cè)試和性能測(cè)試。
對(duì)于LTE系統(tǒng)而言。安全性包括接入層AS(Access Stratum)和非接入層NAS(Non-Access Stratum)兩個(gè)層次[2-3],而接入層安全性相對(duì)而言更加重要。LTE系統(tǒng)主要提供兩種有效的安全性功能——加密和完整性保護(hù)。而安全性的實(shí)現(xiàn)必須使用相應(yīng)的算法,在幾種主流的分組密碼算法中,AES算法具有以下特點(diǎn):(1)采用了128 bit的長密鑰,使其難以被破解; (2)非線性度和復(fù)雜度相對(duì)較高; (3)能抗擊截短差分攻擊和滲透攻擊;(4)加密速度快。因此在LTE中采用AES算法最合適。本文從接入層安全性流程的實(shí)現(xiàn)著手,編寫測(cè)試?yán)齕4-5],通過消息時(shí)序圖(MSC)、跟蹤文檔并結(jié)合程序來檢查和驗(yàn)證網(wǎng)絡(luò)端接入層安全性的實(shí)現(xiàn)程序。
1 接入層安全性過程概述
接入層安全性主要是在PDCP(Packet Data Convergence Protocol)層實(shí)現(xiàn)[6],PDCP層通過接收高層的安全配置信令,進(jìn)入相應(yīng)的狀態(tài)后才能對(duì)數(shù)據(jù)和信令進(jìn)行加密及完整性保護(hù),在正常的RRC(Radio Resource Control)連接建立完成并且通過層三的鑒權(quán)完成后,啟動(dòng)接入層的安全模式命令。網(wǎng)絡(luò)端首先獲得由非接入層的AKA(Authentication and Key Agreement)過程產(chǎn)生的密鑰KASME,然后RRC由該參數(shù)計(jì)算得到KeNB,再由KeNB計(jì)算得到控制平面的完整性保護(hù)密鑰KRRCint,以及用戶平面和控制平面加密需要的密鑰KUPenc、KRRCenc,再組裝成安全模式命令(SecurityModeCommand),發(fā)送給終端,配置終端的安全性參數(shù)。當(dāng)網(wǎng)絡(luò)端發(fā)出SecurityModeCommand消息后開始對(duì)下行數(shù)據(jù)進(jìn)行加密,終端的PDCP層接收到SecurityModeCommand消息后,先將其送到RRC進(jìn)行解碼操作,得出網(wǎng)絡(luò)端配給終端的完整性保護(hù)算法,再將完整性保護(hù)算法和相應(yīng)的密鑰發(fā)給PDCP層,PDCP就可以對(duì)SecurityModeCommand消息進(jìn)行完整性校驗(yàn)。如果沒有通過完整性校驗(yàn),則向網(wǎng)絡(luò)端發(fā)送安全模式失?。⊿ecurityModeFailure);如果通過,則取出里面包含的加密算法,并向網(wǎng)絡(luò)發(fā)送安全模式完成(SecurityModeComplete)消息,對(duì)其進(jìn)行完整性保護(hù)但是不加密,自此后開始對(duì)上行數(shù)據(jù)加密,下行數(shù)據(jù)解密。網(wǎng)絡(luò)端收到該消息后開始對(duì)上行數(shù)據(jù)解密,安全性建好后,開始對(duì)信令進(jìn)行完整性保護(hù)。
2 安全性算法的研究與實(shí)現(xiàn)
接入層的安全性是通過加密算法和完整性保護(hù)算法來實(shí)現(xiàn)。AES算法是一種塊運(yùn)算算法,其運(yùn)算速度快、效果比較好,可以由此延伸出128-EEA加密算法和128-EIA完整性保護(hù)算法[8]。
2.1 128-EEA算法描述
加密的目的是確保即使數(shù)據(jù)被第三方接收到,也無法正確解碼。對(duì)于控制平面,被加密的數(shù)據(jù)單元僅是PDCP SDU的數(shù)據(jù)部分和MAC-I;對(duì)于用戶平面,被加密的數(shù)據(jù)單元是PDCP SDU的數(shù)據(jù)部分。
(1) RRC配置的輸入?yún)?shù)
Count:長度32 bit,它由一個(gè) HFN和PDCPSN組成,PDCP SN 的長度由RRC配置。
BEARER:長度5 bit,由RRC向PDCP提供一個(gè)對(duì)應(yīng)的rbIdentity值減1后轉(zhuǎn)化為一個(gè)5 bit的二進(jìn)制數(shù)(高位用0來填充)而得。
DIRECTION:長度1 bit,表示傳輸方向:比特0表示為UL,比特1表示為DL。
LENGTH:進(jìn)行加密的消息的長度。
KUPenc和KRRCenc:長度128 bit,是一個(gè)密鑰,僅用于一個(gè)特定加密算法來保護(hù)UP業(yè)務(wù)。該密鑰被UE和eNB使用,通過KDF將KeNB及其加密算法的ID生成的。
(2) 算法流程
①生成Counter Block:將RRC所配置的參數(shù)Count、BEARER、DIRECTION組成長度為128 bit的數(shù)據(jù)流Tn,即:Tn = Count [0]...Count [31]│BEARER [0]...BEARER[4]│DIRECTION│026 (i.e. 26zero bits) | Mn。
②生成Keystream Block:密鑰Key與Tn進(jìn)行AES(Key,Tn)計(jì)算,計(jì)算結(jié)果Kn。即:Kn = AES(Key,Tn)。
③生成所需要的加密文件CipherText:密文Cn的產(chǎn)生則根據(jù):Cn=(Kn) ORX (Pn)。
2.2 128-EIA算法描述
完整性保護(hù)功能包括完整性保護(hù)和完整性驗(yàn)證。發(fā)送端將數(shù)據(jù)和一定的輸入?yún)?shù)經(jīng)過EIA算法,得出一個(gè)32 bit的MAC值,然后將這個(gè)MAC值隨著數(shù)據(jù)一起發(fā)送到接收端,接收端通過同樣的方法也得出一個(gè)XMAC值,然后比較這兩個(gè)值是否一致,如果一致,則完整性驗(yàn)證成功;否則,完整性驗(yàn)證失敗。完整性保護(hù)將只用于信令單元和數(shù)據(jù)單元的PDCP頭,且在PDCP SDU的數(shù)據(jù)部分加密之前執(zhí)行。
3 測(cè)試設(shè)計(jì)過程
SDL是一種描述系統(tǒng)行為的語言,其具有以下特點(diǎn):(1)說明系統(tǒng)的功能;(2)描述系統(tǒng)的內(nèi)部結(jié)構(gòu)和行為;(3)因?yàn)槠涿枋錾傻腃代碼(或嵌入的C代碼)可以直接再在目標(biāo)板上運(yùn)行,因此可以大大縮短開發(fā)周期。因而在有關(guān)協(xié)議棧的通信軟件的開發(fā)過程中,SDL有著廣泛的應(yīng)用,可以用于協(xié)議工程的各個(gè)階段。
在對(duì)TD-LTE無線終端綜合測(cè)試儀接入層安全性協(xié)議實(shí)現(xiàn)的過程中,設(shè)計(jì)了如圖1所示的SDL進(jìn)程。PDCP層在DAM、DUM、SAM三種狀態(tài)中轉(zhuǎn)換,當(dāng)釋放掉某個(gè)PDCP實(shí)體后,進(jìn)入空狀態(tài),等待著RRC去配置進(jìn)入某個(gè)狀態(tài)。因?yàn)閮H僅只有SRB需要完整性保護(hù),因此在DAM狀態(tài)下設(shè)計(jì)了加密過程,而在SAM狀態(tài)下設(shè)計(jì)了完整性保護(hù)過程。當(dāng)RRC配置PDCP進(jìn)入SAM狀態(tài)后,PDCP通過原語CPDCP_SECURITY_REQ來接收RRC配置的安全性信息,如完整性保護(hù)算法和密鑰,RRC再通過原語CPDCP_DATA_REQ發(fā)送信令到PDCP進(jìn)行完整性保護(hù),PDCP再將經(jīng)過處理后的數(shù)據(jù)通過原語RLC_AM_DATA_REQ傳給RLC層。當(dāng)RRC配置PDCP進(jìn)入DAM狀態(tài)后,PDCP利用以前接收的加密密鑰(假設(shè)PDCP沒有經(jīng)過重建)對(duì)接收到的數(shù)據(jù)進(jìn)行加密處理。BC通過原語CPDCP_DATA_REQ將高層的數(shù)據(jù)傳到PDCP層進(jìn)行加密處理,PDCP再將處理后的數(shù)據(jù)通過原語RLC_AM_DATA_REQ傳給RLC層。DUM狀態(tài)類似于DAM狀態(tài),在此就不再贅述。
4 測(cè)試仿真結(jié)果
將編寫好的C代碼嵌入到SDL軟件中,再根據(jù)圖1的信號(hào)流程圖,結(jié)合由TTCN寫的測(cè)試案例,得到圖2的仿真結(jié)果圖??梢钥闯龇抡娼Y(jié)果和信號(hào)流程圖以及TTCN測(cè)試的數(shù)據(jù)完全吻合,所以完全正確地驗(yàn)證了設(shè)計(jì)的接入層安全性過程及流程。
在對(duì)幾種主流的分組密鑰算法的對(duì)比研究的基礎(chǔ)上發(fā)現(xiàn)AES算法具有很好的抗攻擊能力和很高的復(fù)雜度,從而在LTE中將其作為安全性的核心算法。本文設(shè)計(jì)了實(shí)現(xiàn)接入層安全性的流程圖及信號(hào)流程,最后通過一系列的測(cè)試驗(yàn)證了流程的正確性。還使用了ARM編譯軟件在芯片ARM1176JZF-S上結(jié)合其他各層實(shí)現(xiàn)單步測(cè)試,測(cè)試的流程圖和在各內(nèi)存中的數(shù)據(jù)都完全正確。該接入層安全性的設(shè)計(jì)方案對(duì)今后類似的設(shè)計(jì)場合有一定推廣價(jià)值。
參考文獻(xiàn)
[1] 沈嘉等.3 GPP長期演進(jìn)(LTE)技術(shù)原理與系統(tǒng)設(shè)計(jì)[M]. 北京:人民郵電出版社, 2008.
[2] 3GPP TS 36.300 V9.0.0, Evolved Universal Terrestrial Radio Access and Evolved Universal Terrestrial Radio Access Network[S].2009.12.
[3] 3GPP TS 36.331 V9.0.0, Radio Resource Control Protocol Specification[S].2009.12.
[4] 3GPP TS 24.301 V9.0.0, Non-Access-Stratum protocol for Evolved Packet System [S].2009.12.
[5] 3GPP TS 33.401 V9.0.0、V9.2.0, System Architecture Evolution[S].2009.12.
[6] European Telecommunications Standards Institute (ETSI)/SAGE(Version:1.1).Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2[S]. 2006.
[7] 3GPP TS 36.323 V9.0.0,Packet data convergence protocol (PDCP) specification[S]. 2009.
[8] National Institute of Standards and Technology(NIST).Federal Information Processing Standards Publications (FIPS PUBS)197, Advanced Encryption Standard(AES)[S]. 2001.