售前電話
135-3656-7657
售前電話 : 135-3656-7657
國家高新技術企業 省級專精特新企業
咨詢熱線:135-3656-7657 400-6333-661
IMS在安全功能和機制上繼承自UMTS系統,提出了完整的安全體系以保證業務的端到端安全。從網絡結構看,IMS的安全分為接入安全和網絡安全。
一、IMS安全體系
針對安全需求,IMS構建了完整的安全體系,如圖12.11所示,其保證業務端到端的安全策略可以分解為5個方面:
1、HSS和ISIM通過AKA(AuthenticationandKeyAgreement,認證和密鑰協商)機制提供雙向鑒權;
2、UE和P-CSCF之間的Gm接口安全,包括信令完整性、加密;
3、為網絡域的Cx接口提供安全;
4、不同網絡間SIP節點之間的安全;
5、同一網絡中SIP節點之間的安全。
上述5個方面的安全從網絡結構上可以歸納兩個部分:1、2屬于IMS接入網的安全,定義了終端安全接入到IMS網絡的安全特性和機制;3、4、5則涉及IMS核心網絡域的安全,定義了IMS核心網絡基于IP協議的控制面的安全體系。
二、接入網絡域安全
接入網絡安全定義了終端接入到IMS的安全特性和機制。接入IMS的用戶首先需要被認證和授權以確認用戶有使用某一種業務的權限。一旦用戶被授權,就會在UE和IMS網絡之間建立IPSec安全聯盟(SecurityAssociation)來保護其接入安全。
1.用戶和網絡的認證
IMS認證和授權依靠終端中的安全功能實現。事實上,終端并不直接實施安全功能,而是在插入終端的智能卡中實現。智能卡的功能依靠實際的網絡來實現。在3GPP網絡中,智能卡通常被稱為UICC(UniversalIntegratedCircuitCard,通用集成電路卡)。UICC包含一個或者兩個應用程序(模塊)。每一個應用程序(模塊)儲存一些對應于特殊用途的配置和參數。其中一個應用程序是ISIM(IP-MultimediaServ:icesIdentityModule,IP多媒體服務識別模塊),其他可能的應用模塊是SIM(SubscriberIdentityModule,簽約用戶識別模塊)和USIM(UMTSSubscriberIdentityModule,UMTS簽約用戶識別模塊),如圖所示。
ISIM是專為IMS定義的,它是IMS安全中最重要的組成模塊。ISIM存儲著IMS相關的安全數據和算法。IMS規范中定義ISIM里面主要包含以下參數。
•IMPI:用戶的私有身份標識;
•IMPU:用戶的一個或多個公共身份標識;
•用戶歸屬網絡的域名;
•IMS域內的SQN序列號;
•認證密鑰(IMS安全的基礎)。
IMS接入認證、加密和完整性保護等都基于這些參數。在IMS網絡中只有ISIM和HSS共享這些秘密參數和算法,其他的任何網絡實體都不知道密鑰和用戶私有身份。用戶終端與網絡的認證就是基于ISIM和HSS間的共享密鑰進行的。為了獲得相互認證,ISIM和HSS必須向對方證明自已知道那個共享密鑰。
認證是在用戶注冊或重新注冊的時候進行的。IMS對用戶的認證采用IMSAKA機制,可提供用戶和網絡之間的雙向認證,其流程完全類似于UMTSAKA。AKA是一個為UMTS開發的安全協議,采用質詢-應答(Challenge-response)模式提供UMTS中的相互認證機制,相同的概念/原理應用于IMS就稱為IMSAKA。IMS使用AKA協議完成HSS與ISIM的相互認證,同時完成UE和P-CSCF之間加密和完整性密鑰的協商。
在IMS網絡中,AKA協議以SIP協議作為其傳輸媒介,在SIP協議內部以隧道的方式傳送。但是,包含ISIM的終端使用SIP協議,而HSS并不使用SIP協議。為了解決這個問題,在用戶注冊時被指定為該用戶服務的S-CSCF就擔當了認證者的角色。S-CSCF使用Diameter協議從HSS處獲得認證向量(這個認證向量包含了一個質詢以及該質詢期望從用戶代理獲得的應答),并質詢用戶終端。如果用戶應答不同,那么S-CSCF就認為認證失敗。下面描述IMS終端和網絡間的認證和授權的過程,如圖12.13所示。
SM1~SM3,用戶終端在登錄IMS網絡時要做的第一件事就是給歸屬網絡發送一個Regiser請求。1-CSCF使用從HSS中獲得的準則對Regiser消息進行處理,為用戶分配一個用于認證和授權的S-CSCF。CMl~CM2:為了完成認證功能,S-CSCF需要從HSS下載多個認證向量。每一個認證向量包含一個隨機質詢(RAND)、一個網絡認證簽名(AUTN)、一個期望從IMS終端獲得的應答<XRES)、一個為了完整性檢查的會話密鑰(IK)和一個加密密鑰(CK)。HSS使用與ISIM共享的密鑰以及在ISIM與HSS同步中保存的序列號生成AUTH。每一個認證向蜇只能用來認證一次ISIM。S-CSCF下載多個向量是為了避免每次用戶需要認證時都與HSS相連接。