IP多媒體子系統(IMS)[1]是第三代標準組織(3GPP)在Release 5階段提出的一個開放的網絡架構。由于IMS網絡具有控制和業務分離、接入無關、統一控制等特點,3GPP、國際電信聯盟遠程通信標準化組織(ITU-T)等標準組織明確IMS為下一代網絡的核心,由IMS提供廣泛的基于IP的應用服務。隨著業務的開展,業務安全性和用戶體驗變得越來越重要,GBA是一種通用引導架構[2],可應用于IMS網絡,解決用戶終端(UE)與應用服務器(AS)之間相互認證的安全問題,并提升用戶業務體驗。
文章深入分析了通用引導架構(GBA)和IMS網絡的技術特點,并從終端安全、算法安全、向量資源共享等角度對GBA在IMS網絡中的應用提出了建議。
1 GBA在IMS中的應用
1.1 GBA架構
隨著眾多業務的開展,運營商和用戶都需要可靠的認證機制來保證業務的合法使用。尤其是在3G/4G業務中,很多應用都需要UE和AS之間進行交互,如業務激活、業務設置、業務訪問等。為了保證業務應用的安全性,就要求在UE和AS之間進行雙向認證。如果UE和AS直接交互,存在兩個嚴重問題:UE和每個AS之間都要進行獨立的認證,包括認證機制的協商、密鑰的管理;UE每次登陸不同的AS,都需要輸入密鑰,用戶體驗差。
因此3GPP標準組織提出了通用認證架構的概念,其中GBA就是一種基于共享密鑰的通用認證架構。GBA使用認證與密鑰協商(AKA)為UE和網絡之間提供一種密鑰共享、相互認證和業務保護的機制,具有較高的安全性和通用性。GBA架構如圖1所示,其中引入了引導服務功能(BSF)、網絡應用功能(NAF)網元以及認證代理(AP)網元[2-7]。
以下是GBA架構中各邏輯實體的具體功能:
(1)BSF。BSF作為引導服務功能,處于用戶的歸屬網絡。BSF通過Zh接口從歸屬用戶服務器(HSS)獲得GBA的用戶安全設置和AKA認證向量,并完成對UE的認證,建立共享密鑰(Ks)。
(2)NAF。NAF作為網絡應用功能,相當于應用服務器AS。NAF收到UE請求后,需要通過Zn接口從BSF獲取UE和BSF引導過程協商完成的密鑰信息,并完成對UE的認證。

