Research and Implementation of TD-LTE System Security
李小文 李 陽 韓娜娜
(重慶郵電大學通信學院,重慶 400065)
TD-LTE系統(tǒng)安全性的研究與實現
Research and Implementation of TD-LTE System Security
李小文李陽韓娜娜
(重慶郵電大學通信學院,重慶400065)
摘要:安全性是移動通信系統(tǒng)正常運行的基礎。采用安全算法對安全流程進行了研究、設計;考慮TD-LTE系統(tǒng)中保證用戶隱私的重要性,提出了安全性激活過程和認證與密鑰協商協議(AKA)過程。驗證系統(tǒng)引入了單層測試工具Realview IDE軟件,操作系統(tǒng)選用了Nucleus。實測結果驗證了安全算法模塊的正確性和可行性,為以后研究更先進的安全性算法奠定了基礎。
關鍵詞:TD-LTE安全性加密完整性測試
Abstract:Security is the basis for normal operation of the mobile communication system; for this reason, the security procedures are researched by using security algorithm. Especially considering the importance to ensure user’s privacy in TD-LTE system, the security activation process and the authentication and key agreement (AKA) protocol process are proposed. The verification system introduces the single testing tool Realview of IDE software; and the operating system is using Nucleus. The results of practical test verify the correctness and feasibility of the security algorithm; this lays the foundation for future studying of more advanced safety algorithms.
Keywords:TD-LTESecurityEncryptionIntegrityTest
0引言
2013年12月4日,中國工信部正式向中國移動通信集團公司、中國電信集團公司和中國聯合網絡通信集團有限公司三大運營商頒發(fā)了“LTE/第四代數字蜂窩移動通信業(yè)務(TD-LTE)”經營許可。隨后各運營商又先后宣布TD-LTE的商用,意味著國內三大運營商日后的競爭將主要圍繞以TD-LTE展開。這就增加了對TD-LTE系統(tǒng)中安全性研究的必要性和意義[1]。
在TD-LTE系統(tǒng)中,由于e-NodeB處于一個開放的環(huán)境下,攻擊者假設成功突破e-NodeB,就可以繼續(xù)攻擊用戶設備(user equipment,UE)、移動管理實體(mobility management entity,MME)以及服務網關(serving gateway,S-GW)。另外,攻擊者如果對沒有進行完整性保護或未加密的系統(tǒng)信令進行操縱、破壞或攻擊,也會直接威脅整個TD-LTE系統(tǒng)的安全性。此外,在切換過程中,系統(tǒng)信令或用戶數據沒有進行安全性保護,那么一旦泄漏,可能導致UE與e-NodeB之間、UE與目標基站之間的認證威脅和重放攻擊。因此,TD-LTE系統(tǒng)的安全性的研究變得迫在眉睫[2]。
1TD-LTE系統(tǒng)安全性過程
由于TD-LTE采用了扁平化的組網方式,因此相應地安全結構也可分為兩個層次[3]。
① 接入層(access stratum,AS)安全性是指e-NodeB與UE之間的安全性,主要執(zhí)行AS系統(tǒng)信令的完整性保護和加密,以及對用戶數據的加密。
② NAS的安全指的是MME與UE之間的安全,主要指的是NAS系統(tǒng)信令的完整性保護和加密。
TD-LTE安全過程主要可分為鑒權與密鑰生成、安全性激活兩個過程,然后才能夠進行用戶數據或系統(tǒng)信令的傳輸[3]。當用戶首次開機時,由于終端和網絡都不存在EPS安全上下文,因此移動性管理實體(MME)會首先發(fā)起注冊過程,即鑒權與密鑰協商過程(authentication and key agreement,AKA)。通過AKA過程,終端與網絡相互核實對方的身份是否合法,協商雙方之間用于加密與完整性保護的密鑰,并且產生一致的EPS安全上下文。隨后網絡端會主動發(fā)起用于NAS與AS層安全性激活的安全激活命令(security mode command,SMC)。通過SMC命令,終端與網絡端協商雙方的加密與完整性保護的安全算法,激活當前的EPS安全上下文,最終使得UE和網絡端之間具有一致的密鑰和安全算法,保證二者之間通信的安全性[5]。具體流程如圖1所示。
圖1 安全性過程
AKA過程的結果是在終端和網絡端之間建立了EPS安全上下文,實現UE和網絡端之間密鑰的一致性和雙向鑒權[6]。
詳細的AKA過程如圖2所示。
圖2 認證與密鑰協商協議過程分析
① 網元MME向網元本地用戶服務器(home subscriber server,HSS)發(fā)送Authentication data request系統(tǒng)信令。該系統(tǒng)信令攜帶服務網標志(server network identity,SN ID)、IMSI以及Network Type。
② 網元HSS首先通過SN ID對終端進行驗證,如果證實該終端是本網絡的合法用戶,則HSS將利用網元MME發(fā)送過來的參數生成鑒權矢量(authentication vector,AV)。AV參數包括鑒證令牌(authentication token,AUTN)、隨機數(random number,RAND)、挑戰(zhàn)值響應的期望值(expect response to challenge,XRES)以及KASME四個參數。
③ 網元HSS將生成的鑒權矢量AV發(fā)送給MME。
④ 網元MME將鑒權矢量AV存起來。
⑤ 網元MME將AUTN、RAND以及代替KASME的KASME密鑰設置標志(key set identifier ofKASME,KSIASME)傳給終端。用KSIASME標志KASME,既可以通過它來驗證終端是否和網絡端具有一樣的KASME,又可以避免KASME在無線鏈路的傳輸,因而提高了密鑰的安全性。
⑥ 終端核實收到的認證向量AUTN,其中AUTN=序列號(sequence number,SQN)匿名密鑰(anonymity key,AK)||鑒證管理域(authentication management field,AMF)||網絡認證碼(network authentication code,MAC)。
AUTN的AMF[0]可以取值為0或1,當AMF[0]取不同的值時代表不同的用途。如果認證向量只在非EPS上下文的AKA認證時使用,則AMF[0]被置為0;否則如果認證向量只在EPS上下文的AKA認證時使用,則AMF[0]被置為1。由于我們探討的是TD-LTE的EPS上下文的AKA認證,所以終端會首先判斷AMF[0]是否為1,如果為1,終端才會接受該鑒權過程。同時,終端會核實XMAC是否與收到的MAC一致,如果一致,則終端對網絡的鑒權通過。最后終端會繼續(xù)核實AUTN中的SQN是否在合理的范圍之內,如果是則通過驗證,否則驗證失敗。如果以上驗證均通過,USIM將會生成挑戰(zhàn)值的響應(response to challenge,RES)、CK以及IK,并將CK和IK發(fā)送給UE。否則如果驗證失敗,USIM將會把失敗原因告知UE。當AUTN的各組成部分都驗證成功的情況下,UE發(fā)送RES到相應的網絡端,然后UE根據CK、IK計算KASME以及SN ID。否則UE向網絡端發(fā)送用戶鑒權拒絕消息,并指示錯誤原因。
⑦ 終端將生成的RES發(fā)送給網元MME。
⑧ 網元MME對比收到的RES和本地XRES,如果一樣,則鑒權成功,否則鑒權失敗。
上述過程完成之后,終端和網絡端的NAS層和AS層利用KASME通過密鑰生成算法(key derivation function,KDF)獲取相應的加密與完整性保護所需要的密鑰。
在TD-LTE系統(tǒng)中,NAS層和AS層都需要進行相互獨立的加密和完整性保護。它們的安全性的激活都是發(fā)生在AKA過程之后,并且網絡端先激活NAS層的安全性,再激活AS層的安全性[7]。
1.3.1NAS的安全性激活過程
NAS的安全性激活過程是由網絡端發(fā)起的。
MME首先會結合UE所支持的安全算法從NAS安全算法列表中分別選擇出優(yōu)先級最高的完整性保護算法和加密算法,然后將UE安全能力、為UE配置的安全算法以及標志KASME的E-UTRAN密鑰標志(key set identifier in E-UTRAN,eKSI)等參數包含在NAS Security Mode Command(簡稱NAS SMC)系統(tǒng)信令中發(fā)送給UE,并開啟相應的定時器T3460。需要指出的是,系統(tǒng)采用eKSI指示的KASME產生的密鑰對該條信令進行完整性保護卻沒有進行加密。完整性保護方法是MME利用協商好的KASME生成完整性保護密鑰KNASint(non-access stratum integrity key,非接入層完整性密鑰),以及MME選擇的完整性保護算法生成一個完整性消息鑒權碼(message authentication code-integrity,MAC-I)[8]。
如果收到NAS SMC,UE 首先利用KASME生成KNASint,再聯合NAS SMC中攜帶的完整性保護算法生成一個X-MAC。如果X-MAC和MAC-I一樣,則該系統(tǒng)信令通過完整性校驗。然后UE會對比本地存儲的UE安全能力與收到的UE安全能力。如果二者一樣,UE將向移動性管理實體MME發(fā)送NAS Security Mode Complete,并使用新的EPS安全上下文。該消息會使用NAS SMC中指示的安全性算法進行加密和完整性保護;否則,UE將向移動性管理實體MME發(fā)送不進行加密和完整性保護的Security Mode Reject消息。
MME收到Security Mode Complete后,開始使用為UE配置的安全性算法對NAS Security Mode Complete進行解密和完整性保護的核實,并關閉相應的定時器。如果解密后該消息通過完整性保護校驗,則此后MME將開始啟用新的非接入層EPS安全上下文,并且至此以后所有的消息都必須進行加密和完整性保護。
具體流程如圖3所示。
圖3 非接入層安全性激活過程
1.3.2AS的安全性激活過程
在NAS的安全性激活后,網絡端就要通過AS SMC命令進行AS層的安全性激活。
e-NodeB首先從AS安全算法列表中分別選擇出優(yōu)先級最高的完整性保護算法和加密算法,然后將安全算法包含在AS SMC中發(fā)送給UE。需要指出的是,e-NodeB采用KASME產生的密鑰對該條消息進行完整性保護卻沒有進行加密。完整性保護方法是e-NodeB利用Ke-NodeB(e-NodeB Key,演進型節(jié)點B密鑰)生成的完整性保護密鑰KRRCint(radio resource control integrity key,RRC系統(tǒng)信令完整性密鑰)以及AS SMC中攜帶的完整性保護算法生成一個MAC-I,并將該MAC-I包含在AS SMC中發(fā)送給UE。UE收到AS SMC時,首先利用KASME生成Ke-NodeB,再聯合AS SMC中攜帶的完整性保護算法生成一個X-MAC。然后UE會核實X-MAC和MAC-I是否一致,如果一致則該系統(tǒng)信令通過校驗,UE發(fā)送AS Security Mode Complete消息給e-NodeB,需要注意此消息會同時進行加密和完整性保護[6]。當e-NodeB收到這條系統(tǒng)信令時,會對其進行完整性校驗,如果完整性校驗通過,則接入層的安全性就激活了,從而可以開始傳輸數據。如果X-MAC值和MAC-I值不一樣,則UE會向服務e-NodeB返回一條AS SecurityModeFailure消息。e-NodeB對AS SMC完成消息進行完整性校驗通過后,接入層的安全性就激活了,從而可以開始傳輸數據。
具體流程如圖4所示。
圖4 接入層安全性激活過程
2安全流程單層驗證
在算法模塊得到驗證之后,我們需要驗證安全流程中函數功能的正確性,為此,論文采用白盒測試的方法對這些函數進行單層測試。測試方法就是把某個函數當作透明的盒子,根據函數的具體功能構造合適的測試例對其進行測試,并通過對比程序的函數跳轉或數據處理等過程是否與預期結果一致來驗證程序的實現是否正確。
本文使用的單層測試工具是Realview IDE軟件,起支撐作用的操作系統(tǒng)選用Nucleus。由于論文篇幅限制,這里我們只介紹AS SMC過程中PDCP、RRC以及EMM層代碼的驗證方法和結果。AKA和NAS SMC過程的驗證方法均與AS SMC過程一樣,并且驗證表明這兩層的程序也是正常運行的。
在RRC層安全流程的測試過程中,測試例把RRC層設置為測試對象,把其他層設置為環(huán)境,通過構造其他層發(fā)往RRC層的消息以查看RRC層的具體響應。首先我們需要構造測試例入口函數RRC-test()。在該入口函數中,我們首先構造PDCP層或EMM層發(fā)往RRC層的接口原語,當RRC層接收到該接口原語后,會解析出接口原語中所承載的消息,并做出相應處理。此時我們通過Realview IDE工具中的watch窗可以觀察函數處理之后的數據。
下面以接入層的安全激活流程為例說明其安全性流程的正確性。
構造接入層安全性激活過程RRC層測試例。
① 測量目的為測試RRC層內部處理接入層安全性激活過程的正確性。
② 預置條件為設置網絡端發(fā)送的DL-DCCH-Message消息中包含的信元是securityModeCommand。測試過程為終端PDCP層向RRC層發(fā)送PDCP-SRB-REQ接口原語,測試RRC層是否正確輸出EMMAS-SECURITY-IND原語,以及原語中攜帶的參數值是否正確。
③ 測試結果為通過。
測試步驟如下。
① 在RRC-test()函數中構造PDCP層發(fā)往RRC層的接口原語PDCP-SRB-REQ,該接口原語包括頭指針header以及data包等數據成員。data包中的重要數據單元p_DL_DCCH_Message里面承載的信元是securityModeCommand。其中cipheringAlgorithm設置為0x02,代表網絡端為UE接入層配置的加密算法是AES-128安全算法;imtegrityProtAlgorithm設置為0x02,代表網絡端為UE接入層配置的完整性保護算法也是AES-128安全算法[9]。
② RRC層調用函數rrc_con_52CPDCP_SRB_IND(T_HeaderInfo *header),該函數通過頭指針找到接口原語所在內存并解析出該接口原語中所攜帶的DL_DCCH_Message消息。該DL_DCCH_Message消息中攜帶的信元是AS SMC信元,并將該信元中的接入層安全算法存儲在全局變量v_rrc_g_security_para中的數據成員v_ENC_ALG和v_INT_ALG中。測試結果為v_ENC_ALG=0x02、v_ INT _ALG=0x02,表明RRC成功解析出網絡端配置的安全算法,并且成功跳轉到rrc_con_06EMMAS_SECURITY_IND()。
③ 進入rrc_con_06EMMAS_SECURITY_IND()函數內部時,RRC層組裝發(fā)往EMM層的接口原語p_EMMAS_SECURITY_IND要求獲取密鑰Ke-NodeB,其中singling ID為0x0321與預期的EMMAS_SECURITY_
IND信令標志一樣,并且Security_flag標志設置為0x0000,代表接入層還沒有開始安全性保護[10],與預期的設置一致。
綜上所述,終端PDCP層向RRC層發(fā)送PDCP-SRB-REQ接口原語,RRC層正確輸出EMMAS-SECURITY-IND原語,并且原語中攜帶的參數也是正確的。
3結束語
安全是通信正常運行和保證用戶隱私的基礎。本文重點介紹了TD-LTE系統(tǒng)安全性流程,并對其過程進行了設計與驗證,證明了安全性算法的正確性,為以后研究出更安全的流程算法打下基礎。
參考文獻
[1] 沈嘉,索士強,全海洋,等.3GPP長期演進(LTE)技術原理與系統(tǒng)設計[M].北京:人民郵電出版社,2008:10-11.
[2] 3GPP TS 36.300 V9.10.0 Evolved universal terrestrial radio access(E-UTRA) and evolved universal terrestrial radio access network(E-UTRAN),overall description[S].2012.
[3] 3GPP TR 33.821 V9.0.0 rationale and track of security decisions in long time evolution(TD-LTE) RAN/3GPP system architecture evolution(SAE)[S].2009.
[4] 3GPP TS 33.401 V9.7.0 3GPP system architecture evolution(SAE);security architecture[S].2011.
[5] 3GPP TS 35.206 V9.0.0 3G Security,specification of the MILENAGE algorithm set,an example algorithm set for the 3GPP authentication and key generation functions fl,f1*,f2,f3,f4,f5 and f5*,Document 2:algorith specification[S].2009.
[6] 3GPP TS 33.102 V9.4.0 Technical specification group services and system aspects,3G security,security architecture[S].2010.
[7] 3GPP TS 36.331 V9.13.0 Evolved universal terrestrial radio access(E-UTR A),radio resource control(RRC) protocol specification[S].2012.
[8] 李小文,李貴勇,陳賢亮,等.第三代移動通信系統(tǒng)、系統(tǒng)信令及實現[M].北京:人民郵電出版社,2006.
[9] 曹俊華,李小文.TD-LTE/SAE系統(tǒng)接入層安全性的研究與實現[J].電視技術,2011,35(1):1-4.
[10]牛麗麗,李校林,李小文.基于TTCN-3的TD-TD-LTE非接入層測試研究[J].廣東通信技術,2012(4):1-4.
中圖分類號:TN929+.5
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201502012
國家科技重大專項基金資助項目(編號:2012ZX03001024、2012ZX03001009-004
修改稿收到日期:2014-06-13。
第一作者李小文(1955-),男,1988年畢業(yè)于重慶大學信號與系統(tǒng)專業(yè),獲碩士學位,教授;主要從事第三代移動通信TD-SCDMA無線接入技術的標準制定和終端產品協議棧軟件的開發(fā)工作。