一種ims網絡中用戶終端接入鑑權的方法
2023-04-23 03:59:01 1
專利名稱:一種ims網絡中用戶終端接入鑑權的方法
技術領域:
本發明涉及IMS(IP多媒體網絡子系統)技術領域,具體來說,涉及到IMS網絡中用戶終端UE接入鑑權的方法。
背景技術:
IMS作為固定和行動網路的核心會話控制層,已經成為技術發展的一個方向,第三代移動通信系統(3G)以及TISPAN(Telecommunications and InternetConverged Services and Protocols for Advanced Networking 先進網絡的電信和網際網路融合業務和協議)標準中定義了很多IMS相關的規範,包括網絡架構、接口、協議等各個方面,其中安全是3G及TISPAN考慮的一個重要方面。現有的規範中從安全的角度將IMS網絡劃分為接入域和核心網域,並分別定義了接入域和核心網域的安全規範。以移動接入網為例,IMS網絡的安全模型如附圖1所示其中關於傳輸網絡(Transport)的部分與具體的接入網絡有關,有可能為TISPAN/NGN(下一代網絡)接入網絡,分組電纜網(PacketCable)接入網絡,無線區域網(WLAN)接入網絡等。
IMS網絡中定義的呼叫會話控制功能(CSCF)實體用於完成呼叫和會話時的控制和路由等功能,代理-呼叫會話控制功能(P-CSCF)實體完成用戶終端(UE)的接入,所有UE通過P-CSCF接入IMS網絡;業務-呼叫會話控制功能(S-CSCF)提供會話控制和路由等核心功能;查詢-呼叫會話控制功能(I-CSCF,Interrogating-CSCF)用於S-CSCF的選擇及不同運營商或不同區域網絡之間的互通,實現網絡屏蔽等功能;用戶歸屬伺服器(HSS HomeSubscribe Server歸屬用戶伺服器),用於保存用戶籤約數據和配置數據等。
如附圖1所示,接入域安全機制包括與用戶終端(UE)相關的兩個接口接口1和接口2。接口1為UE與IMS網絡間的雙向認證接口,完成用戶認證功能;接口2用於保證UE與P-CSCF間的通信安全。
3GPP(The Third Generation Partnership Project第三代移動通信夥伴合作項目)對接口1和接口2的實現,是通過在用戶終端註冊流程中應用DigestAKA(摘要認證與密鑰協商,以下簡稱AKA)機制來完成。用戶終端註冊過程中涉及的主要網絡實體為用戶終端UE、P-CSCF、S-CSCF和用戶歸屬伺服器(HSS)。
Digest AKA機制在用戶終端註冊的應用流程如附圖2所示,主要包括如下的步驟1、初始密鑰K在UE與HSS間共享。
2、(SM1--CM2)用戶發起註冊請求SM1(SM表示兩個實體之間的協議是SIP消息SIP Message),S-CSCF通過CM1(CM表示I/S-CSCF和HSS之間的Cx接口消息Cx interface Message,不是SIP協議,而是DIAMETER協議)向HSS請求數據,HSS基於初始密鑰K及序列號SQN產生鑑權五元組並通過CM2下發S-CSCF,其中五元組包括(隨機數據RAND、鑑權序號AUTN、期望結果XRES、完整性保護密鑰IK、加密密鑰CK)。
3、(SM4-SM5)S-CSCF向用戶返回401響應(認證挑戰),攜帶除XRES外的四元組信息。
4、(SM6)P-CSCF保存IK,CK信息,將(RAND,AUTN)信息在401響應中傳給UE。
5、(SM7-SM9)UE依據初始密鑰K及SQN等信息,結合收到的網絡設備下發的AUTN,對網絡設備是否可信進行認證,如驗證通過,網絡設備可信,則結合RAND和K,產生結果RES信息,RES將被當作密鑰「password」用於終端計算響應response的過程,計算的結果在SM7(認證響應)中發送給網絡側,同時UE自行計算出IK、CK。
6、S-CSCF在SM9中接收到由RES生成的response信息,與其依據XRES計算後的結果相比較,如果兩者相同,認為對用戶的認證成功。
由以上流程可見UE向IMS網絡發起註冊,通過DigestAKA實現了UE和IMS網絡間的雙向認證,同時也完成UE和P-CSCF間安全聯盟的建立,UE和P-CSCF之間共享了加密密鑰CK和完整性保護密鑰IK,這兩個密鑰將用於在UE與P-CSCF間安全通信通道的建立。
由於無線領域現有大量用戶終端不符合3GPP協議規範,不支持3GPP TS33.203要求的接入域安全機制,例如使用用戶識別卡SIM卡的用戶終端或者使用USIM/ISIM(通用用戶識別卡/IP多媒體網絡子系統用戶識別卡)卡的2G用戶終端。為了能夠向這類終端用戶提供IMS業務,TR 33.878定義了稱為「Early IMS」(早期IP多媒體網絡子系統鑑權)的接入域安全機制。Early IMS接入域安全的基本原理,是將應用層安全建立在接入層安全之上。接入層對終端接入進行認證後,將經過認證的信息傳送給應用層,應用層依據這些信息對用戶請求進行應用層安全認證。
Early IMS(以下簡稱EIA)接入域安全機制如附圖3所示,其中用戶終端通過GGSN(網關GPRS支持節點)接入GPRS(通用分組無線業務)網絡,GGSN認證用戶標識IMSI(國際移動用戶標識)和MSISDN(移動臺國際ISDN號碼),為用戶終端分配網絡傳輸層標識(IP位址)。
1、GGSN通過「Accounting Request Start」將用戶標識和終端IP位址對應關係傳送到HSS,HSS保存該對應關係;2、HSS通過「Accounting Request Answer」響應;3、用戶終端發起註冊請求REGISTER到P-CSCF,P-CSCF比較REGISTER消息中的via(經過)頭域中的sent-by(發送者)頭域的IP位址是否與REGISTER消息所在IP頭中的源IP位址一致,如果不一致,則增加一個received(接收)頭域到via頭域中,並填充為IP頭中的源IP位址;P-CSCF轉發上述REGISTER請求到S-CSCF,S-CSCF依據REGISTER請求中的公有用戶標識,查詢是否已註冊;4、如未註冊,向HSS請求公有用戶標識對應的終端IP位址(HSS靜態配置公有用戶標識與MSISDN的對應關係,此時可通過公有用戶標識獲得對應的終端IP位址);5、HSS返回公有用戶標識對應的終端IP位址;6、S-CSCF檢查收到的REGISTER的終端源IP位址(如果via頭域中有received頭域,則優先比較received頭域,否則比較via頭域中的sent-by頭域),如果與從HSS獲得的IP位址相同,則通過認證,向GGSN發送200鑑權成功消息。
Early IMS接入域安全機制只針對特定的無線接入環境,而且對接入網有特殊要求,不能保證其他接入環境下的用戶接入安全。
AKA和EIA這兩種鑑權方式的區別如下1、對於AKA,UE和P-CSCF之間需要建立安全聯盟。因此UE發到P-CSCF的REGISTER消息中會攜帶Security-Client/Security-Verify(安全客戶端/安全認證)安全協商頭域,P-CSCF發到UE的4xx挑戰消息中也攜帶有Security-Server(安全伺服器)安全協商頭域,而對於EIA則沒有上述頭域。
2、對於AKA,UE發到P-CSCF的REGISTER消息中會攜帶Authorization(授權)頭域,而對於EIA則沒有上述頭域。
3、對於AKA,P-CSCF在轉發給S-CSCF的REGISTER消息中會在Authorization頭域中增加integrity-protected(完整性保護)頭域,而對於EIA則沒有上述頭域。
4、對於AKA,網絡側實體收到初始的REGISTER消息後首先會發送4xx挑戰消息,UE會再次發送REGISTER消息,等鑑權通過後,網絡側再發送200鑑權成功消息。而對於EIA,網絡側收到初始的REGISTER消息後直接進行鑑權,通過後發送200消息,因此不會發送4xx挑戰消息。
5、鑑權比較方式存在差異對於AKA,S-CSCF是通過比較HSS返回的XRES與UE通過計算出來的RES是否匹配完成鑑權,對於EIA,S-CSCF是通過比較HSS返回的終端IP位址與收到的REGISTER消息中via頭域中的sent-by或者received頭域表示的IP位址是否匹配完成鑑權。
目前TISPAN/NGN網絡中支持三種終端含有UICC/ISIM(通用集成電路卡/IP多媒體業務用戶標識模塊)的IMS終端,不含有UICC/ISIM的終端,傳統的SIP(會話發起協議)終端。對應的鑑權方式分別是DIGEST AKA、NASS-Bundled(IMS業務層鑑權和NASS接入層鑑權綁定鑑權方式)和HTTPDIGEST(HTTP摘要鑑權方式)。
在NGN網絡中,如果接入網絡和業務網絡不屬於同一個運營商時,接入網絡對用戶的鑑權和業務網絡對用戶的鑑權是相互獨立的。在此種情況下,一個用戶若要享用某種業務,通常需要兩次鑑權,一次為接入層的鑑權,在通過接入層的鑑權後用戶能夠接入到NGN網絡;另一次為業務層的鑑權,在通過業務層鑑權後用戶可以享用該業務網絡提供的業務。
如果業務網絡和接入網絡屬於同一個運營商時,或者業務網絡運營商和接入網絡運營商之間存在某種合作關係時,在某些組網情況下,業務網絡運營商可以將業務層的鑑權同接入層的鑑權綁定,即在用戶通過接入層鑑權後,就認為該用戶是安全的,不再需要進行業務層的鑑權。為便於以後的描述,這種方法稱為「IMS業務層鑑權和接入層鑑權綁定」,即NASS-Bundled鑑權方式,以下簡稱為NBA。
NBA鑑權方式的流程如附圖4所示步驟101、網絡附著子系統(NASS)接入層附著認證,在連接位置功能實體(Connection Location Function CLF)上記錄用戶終端(UE)的位置信息。
步驟102、UE向代理呼叫會話控制功能實體(Proxy-Call Session ControlFunction,P-CSCF)發送註冊報文REGISTER消息,該報文攜帶有接入運營商標識及接入用戶標識。
步驟103、P-CSCF通過檢查REGISTER消息中是否包含安全協商參數(例如Security-Client)來判斷是否需要建立和UE之間的安全聯盟;如果有此參數,則需要建立,如果沒有此參數,則不需要建立(一般來說,AKA的情況肯定有此參數,而NASS-Bundled和超文本傳輸協議摘要HTTP DIGEST的情況肯定沒有此參數)。
步驟104、P-CSCF根據註冊報文中的接入運營商標識以及預先設置的接入運營商標識與CLF之間的對應關係確定CLF;然後,P-CSCF根據註冊報文的源IP位址,在確定的CLF中查詢用戶的位置信息。
步驟105、由於CLF中預先保存了與源IP位址對應的位置信息,因此在本步驟中CLF向P-CSCF返回相應的位置信息及其他信息。
步驟106、P-CSCF將攜帶上一步驟中查詢得到的位置信息及其他信息的註冊報文REGISTER發送給詢問呼叫會話控制功能實體(Interrogating-CallSession Control Function,I-CSCF)。
步驟107、I-CSCF向用戶資料庫(UPSF)發送用戶授權請求(UAR)消息。
步驟108、UPSF返回用戶授權應答(UAA)消息。
步驟109、I-CSCF根據從UPSF返回的消息選擇相應的服務呼叫會話控制功能實體(Service-Call Session Control Function,S-CSCF),即選擇由哪個S-CSCF處理該註冊報文。
步驟110、I-CSCF將包括上述位置信息的註冊報文REGISTER轉發給上面確定的S-CSCF。
步驟111、S-CSCF通過REGISTER消息中是否包含Integrity-Protected參數來判斷是哪種認證方式;如果有此參數,則肯定是HTTP DIGEST AKA方式,S-CSCF發給UPSF的鑑權請求只是為了請求鑑權參數;如果沒有此參數,則需要向UPSF查詢配置的鑑權方式,S-CSCF發給UPSF的請求是為了請求鑑權方式和相應的鑑權參數;由於這裡採用NASS-Bundled鑑權方式,所以REGISTER消息中不包含Integriity-Protected參數,S-CSCF向UPSF發送多媒體鑑權請求(MAR)消息,請求用戶的鑑權向量和相應的鑑權參數。
步驟112、UPSF檢查用戶的鑑權籤約數據,發現該用戶的鑑權方式是NASS-Bundled鑑權方式。
步驟113、UPSF向S-CSCF發送多媒體鑑權應答(MAA)消息,返回用戶的鑑權方式和鑑權參數即位置信息。
步驟114、S-CSCF比較從P-CSCF傳來的位置信息與從UPSF查詢得到的位置信息,如果一致,則說明鑑權成功,執行步驟115及其後續流程,即向UE發送鑑權成功的消息;步驟115、S-CSCF向I-CSCF發送2xx Auth_OK消息,表示鑑權成功。
步驟116、I-CSCF將上述2xx Auth_OK消息發送給P-CSCF。
步驟117、P-CSCF將上述2xx Auth_OK消息發送給UE。
在步驟114中,S-CSCF比較從P-CSCF傳來的位置信息與從UPSF查詢得到的位置信息,如果不一致,則說明鑑權失敗,則後續的步驟中均為鑑權失敗的消息。
規範RFC3261和RFC2617對HTTP DIGEST鑑權方式已有相應的規定,其流程如附圖5所示步驟201、UE向P-CSCF發送註冊報文REGISTER。
步驟202、P-CSCF通過檢查REGISTER消息中是否包含安全協商參數(例如Security-Client)來判斷是否需要建立和UE之間的安全聯盟。如果有此參數,則需要建立,如果沒有此參數,則不需要建立。一般來說,AKA的情況肯定有此參數,而NASS-Bundled和HTTP DIGEST的情況肯定沒有此參數。
步驟203、P-CSCF將UE的註冊報文REGISTER轉發給I-CSCF。該報文中還攜帶了P-CSCF從CLF查詢得到的UE的位置信息。
步驟204、I-CSCF跟UPSF之間通過Cx-Selection-Info消息選擇相應的S-CSCF,即I-CSCF向UPSF發出請求,查找UPSF中的用戶屬性來確定由哪個S-CSCF處理該註冊報文。
步驟205、I-CSCF將UE的註冊報文REGISTER轉發給步驟204中所確定S-CSCF。
步驟206、S-CSCF通過REGISTER消息中是否包含Integrity-Protected參數來判斷是哪種認證方式。如果有此參數,則肯定是HTTP DIGEST AKA方式,S-CSCF發給UPSF的鑑權請求只是為了請求鑑權參數;如果沒有此參數,則需要向UPSF查詢配置的鑑權方式,S-CSCF發給UPSF的請求是為了請求鑑權方式和相應的鑑權參數。由於這裡採用HTTP DIGEST鑑權方式,所以REGISTER消息中不包含Integrity-Protected參數。S-CSCF與UPSF之間通過Cx-Put消息,更新UPSF上的S-CSCF指示信息,告知UPSF該用戶後續的處理在本S-CSCF進行。
步驟207、S-CSCF向UPSF發送MAR消息,請求該用戶的鑑權方式和鑑權數據。
步驟208、UPSF檢查用戶的鑑權籤約數據,根據鑑權籤約數據得到該用戶的鑑權方式是HTTP DIGEST鑑權方式,並產生例如nonce等鑑權向量以及期望結果(XRES)等等。
步驟209、UPSF向S-CSCF發送MAR消息,將該用戶的鑑權方式信息HTTP DIGEST以及鑑權參數nonce、期望結果(XRES)等發送給S-CSCF。
步驟210、S-CSCF根據XRES和其他參數計算新的期望結果。
步驟211、S-CSCF得到鑑權方式信息並保存新的期望結果,然後向I-CSCF發送「4xx Auth_Challenge」消息,該消息的WWW-Authenticate頭中Algorithm參數表示採用HTTP DIGEST鑑權方式。
步驟212、I-CSCF將「4xx Auth_Challenge」消息發送給P-CSCF,該消息的鑑權WWW-Authenticate頭域中算法Algorithm參數表示採用HTTPDIGEST鑑權方式。
步驟213、P-CSCF將「4xx Auth_Challenge」消息發送給UE。
步驟214、UE接收到「4xx Auth_Challenge」消息後,發現Algorithm參數表示HTTP DIGEST鑑權方式,重新向P-CSCF發送註冊報文REGISTER,並攜帶用於鑑權的響應(RES)。
步驟215、P-CSCF將攜帶RES的註冊報文REGISTER發送給I-CSCF。
步驟216、I-CSCF與UPSF之間通過Cx-Query確定該UE註冊報文給哪個S-CSCF處理,即I-CSCF向UPSF查詢該註冊報文給哪個S-CSCF處理,UPSF根據保存的S-CSCF指示信息告知I-CSCF處理該註冊報文的S-CSCF。在以下步驟中,S-CSCF將鑑權成功或鑑權失敗的消息發送給UE。
步驟217、I-CSCF將註冊報文REGISTER轉發給步驟216確定的S-CSCF。
步驟218、S-CSCF比較保存的期望結果XRES和UE發送過來的RES,當兩者一致時,說明鑑權成功,當兩者不一致時,說明鑑權失敗。
步驟219、S-CSCF與UPSF之間通過Cx-Put消息,更新UPSF上的S-CSCF指示信息,告知UPSF該用戶後續的處理在本S-CSCF進行。
步驟220、S-CSCF與UPSF通過Cx-Pull消息獲取用戶的籤約數據信息。
步驟221、S-CSCF向I-CSCF發送表示鑑權成功的200消息,或者表示鑑權失敗的403Forbidden消息。在圖中僅以鑑權成功時的200消息表示。
步驟222、I-CSCF將上述消息發送給P-CSCF。
步驟223、P-CSCF將上述消息發送給UE。
NBA/HTTP DIGEST與DIGEST AKA相比,其區別如下1、對於AKA,UE和P-CSCF之間需要建立安全聯盟,因此UE發到P-CSCF的REGISTER消息中會攜帶安全協商客戶端Security-Client/安全協商校驗Security-Verify頭域,P-CSCF發到UE的4xx挑戰消息中也攜帶有安全協商伺服器端Security-Server安全協商頭域,而NBA/HTTP DIGEST中則沒有上述頭域。
2、對於AKA,UE發到P-CSCF的REGISTER消息中一定會攜帶授權Authorization頭域,而對於NBA/HTTP DIGEST則可能包含上述頭域;另外NBA還可能包含用於攜帶位置信息的私有接入網絡信息P-Access-Network-Info頭域。
3、對於AKA,P-CSCF在轉發給S-CSCF的REGISTER消息中會在Authorization頭域中增加integrity-protected頭域,而對於NBA/HTTP DIGEST則沒有上述頭域。
4、對於AKA,網絡側實體收到初始的REGISTER消息後首先會發送4xx挑戰消息(WWW-Authenticate頭域中的algorithm頭域為」AKAv1-MD5」表示AKA鑑權),UE會再次發送REGISTER消息,等鑑權通過後,網絡側再發送200鑑權成功消息,而對於NBA,網絡側收到初始的REGISTER消息後直接進行鑑權,通過後發送200消息,因此不會發送4xx挑戰消息,對於HTTPDIGEST則也會發送4XX挑戰消息(但WWW-Authenticate頭域中的algorithm頭域為」MD5」表示HTTP DIGEST鑑權)。
5、鑑權比較方式的區別對於AKA,S-CSCF是通過比較HSS返回的XRES與UE通過計算出來的RES是否匹配完成鑑權,對於NBA,S-CSCF是通過比較HSS返回的終端位置信息與收到的REGISTER消息中終端實際位置信息是否匹配完成鑑權,對於HTTP DIGEST,其比較方式與AKA相同。
另外,PacketCable規範中也定義了兩種終端含有UICC/ISIM的終端和不含有UICC/ISIM的終端。其對應的鑑權方式分別為DIGEST AKA(如前所述)和帶有安全聯盟協商的HTTP DIGEST,該方式尚未最後確定。
帶有安全聯盟協商的HTTP DIGEST的鑑權方式如附圖6所示,帶有安全聯盟協商的HTTP DIGEST和DIGEST AKA相比,其區別是1、對於AKA,401消息中的WWW-authenticate頭域中的algorithm為」AKA-v1-MD5」表示AKA鑑權,而對於帶有安全聯盟協商的HTTPDIGEST,相應的glgorithm為」SHA1」表示帶有安全聯盟協商的HTTP DIGEST鑑權。
2、UE計算挑戰響應時的算法不同,S-CSCF從HSS下載的鑑權向量也不同。
其它方面,例如Security-Client等安全頭域、integrity-protect頭域、Authorization頭域,UE和P-CSCF建立安全聯盟、鑑權方式等方面都是一樣的。
概括來說,DIGEST AKA為」full IMS」鑑權,其他幾種方式為」early IMS」鑑權。
綜上所述,3GPP/TISPAN/PacketCable都只考慮了相關的接入網分別和IMS核心網組網時的對終端UE的鑑權方式,這個時候如果各自的核心網也是獨立的,那麼鑑權方式就沒有問題。
但是IMS網絡作為核心網,本質上是可以同時支持任意接入網類型的,可能存在如附圖7所述的組網方式,多種類型的接入網共用一個核心網時上述的各種鑑權方式之間就會存在許多不兼容甚至衝突問題。
如附圖7所示(3GPP中的實體HSS在TISPAN中的對應實體名稱為用戶籤約伺服器功能實體UPSF,本文中說明HSS時,如果對應的是TISPAN接入網,則對應的功能實體為UPSF,兩者是等價的)1、支持各種鑑權方式以及組合(例如EIA、NBA、HTTP DIGEST、HTTPDIGEST with SA、AKA、NBA和EIA、EIA和AKA等)的UE會同時存在。
2、各種接入網類型3GPP/TISPAN/PacketCable同時存在。
3、支持NBA的P-CSCF和不支持NBA的P-CSCF同時存在。
4、支持NBA的S-CSCF和不支持NBA的S-CSCF同時存在。
5、支持NBA的HSS和不支持NBA的HSS同時存在。
當不考慮PacketCable的帶有安全聯盟協商的HTTP DIGEST方式時,現有技術存在如下缺點1、對同時支持NBA和EIA這兩種鑑權方式的UE來說,對於EIA,UE發出的REGISTER中肯定沒有Authorization和P-Access-Network-Info頭域;對於NBA,UE發出的REGISTER中則可能有這兩個頭域,也可能沒有,如果沒有,UE發出的REGISTER消息對於NBA/EIA是完全一樣的,那麼這種情況下UE將不能區分需要發送哪種鑑權方式對應的REGISTER。
2、對於NASS接入網來說,P-CSCF的地址是UE在NASS接入網附著過程中由NASS接入網告訴UE的,而網絡部署中可能同時存在支持NBA和不支持NBA的P-CSCF,如果NASS接入網對於支持NBA的UE選擇了一個不支持NBA的P-CSCF,將導致鑑權失敗。因此NASS接入層如何知道UE支持NBA、如何找到一個支持NBA的P-CSCF是現有技術無法解決定問題。
3、對於P-CSCF來說,對於EIA/NBA/HTTP DIGEST,UE發出的REGISTER消息中都沒有Security-Client等安全協商頭域,P-CSCF如何區分這三種鑑權方式也是現有技術無法解決的問題,特別是P-CSCF不能夠區分NBA,以便觸發e2接口,向CLF查詢UE的位置信息。
4、現有技術中的I-CSCF不一定支持NBA/HTTP DIGEST的鑑權方式,同樣的,I-CSCF選擇的S-CSCF也不一定支持NBA/HTTP DIGEST。
5、對於S-CSCF來說,對於EIA/NBA/HTTP DIGEST,P-CSCF轉發的REGISTER消息中都沒有integrity-protect頭域,S-CSCF將不能區分這三種鑑權方式。
6、對於HSS,目前AKA/EIA是由S-CSCF根據REGISTER的integrity-protected頭域是否存在,來判斷採用哪種鑑權方式的,而NBA/HTTPDIGEST是配置在HSS中的用戶籤約數據中,並通過MAA返回給S-CSCF。這樣就存在這樣一個問題假設UE同時支持NBA/EIA,UE實際採用EIA,S-CSCF通過CX接口MAR查詢時填寫的是EIA,但是由於HSS中的用戶籤約數據只配置了NBA,結果在MAA中返回的卻是NBA,這樣會導致覆蓋真正的EIA……因此此時HSS中的用戶籤約數據應該配置這兩種鑑權方式都支持。問題是如果HSS中對於這兩種都配置,那麼HSS收到MAR中,應該在MAA中返回哪一個呢?如果兩個都返回的話,S-CSCF又如何知道到底該採用什麼鑑權方式呢?是否將接入網類型也配置到HSS中,HSS將接入網類型也返回到S-CSCF。S-CSCF再根據實際的接入網類型採用相應的鑑權機制,問題是P-CSCF/S-CSCF接入網類型如何得到,而且此時的鑑權方式與接入網相關是否合理?當考慮PacketCable的帶有安全聯盟協商的HTTP DIGEST方式時,現有技術存中上述的缺點1、2、4和6都存在,另外,對於P-CSCF來說,對於EIA/NBA/HTTP DIGEST,UE發出的REGISTER消息中都沒有Security-Client等安全協商頭域,但是對於AKA/帶有安全聯盟協商的HTTP DIGEST,則都有此頭域。這種情況下,P-CSCF不再能夠根據該頭域的存在來區分AKA和非AKA,特別的,P-CSCF不能夠區分NBA,以便觸發e2(該接口是P-CSCF和CLF之間的接口,P-CSCF通過該接口向CLF查詢位置信息。)接口,向CLF查詢UE的位置信息,同時,P-CSCF不知道是否需要建立安全聯盟;同理,對於S-CSCF來說,此時S-CSCF不能區分這幾種鑑權方式。
發明內容
本發明的目的在於提供一種IMS網絡中用戶終端接入鑑權的方法,以解決現有技術中當多種接入網同時接入某一個IMS核心網絡時IMS網絡中的實體無法確定對應的鑑權方式的問題。
為實現上述目的,本發明提供的技術方案如下一種IMS網絡中用戶終端接入鑑權方法,所述的方法包括如下步驟a、用戶終端UE向代理-呼叫會話控制功能實體P-CSCF發送註冊REGISTER消息;b、P-CSCF根據所述的REGISTER消息中的信息和/或接入網類型區別鑑權方式,並在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至查詢-呼叫會話控制功能實體I-CSCF;c、I-CSCF選擇服務-呼叫會話控制功能實體S-CSCF,並把REGISTER消息透明轉發到該S-CSCF;d、S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式後向歸屬籤約伺服器HSS/用戶籤約伺服器功能實體UPSF發送多媒體鑑權請求MAR消息,HSS/UPSF通過多媒體鑑權響應MAA消息返回所述UE的鑑權數據和鑑權方式,S-CSCF進行鑑權處理。
其中步驟a具體包括在所述的UE中預先配置支持接入層鑑權與業務層綁定鑑權NBA或者HTTP摘要鑑權HTTP DIGEST鑑權方式的P-CSCF的IP位址或者正式域名FQDN,所述的UE選擇P-CSCF向其發送REGISTER消息;或者,所述的UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網網絡附著子系統NASS去籤約,保存到籤約數據基本功能實體PDBF的接入籤約數據中,在UE附著NASS的過程中,NASS中的用戶接入授權功能實體UAAF通過PDBF獲取所述的接入籤約數據,並發送給連接位置實體CLF,CLF收到NACF的綁定請求後,根據用戶的接入籤約數據在返回給NACF的綁定響應中攜帶所述的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將P-CSCF的IP位址或者FQDN傳給UE;或者,所述的UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網NASS去籤約,保存到籤約數據基本功能實體PDBF的接入籤約數據中,在UE附著NASS的過程中,NASS中的用戶接入授權功能實體UAAF實體通過PDBF獲取所述的接入籤約數據,並發送給連接位置實體CLF,CLF收到NACF的綁定請求後,在返回給NACF的綁定響應中攜帶所有的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將所有P-CSCF的地址/FQDN返回給UE,UE依次嘗試發送所述的REGISTER消息到所述的P-CSCF,直到成功為止。
上述的步驟還包括所述的UE將要求P-CSCF支持的帶安全聯盟協商的HTTP DIGEST鑑權能力作為籤約數據到分組電纜網PacketCable接入網去籤約,PacketCable接入網中相應實體預先配置支持帶安全聯盟協商的HTTP DIGEST的P-CSCF的IP位址或者FQDN,在UE動態獲取IP位址的過程中,PacketCable接入網中相應實體將P-CSCF的IP位址或者FQDN返回給UE;或者,所述的UE將要求P-CSCF支持的帶安全聯盟協商的HTTP DIGEST鑑權能力作為籤約數據到PacketCable接入網去籤約,PacketCable接入網中相應實體預先配置所有P-CSCF的IP位址或者FQDN,保存在資料庫中,在所述的UE動態獲取IP位址的過程中,所述的PacketCable接入網中相應實體將所有P-CSCF的IP位址或者FQDN返回給所述的UE,所述的UE依次嘗試發送REGISTER到所述的P-CSCF,直到成功為止。
其中步驟a具體包括所述的UE向P-CSCF發送REGISTER消息,所述的REGISTER消息中的聯繫contact頭域或者P-Access-Network-Info頭域中攜帶接入網類型信息;其中步驟b具體包括b1、所述的P-CSCF根據接收到的REGISTER消息中的contact頭域或者P-Access-Network-Info頭域區分出接入網類型,並根據所述的接入網類型和/或所述的REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF。
其中步驟a所述的REGISTER消息中contact頭域攜帶表示鑑權方式偏好的信息。
其中步驟b具體包括b1、所述的P-CSCF根據接收REGISTER消息的網絡接口或IP位址或埠號確定對應的接入網類型,並根據所述的接入網類型和/或所述的REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF。
其中,所述的根據所述的接入網類型和/或所述的REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括如果收到的REGISTER消息中有安全客戶端Security-Client頭域,並且該頭域含有與AKA對應的安全機制,則所述的P-CSCF確定鑑權方式為摘要認證與密鑰協商鑑權AKA,在所述的REGISTER消息中增加integrity-protected頭域並填寫與AKA相應的值,然後將其轉發至所述的I-CSCF;如果REGISTER消息中沒有Security-Client頭域,所述的P-CSCF根據接收REGISTER消息的網絡接口或IP位址或埠號對應的接入網類型確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至所述的I-CSCF。
其中,所述的如果所述的REGISTER消息中沒有Security-Client頭域,所述的P-CSCF根據接收REGISTER消息的網絡接口或IP位址或埠號對應的接入網類型確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括如果收到的REGISTER消息中沒有Security-Client頭域,並且是從NGN接入網對應的網絡接口收到的,所述的P-CSCF確定鑑權方式為NBA或者HTTP DIGEST,所述的P-CSCF查詢UE的位置信息,所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info頭域中增加UE的位置信息;如果收到的REGISTER消息中沒有Security-Client,並且是從GPRS接入網對應的網絡接口收到的,所述的P-CSCF確定鑑權方式為早期IP多媒體網絡子系統鑑權EIA,所述的P-CSCF比較所述的REGISTER消息中的經過via頭域中的發送者sent-by頭域的IP位址是否與所述的REGISTER消息所在IP頭中的源IP位址一致,如果不一致,則增加一個接收received頭域到via頭域中,並填充IP頭中的源IP位址。
上述的步驟還包括所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info頭域中填上相應的接入網類型。
其中所述的P-CSCF在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫所述的鑑權方式信息。
具體包括如果鑑權方式是AKA,所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫表示AKA的鑑權方式。
如果鑑權方式是EIA,所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫表示EIA的鑑權方式。
如果鑑權方式是NBA或HTTP DIGEST,所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫表示未知的鑑權方式。
具體包括所述鑑權方式頭域包含在REGISTER消息已有的或者新增的P-Access-Network-Info頭域中。
其中步驟c具體包括c1、所述的I-CSCF通過UAR命令向HSS/UPSF查詢S-CSCF鑑權能力,HSS/UPSF通過UAA命令返回用戶籤約數據要求的S-CSCF鑑權能力集,I-CSCF通過將返回的鑑權能力集與其預先配置的S-CSCF鑑權能力集比較,找到具有對應的鑑權能力的S-CSCF;c2、所述的I-CSCF將REGISTER消息透明轉發給所述的S-CSCF。
其中步驟c1之前還包括在所述的I-CSCF中預先配置相應的S-CSCF的地址以及其支持的鑑權能力,同時在HSS/UPSF中將需要S-CSCF支持的鑑權能力預先配置在用戶籤約數據的S-CSCF能力集數據中。
其中步驟d所述的S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式具體包括所述的S-CSCF首先檢查收到的REGISTER消息中是否有P-Access-Network-Info頭域如果沒有P-Access-Network-Info頭域,並且沒有Authorization頭域,則確定鑑權方式為早期IMS鑑權EIA;如果沒有P-Access-Network-Info頭域,並且有Authorization頭域,並且Authorization頭域的integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果有P-Access-Network-Info頭域,則檢查其接入網類型參數的值(1)如果該值表示是GPRS接入網類型,所述的S-CSCF進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果沒有Authorization頭域,則確定鑑權方式為EIA;(2)如果該值表示是NGN接入網類型,所述的S-CSCF進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected參數,則確定鑑權方式為NBA或者HTTP DIGEST。
其中步驟d所述的S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式具體包括如果所述的S-CSCF收到的REGISTER消息中的授權Authorization頭域中有integrity-protected頭域,且其值與AKA對應,則確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中沒有Authorization頭域,並且沒有P-Access-Network-Info頭域或者有P-Access-Network-Info頭域但其接入網類型參數表示GPRS接入網類型,則確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected頭域,並且有P-Access-Network-Info頭域且其接入網類型參數表示NGN接入網類型,則確定鑑權方式為NBA或者HTTP DIGEST。
其中步驟d所述的S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式具體包括如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與AKA對應,則確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與EIA對應,則確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值表示未知,則確定鑑權方式為NBA或HTTP DIGEST。
其中步驟d所述的S-CSCF區別鑑權方式後向HSS/UPSF發送多媒體鑑權請求MAR消息,HSS/UPSF通過多媒體鑑權響應MAA消息返回所述UE的鑑權數據和鑑權方式,S-CSCF進行鑑權處理,具體包括d1、如果鑑權方式為AKA,所述的S-CSCF在MAR消息的鑑權方式SIP-Authentication-Scheme頭域中填寫表示AKA的鑑權方式後發送給HSS/UPSF;如果鑑權方式為EIA,所述的S-CSCF保存REGISTER消息中的received/sent-by頭域攜帶的地址信息,在MAR消息的SIP-Authentication-Scheme頭域中填寫表示EIA鑑權方式後發送給HSS/UPSF;如果鑑權方式為NBA或者HTTP DIGEST,所述的S-CSCF保存P-Access-Network-Info頭域攜帶的位置信息或者保存P-Access-Network-Info頭域攜帶的位置信息和接入網類型,在MAR消息的鑑權方式SIP-Authentication-Scheme頭域中填寫表示鑑權方式未知,然後發送給HSS/UPSF;d2、所述的HSS/UPSF收到所述的MAR消息後,根據其中SIP-Authentication-Scheme頭域的值進行處理,通過多媒體籤約應答MAA消息將UE的鑑權方式和鑑權數據返回S-CSCF;d3、所述的S-CSCF根據P-CSCF上報的信息以及HSS/UPSF返回的信息進行處理,如果確定的鑑權方式為AKA或者HTTP DIGEST或者帶有安全聯盟協商的HTTP DIGEST,則先執行挑戰處理過程後再進行鑑權,如果確定的鑑權方式是NBA或者EIA,則直接執行鑑權過程。
其中步驟d1所述的發送給MAR的消息中還包括接入網類型;其中步驟d2具體包括所述的HSS/UPSF收到MAR消息後,根據其中的SIP-Authentication-Scheme頭域的值以及接入網類型進行處理,通過多媒體籤約應答MAA將UE的鑑權方式和鑑權數據返回S-CSCF。
其中步驟d2具體包括當SIP-Authentication-Scheme表示是AKA鑑權方式時,如果HSS/UPSF只配置了AKA鑑權方式,或者HSS/UPSF中配置了包括AKA的多種鑑權方式,所述的HSS/UPSF在MAA消息中將鑑權向量的數目SIP-Number-Auth-Items填寫為1,鑑權向量SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫AKA的鑑權向量數據,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示是EIA鑑權方式時,如果HSS/UPSF中只配置了EIA一種鑑權方式,或者HSS/UPSF中配置了包括EIA的多種鑑權方式,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫UE的IP位址,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示鑑權方式未知時,如果HSS/UPSF中只配置了一種非AKA鑑權方式的鑑權數據,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,鑑權數據頭域填寫對應的鑑權數據;如果HSS/UPSF中同時配置了多個非AKA鑑權方式的鑑權數據,則將SIP-Number-Auth-Items填寫為配置的鑑權方式的數目,並將這些非AKA鑑權方式和鑑權數據分別填充到MAA消息的多個SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鑑權數據AVP中,然後將MAA消息返回給S-CSCF。
其中,所述的HSS/UPSF收到MAR消息後,根據其中的SIP-Authentication-Scheme頭域的值以及接入網類型進行處理具體包括當SIP-Authentication-Scheme表示是AKA鑑權方式時,如果HSS/UPSF只配置了AKA鑑權方式,或者HSS/UPSF中配置了包括AKA的多種鑑權方式,並且配置的接入網類型和MAR中攜帶的接入網類型匹配,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫AKA的鑑權向量數據、SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;
當SIP-Authentication-Scheme表示是EIA鑑權方式時,如果HSS/UPSF中只配置了EIA一種鑑權方式,或者HSS/UPSF中配置了包括EIA的多種鑑權方式,並且配置的接入網類型和MAR中攜帶的接入網類型匹配,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫UE的IP位址,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示鑑權方式未知時,如果HSS/UPSF中只配置了一種鑑權方式的鑑權數據,並且配置的接入網類型和MAR消息中攜帶的接入網類型匹配,則在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫相應的鑑權數據,SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式;如果HSS/UPSF中同時配置了多個鑑權方式的鑑權數據,則在MAA消息中將SIP-Number-Auth-Items填寫為實際配置的鑑權數據的數目,並將所有鑑權方式和鑑權數據分別填充到MAA消息的多個SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鑑權數據頭域中,然後將MAA消息返回給S-CSCF。
其中步驟d3具體包括當MAA中只返回一個SIP-Auth-Data-Item時,如果SIP-Authentication-Scheme表示是AKA或者HTTP DIGEST或者帶有安全聯盟協商的HTTP DIGEST鑑權方式,則所述的S-CSCF根據XRES計算期望結果並保存,在4xx挑戰響應消息的算法algorithm頭域設置表示相應鑑權方式的值,發送4xx挑戰消息到P-CSCF;如果SIP-Authentication-Scheme表示是EIA鑑權方式,所述的S-CSCF用發送MAR消息前保存的UE源IP位址與HSS/UPSF返回的UE的IP位址比較,匹配成功就發送200;如果SIP-Authentication-Scheme表示是NBA鑑權方式,所述的S-CSCF用發送MAR消息前保存的UE位置信息與HSS/UPSF返回的UE位置信息比較,匹配成功就發送200;當MAA中返回多個SIP-Auth-Data-Item時,S-CSCF依次循環嘗試用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鑑權方式進行匹配和鑑權處理,直到成功為止;或者S-CSCF在嘗試一種鑑權方式失敗後,發送一個合適的錯誤碼給UE,等UE重新發起REGISTER消息後,S-CSCF再繼續嘗試其他的鑑權方式,直到成功為止,或者S-CSCF根據以前保存的接入網類型和/或所述鑑權相關信息來選擇一種合適的鑑權方式來鑑權。
本發明還提供了一種UE在鑑權過程中選擇P-CSCF的方法,所述的方法為在UE中預先配置支持NBA或者HTTP DIGEST鑑權方式的P-CSCF的IP位址或者FQDN,所述的UE選擇P-CSCF向其發送REGISTER消息;或者,所述的UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網網絡附著子系統NASS去籤約,保存到PDBF的接入籤約數據中,在所述的UE附著NASS的過程中,NASS中的UAAF通過PDBF獲取該接入籤約數據,並發送給CLF,CLF收到NACF的綁定請求後,根據用戶的接入籤約數據,在返回給NACF的綁定響應中攜帶所述的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將P-CSCF的IP位址或者FQDN傳給UE;或者,所述的UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網NASS去籤約,保存到PDBF的接入籤約數據中,在所述的UE附著NASS的過程中,NASS中的UAAF通過PDBF獲取該接入籤約數據,並發送給連接位置實體CLF,CLF收到NACF的綁定請求後,在返回給NACF的綁定響應中攜帶所有的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將所有P-CSCF的地址/FQDN返回給UE,UE依次嘗試發送所述的REGISTER消息到P-CSCF,直到成功為止。
本發明還提供了一種UE在鑑權過程中選擇接入網類型的方法,所述的方法具體為如果UE同時支持多種鑑權方式,則UE可以根據本地策略確定接入網類型,然後選擇合適的接入網發送REGISTER消息到P-CSCF。
本發明還提供了一種P-CSCF確定鑑權方式的方法,所述的方法包括如下的步驟P-CSCF收到REGISTER消息後判斷其中是否有Security-Client頭域如果所述的REGISTER消息中有Security-Client頭域,並且該頭域含有與AKA對應的安全機制,則表示需要採用AKA鑑權方式;或者該頭域含有與帶安全聯盟協商的HTTP DIGEST對應的安全機制,則表示需要採用帶安全聯盟協商的HTTP DIGEST鑑權方式;如果所述的REGISTER消息中沒有Security-Client頭域,所述的P-CSCF再判斷接入網類型,如果所述的REGISTER消息是從NGN接入網收到的,則表示需要採用NBA或者HTTP DIGEST鑑權,如果是從GPRS接入網收到的,則表示需要採用EIA鑑權。
本發明還提供了一種P-CSCF確定鑑權方式並進行相應處理的方法,所述的方法包括如下步驟a、P-CSCF根據接收REGISTER消息的網絡接口或IP位址或埠號確定對應的接入網類型,並根據所述的接入網類型和/或REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF。
其中,所述的根據所述的接入網類型和/或REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括如果所述的REGISTER消息中有Security-Client頭域,並且該頭域含有與AKA對應的安全機制,則確定鑑權方式為AKA,然後在所述的REGISTER消息中增加integrity-protected頭域,並填寫與AKA相應的值;如果所述的REGISTER消息中沒有Security-Client頭域,所述的P-CSCF根據接收所述的REGISTER消息的網絡接口或IP位址或埠號對應的接入網類型確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF。
其中,所述的如果所述的REGISTER消息沒有Security-Client頭域,所述的P-CSCF根據接收所述的REGISTER消息的網絡接口或IP位址或埠號對應的接入網類型確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括如果收到的REGISTER消息中沒有Security-Client頭域,並且是從NGN接入網對應的網絡接口收到的,確定鑑權方式為NBA或者HTTP DIGEST,所述的P-CSCF查詢UE的位置信息,並在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info頭域中增加UE的位置信息;如果收到的REGISTER消息中沒有Security-Client,並且是從GPRS接入網對應的網絡接口收到的,確定鑑權方式為EIA,所述的P-CSCF比較REGISTER消息中的via頭域中的sent-by頭域的IP位址是否與REGISTER消息所在IP頭中的源IP位址一致,如果不一致,則增加一個received頭域到via頭域中,並填充IP頭中的源IP位址。
上述的步驟還包括所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info頭域中填上相應的接入網類型。
其中,所述的P-CSCF在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫所述的鑑權方式信息。
上述的步驟具體包括
如果鑑權方式是AKA,所述的P-CSCF在所述的REGISTER消息中的鑑權方式頭域中填寫表示AKA的鑑權方式。
如果鑑權方式是EIA,所述的P-CSCF在所述的REGISTER消息中的鑑權方式頭域中填寫表示EIA的鑑權方式。
如果鑑權方式是NBA或HTTP DIGEST,所述的P-CSCF在所述的REGISTER消息中的鑑權方式頭域中填寫表示未知的鑑權方式。
上述的步驟具體包括所述鑑權方式頭域包含在REGISTER消息已有的或者新增的P-Access-Network-Info頭域中。
本發明還提供了一種S-CSCF確定鑑權方式的方法,所述的方法包括如下步驟a、S-CSCF根據收到的REGISTER消息中的信息和/或P-Access-Network-Info頭域區別鑑權方式。
其中步驟a具體包括如果所述的S-CSCF收到的REGISTER消息中的Authorization頭域中有integrity-protected頭域,且其值與AKA對應,則所述的S-CSCF確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中沒有Authorization頭域,並且沒有P-Access-Network-Info頭域或者有P-Access-Network-Info頭域但其接入網類型表示GPRS接入網,則所述的S-CSCF確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中沒有Authorization頭域,或者Authorization頭域中沒有integrity-protected頭域,並且有P-Access-Network-Info頭域且其接入網類型參數表示NGN接入類型,則所述的S-CSCF確定鑑權方式NBA或者HTTP DIGEST。
其中步驟a具體包括所述的S-CSCF首先檢查收到的REGISTER消息中是否有P-Access-Network-Info頭域
如果沒有P-Access-Network-Info頭域,並且沒有Authorization頭域,則確定鑑權方式為EIA;如果沒有P-Access-Network-Info頭域,並且有Authorization頭域,並且Authorization頭域的integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果有P-Access-Network-Info頭域,所述的S-CSCF檢查其接入網類型參數的值(1)如果該值表示是GPRS接入網類型,所述的S-CSCF進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果沒有Authorization頭域,則確定鑑權方式為EIA;(2)如果該值表示是NGN接入網類型,所述的S-CSCF進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected參數,則確定鑑權方式為NBA或者HTTP DIGEST。
其中步驟a具體包括如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與AKA對應,則確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與EIA對應,則確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值表示未知,則確定鑑權方式為NBA或HTTP DIGEST。
其中步驟a之後還包括
如果鑑權方式為AKA,S-CSCF在MAR消息中的SIP-Authentication-Scheme頭域中填寫AKA鑑權方式後發送給HSS/UPSF;如果鑑權方式為EIA,S-CSCF保存REGISTER消息中的received/sent-by頭域攜帶的地址信息,在MAR消息的SIP-Authentication-Scheme頭域中填寫EIA鑑權方式後發送給HSS/UPSF;如果鑑權方式為NBA或者HTTP DIGEST,所述的S-CSCF保存P-Access-Network-Info頭域攜帶的位置信息或者保存P-Access-Network-Info頭域攜帶的位置信息和接入網類型,在MAR消息的SIP-Authentication-Scheme頭域中填寫表示鑑權方式未知,然後發送給HSS/UPSF;本發明還提供了一種HSS/UPSF確定鑑權方式的方法,所述的方法包括如下步驟當S-CSCF發送給HSS/UPSF的MAR消息中的SIP-Authentication-Scheme頭域表示是AKA鑑權方式時,如果HSS/UPSF只配置了AKA鑑權方式,或者HSS/UPSF中配置了包括AKA的多種鑑權方式,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items的值填寫為1,鑑權向量SIP-Auth-Data-ItemAVP中的鑑權數據頭域填寫成AKA的鑑權向量數據,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示是EIA鑑權方式時,如果HSS/UPSF中只配置了EIA一種鑑權方式,或者HSS/UPSF中配置了包括EIA的多種鑑權方式,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items的值填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域攜帶UE的IP位址,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示鑑權方式未知時,如果HSS/UPSF中只配置了一種非AKA鑑權方式的鑑權數據,則在MAA消息中將SIP-Number-Auth-Items的值填寫為1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,鑑權數據頭域填寫對應的鑑權數據;如果HSS/UPSF中同時配置了多個非AKA鑑權方式的鑑權數據,則將SIP-Number-Auth-Items填寫為配置的鑑權方式的數目,並將這些非AKA鑑權方式和鑑權數據分別填充到MAA消息的多個SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鑑權數據AVP中,然後將MAA消息返回給S-CSCF。
本發明還提供了一種S-CSCF根據P-CSCF上報的信息以及HSS/UPSF返回的信息進行鑑權的方法,所述的方法具體為當MAA中只返回一個SIP-Auth-Data-Item時,如果SIP-Authentication-Scheme表示是AKA或者HTTP DIGEST或者帶有安全聯盟協商的HTTP DIGEST鑑權方式,則S-CSCF根據XRES計算期望結果並保存,在4xx挑戰響應消息的algorithm頭域設置表示相應鑑權方式的值,發送4xx挑戰消息到P-CSCF;如果SIP-Authentication-Scheme表示是EIA鑑權方式,S-CSCF用發送MAR消息前保存的UE源IP位址與HSS/UPSF返回的UE IP位址比較,匹配成功就發送200;如果SIP-Authentication-Scheme表示是NBA鑑權方式,S-CSCF用發送MAR消息前保存的UE位置信息與HSS/UPSF返回的UE位置信息比較,匹配成功就發送200;當MAA中返回多個SIP-Auth-Data-Item時,S-CSCF依次循環嘗試用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鑑權方式進行匹配和鑑權處理,直到成功為止;或者S-CSCF在嘗試一種鑑權方式失敗後,發送一個合適的錯誤碼給UE,等UE重新發起REGISTER消息後,S-CSCF再繼續嘗試其他的鑑權方式,直到成功為止;或者S-CSCF根據以前保存的接入網類型和/或所述鑑權相關信息來選擇一種合適的鑑權方式來鑑權。
本發明克服現有技術的不足,通過採用P-CSCF收到UE發來的REGISTER消息後,根據相應的接入網類型在其中增加與鑑權方式相關的信息後將其轉發至I-CSCF,I-CSCF選擇S-CSCF,並把REGISTER消息透明轉發到該S-CSCF,S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式後與HSS/UPSF交互獲取所述UE的鑑權數據和鑑權方式後進行鑑權處理的技術方案使得IMS核心網中的網絡實體能夠對各種接入網情況下的用戶終端接入採用不同的鑑權方式,並根據不同的鑑權方式進行相應的處理,完成用戶終端的接入鑑權過程。通過本發明可以解決目前的技術方案中固定接入網中NBA/HTTP DIGEST鑑權方式與移動接入網中EIA鑑權方式的衝突,以及PacketCable接入網中帶有安全聯盟協商的HTTP DIGEST鑑權方式與HTTP DIGEST AKA鑑權方式的衝突。
圖1為IMS網絡安全模型圖;圖2為現有技術AKA鑑權方式流程圖;圖3為現有技術EIA鑑權方式流程圖;圖4為現有技術NBA鑑權方式流程圖;圖5為現有技術HTTP DIGEST鑑權方式流程圖;圖6為現有技術帶有安全聯盟協商的HTTP DIGEST鑑權方式流程圖;圖7為IMS網絡實體同時接入多種終端的組網圖;圖8為本發明實施例一流程圖。
圖9為本發明實施例二流程圖;圖10為本發明實施例三流程圖;圖11為本發明實施例四流程圖;圖12為本發明實施例五流程圖;圖13為本發明實施例六流程圖。
具體實施例方式
本發明的基本思路UE選擇一個支持某種鑑權方式的P-CSCF,並在發給P-CSCF的REGISTER消息中攜帶某種頭域,P-CSCF收到REGISTER消息後,根據該頭域區分出鑑權方式或者UE的接入網類型,並在REGISTER消息中增加某種頭域以便S-CSCF在鑑權時使用,然後將該REGISTER發送到I-CSCF,I-CSCF通過UAR命令向HSS查詢該用戶所要求的S-CSCF鑑權能力集,HSS通過UAA命令返回給I-CSCF,然後I-CSCF根據返回的該用戶要求的S-CSCF鑑權能力集以及I-CSCF上預先配置的S-CSCF的地址以及鑑權能力的關係表,找到一個合適的S-CSCF,並把REGISTER消息透明轉發到S-CSCF,S-CSCF再通過MAR/MAA和HSS交互獲得該用戶的鑑權數據和鑑權方式,根據P-CSCF上報的信息以及HSS返回的信息進行處理,鑑權成功,S-CSCF通過SAR/SAA消息告訴HSS以後將為該用戶服務,並下載相應的用戶鑑權數據profile,然後發送200成功響應到P-CSCF/UE。
以下結合附圖和具體實施例來進一步具體說明。
由於PacketCable規範中也定義了兩種終端含有UICC/ISIM的終端和不含有UICC/ISIM的終端,其對應的鑑權方式分別為DIGEST AKA和HTTPDIGEST with SA(帶有安全聯盟(SA)協商機制),但尚未最後確定,因此本發明的實施例區分如下的兩種情況分別說明(由於EIA/AKA是最早應用的,這樣所有的核心網絡實體基本上都會支持EIA/AKA,本實施例中假定核心網絡實體基本上都會支持EIA/AKA鑑權方式)實施例一不考慮PacketCable的帶有安全聯盟協商的HTTP DIGEST方式的場景,其流程如附圖8所示,其中步驟0、對於同時支持多種鑑權方式的UE,由於這幾種鑑權方式對應的接入網類型不一樣,為了讓P-CSCF收到相應的REGISTER消息後能夠區分出接入網類型和鑑權方式,UE需要通過某種方式選擇一個支持某種鑑權方式的P-CSCF,並在發給P-CSCF的REGISTER消息中攜帶某種頭域,以便讓P-CSCF能夠區分出接入網類型和鑑權方式。
UE可以採用如下三種方式之一在發送REGISTER消息時通過contact頭域表明自己的終端類型(移動/固定);在發送REGISTER消息時通過contact頭域表明自己的鑑權方式偏好;也可以通過P-Access-Network-Info帶上接入網絡類型access-type。UE如何知道接入網類型與其體的實現相關,例如可以通過應用層和底層接口交互得到。
對於同時支持多種鑑權方式的UE,除了上述的三種方式之外,UE還可以根據本地策略確定接入網類型,然後選擇合適的接入網發送REGISTER。或者UE也可以不用根據鑑權方式來區分發送REGISTER,而是由P-CSCF收到REGISTER消息後根據接入網類型來區分處理。
步驟1、UE向支持其選擇的鑑權方式的P-CSCF發送REGISTER消息,該消息中攜帶表明其接入網類型或者鑑權方式偏好的頭域。UE可以通過三種方式選擇支持相應鑑權方式的P-CSCF方式1UE需要預先配置支持NBA(或HTTP DIGEST)的P-CSCF的IP位址(或者FQDN)。
方式2UE將P-CSCF支持NBA(或HTTP DIGEST)鑑權能力作為籤約數據到接入網NASS去籤約,保存到籤約數據基本功能實體PDBF的接入籤約數據中。在UE附著NASS的過程中,NASS中的用戶接入授權功能實體UAAF實體通過PDBF獲取該接入籤約數據,並發送給連接位置實體CLF。CLF就可以通過預先配置或者其他方式獲取支持NBA(或HTTP DIGEST)的P-CSCF的IP位址(或者FQDN),保存在資料庫中。CLF通過a2接口收到NACF(中文注釋)的綁定請求後,在返回給NACF的綁定響應中攜帶支持NBA(或HTTP DIGEST)的P-CSCF地址/FQDN。以後UE通過DHCP協議或者PPP協議動態獲取IP位址的過程中,NACF可以通過AMF(a1接口)將P-CSCF的地址/FQDN返回給UE(e1接口)。
方式3UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網NASS去籤約,保存到籤約數據基本功能實體PDBF的接入籤約數據中,在UE附著NASS的過程中,NASS中的用戶接入授權功能實體UAAF實體通過PDBF獲取該接入籤約數據,並發送給連接位置實體CLF,CLF預先配置所有的P-CSCF的IP位址或者FQDN,CLF收到NACF的綁定請求後,在返回給NACF的綁定響應中攜帶所有的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將所有P-CSCF的地址/FQDN返回給UE,UE依次嘗試發送所述的REGISTER消息到所述的P-CSCF,直到成功為止。
步驟2、P-CSCF收到REGISTER消息後,根據上述的頭域區分鑑權方式,並在REGISTER消息中增加某種頭域以便S-CSCF在鑑權時使用。
具體來說,P-CSCF可以採取如下四種方式之一確定鑑權方式並在確定鑑權方式後增加相應的頭域方式1僅根據收到的REGISTER消息的接入網類型來處理,具體可以採用如下的技術方案P-CSCF通過在資料庫中預先配置網絡接口對應的接入網類型,或者P-CSCF還可以通過在資料庫中預先配置IP位址或者埠號對應的接入網類型,根據收到的REGISTER消息中的源IP位址/目標IP位址(或者源、目標埠號)可以區分出接入網類型。如果收到的REGISTER消息是從NGN接入網對應的網絡接口收到的,則不管採用NBA或者HTTP DIGEST或者AKA任一種鑑權方式,都需要觸發e2接口查詢UE的位置信息。如果是從GPRS接入網對應的網絡接口收到的,則不需要觸發e2接口。
對於通過NGN接入網收到的REGISTER消息,P-CSCF在已有的P-Access-Network-Info頭域(UE在REGISTER消息中已攜帶此頭域)中增加位置信息,或者增加一個P-Access-Network-Info頭域(UE在REGISTER消息中沒有攜帶此頭域)並填充位置信息以及其他信息,另外也需要在P-Access-Network-Info頭域的access-type或者network-provided填上相應的NGN接入網類型。
P-CSCF還可以根據接收到的REGISTER消息中的contact頭域區分出接入網類型,然後採用上述相同的原則來處理。
P-CSCF還可以根據接收到的REGISTER消息中的P-Access-Network-Info頭域區分出接入網類型,然後採用上述相同的原則來處理。
方式2根據收到的REGISTER消息的接入網類型以及REGISTER是否存在Security-Client來處理如果收到的REGISTER消息是從NGN接入網對應的網絡接口收到的,則如果有安全協商客戶端Security-Client頭域,並且該頭域含有與AKA對應的安全機制,則需要採用AKA鑑權,不需要觸發e2,在Authorization頭域中增加一個integrity-protected頭域,並填寫與AKA相應的值。否則採用NBA或者HTTP DIGEST鑑權,需要觸發e2接口。
如果收到的REGISTER消息是從GPRS接入網對應的網絡接口收到的,則如果有Security-Client,並且該頭域含有與AKA對應的安全機制,則需要採用AKA鑑權,不需要觸發e2,在Authorization頭域中增加一個integrity-protected頭域,並填寫與AKA相應的值。否則採用EIA鑑權,不需要觸發e2接口。
方式3P-CSCF也可以直接根據收到的REGISTER消息中的contact頭域攜帶的鑑權方式偏好直接區分出鑑權方式,然後再作上述相應處理。
不管採用上述哪種方式,如果收到的REGISTER消息中沒有P-Access-Network-Info頭域,P-CSCF還在所述的REGISTER消息中新增P-Access-Network-Info頭域。同時在P-Access-Network-Info頭域中填上相應的接入網類型;以便以後S-CSCF可以根據該頭域的內容,結合REGISTER中的鑑權信息作進一步處理。
P-CSCF區分出鑑權方式後,還進一步如下處理
如果鑑權方式是AKA,則在REGISTER消息的鑑權方式頭域中填寫表示AKA的鑑權方式。
如果鑑權方式是EIA,則在REGISTER消息的鑑權方式頭域中填寫表示EIA的鑑權方式。
如果鑑權方式是NBA或HTTP DIGEST,則在REGISTER消息的鑑權方式頭域中填寫表示未知的鑑權方式。
上述鑑權方式頭域可以包含在REGISTER消息已有的或者新增的P-Access-Network-Info頭域中。
步驟3、P-CSCF將增加了頭域的REGISTER發送到I-CSCF。
步驟4、I-CSCF通過UAR命令向HSS查詢該用戶所要求的S-CSCF鑑權能力集。
通過在I-CSCF資料庫中的業務能力集數據中預先配置相應的S-CSCF的地址以及支持的鑑權能力(例如S-CSCF1支持NBA、S-CSCF2支持EIA、S-CSCF3支持HTTP DIGEST、S-CSCF1支持AKA和EIA……),同時在HSS中也將需要S-CSCF支持的鑑權能力預先配置在用戶籤約數據的S-CSCF能力集(Server-Capabilities AVP)中(例如用戶1支持NB A用戶2支持EIA……)。
步驟5-6、HSS通過UAA命令將用戶所要求的S-CSCF鑑權能力集返回給I-CSCF。
步驟7、I-CSCF根據返回的該用戶要求的S-CSCF鑑權能力集以及I-CSCF上預先配置的S-CSCF的地址以及鑑權能力的關係表,找到一個合適的S-CSCF。
步驟8、I-CSCF將REGISTER消息透明轉發到上述的S-CSCF。
步驟9、S-CSCF通過REGISTER消息中的頭域確認鑑權方式並填寫相應的鑑權方式在SIP_Authentication_Scheme消息的頭域中。
S-CSCF收到REGISTER消息後,可以採取如下幾種方式之一確定鑑權方式方式1根據REGISTER消息中是否有Authorization頭域或者Authorization頭域是否有integrity-protected頭域來處理如果Authorization頭域中有integrity-protected頭域,且其值與AKA對應,則表示需要AKA鑑權。
如果沒有Authorization頭域,並且沒有P-Access-Network-Info頭域或者有P-Access-Network-Info頭域但其接入網類型參數表示GPRS接入類型,,則表示需要Early IMS鑑權。
如果沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected頭域,並且有P-Access-Network-Info頭域,且其接入網類型參數access-type或者network-provider表示NGN接入類型,則表示需要NASS-Bundled或者HTTP DIGEST鑑權。
方式2、在上述的過程中,也可以先判斷接入網類型,再判斷是否存在integrity-protected頭域。方法如下S-CSCF首先檢查收到的REGISTER消息中是否有P-Access-Network-Info頭域如果沒有P-Access-Network-Info頭域,並且沒有Authorization頭域,則則鑑權方式為早期IMS鑑權EIA。
如果沒有P-Access-Network-Info頭域,並且有Authorization頭域,並且Authorization頭域的integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果有P-Access-Network-Info頭域,再檢查其接入網類型參數的值(1)如果該值表示GPRS接入網類型,進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則鑑權方式為AKA;如果沒有Authorization頭域,則鑑權方式為EIA。
(2)如果該值表示NGN接入網類型,進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則鑑權方式為AKA;如果沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected參數,則鑑權方式為NBA或者HTTP DIGEST。
方式3、S-CSCF也可以根據收到的REGISTER消息的鑑權方式頭域區分出鑑權方式。方法如下如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與AKA對應,則確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與EIA對應,則確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值表示未知,則確定鑑權方式為NBA或HTTP DIGEST;對於上述幾種方式,當S-CSCF區分鑑權方式後,還要作如下處理如果鑑權方式為AKA,S-CSCF在多媒體鑑權請求MAR消息的鑑權方式SIP-Authentication-Scheme頭域中填寫表示AKA的鑑權方式(如「Digest-AKAv1-MD5」)後發送給HSS/UPSF;如果鑑權方式為EIA,S-CSCF保存REGISTER消息中的received/sent-by頭域攜帶的地址信息,MAR消息的SIP-Authentication-Scheme頭域中填寫表示EIA鑑權方式(如「Early-IMS-Security」)後發送給HSS/UPSF;如果鑑權方式為NBA或者HTTP DIGEST,S-CSCF保存P-Access-Network-Info頭域攜帶的位置信息或者保存P-Access-Network-Info頭域攜帶的位置信息和接入網類型,MAR消息的鑑權方式SIP-Authentication-Scheme頭域中填寫表示鑑權方式目前未知(如「unknown」),然後發送給HSS/UPSF;方式3此外,除了在MAR中攜帶鑑權方式以外,S-CSCF需要將相應的接入網類型也攜帶在MAR中發送給HSS,可以通過擴展DIAMETER協議實現這一點。
步驟10、S-CSCF通過MAR向HSS查詢該用戶的鑑權數據和鑑權方式。
具體來說,HSS收到MAR消息後,可以採取如下兩種方式之一來處理方式1針對上述的的S-CSCF採取所述的方式1和方式2的情況配置原則HSS中用戶的籤約數據中預先配置有鑑權方式以及相應的鑑權數據、以及表示鑑權方式的優先級(可選)。對於同時支持NBA/EIA的UE,其籤約數據中應預先配置這兩種鑑權方式以及各自相應的鑑權數據、以及表示鑑權方式的優先級(可選)。
處理方式HSS收到MAR消息後,根據SIP-Authentication-Scheme頭域的值進行處理當SIP-Authentication-Scheme頭域的值表示是AKA鑑權方式,如「Digest-AKAv1-MD5」,如果HSS只配置了AKA鑑權方式,或者HSS中配置了多種鑑權方式,並且其中包含AKA鑑權方式,則在MAA響應中SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域攜帶AKA的鑑權向量數據(AUTN,RAND,XRES,IK,CK),SIP-Authentication-Scheme頭域的值不變,(可選)優先級頭域填寫為任意正值。然後將MAA返回給S-CSCF。
SIP-Authentication-Scheme表示是Early IMS。如果HSS中只配置了EarlyIMS一種鑑權方式,或者HSS中配置了多種鑑權方式,並且其中包含Early IMS鑑權方式,則在MAA響應中的SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域攜帶UE的IP位址,SIP-Authentication-Scheme頭域的值不變,(可選)優先級頭域填寫為任意正值。然後將MAA返回給S-CSCF。
SIP-Authentication-Scheme表示是未知,如果HSS中只配置了一種鑑權方式的鑑權數據,則在MAA響應中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,鑑權數據頭域填寫對應的鑑權數據,(可選)優先級頭域填寫為任意正值。如果HSS中同時配置了多個鑑權方式的鑑權數據,則將SIP-Number-Auth-Items填寫為配置的鑑權方式的數目,並將這些鑑權方式和鑑權數據分別填充到MAA消息的多個SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鑑權數據AVP中,或者如果HSS發現多種鑑權方式中有無效的鑑權數據,則只將有效的鑑權方式和鑑權數據填充到MAA中,然後返回給S-CSCF。例如如果同時配置了NBA和EIA,則MAA中SIP-Number-Auth-Items填寫為2,並將有兩個SIP-Auth-Data-ItemAVPSIP-Auth-Data-Item(SIP-Authentication-Scheme=表示NBA的鑑權方式,UE的位置信息,(可選)優先級頭域填寫為配置的優先級),SIP-Auth-Data-Item(SIP-Authentication-Scheme=表示EIA的鑑權方式,IP位址信息,(可選)優先級頭域填寫為配置的優先級)。然後將MAA返回給S-CSCF。
其它情況下,HSS應當在MAA中返回相應的錯誤碼。
方式2針對上述的的S-CSCF採取所述的方式3的情況如果S-CSCF將相應的接入網類型也攜帶在MAR中發送給HSS時,HSS需要匹配接入網類型,(可選)MAA響應消息中需要擴展兩項,分別表示接入網類型以及鑑權方式的優先級。
配置原則HSS中用戶的籤約數據中預先配置有鑑權方式以及相應的鑑權數據和接入網類型、優先級。對於同時支持NBA/EIA的UE,其籤約數據中應預先配置這兩種鑑權方式以及各自相應的鑑權數據和(可選)接入網類型、(可選)優先級。
處理方式HSS收到MAR消息後,根據SIP-Authentication-Scheme頭域的值以及接入網類型進行處理SIP-Authentication-Scheme表示是AKA鑑權方式。如果HSS只配置了AKA鑑權方式,或者HSS中配置了多種鑑權方式,並且其中包含AKA鑑權方式,並且配置的接入網類型和通過MAR收到的接入網類型匹配,則在MAA響應中SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域攜帶AKA的鑑權向量數據(AUTN,RAND,XRES,IK,CK),SIP-Authentication-Scheme頭域和表示(可選)接入網類型頭域的值不變,(可選)優先級頭域填寫為任意正值。然後將MAA返回給S-CSCF。
SIP-Authentication-Scheme表示是Early IMS。如果HSS中只配置了EarlyIMS一種鑑權方式,或者HSS中配置了多種鑑權方式,並且其中包含Early IMS鑑權方式,並且配置的接入網類型和通過MAR收到的接入網類型匹配,則在MAA響應中SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域攜帶UE的IP位址,SIP-Authentication-Scheme頭域和(可選)表示接入網類型頭域的值不變,(可選)優先級頭域填寫為任意正值。然後將MAA返回給S-CSCF。
SIP-Authentication-Scheme表示是未知,如果HSS中只配置了一種鑑權方式的鑑權數據,並且配置的接入網類型和通過MAR收到的接入網類型匹配,則在MAA響應中SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-ItemAVP中的鑑權數據頭域攜帶相應的鑑權數據,SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,(可選)接入網類型不變,(可選)優先級填寫為任意正值。如果HSS中同時配置了多個鑑權方式的鑑權數據,則在MAA響應中將SIP-Number-Auth-Items填寫為實際配置的鑑權數據的數目,並將所有鑑權方式和鑑權數據分別填充到MAA消息的多個SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鑑權數據頭域中,或者如果HSS發現多種鑑權方式中有無效的鑑權數據,則只將有效的鑑權方式和鑑權數據填充到MAA中,然後返回給S-CSCF。例如如果同時配置了NBA和EIA,則MAA中將SIP-Number-Auth-Items填寫為2,並將有兩個SIP-Auth-Data-ItemAVPSIP-Auth-Data-Item(SIP-Authentication-Scheme=表示NBA的鑑權方式,UE的位置信息,(可選)接入網類型是NGN,(可選)優先級),SIP-Auth-Data-Item(SIP-Authentication-Scheme=表示EIA的鑑權方式,IP位址信息,(可選)接入網類型是GPRS,(可選)優先級)。然後將MAA返回給S-CSCF。
其它情況下,HSS應當在MAA中返回相應的錯誤碼。
步驟11-12、HSS通過MAA向S-CSCF返回該用戶的鑑權數據和鑑權方式。
步驟13、S-CSCF根據P-CSCF上報的信息以及HSS返回的信息進行處理,如果確定的鑑權方式為AKA/HTTP DIGEST,則要執行步驟14-19的挑戰處理過程,如果確定的鑑權方式是NBA/EIA,則直接執行鑑權過程後轉步驟20。
本步驟具體說明如下S-CSCF收到HSS返回的MAA消息後,根據SIP-Auth-Data-Item的個數以及SIP-Auth-Data-Item中的SIP-Authentication-Scheme頭域的值進行處理當MAA中只返回一個SIP-Auth-Data-Item時,如果SIP-Authentication-Scheme表示是AKA鑑權方式,保存XRES,發送4xx挑戰消息(WWW-Authenticate頭域中的algrithm設置成表示AKA鑑權,例如「AKAv1-MD5」)到P-CSCF。
如果SIP-Authentication-Scheme表示是Early IMS鑑權方式,S-CSCF用發送MAR消息前保存的UE源IP位址與HSS返回的UE IP位址相比,匹配成功就發送200。
如果SIP-Authentication-Scheme表示是NBA鑑權方式,S-CSCF用發送MAR消息前保存的UE位置信息與HSS返回的UE位置信息相比,匹配成功就發送200。
如果SIP-Authentication-Scheme表示是HTTP DIGEST鑑權方式,保存XRES,發送4xx挑戰消息(WWW-Authenticate頭域中的algrithm設置成表示HTTP DIGEST鑑權,例如「MD5」)到P-CSCF。
當MAA中返回多個SIP-Auth-Data-Item時,S-CSCF配合上述步驟10中所述的MAR消息中是否帶有接入網類型信息來處理,可以採取如下方式之一方式1上述步驟10中所述的MAR消息中不帶有接入網類型信息,則根據MAA返回的鑑權方式的優先級從高到低順序(可選),結合S-CSCF發送MAR消息前保存的接入網類型信息(可選),依次循環嘗試用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鑑權方式進行匹配和鑑權處理,直到成功為止。(例如,如果HSS返回的MAA消息中包含兩個SIP-Auth-Data-Item,分別對應NBA(優先級為2)和EIA(優先級為1)。S-CSCF首先嘗試進行NBA鑑權方式的鑑權處理,但是S-CSCF發送MAR消息前保存的接入網類型不是NGN接入網而是GPRS,則表示NBA嘗試失敗;再嘗試進行EIA鑑權方式的鑑權處理,如果S-CSCF發送MAR消息前保存的的接入網類型是GPRS接入網,則進行EIA鑑權處理。)或者S-CSCF也可以在嘗試一種鑑權方式失敗後,發送一個錯誤碼給UE,UE重新發起REGISTER消息後,S-CSCF再繼續嘗試其他的鑑權方式,直到成功為止;或者S-CSCF也可以根據以前保存的接入網類型和/或所述鑑權相關信息來選擇一種合適的鑑權方式來鑑權。
方式2上述步驟10中所述的MAR消息中帶有接入網類型信息,則根據MAA返回的鑑權方式的優先級從高到低順序以及對應的接入網類型(可選),結合S-CSCF發送MAR消息前保存的接入網類型信息(可選),依次循環嘗試用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鑑權方式進行匹配和鑑權處理,直到成功為止。
步驟14~19僅對於AKA或者HTTP DIGEST才存在。
步驟14、S-CSCF向P-CSCF發送401挑戰消息,WWW-Authenticate頭域的algorithm的值填寫為表示該鑑權方式的值,例如對於AKA,WWW-Authenticate頭域的algorithm頭域的值為AKAv1-MD5,對於HTTPDIGESTD,WWW-Authenticate頭域的algorithm頭域的值為MD5。
步驟15、P-CSCF將上述的410挑戰消息發送到UE。
步驟16、對於AKA/HTTP DIGEST,P-CSCF和UE根據401挑戰消息的WWW-Authenticate頭域的algorithm頭域的值區分出鑑權方式,然後判斷是否建立安全聯盟。AKA需要建立,HTTP DIGEST不需要建立。
步驟17、UE重新向P-CSCF發送REGISTER消息,其中攜帶挑戰響應RES。
步驟18、P-CSCF將REGISTER消息再發到S-CSCF。
步驟19、S-CSCF執行實際的鑑權處理比較挑戰響應中攜帶的結果RES與以前保存的期望結果XRES,如果一致,則鑑權成功。
步驟20-21、鑑權成功,S-CSCF通過SAR/SAA消息告訴HSS以後將為該用戶服務,並下載相應的用戶籤約數據profile。
步驟22、S-CSCF發送200成功響應到P-CSCF步驟23、P-CSCF轉發200成功響應UE。
步驟24、對於NBA/EIA,由於P-CSCF/UE以前沒有收到過401挑戰消息,是直接收到的200成功響應消息,因此兩者之間不需要建立安全聯盟。
實施例二考慮PacketCable的帶有安全聯盟協商的HTTP DIGEST方式的場景其流程如附圖9所示,其中與實施例一流程中相同的步驟在此不再具體說明,以下說明與實施例一中不同的步驟步驟0、為防止支持帶有安全聯盟協商的HTTP DIGEST鑑權的UE可能發送REGISTER到一個不支持帶有安全聯盟協商的HTTP DIGEST鑑權的P-CSCF的情況發生,可以採取如下兩種方式之一方式1UE將要求P-CSCF支持的鑑權能力作為籤約數據到PacketCable接入網去籤約;PacketCable接入網中相應實體通過預先配置獲取支持帶安全聯盟的HTTP DIGEST的P-CSCF的IP位址或者FQDN,保存在資料庫中;當UE動態獲取IP位址的過程中,PacketCable接入網中相應實體將P-CSCF的IP位址或者FQDN返回給UE;或者,方式2UE將要求P-CSCF支持的鑑權能力作為籤約數據到PacketCable接入網去籤約;PacketCable接入網中相應實體預先配置所有P-CSCF的IP位址或者FQDN,保存在資料庫中;在UE動態獲取IP位址的過程中,PacketCable接入網中相應實體將所有P-CSCF的IP位址或者FQDN返回給UE;UE依次嘗試發送所述的REGISTER消息到所述的P-CSCF,直到成功為止。
步驟2、P-CSCF收到UE發來的REGISTER消息後,此時可以通過如下兩種方式之一來確定鑑權方式方式1、根據收到的REGISTER消息的接入網類型來處理,具體如實施例一中所述。
方式2、根據收到的REGISTER消息的接入網類型以及REGISTER是否存在Security-Client來處理,具體如實施例一中所述。
另外,對於方式1和方式2,P-CSCF針對PacketCable接入網的處理是如果是從PacketCable接入網對應的網絡接口收到的,由於帶有安全聯盟的HTTP DIGEST和AKA都帶有Security-Client安全協商頭域,此時無法判斷採用何種鑑權方式,但P-CSCF也需要將PacketCable接入網類型填寫在已有或者新增的P-Access-Network-Info中的Acces-type或者network-provider頭域中,在Authorization頭域中增加一個integrity-protected頭域,並填寫與具體鑑權方式相關的值,然後等到S-CSCF返回401後再根據WWW-Authenticate頭中的algorithm的值進行區分處理,它和AKA的區別在於以後UE計算挑戰響應時的algorithm算法的值不同,S-CSCF從HSS下載的鑑權向量也不同而已(AKA一次下載多個鑑權矢量,並且其中有鑑權序號AUTN,完整性密鑰IK,加密密鑰CK參數,帶有安全聯盟協商的HTTP DIGEST則一次只能下載一個鑑權矢量,並且沒有這些參數)。
步驟9、S-CSCF通過REGISTER消息中的頭域確認鑑權方式並填寫相應的鑑權方式在SIP_Authentication_Scheme消息的頭域中。
具體來說,方式1具體過程同實施例一中方式1所述的過程,區別是S-CSCF在MAR中的SIP-Authentication-Scheme頭域統一都填寫為未知。
方式2具體過程同實施例一中方式2所述的過程,區別是S-CSCF在MAR中的SIP-Authentication-Scheme頭域統一都填寫未知。
方式3具體過程同實施例一中方式3所述的過程,區別是S-CSCF在MAR中的SIP-Authentication-Scheme頭域統一都填寫未知。
步驟13、當MAA中只返回一個SIP-Auth-Data-Item時,SIP-Authentication-Scheme表示是帶有安全聯盟協商的HTTP DIGEST鑑權方式,保存XRES,發送4xx挑戰消息(WWW-Authenticate頭域中的algorithm設置成表示帶有安全聯盟協商的HTTP DIGEST鑑權,例如「SHA1」)到P-CSCF。其他的處理同實施例一中的步驟13。
步驟14、P-CSCF/UE收到4xx挑戰消息後,如果WWW-Authenticate頭域中的algorithm參數表示AKA鑑權或者帶有安全聯盟協商的HTTP DIGEST,則步驟16中P-CSCF和UE之間需要建立安全聯盟。
如果WWW-Authenticate頭域中的algorithm參數表示HTTP DIGEST鑑權,則步驟16中P-CSCF和UE之間不需要建立安全聯盟。
實施例三採用HTTP DIGEST鑑權的流程如附圖10所示0~1UE將要求P-CSCF支持的HTTP DIGEST鑑權能力作為籤約數據到接入網網絡附著子系統NASS去籤約,保存到籤約數據基本功能實體PDBF的接入籤約數據中,在UE附著NASS的過程中,NASS中的用戶接入授權功能實體UAAF實體通過PDBF獲取該接入籤約數據,並發送給連接位置實體CLF,CLF預先配置所述的P-CSCF的IP位址或者FQDN,CLF收到NACF的綁定請求後,根據用戶的接入籤約數據在返回給NACF的綁定響應中攜帶所述的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將P-CSCF的IP位址或者FQDN傳給UE;UE然後發送REGISTER消息給P-CSCF。
2~3P-CSCF通過在資料庫中預先配置網絡接口對應的接入網類型,或者P-CSCF還可以通過在資料庫中預先配置IP位址或者埠號對應的接入網類型,根據收到的REGISTER消息中的源IP位址/目標IP位址(或者源、目標埠號)可以區分出接入網類型。由於收到的REGISTER消息沒有安全協商頭域,並且是從NGN接入網對應的網絡接口收到的,需要觸發e2接口查詢UE的位置信息。對於通過NGN接入網收到的REGISTER消息,P-CSCF在已有的P-Access-Network-Info頭域(UE在REGISTER消息中已攜帶此頭域)中增加位置信息,或者增加一個P-Access-Network-Info頭域(UE在REGISTER消息中沒有攜帶此頭域)並填充位置信息以及其他信息,另外也需要在P-Access-Network-Info頭域的access-type或者network-provided填上相應的接入網類型。然後發送REGISTER給I-CSCF。
4~8I-CSCF發送UAR到HSS,HSS通過UAA命令將用戶所要求的S-CSCF鑑權能力集(要求支持HTTP DIGEST)返回給I-CSCF。I-CSCF根據返回的該用戶要求的S-CSCF鑑權能力集以及I-CSCF上預先配置的S-CSCF的地址以及鑑權能力的關係表,找到一個合適的S-CSCF。然後將REGISTER轉發到所選擇的S-CSCF。
9~~10S-CSCF檢查收到的REGISTER如果沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected頭域,並且有P-Access-Network-Info頭域,((可選)且其access-type或者network-provider表示NGN接入類型),則表示需要NASS-Bundled或者HTTP DIGEST鑑權(目前還不能確定到底採用哪一種)。S-CSCF保存P-Access-Network-Info頭域攜帶的位置信息和(可選)接入網類型信息,MAR消息的SIP-Authentication-Scheme頭域中填寫為表示未知,表示鑑權方式目前未知,等待HSS響應。
11~12HSS中只配置了HTTP DIGEST一種鑑權方式,在MAA響應中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,鑑權數據頭域填寫對應的鑑權數據,(可選)優先級頭域填寫為任意正值。然後發送MAA給S-CSCF。
13~19S-CSCF發現MAA中只返回一個SIP-Auth-Data-Item,並且SIP-Authentication-Scheme表示是HTTP DIGEST鑑權方式,S-CSCF首先保存XRES,然後執行14~19步的挑戰處理過程發送4xx挑戰消息(WWW-Authenticate頭域中的algrithm設置成表示HTTP DIGEST鑑權,例如「MD5」)到P-CSCF。P-CSCF轉發到UE。UE和P-CSCF之間不需要建立安全聯盟。UE重新發送一個帶有挑戰響應RES的REGISTER到P-CSCF。P-CSCF轉發到S-CSCF。S-CSCF比較RES和XRES,如果一致,則鑑權通過。
20-24鑑權成功,S-CSCF通過SAR/SAA消息告訴HSS以後將為該用戶服務,並下載相應的用戶籤約數據。然後發送成功響應消息200到P-CSCF/UE。
實施例四採用NBA方式鑑權的流程如附圖11所示0~1UE將要求P-CSCF支持的NBA鑑權能力作為籤約數據到接入網網絡附著子系統NASS去籤約,保存到籤約數據基本功能實體PDBF的接入籤約數據中,在UE附著NASS的過程中,NASS中的用戶接入授權功能實體UAAF實體通過PDBF獲取該接入籤約數據,並發送給連接位置實體CLF,CLF預先配置所述的P-CSCF的IP位址或者FQDN,CLF收到NACF的綁定請求後,根據用戶的接入籤約數據在返回給NACF的綁定響應中攜帶所述的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將P-CSCF的IP位址或者FQDN傳給UE;UE然後發送REGISTER消息給P-CSCF。
2~3P-CSCF通過在資料庫中預先配置網絡接口對應的接入網類型,或者P-CSCF還可以通過在資料庫中預先配置IP位址或者埠號對應的接入網類型,根據收到的REGISTER消息中的源IP位址/目標IP位址(或者源、目標埠號)可以區分出接入網類型。由於收到的REGISTER消息沒有安全協商頭域,並且是從NGN接入網對應的網絡接口收到的,需要觸發e2接口查詢UE的位置信息。對於通過NGN接入網收到的REGISTER消息,P-CSCF在已有的P-Access-Network-Info頭域(UE在REGISTER消息中已攜帶此頭域)中增加位置信息,或者增加一個P-Access-Network-Info頭域(UE在REGISTER消息中沒有攜帶此頭域)並填充位置信息以及其他信息,另外也需要在P-Access-Network-Into頭域的access-type或者network-provided填上相應的接入網類型。然後發送REGISTER給I-CSCF。
4~8I-CSCF發送UAR到HSS,HSS通過UAA命令將用戶所要求的S-CSCF鑑權能力集(要求支持NBA)返回給I-CSCF。I-CSCF根據返回的該用戶要求的S-CSCF鑑權能力集以及I-CSCF上預先配置的S-CSCF的地址以及鑑權能力的關係表,找到一個合適的S-CSCF。然後將REGISTER轉發到所選擇的S-CSCF。
9~~10S-CSCF檢查收到的REGISTER如果沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-Protected頭域,並且有P-Access-Network-Info頭域,((可選)且其access-type或者network-provider表示NGN接入類型),則表示需要NASS-Bundled或者HTTP DIGEST鑑權(目前還不能確定到底採用哪一種)。S-CSCF保存P-Access-Network-Info頭域攜帶的位置信息和(可選)接入網類型信息,MAR消息的SIP-Authentication-Scheme頭域中填寫為表示未知,表示鑑權方式目前未知,等待HSS響應。
11~12HSS中只配置了NBA一種鑑權方式,在MAA響應中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,鑑權數據頭域填寫對應的鑑權數據,(可選)優先級頭域填寫為任意正值。然後發送MAA給S-CSCF。
13S-CSCF發現MAA中只返回一個SIP-Auth-Data-Item,並且SIP-Authentication-Scheme表示是NBA鑑權方式,S-CSCF直接執行鑑權過程比較HSS返回的UE位置信息和P-CSCF上報的位置信息,如果一致,則鑑權通過。
14-18鑑權成功,S-CSCF通過SAR/SAA消息告訴HSS以後將為該用戶服務,並下載相應的用戶籤約數據。然後發送成功響應消息200到P-CSCF/UE。對於NBA,由於P-CSCF和UE以前沒有收到401挑戰消息,是直接收到的200成功響應消息,因此不需要建立安全聯盟。
實施例五HSS配置了NBA和EIA,最終採用EIA方式鑑權的流程如附圖12所示0~1UE同時支持NBA和EIA兩種鑑權方式。UE發送的REGISTER消息不包含P-Access-Network-Info和Authorizatin頭域,然後選擇GRPS接入網發送REIGSTER給P-CSCF。
2~3P-CSCF通過在資料庫中預先配置網絡接口對應的接入網類型,或者P-CSCF還可以通過在資料庫中預先配置IP位址或者埠號對應的接入網類型,根據收到的REGISTER消息中的源IP位址/目標IP位址(或者源、目標埠號)可以區分出接入網類型。由於收到的REGISTER消息沒有安全協商頭域,並且是從GPRS接入網對應的網絡接口收到的,因此不需要觸發e2接口查詢UE的位置信息。P-CSCF比較REGISTER消息中的via頭域中的sent-by頭域的IP位址是否與REGISTER消息所在IP頭中的源IP位址一致,如果不一致,則增加一個received頭域到via頭域中,並填充為IP頭中的源IP位址;P-CSCF還在所述的REGISTER消息中新增P-Access-Network-Info頭域,同時在P-Access-Network-Info頭域中填上相應的GPRS接入網類型;然後發送REGISTER給I-CSCF。
4~8I-CSCF發送UAR到HSS,HSS通過UAA命令將用戶所要求的S-CSCF鑑權能力集(要求支持NBA和EIA)返回給I-CSCF。I-CSCF根據返回的該用戶要求的S-CSCF鑑權能力集以及I-CSCF上預先配置的S-CSCF的地址以及鑑權能力的關係表,找到一個合適的S-CSCF。然後將REGISTER轉發到所選擇的S-CSCF。
9~~10S-CSCF檢查收到的REGISTER如果沒有Authorization頭域,並且沒有P-Access-Network-Info頭域或者有P-Access-Network-Info頭域但其接入網類型參數表示GPRS接入類型,則表示需要EIA鑑權。S-CSCF保存REGISTER消息中的received/sent-by頭域攜帶的地址信息,MAR消息的SIP-Authentication-Scheme頭域中填寫為表示EIA。
11~12HSS中同時配置了NBA和EIA兩種鑑權方式,在MAA響應中將SIP-Number-Auth-Items填寫為2,包含兩個SIP-Auth-Data-Item AVP,其中一個的SIP-Authentication-Scheme頭域的值填寫成NBA,鑑權數據頭域填寫對應的鑑權數據,(可選)優先級頭域填寫為2;另外一個的SIP-Authentication-Scheme頭域的值填寫成EIA,鑑權數據頭域填寫對應的鑑權數據,(可選)優先級頭域填寫為1;然後發送MAA給S-CSCF。
13S-CSCF發現MAA中返回兩種鑑權方式的數據。由於NBA對應的優先級較高,因此S-CSCF首先嘗試用NBA鑑權方式進行匹配和鑑權處理,但是發現接入網類型為GPRS(或者沒有P-CSCF上報的位置信息);因此S-CSCF再嘗試使用EIA鑑權方式進行匹配和鑑權處理比較HSS返回的UEIP位址信息和P-CSCF上報的IP位址信息,如果一致,則鑑權通過。
S-CSCF也可以根據以前保存的接入網類型為GPRS或者P-CSCF上報的沒有位置信息只有IP位址信息,從而直接採用EIA鑑權。
14-18鑑權成功,S-CSCF通過SAR/SAA消息告訴HSS以後將為該用戶服務,並下載相應的用戶籤約數據。然後發送成功響應消息200到P-CSCF/UE。對於EIA,由於P-CSCF和UE以前沒有收到401挑戰消息,是直接收到的200成功響應消息,因此不需要建立安全聯盟。
實施例六帶有安全聯盟協商的HTTP DIGEST鑑權的流程如附圖13所示0-1UE將要求P-CSCF支持的帶有安全聯盟協商的HTTP DIGEST鑑權能力作為籤約數據到PacketCable接入網去籤約,PacketCable接入網預先配置所述的P-CSCF的IP位址或者FQDN在UE動態獲取IP位址的過程中將P-CSCF的IP位址或者FQDN傳給UE;UE然後發送REGISTER消息給P-CSCF。
2~3P-CSCF通過在資料庫中預先配置網絡接口對應的接入網類型,或者P-CSCF還可以通過在資料庫中預先配置IP位址或者埠號對應的接入網類型,根據收到的REGISTER消息中的源IP位址/目標IP位址(或者源、目標埠號)可以區分出接入網類型。由於收到的REGISTER消息有安全協商頭域和Authorization頭域,並且是從PacketCable接入網對應的網絡接口收到的,不需要觸發e2接口查詢UE的位置信息。此時P-CSCF無法區分是AKA還是帶有安全聯盟協商的HTTP DIGEST鑑權,因此需要等到後面的步驟中S-CSCF收到HSS的MAA響應後才能確定。P-CSCF在Authorization頭域中增加一個integrity-protected頭域,填寫與該鑑權方式相應的值,然後發送REGISTER給I-CSCF。
4~8I-CSCF發送UAR到HSS,HSS通過UAA命令將用戶所要求的S-CSCF鑑權能力集(要求支持帶安全聯盟協商的HTTP DIGEST)返回給I-CSCF。I-CSCF根據返回的該用戶要求的S-CSCF鑑權能力集以及I-CSCF上預先配置的S-CSCF的地址以及鑑權能力的關係表,找到一個合適的S-CSCF。然後將REGISTER轉發到所選擇的S-CSCF。
9~~10S-CSCF檢查收到的REGISTER有Authorization頭域並且Authorization頭域中有integrity-protected頭域,MAR消息的SIP-Authentication-Scheme頭域中填寫為表示未知,表示鑑權方式目前未知,等待HSS響應。
另外S-CSCF也可以根據integrity-protected頭域的值區分出採用帶安全聯盟協商的HTTP DIGEST,因此MAR的SIP-Authentication-Scheme頭域中填寫表示該鑑權方式的值。
11~12HSS中只配置了帶安全聯盟協商的HTTP DIGEST一種鑑權方式,在MAA響應中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-ItemAVP中的SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,鑑權數據頭域填寫對應的鑑權數據,(可選)優先級頭域填寫為任意正值。然後發送MAA給S-CSCF。
13~19S-CSCF發現MAA中只返回一個SIP-Auth-Data-Item,並且SIP-Authentication-Scheme表示是帶安全聯盟協商的HTTP DIGEST鑑權方式,S-CSCF首先保存XRES,然後執行14~19步的挑戰處理過程發送4xx挑戰消息(WWW-Authenticate頭域中的algrithm設置成表示帶安全聯盟協商的HTTP DIGEST鑑權,例如「SHA1」)到P-CSCF。P-CSCF轉發到UE。UE和P-CSCF之間需要建立安全聯盟。UE重新發送一個帶有挑戰響應RES的REGISTER到P-CSCF。P-CSCF轉發到S-CSCF。S-CSCF比較RES和XRES,如果一致,則鑑權通過。
20-24鑑權成功,S-CSCF通過SAR/SAA消息告訴HSS以後將為該用戶服務,並下載相應的用戶籤約數據。然後發送成功響應消息200到P-CSCF/UE。
權利要求
1.一種IMS網絡中用戶終端接入鑑權方法,其特徵在於,所述的方法包括如下步驟a、用戶終端UE向代理-呼叫會話控制功能實體P-CSCF發送註冊REGISTER消息;b、P-CSCF根據所述的REGISTER消息中的信息和/或接入網類型區別鑑權方式,並在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至查詢-呼叫會話控制功能實體I-CSCF;c、I-CSCF選擇服務-呼叫會話控制功能實體S-CSCF,並把REGISTER消息透明轉發到該S-CSCF;d、S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式後向歸屬籤約伺服器HSS/用戶籤約伺服器功能實體UPSF發送多媒體鑑權請求MAR消息,HSS/UPSF通過多媒體鑑權響應MAA消息返回所述UE的鑑權數據和鑑權方式,S-CSCF進行鑑權處理。
2.根據權利要求1所述的方法,其特徵在於,其中步驟a具體包括在所述的UE中預先配置支持接入層鑑權與業務層綁定鑑權NBA或者HTTP摘要鑑權HTTP DIGEST鑑權方式的P-CSCF的IP位址或者正式域名FQDN,所述的UE選擇P-CSCF向其發送REGISTER消息;或者,所述的UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網網絡附著子系統NASS去籤約,保存到籤約數據基本功能實體PDBF的接入籤約數據中,在UE附著NASS的過程中,NASS中的用戶接入授權功能實體UAAF通過PDBF獲取所述的接入籤約數據,並發送給連接位置實體CLF,CLF收到NACF的綁定請求後,根據用戶的接入籤約數據在返回給NACF的綁定響應中攜帶所述的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將P-CSCF的IP位址或者FQDN傳給UE;或者,所述的UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網NASS去籤約,保存到籤約數據基本功能實體PDBF的接入籤約數據中,在UE附著NASS的過程中,NASS中的用戶接入授權功能實體UAAF實體通過PDBF獲取所述的接入籤約數據,並發送給連接位置實體CLF,CLF收到NACF的綁定請求後,在返回給NACF的綁定響應中攜帶所有的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將所有P-CSCF的地址/FQDN返回給UE,UE依次嘗試發送所述的REGISTER消息到所述的P-CSCF,直到成功為止。
3.根據權利要求1所述的方法,其特徵在於,其中步驟a具體包括所述的UE向P-CSCF發送REGISTER消息,所述的REGISTER消息中的聯繫contact頭域或者P-Access-Network-Info頭域中攜帶接入網類型信息;其中步驟b具體包括b1、所述的P-CSCF根據接收到的REGISTER消息中的contact頭域或者P-Access-Network-Info頭域區分出接入網類型,並根據所述的接入網類型和/或所述的REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF。
4.根據權利要求1所述的方法,其特徵在於,其中步驟a所述的REGISTER消息中contact頭域攜帶表示鑑權方式偏好的信息。
5.根據權利要求2所述的方法,其特徵在於,還包括所述的UE將要求P-CSCF支持的帶安全聯盟協商的HTTP DIGEST鑑權能力作為籤約數據到分組電纜網PacketCable接入網去籤約,PacketCable接入網中相應實體預先配置支持帶安全聯盟協商的HTTP DIGEST的P-CSCF的IP位址或者FQDN,在UE動態獲取IP位址的過程中,PacketCable接入網中相應實體將P-CSCF的IP位址或者FQDN返回給UE;或者,所述的UE將要求P-CSCF支持的帶安全聯盟協商的HTTP DIGEST鑑權能力作為籤約數據到PacketCable接入網去籤約,PacketCable接入網中相應實體預先配置所有P-CSCF的IP位址或者FQDN,保存在資料庫中,在所述的UE動態獲取IP位址的過程中,所述的PacketCable接入網中相應實體將所有P-CSCF的IP位址或者FQDN返回給所述的UE,所述的UE依次嘗試發送REGISTER到所述的P-CSCF,直到成功為止。
6.根據權利要求1所述的方法,其特徵在於,其中步驟b具體包括b1、所述的P-CSCF根據接收REGISTER消息的網絡接口或IP位址或埠號確定對應的接入網類型,並根據所述的接入網類型和/或所述的REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF。
7.根據權利要求3或權利要求6所述的方法,其特徵在於,所述的根據所述的接入網類型和/或所述的REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括如果收到的REGISTER消息中有安全客戶端Security-Client頭域,並且該頭域含有與AKA對應的安全機制,則所述的P-CSCF確定鑑權方式為摘要認證與密鑰協商鑑權AKA,在所述的REGISTER消息中增加integrity-protected頭域並填寫與AKA相應的值,然後將其轉發至所述的I-CSCF;如果REGISTER消息中沒有Security-Client頭域,所述的P-CSCF根據接收REGISTER消息的網絡接口或IP位址或埠號對應的接入網類型確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至所述的I-CSCF。
8.根據權利要求7所述的方法,其特徵在於,所述的如果所述的REGISTER消息中沒有Security-Client頭域,所述的P-CSCF根據接收REGISTER消息的網絡接口或IP位址或埠號對應的接入網類型確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括如果收到的REGISTER消息中沒有Security-Client頭域,並且是從NGN接入網對應的網絡接口收到的,所述的P-CSCF確定鑑權方式為NBA或者HTTP DIGEST,所述的P-CSCF查詢UE的位置信息,所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info頭域中增加UE的位置信息;如果收到的REGISTER消息中沒有Security-Client,並且是從GPRS接入網對應的網絡接口收到的,所述的P-CSCF確定鑑權方式為早期IP多媒體網絡子系統鑑權EIA,所述的P-CSCF比較所述的REGISTER消息中的經過via頭域中的發送者sent-by頭域的IP位址是否與所述的REGISTER消息所在IP頭中的源IP位址一致,如果不一致,則增加一個接收received頭域到via頭域中,並填充IP頭中的源IP位址。
9.根據權利權利要求7所述的方法,其特徵在於,還包括所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info頭域中填上相應的接入網類型。
10.根據權利權利要求7所述的方法,其特徵在於,所述的P-CSCF在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫所述的鑑權方式信息。
11.根據權利權利要求10所述的方法,其特徵在於,具體包括如果鑑權方式是AKA,所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫表示AKA的鑑權方式。如果鑑權方式是EIA,所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫表示EIA的鑑權方式。如果鑑權方式是NBA或HTTP DIGEST,所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫表示未知的鑑權方式。
12.根據權利權利要求10所述的方法,其特徵在於,具體包括所述鑑權方式頭域包含在REGISTER消息已有的或者新增的P-Access-Network-Info頭域中。
13.根據權利要求1所述的方法,其特徵在於,其中步驟c具體包括c1、所述的I-CSCF通過UAR命令向HSS/UPSF查詢S-CSCF鑑權能力,HSS/UPSF通過UAA命令返回用戶籤約數據要求的S-CSCF鑑權能力集,I-CSCF通過將返回的鑑權能力集與其預先配置的S-CSCF鑑權能力集比較,找到具有對應的鑑權能力的S-CSCF;c2、所述的I-CSCF將REGISTER消息透明轉發給所述的S-CSCF。
14.根據權利要求13所述的方法,其特徵在於,其中步驟c1之前還包括在所述的I-CSCF中預先配置相應的S-CSCF的地址以及其支持的鑑權能力,同時在HSS/UPSF中將需要S-CSCF支持的鑑權能力預先配置在用戶籤約數據的S-CSCF能力集數據中。
15.根據權利要求1所述的方法,其特徵在於,其中步驟d所述的S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式具體包括所述的S-CSCF首先檢查收到的REGISTER消息中是否有P-Access-Network-Info頭域如果沒有P-Access-Network-Info頭域,並且沒有Authorization頭域,則確定鑑權方式為早期IMS鑑權EIA;如果沒有P-Access-Network-Info頭域,並且有Authorization頭域,並且Authorization頭域的integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果有P-Access-Network-Info頭域,則檢查其接入網類型參數的值(1)如果該值表示是GPRS接入網類型,所述的S-CSCF進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果沒有Authorization頭域,則確定鑑權方式為EIA;(2)如果該值表示是NGN接入網類型,所述的S-CSCF進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected參數,則確定鑑權方式為NBA或者HTTP DIGEST。
16.根據權利要求1所述的方法,其特徵在於,其中步驟d所述的S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式具體包括如果所述的S-CSCF收到的REGISTER消息中的授權Authorization頭域中有integrity-protected頭域,且其值與AKA對應,則確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中沒有Authorization頭域,並且沒有P-Access-Network-Info頭域或者有P-Access-Network-Info頭域但其接入網類型參數表示GPRS接入網類型,則確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected頭域,並且有P-Access-Network-Info頭域且其接入網類型參數表示NGN接入網類型,則確定鑑權方式為NBA或者HTTP DIGEST。
17.根據權利要求1所述的方法,其特徵在於,其中步驟d所述的S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式具體包括如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與AKA對應,則確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與EIA對應,則確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值表示未知,則確定鑑權方式為NBA或HTTP DIGEST。
18.根據權利要求1所述的方法,其特徵在於,其中步驟d所述的S-CSCF區別鑑權方式後向HSS/UPSF發送多媒體鑑權請求MAR消息,HSS/UPSF通過多媒體鑑權響應MAA消息返回所述UE的鑑權數據和鑑權方式,S-CSCF進行鑑權處理,具體包括d1、如果鑑權方式為AKA,所述的S-CSCF在MAR消息的鑑權方式SIP-Authentication-Scheme頭域中填寫表示AKA的鑑權方式後發送給HSS/UPSF;如果鑑權方式為EIA,所述的S-CSCF保存REGISTER消息中的reccivcd/sent-by頭域攜帶的地址信息,在MAR消息的SIP-Authentication-Scheme頭域中填寫表示EIA鑑權方式後發送給HSS/UPSF;如果鑑權方式為NBA或者HTTP DIGEST,所述的S-CSCF保存P-Access-Network-Info頭域攜帶的位置信息或者保存P-Access-Network-Info頭域攜帶的位置信息和接入網類型,在MAR消息的鑑權方式SIP-Authentication-Scheme頭域中填寫表示鑑權方式未知,然後發送給HSS/UPSF;d2、所述的HSS/UPSF收到所述的MAR消息後,根據其中SIP-Authentication-Scheme頭域的值進行處理,通過多媒體籤約應答MAA消息將UE的鑑權方式和鑑權數據返回S-CSCF;d3、所述的S-CSCF根據P-CSCF上報的信息以及HSS/UPSF返回的信息進行處理,如果確定的鑑權方式為AKA或者HTTP DIGEST或者帶有安全聯盟協商的HTTP DIGEST,則先執行挑戰處理過程後再進行鑑權,如果確定的鑑權方式是NBA或者EIA,則直接執行鑑權過程。
19.根據權利要求18所述的方法,其特徵在於,其中步驟d1所述的發送給MAR的消息中還包括接入網類型;其中步驟d2具體包括所述的HSS/UPSF收到MAR消息後,根據其中的SIP-Authentication-Scheme頭域的值以及接入網類型進行處理,通過多媒體籤約應答MAA將UE的鑑權方式和鑑權數據返回S-CSCF。
20.根據權利要求18所述的方法,其特徵在於,其中步驟d2具體包括當SIP-Authentication-Scheme表示是AKA鑑權方式時,如果HSS/UPSF只配置了AKA鑑權方式,或者HSS/UPSF中配置了包括AKA的多種鑑權方式,所述的HSS/UPSF在MAA消息中將鑑權向量的數目SIP-Number-Auth-Items填寫為1,鑑權向量SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫AKA的鑑權向量數據,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示是EIA鑑權方式時,如果HSS/UPSF中只配置了EIA一種鑑權方式,或者HSS/UPSF中配置了包括EIA的多種鑑權方式,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫UE的IP位址,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示鑑權方式未知時,如果HSS/UPSF中只配置了一種非AKA鑑權方式的鑑權數據,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,鑑權數據頭域填寫對應的鑑權數據;如果HSS/UPSF中同時配置了多個非AKA鑑權方式的鑑權數據,則將SIP-Number-Auth-Items填寫為配置的鑑權方式的數目,並將這些非AKA鑑權方式和鑑權數據分別填充到MAA消息的多個SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鑑權數據AVP中,然後將MAA消息返回給S-CSCF。
21.根據權利要求19所述的方法,其特徵在於,所述的HSS/UPSF收到MAR消息後,根據其中的SIP-Authentication-Scheme頭域的值以及接入網類型進行處理具體包括當SIP-Authentication-Scheme表示是AKA鑑權方式時,如果HSS/UPSF只配置了AKA鑑權方式,或者HSS/UPSF中配置了包括AKA的多種鑑權方式,並且配置的接入網類型和MAR中攜帶的接入網類型匹配,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫AKA的鑑權向量數據、SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示是EIA鑑權方式時,如果HSS/UPSF中只配置了EIA一種鑑權方式,或者HSS/UPSF中配置了包括EIA的多種鑑權方式,並且配置的接入網類型和MAR中攜帶的接入網類型匹配,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫UE的IP位址,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示鑑權方式未知時,如果HSS/UPSF中只配置了一種鑑權方式的鑑權數據,並且配置的接入網類型和MAR消息中攜帶的接入網類型匹配,則在MAA消息中將SIP-Number-Auth-Items填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域填寫相應的鑑權數據,SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式;如果HSS/UPSF中同時配置了多個鑑權方式的鑑權數據,則在MAA消息中將SIP-Number-Auth-Items填寫為實際配置的鑑權數據的數目,並將所有鑑權方式和鑑權數據分別填充到MAA消息的多個SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鑑權數據頭域中,然後將MAA消息返回給S-CSCF。
22.根據權利要求20或21所述的方法,其特徵在於,其中步驟d3具體包括當MAA中只返回一個SIP-Auth-Data-Item時,如果SIP-Authentication-Scheme表示是AKA或者HTTP DIGEST或者帶有安全聯盟協商的HTTP DIGEST鑑權方式,則所述的S-CSCF根據XRES計算期望結果並保存,在4xx挑戰響應消息的算法algorithm頭域設置表示相應鑑權方式的值,發送4xx挑戰消息到P-CSCF;如果SIP-Authentication-Scheme表示是EIA鑑權方式,所述的S-CSCF用發送MAR消息前保存的UE源IP位址與HSS/UPSF返回的UE的IP位址比較,匹配成功就發送200;如果SIP-Authentication-Scheme表示是NBA鑑權方式,所述的S-CSCF用發送MAR消息前保存的UE位置信息與HSS/UPSF返回的UE位置信息比較,匹配成功就發送200;當MAA中返回多個SIP-Auth-Data-Item時,S-CSCF依次循環嘗試用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鑑權方式進行匹配和鑑權處理,直到成功為止;或者S-CSCF在嘗試一種鑑權方式失敗後,發送一個合適的錯誤碼給UE,等UE重新發起REGISTER消息後,S-CSCF再繼續嘗試其他的鑑權方式,直到成功為止,或者S-CSCF根據以前保存的接入網類型和/或所述鑑權相關信息來選擇一種合適的鑑權方式來鑑權。
23.一種UE在鑑權過程中選擇P-CSCF的方法,其特徵在於,所述的方法為在UE中預先配置支持NBA或者HTTP DIGEST鑑權方式的P-CSCF的IP位址或者FQDN,所述的UE選擇P-CSCF向其發送REGISTER消息;或者,所述的UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網網絡附著子系統NASS去籤約,保存到PDBF的接入籤約數據中,在所述的UE附著NASS的過程中,NASS中的UAAF通過PDBF獲取該接入籤約數據,並發送給CLF,CLF收到NACF的綁定請求後,根據用戶的接入籤約數據,在返回給NACF的綁定響應中攜帶所述的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將P-CSCF的IP位址或者FQDN傳給UE;或者,所述的UE將要求P-CSCF支持的NBA或者HTTP DIGEST鑑權能力作為籤約數據到接入網NASS去籤約,保存到PDBF的接入籤約數據中,在所述的UE附著NASS的過程中,NASS中的UAAF通過PDBF獲取該接入籤約數據,並發送給連接位置實體CLF,CLF收到NACF的綁定請求後,在返回給NACF的綁定響應中攜帶所有的P-CSCF的IP位址或者FQDN,NACF在UE動態獲取IP位址的過程中將所有P-CSCF的地址/FQDN返回給UE,UE依次嘗試發送所述的REGISTER消息到P-CSCF,直到成功為止。
24.一種UE在鑑權過程中選擇接入網類型的方法,其特徵在於,所述的方法具體為如果UE同時支持多種鑑權方式,則UE可以根據本地策略確定接入網類型,然後選擇合適的接入網發送REGISTER消息到P-CSCF。
25.一種P-CSCF確定鑑權方式的方法,其特徵在於,所述的方法包括如下的步驟P-CSCF收到REGISTER消息後判斷其中是否有Security-Client頭域如果所述的REGISTER消息中有Security-Client頭域,並且該頭域含有與AKA對應的安全機制,則表示需要採用AKA鑑權方式;或者該頭域含有與帶安全聯盟協商的HTTP DIGEST對應的安全機制,則表示需要採用帶安全聯盟協商的HTTP DIGEST鑑權方式;如果所述的REGISTER消息中沒有Security-Client頭域,所述的P-CSCF再判斷接入網類型,如果所述的REGISTER消息是從NGN接入網收到的,則表示需要採用NBA或者HTTP DIGEST鑑權,如果是從GPRS接入網收到的,則表示需要採用EIA鑑權。
26.一種P-CSCF確定鑑權方式並進行相應處理的方法,其特徵在於,所述的方法包括如下步驟a、P-CSCF根據接收REGISTER消息的網絡接口或IP位址或埠號確定對應的接入網類型,並根據所述的接入網類型和/或REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF。
27.根據權利要求26所述的方法,其特徵在於,所述的根據所述的接入網類型和/或REGISTER消息中的頭域確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括如果所述的REGISTER消息中有Security-Client頭域,並且該頭域含有與AKA對應的安全機制,則確定鑑權方式為AKA,然後在所述的REGISTER消息中增加integrity-protected頭域,並填寫與AKA相應的值;如果所述的REGISTER消息中沒有Security-Client頭域,所述的P-CSCF根據接收所述的REGISTER消息的網絡接口或IP位址或埠號對應的接入網類型確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF。
28.根據權利要求27所述的方法,其特徵在於,所述的如果所述的REGISTER消息沒有Security-Client頭域,所述的P-CSCF根據接收所述的REGISTER消息的網絡接口或IP位址或埠號對應的接入網類型確定鑑權方式,然後在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括如果收到的REGISTER消息中沒有Security-Client頭域,並且是從NGN接入網對應的網絡接口收到的,確定鑑權方式為NBA或者HTTP DIGEST,所述的P-CSCF查詢UE的位置信息,並在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info頭域中增加UE的位置信息;如果收到的REGISTER消息中沒有Security-Client,並且是從GPRS接入網對應的網絡接口收到的,確定鑑權方式為EIA,所述的P-CSCF比較REGISTER消息中的via頭域中的sent-by頭域的IP位址是否與REGISTER消息所在IP頭中的源IP位址一致,如果不一致,則增加一個received頭域到via頭域中,並填充IP頭中的源IP位址。
29.根據權利要求28所述的方法,其特徵在於,還包括所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info頭域中填上相應的接入網類型。
30.根據權利權利要求28所述的方法,其特徵在於,所述的P-CSCF在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至I-CSCF,具體包括所述的P-CSCF在所述的REGISTER消息的鑑權方式頭域中填寫所述的鑑權方式信息。
31.根據權利權利要求30所述的方法,其特徵在於,具體包括如果鑑權方式是AKA,所述的P-CSCF在所述的REGISTER消息中的鑑權方式頭域中填寫表示AKA的鑑權方式。如果鑑權方式是EIA,所述的P-CSCF在所述的REGISTER消息中的鑑權方式頭域中填寫表示EIA的鑑權方式。如果鑑權方式是NBA或HTTP DIGEST,所述的P-CSCF在所述的REGISTER消息中的鑑權方式頭域中填寫表示未知的鑑權方式。
32.根據權利權利要求31所述的方法,其特徵在於,具體包括所述鑑權方式頭域包含在REGISTER消息已有的或者新增的P-Access-Network-Info頭域中。
33.一種S-CSCF確定鑑權方式的方法,其特徵在於,所述的方法包括如下步驟a、S-CSCF根據收到的REGISTER消息中的信息和/或P-Access-Network-Info頭域區別鑑權方式。
34.根據權利要求33所述的方法,其特徵在於,其中步驟a具體包括如果所述的S-CSCF收到的REGISTER消息中的Authorization頭域中有integrity-protected頭域,且其值與AKA對應,則所述的S-CSCF確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中沒有Authorization頭域,並且沒有P-Access-Network-Info頭域或者有P-Access-Network-Info頭域但其接入網類型表示GPRS接入網,則所述的S-CSCF確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中沒有Authorization頭域,或者Authorization頭域中沒有integrity-protected頭域,並且有P-Access-Network-Info頭域且其接入網類型參數表示NGN接入類型,則所述的S-CSCF確定鑑權方式NBA或者HTTP DIGEST。
35.根據權利要求33所述的方法,其特徵在於,其中步驟a具體包括所述的S-CSCF首先檢查收到的REGISTER消息中是否有P-Access-Network-Info頭域如果沒有P-Access-Network-Info頭域,並且沒有Authorization頭域,則確定鑑權方式為EIA;如果沒有P-Access-Network-Info頭域,並且有Authorization頭域,並且Authorization頭域的integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果有P-Access-Network-Info頭域,所述的S-CSCF檢查其接入網類型參數的值(1)如果該值表示是GPRS接入網類型,所述的S-CSCF進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果沒有Authorization頭域,則確定鑑權方式為EIA;(2)如果該值表示是NGN接入網類型,所述的S-CSCF進一步檢查REGISTER消息中是否有Authorization頭域如果有Authorization頭域,並且其integrity-protected參數的值與AKA對應,則確定鑑權方式為AKA;如果沒有Authorization頭域或者雖然有Authorization頭域但其中沒有integrity-protected參數,則確定鑑權方式為NBA或者HTTP DIGEST。
36.根據權利要求33所述的方法,其特徵在於,其中步驟a具體包括如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與AKA對應,則確定鑑權方式為AKA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值與EIA對應,則確定鑑權方式為EIA;如果所述的S-CSCF收到的REGISTER消息中的鑑權方式頭域的值表示未知,則確定鑑權方式為NBA或HTTP DIGEST。
37.根據權利要求33所述的方法,其特徵在於,其中步驟a之後還包括如果鑑權方式為AKA,S-CSCF在MAR消息中的SIP-Authentication-Scheme頭域中填寫AKA鑑權方式後發送給HSS/UPSF;如果鑑權方式為EIA,S-CSCF保存REGISTER消息中的received/sent-by頭域攜帶的地址信息,在MAR消息的SIP-Authentication-Scheme頭域中填寫EIA鑑權方式後發送給HSS/UPSF;如果鑑權方式為NBA或者HTTP DIGEST,所述的S-CSCF保存P-Access-Network-Info頭域攜帶的位置信息或者保存P-Access-Network-Info頭域攜帶的位置信息和接入網類型,在MAR消息的SIP-Authentication-Scheme頭域中填寫表示鑑權方式未知,然後發送給HSS/UPSF;
38.一種HSS/UPSF確定鑑權方式的方法,其特徵在於,所述的方法包括如下步驟當S-CSCF發送給HSS/UPSF的MAR消息中的SIP-Authentieation-Scheme頭域表示是AKA鑑權方式時,如果HSS/UPSF只配置了AKA鑑權方式,或者HSS/UPSF中配置了包括AKA的多種鑑權方式,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items的值填寫為1,鑑權向量SIP-Auth-Data-ItemAVP中的鑑權數據頭域填寫成AKA的鑑權向量數據,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示是EIA鑑權方式時,如果HSS/UPSF中只配置了EIA一種鑑權方式,或者HSS/UPSF中配置了包括EIA的多種鑑權方式,所述的HSS/UPSF在MAA消息中將SIP-Number-Auth-Items的值填寫為1,SIP-Auth-Data-Item AVP中的鑑權數據頭域攜帶UE的IP位址,SIP-Authentication-Scheme頭域的值不變,然後將MAA消息返回給S-CSCF;當SIP-Authentication-Scheme表示鑑權方式未知時,如果HSS/UPSF中只配置了一種非AKA鑑權方式的鑑權數據,則在MAA消息中將SIP-Number-Auth-Items的值填寫為1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme頭域的值填寫成表示該鑑權方式,鑑權數據頭域填寫對應的鑑權數據;如果HSS/UPSF中同時配置了多個非AKA鑑權方式的鑑權數據,則將SIP-Number-Auth-Items填寫為配置的鑑權方式的數目,並將這些非AKA鑑權方式和鑑權數據分別填充到MAA消息的多個SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鑑權數據AVP中,然後將MAA消息返回給S-CSCF。
全文摘要
本發明公開了一種IMS網絡中用戶終端接入鑑權方法,所述的方法包括如下步驟a.用戶終端UE向代理-呼叫會話控制功能實體P-CSCF發送註冊REGISTER消息;b.P-CSCF根據所述的REGISTER消息中的信息和/或接入網類型區別鑑權方式,並在所述的REGISTER消息中增加與鑑權方式相關的信息後將其轉發至查詢-呼叫會話控制功能實體I-CSCF;c.I-CSCF選擇服務-呼叫會話控制功能實體S-CSCF,並把REGISTER消息透明轉發到該S-CSCF;d.S-CSCF根據REGISTER消息中的信息和/或私有接入網絡信息P-Access-Network-Info頭域區別鑑權方式後向HSS發送多媒體鑑權請求MAR消息,HSS通過多媒體鑑權響應MAA消息返回所述UE的鑑權數據和鑑權方式,S-CSCF進行鑑權處理。
文檔編號H04L29/06GK101043744SQ20061010878
公開日2007年9月26日 申請日期2006年8月7日 優先權日2006年3月21日
發明者何承東, 嚴軍 申請人:華為技術有限公司