圖1 GBA架構
(3)AP。AP作為認證代理功能,一般部署在UE和AS之間。AP代理AS完成對UE的認證,然后AP轉發UE請求交由AS處理。
(4)HSS。所有的用戶安全設置、用戶號碼、認證向量都存儲在HSS中,HSS支持通過Zh接口,返回認證向量給BSF網元。
(5)UE。UE需要支持AKA/HTTP Digest協議,并且能夠與引導服務功能雙向認證產生Ks,進而根據Ks,產生衍生密鑰Ks_NAF,該衍生密鑰則用于UE和NAF/AP之間所進行的雙向認證。
GBA流程一般包括兩個步驟:
(1)執行引導認證流程。通過AKA協議實現BSF與UE之間進行的雙向認證,當認證成功后,UE和BSF擁有Ks。
(2)執行業務訪問流程。UE與網絡應用功能/AP之間通過Ks所產生的Ks_NAF來完成對用戶終端的相關認證。
1.2 IMS網絡
IMS網絡采用分層的架構,分為接入層、傳輸層、控制層和應用層。接入層實現各類軟、硬終端連接到IMS網絡;傳輸層提供網絡和網絡間的連接;控制層主要是用于對會話的控制;應用層支持各種類型的應用服務器[8-9]。
IMS網絡中呼叫會話控制功能(CSCF)完成對用戶的認證和呼叫的控制;HSS是用戶和業務信息的數據庫,完成用戶數據管理、業務簽約等功能;AS提供各類業務和應用[10-12]。
1.3 GBA在IMS中的組網
全IP結構的IMS系統實現移動與固網融合,集數據、語音、視頻于一體,推動運營商轉變到寬帶多媒體應用和服務中來。
在IMS網絡中,很多應用都需要在UE與AS之間進行交互,如UE和基本補充業務服務器(MMTelAS)之間進行補充業務的激活、去激活,例如前轉類、限制類、顯示類業務設置操作。部署GBA通用認證架構能夠以統一的認證機制,解決UE和AS雙向認證的問題,同時增強運營商管控能力。圖2為GBA在IMS網絡中的組網示意,其中虛線是網元與HSS之間的接口,基于Diameter協議;粗實線表示GBA架構的關鍵接口,基于超文件傳輸協議(HTTP);細實線表示IMS關鍵接口,基于會話初始協議(SIP)協議。
1.4 GBA在IMS中的應用
UE在IMS網絡中進行呼叫、短信等業務之前,首先需要進行IMS網絡注冊。IMS網絡注冊過程也是UE和IMS網絡雙向認證的過程。具體來說,當UE經過代理會話控制功能(PCSCF)和查詢會話控制功能(ICSCF)時,會向服務會話控制功能(SCSCF)發送注冊請求,SCSCF則從HSS獲取用戶的AKA認證向量,并采用AKAMD5認證算法,完成對UE的認證,這個過程通常稱為IMS-AKA。認證流程和UE與BSF之間的引導認證流程類似,主要差異如圖2所示。UE和SCSCF之間基于SIP協議,UE和BSF之間基于HTTP協議。
在IMS網絡GBA架構中,UE與AS交互進行業務激活等操作時,首先通過BSF進行引導認證流程,該流程通常稱為GBA-AKA,然后UE通過AP向AS發送業務操作請求,AP向BSF獲取衍生密鑰等信息,完成對UE的認證。
在IMS網絡中部署GBA通用認證架構,需要避免每個AS都要提供獨有的認證機制,同時在一定程度上也增強了運營商管控能力。
2 GBA在IMS中的應用分析
目前IMS網絡在固網改造、VoLTE領域得到廣泛應用,但GBA在IMS網絡中應用還屬于探索階段。下面就GBA在IMS網絡應用中可能出現的一些情況,并結合運營商的考慮,對終端安全、算法安全、向量共享3個方面進行重點分析。
2.1 終端安全分析
在GBA架構中,終端包含兩部分:移動設備(ME)和用戶識別卡。若ME是一個可信的設備,由于Ks和Ks_NAF的計算都依賴于客戶識別模塊(SIM)卡并保存在SIM卡中,那么我們認為基于SIM卡的GBA方案是安全的。
若ME是非法設備或是攻擊者定制的終端,則可能出現ME直接調用SIM卡并得到Ks,實現SIM卡的復用和冒用,具體流程參見圖3。在引導認證階段,ME接收到隨機數(RAND)后,不調用SIM卡的GBA模塊,而是以RAND作為參數調用SIM卡中的AKA認證模塊。SIM卡計算得到Kc和SRES,并返回給ME。ME則利用返回的Kc、SRES,模仿正常流程中SIM卡的操作,并通過計算得到GBA共享密鑰Ks=KDF(key,Ks-input,“3gpp-gba-res”,SRES),并將Ks保存在ME中。
在業務訪問階段,UE可利用Ks計算得到Ks_NAF,而不再調用SIM卡的GBA模塊。因此,攻擊者只需要購買一張合法的SIM卡放置在不合法的ME中,并合法訂購某些業務,利用上述方法獲得Ks和Ks_NAF,并且將Ks和Ks_NAF定制在仿造的客戶端軟件中,供他人下載使用。若該業務為包月類型業務,那么使用該仿造的客戶端軟件的終端不需要付費就可以使用該業務,嚴重影響運營商的業務開展。
為了提高IMS網絡GBA架構終端設備的安全性,避免上述情況的出現,有兩種解決方案:
(1)采用通用集成電路卡(UICC),UICC表示物理卡,可以包括多種邏輯應用。在UICC情況下,Ks的協商和生成全部都在UICC中完成,ME無法獲知,安全性高。
(2)對SIM卡終端進行適當的一系列改造,可以避免ME直接從SIM卡得到Ks的可能。

圖2 GBA在IMS網絡中的組網

圖3 非法ME獲取密鑰流程
2.2 算法安全分析
GBA通用引導架構中采用AKA認證,AKA認證采用了MD5算法。MD5是一種用于產生數字簽名的單項散列算法。MD5算法可以將一個任意長度的“字節串”通過一個不可逆的變換算法變換成一個128bit的大整數,即使你看到源程序和算法描述,也無法將一個MD5的值變換回原始的字符串。MD5具有較好的安全性,已經廣泛運用于數字簽名、文件完整性驗證以及口令加密等領域。
目前MD5已經被破解,破解的原理就是快速找到碰撞字符串,碰撞字符串可以生成和真正的源字符串相同的MD5碼,但是破解的過程還是非常困難的。GBA認證架構采用MD5算法也存在一定的安全隱患。為了提高GBA的安全性,也有兩種解決方案:
(1)使用SHA-1算法,該算法與MD5的128位加密相比,使用了160位加密方式,比MD5安全性更高;
(2)在MD5算法中,使用了qop參數,qop表示MD5計算的認證保護級別,包括空、auth、auth-int。“authint”安全級別最高,使用“auth-int”能降低MD5被破解的概率。
2.3 向量共享分析在GBA通用認證架構中,對于終端引導認證流程如圖4所示,具體步驟如下:
(1)UE向BSF發送HTTP請求,包括用戶的私有用戶標識(IMPI);
(2)BSF通過Zh接口,向HSS發送多媒體認證請求(MAR)認證請求,請求消息中攜帶IMPI;
(3)HSS發送多媒體認證響應(MAA)認證響應消息給BSF,響應消息中攜帶認證向量,如AKA鑒權的五元組向量RAND、AUTN、XRES、CK、IK;
(4)BSF構造401Unauthorized響應,響應消息中包含了RAND和鑒權令牌(AUTN),不攜帶IK、CK、XRES;
(5)UE通過檢查AUTN來認證網絡,包括檢查是否失序,同時UE根據自身密鑰信息計算出CK、IK和RES,從而BSF和UE各自擁有共享密鑰Ks=CK||IK;
(6)UE發送HTTP請求到BSF,其中包含著UE計算的AKA響應值(RES);
(7)BSF通過自身密鑰信息,計算RES完成對UE的認證。若認證成功,生成Ks和B-TID;(8)BSF發送200OK消息到UE通知認證成功,該消息中包含BTID。此外,在這個200OK消息中還要包含共享密鑰Ks的生存期。
上述GBA-AKA流程和IMS-AKA(UE在IMS網絡注冊流程)具有共同的特點是BSF和SCSCF的AKA認證向量都是從HSS下載。
目前這種機制,存在兩個問題:
(1)GBA-AKA和IMS-AKA彼此分離且獨立,同一個終端需要使用不同的AKA認證向量,增加了資源的消耗;
(2)目前IMS-AKA,SCSCF一次從HSS下載5組AKA認證向量,GBA-AKA僅下載1組,AKA認證向量包含了遞增的序列號(SQN)。通常UE先在IMS注冊,下載5組向量,然后執行GBA-AKA,下載包含最新的SQN的向量,那么IMS網絡其他幾組認證向量將失效,因為終端認為本地的SQN大于IMS網絡SCSCF保存的向量SQN,產生了失序情況。
為了減少失序情況的產生,減少AKA認證向量的消耗,結合GBAAKA和IMS-AKA的特點,可以考慮GBA在IMS網絡實際商用部署時,將GBA-AKA和IMS-AKA的認證向量實現共享。一種可行的解決方案是:SCSCF和BSF之間共享認證向量。具體來說,IMS-AKA流程中,S-CSCF從HSS下載新的認證向量后,增加向BSF同步認證向量的接口,BSF本地保存認證向量,以便GBA-AKA流程使用。在GBA-AKA流程中,如果BSF從HSS下載了新的認證向量,BSF需要向SCSCF同步認證向量,以便IMS-AKA流程使用。通過該解決方案,提高了AKA認證向量資源的使用效率,減少了失序情況。

圖4 UE與BSF交互流程
3 GBA在IMS中應用的建議
3.1 合一部署為了減少網絡的復雜性,方便運營商的運維管理,在IMS網絡中部署GBA架構,可以考慮將部分邏輯網元進行物理合設,有3種解決方案。
方案1:AP和SCSCF合設。AP和SCSCF與AS都有接口,AP和SCSCF物理合設,可以簡化組網。
方案2:SCSCF和BSF合設。SCSCF和BSF都需要訪問HSS,獲取認證向量,兩者與HSS接口相同,采用同樣的消息獲取認證向量,BSF和SCSCF物理合設,可以共享認證向量及部分處理邏輯。
方案3:BSF和AP合設。BSF和AP作為邏輯網元,各自具有獨立的邏輯,實際部署時,可以進行物理合設,簡化網絡。
3.2 應用建議
IMS網絡目前已經支持:一鍵通、即時通信IM、多媒體短信、彩鈴、Centrex、MMTELAS等應用服務,此外IMS開放式應用架構還支持游戲、音樂等新的應用服務。隨著IMS網絡業務越來越多,GBA在IMS網絡中應用需求就越強烈。基于對GBA和IMS的深入研究,結合應用的深入分析,對IMS網絡中部署GBA架構,我們提出如下建議:
(1)終端需要支持對網絡的認證,防止偽造網絡竊取用戶信息。
(2)終端最好能夠支持通用集成電路卡(UICC)卡,對于SIM卡用戶,最好能夠對終端進行改造,提高終端的安全性。
(3)在MD5算法中,要求終端和網絡采用“auth-int”進行計算。
(4)采用AKA認證向量的共享機制,減少向量資源的消耗,減少失序情況的出現。
(5)考慮GBA網絡的安全性,需要BSF/AP和UE之間部署防火墻,或者BSF/AP內置防攻擊功能,保證GBA網絡的安全性。
(6)根據運營商需求,考慮合一部署,簡化網絡。
4 結束語
文章分析了GBA架構和流程,結合GBA架構在IMS網絡中應用,從終端安全、算法安全、認證向量共享等幾個角度進行了深入分析,為GBA架構在IMS網絡中商用提出了一些建設性意見,包括共享向量、采用SHA-1算法、采用UICC卡、合一部署等。這些研究和建議必然對GBA架構在IMS網絡中的應用帶來一定的幫助和指導。
參考文獻
[1]袁琦.IMS網絡安全技術研究[J].電信網技術,2008,(9):8-10.
[2]趙川斌,等.基GBA的MBMS終端安全體系研究[J].電視技術,2008,32(7):36-38.
[3]李貴勇,趙川斌.基于GBA的TDMBMS網絡安全體系研究[J].重慶郵電大學學報,2008,20(6):639-642.
[4]任亞梅,李煒.基于GBA的認證鑒權流程[J].計算機系統應用,2011,20(2):137-141.
[5]3GPPTS33.220-c00.3rdGenerationPartnershipProject;TechnicalSpecificationGroupServicesandSystemAspects;3GSecurity;GenericAuthenticationArchitecture(GAA);Genericbootstrappingarchitecture[S].
[6]3GPPTS29.109-b30.3rdGenerationPartnershipProject;TechnicalSpecificationGroupCoreNetwork;GenericAuthenticationArchitecture(GAA);ZhandZnInterfacesbasedontheDiameterprotocol;Protocoldetails[S].
[7]3GPPTS24.109-c00.3rdGenerationPartnershipProject;TechnicalSpecificationGroupCoreNetwork;Bootstrappinginterface(Ub)andNetworkapplicationfunctioninterface(Ua);Protocoldetails[S].
[8]劉牧寅,符剛.IMS在物聯網中的應用初探[J].郵電設計技術,2012,(6):27-30.
[9]朱斌,朱愛華,符剛.IMS在移動網絡演進中的共號碼策略研究[J].郵電設計技術,2013,(4):10-14.
[10]李陽,申鉉京,廉芳芳.IMS網絡多種鑒權機制的研究[J].微計算機信息.2008,24(3-3):42-43.
[11]王穎,董江.移動視頻業務在IMS分組網中的部署與鑒權研究[J].信息技術,2010,(10):82-84.
[12]張方舟等,3G接入技術中認證鑒權的安全性研究[J].微電子學與計算機,2004,21(9):33-37. 