日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

aka鉴权 ims_ims 注册鉴权认证过程

發布時間:2023/12/19 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 aka鉴权 ims_ims 注册鉴权认证过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

移動通信的安全問題正越來越多地受到關注。2G網絡主要傳輸語音業務,采用的是單向的用戶認證方案,即網絡能夠驗證用戶身份是否合法,而用戶無法確認其所連接的網絡服務是否可靠。然而,3G網絡將會演變成一個覆蓋全球的集有線、蜂窩和衛星通信于一體的全網,不僅支持傳統的語音和數據業務,還支持交互式和分布式的業務,如多媒體業務、電子商務、網上銀行等。隨著各種信息服務的蓬勃開展,各種機密性、敏感性、隱私性的數據的傳輸會大大增加,這對網絡的安全性提出了更高的要求。

IP多媒體子系統(IMS)是3G網絡的核心控制平臺,具有基于會話初始協議(SIP)的全IP架構,IP協議固有的缺陷和安全漏洞使IMS很容易遭受攻擊。另外,IMS對開放性接入的支持也對其網絡安全提出挑戰。如何保證用戶安全地接入網絡,保證IMS網絡的可靠部署進而走向商用,成為了重中之重的問題。因此,研究IMS網絡的安全接入認證機制有著十分重要的現實意義。

3GPP已經成立了專門的工作組SA WG3負責3G網絡安全方面的標準化工作,已經發布的IMS安全標準主要有:3GPP TS33.102: 3G網絡安全架構[1]、3GPP TS33.203: IMS接入網絡的安全機制[2]、3GPP TS33.210: IMS核心網絡的安全機制[3]。

1 IMS的安全體系結構作為相對獨立的安全體系,IMS要求所有的用戶在使用IMS服務之前都必須進行鑒權(認證和授權),協商建立安全的接入通道。用戶和網絡實體之間以及網絡實體之間的通信必須時刻處于安全保護之中。IMS安全體系的整體思想是使用因特網協議安全(IPSec)的安全特性為IMS系統提供安全保護。IMS安全體系架構[2] 如圖1所示,分為5個安全層面。

IMS安全架構的5個安全層面應用于IMS安全保護中不同的需求:安全層面1提供用戶和網絡之間的雙向身份認證。歸屬用戶服務器(HSS)負責產生認證數據,并且委托服務呼叫會話控制功能(S-CSCF)執行用戶認證的操作。認證基于由IP多媒體服務身份模塊(ISIM)和HSS共享的密鑰和算法。

安全層面2為用戶設備(UE)和代理呼叫會話控制功能(P-CSCF)之間的通信提供安全關聯,包括加密和完整性保護,并通過IPSec提供接入安全保護。

安全層面3提供網絡域內呼叫會話控制功能(CSCF)和HSS之間的安全關聯。

安全層面4為不同網絡間的CSCF提供安全保護,適合于P-CSCF位于訪問網絡的情況。

安全層面5在網絡內部的不同CSCF間提供安全保護,適合于P-CSCF位于歸屬網絡的情況。

圖1中的安全層面1和安全層面2屬于IMS接入安全機制。IMS的接入安全機制承擔著兩大任務:一是對接入用戶的鑒權;二是在鑒權結束之后,在UE和P-CSCF之間建立IPSec安全關聯(IPSec SA),為后續SIP信令的交互提供安全保護。本文主要對基于認證和密鑰協商(AKA)機制的IMS安全接入認證機制進行研究。

2 IMS的接入安全機制

2.1 IMS AKA機制概述

AKA機制是由因特網工程任務組(IETF)制定、并被3GPP采用,廣泛應用于3G無線網絡的鑒權機制。IMS的鑒權機制沿用了這種機制的原理和核心算法,故稱之為IMS AKA機制[4]。

IMS AKA機制是對HTTP摘要認證機制[5]的擴展,主要用于用戶的認證和會話密鑰的分發,它的實現基于一個長期共享密鑰(Key)和一個序列號(SQN),它們僅在HSS的認證中心模塊(AuC)和UE的ISIM中可見。由于HSS不與UE直接通信,而是由S-CSCF執行認證過程,因此它們不會將真實的Key暴露給外界。

IMS AKA機制使用“提問/回答”的模式實現用戶和網絡之間的雙向認證,并通過協商產生的密碼對(CK, IK)作為IPSec SA所需的密鑰,為后續的通信提供安全保護。IMS AKA機制是基于SIP協議來實現的。AKA與SIP的結合在IETF RFC3310中定義。在IMS的注冊過程中,攜帶AKA參數的SIP信令在UE和IMS網絡認證實體之間進行交互,按照AKA機制來傳輸和協商AKA參數,從而實現接入認證和密鑰協商的過程。

2.2 IMS接入認證的實現通過IMS注冊過程實現基于AKA機制的IMS接入認證的具體流程[6] 如圖2所示。

(1) 用戶發起注冊請求

用戶在使用IMS服務之前必須向IMS網絡進行注冊,注冊的目的是將用戶的私有身份(IMPI)與用戶想要注冊的公開身份(IMPU)綁定。每個用戶只有一個IMPI,而可擁有多個IMPU,每個IMPU對應相應的服務配置。

UE在初始的注冊請求SIP REGISTER消息中發送它的IMPI,該IMPI保存在ISIM應用中,只用于認證和注冊過程。這個初始的REGISTER消息的主要頭域和參數如圖3所示。

由于3GPP AKA被映射到HTTP摘要機制,因此認證方案的值被設置為“Digest”,而“response”和“nonce”域的值在初始注冊請求消息中都設置為空。P-CSCF將這個REGISTER消息轉發給I-CSCF,I-CSCF聯系HSS,以選擇為用戶提供服務的S-CSCF,然后將REGISTER請求消息轉發給選定的S-CSCF。當S-CSCF收到REGISTER消息后,如果發現該用戶還沒有被認證,則S-CSCF向HSS發送多媒體認證請求(MAR)消息[7]以請求認證數據。

(2) 計算認證向量

HSS收到MAR消息之后,運行AKA算法,為該用戶計算認證向量(AV),計算過程如下:HSS中的AuC運行AKA機制,首先產生最新的序列號SQN和一個不可預測的隨機提問數(RAND)。然后HSS將根據它與該UE之間的共享密鑰Key,以及剛剛產生的SQN和RAND來計算其他的參數,其原理如圖4所示,AKA參數核心算法由3GPP TS35.206[8]提供。

其中,各個參數的計算公式如下( ?茌表示按位異或,|| 表示串接):計算消息認證碼(MAC):MAC = F1K(SQN || RAND || AMF)?? ;

計算期望的認證應答(XRES):XRES = F2K (RAND);

計算保密性密鑰(CK):CK = F3K (RAND);

計算完整性密鑰(IK):IK = F4K (RAND);

匿名密鑰(AK):AK = F5K (RAND);

網絡認證令牌(AUTN):AUTN = SQN?茌AK || AMF || MAC;

AV:AV=RAND||XRES||CK||IK||AUTN;

AK用來隱藏SQN,因為SQN可能會暴露用戶的位置信息。如果不需要隱藏SQN,那么AK被設置為0。

(3) 網絡向用戶提問

HSS通過上述的計算過程得到了一組AV,其中每個AV都是一個五元組(RAND, XRES, AUTN, CK, IK),該認證五元組并不包括Key和SQN本身。然后,HSS將這些認證數據通過多媒體認證應答(MAA)消息發送給S-CSCF。

S-CSCF從HSS得到所需的安全相關的參數,即所謂的AV。這些參數使得S-CSCF可以在不需要知道共享密鑰Key和SQN的情況下就可以執行認證過程。

S-CSCF將剔除XRES的AV包含在401 Unauthorized應答消息的WWW-Authenticate頭域中向用戶提問,401應答主要的頭域和字段如圖5所示。

其中,在nonce字段填入了將RAND和AUTN參數串接后進行Base64編碼后的字符串。在ik和ck字段加入完整性密鑰和保密性密鑰。在algorithm字段放入值“AKAv1-MD5”,表示使用的是3GPP AKA認證機制。

當接收到S-CSCF返回的401應答消息后,P-CSCF在將其發往UE之前,將其中的完整性密鑰IK和保密性密鑰CK保存下來,并將它們從AV中刪除掉(IK,CK這兩個參數不能暴露,網絡認證通過后,UE的ISIM會根據收到的AV,重新計算出來)。

(4) 用戶認證網絡身份

接收到網絡返回的401應答消息后,UE將接收到的AKA參數傳遞給ISIM應用,由ISIM模塊運行AKA算法,執行以下工作:首先基于ISIM中存儲的共享密鑰Key來校驗網絡認證令牌AUTN,如果AUTN校驗成功,網絡就被認證通過(即確認認證數據是從歸屬網絡中發來的)。ISIM計算AKA參數的過程如圖6所示。UE中的認證服務模塊通過隨機數RAND計算出匿名密鑰AK,然后使用匿名密鑰AK來恢復序列號SQN,接著通過得到的序列號SQN、RAND和ISIM中保存的認證管理域AMF來計算期望的消息認證碼XMAC。將計算得到的期望的消息認證碼XMAC和從網絡認證令牌AUTN中取得的由HSS計算的消息認證碼MAC相比較。如果這兩個參數一致,那么用戶認證網絡身份成功,接著進行下面的步驟;如果不一致,則用戶認證網絡身份失敗,UE向網絡發送不攜帶response字段的REGISTER消息,以此通知網絡提問無效。

如果用戶認證網絡身份成功,UE將接著檢查序列號SQN是否在正確的范圍之內(比較這次提問的序列號SQN是否比上次提問時使用的SQNi大)。如果SQN在正確的范圍之內(即SQN>SQNi,將SQNi更新為SQN,并保存,以備下次使用),UE將會計算認證應答(RES)。如果SQN不大于SQNi,則認為本次提問的AV是不新鮮的,UE與網絡失同步,則UE計算重同步參數AUTS,使用攜帶該重同步參數的REGISTER消息重新發起注冊請求。

如果UE確認SQN在正確的范圍之內,則接著計算保密性密鑰CK和完整性密鑰IK。

至此,UE和S-CSCF都知道了密鑰對CK和IK,可以用于進行下面的數據加密。UE將會保存CK和IK,直到下一次成功執行了AKA過程。

最后,UE在發往S-CSCF的第二個REGISTER請求中返回認證挑戰應答RES。

(5) 網絡認證用戶身份

P-CSCF將這個攜帶認證應答的REGISTER消息轉發給I-CSCF,I-CSCF重新查詢HSS以發現S-CSCF,然后將REGISTER消息轉發給S-CSCF。當S-CSCF接收到REGISTER消息之后,進行解析并從認證頭域Authorization中取出相應的參數:如果Authorization頭域中的response字段為空,再檢查重同步參數字段auts是否為空:如果AUTS參數不為空,說明UE檢查出了SQN同步失敗,S-CSCF使用這個重同步參數AUTS重新向HSS請求認證數據,當下載認證數據成功后,再用新的認證向量重新向UE提問。如果AUTS參數也為空,說明S-CSCF的提問無效,S-CSCF選擇下一個認證向量,重新用401消息進行提問。如果S-CSCF用完了所有的認證向量后,用戶仍然無法確認網絡身份,S-CSCF認為本次認證失敗,放棄本次認證過程,并發送403 Forbidden消息通知用戶。

如果Authorization頭域中的response字段不為空,則S-CSCF取出其中的認證應答RES參數,并將其和保存在S-CSCF中的認證應答XRES相比較。如果一致,S-CSCF就認為用戶回答提問正確,認證用戶身份成功,允許用戶接入網絡,同時向UE回送200 OK消息;如果不一致,S-CSCF就認為用戶回答提問錯誤,認證用戶身份失敗,S-CSCF不允許用戶接入網絡,那么S-CSCF應該發送403 Forbidden應答消息給UE,通知認證失敗,并且放棄本次認證過程。

3 IMS AKA機制的安全性分析

3.1 IMS AKA機制實現的安全能力從上述對基于AKA的IMS接入認證機制的原理和實現過程的分析可以看出,IMS AKA機制實現了以下安全目標。

(1) 用戶和網絡之間的雙向認證

S-CSCF對UE的認證是通過RES實現的:如果UE合法,它能夠正確地計算出RES,且RES等于XRES;UE對S-CSCF的認證是通過MAC實現的:UE收到S-CSCF轉發的MAC后,計算期望的消息認證碼(XMAC),如果MAC和XMAC一致,則認證成功。

(2) UE和P-CSCF之間的密鑰協商分配

P-CSCF收到的來自HSS的AV中包含了保密性密鑰(CKHSS)和完整性密鑰(IKHSS)。合法的用戶在收到正確的RAND之后,能正確地產生CKUE和IKUE,且CKHSS等于CKUE,IKHSS等于IKUE。CK和IK用于其后的保密通信,而CK和IK并沒有在空中接口中傳輸,確保了密鑰的安全性。

(3) UE與S-CSCF間密鑰的新鮮性

由于每次通信前的認證選擇了不同的AV,保證了每次通信采用的CK和IK都是由不同的RAND計算得到的。而每次使用的MAC是由不斷遞增的SQN作為輸入變量之一,從而確保了密鑰的新鮮性,有效地防止了重放攻擊。

(4) 認證應答RES的安全

當UE計算出認證應答RES之后,使用名為“AKAv1-MD5”的摘要算法(實際上就是一個單向的哈希函數)來計算RES的摘要,然后將該摘要發送到S-CSCF。S-CSCF也使用同樣的方法計算出期望的認證應答(XRES)的摘要值,通過比較這兩個摘要值是否一致來認證用戶的身份。通過這樣的方法,即使攻擊者竊聽到RES的值,但是由于摘要算法是單向的哈希函數,根本無法反推出RES的值,因此不能危害網絡安全。

由上面的分析,可以看到IMS AKA機制具有相當強大的安全能力來實現用戶和服務網絡之間的雙向認證以及密鑰協商,并且能夠保證協商的保密性密鑰和完整性密鑰的新鮮性。因此,AKA機制在3G網絡的接入認證機制的實現中得到了相當廣泛的應用。

3.2 IMS AKA機制的安全隱患及解決方案在實際應用中,IMS AKA機制的一些安全漏洞漸漸暴露出來。下面將對IMS AKA機制在注冊過程中存在的一些安全隱患及現有的解決方案進行介紹。

(1) 雖然UE和P-CSCF之間可以通過AKA機制協商的安全性密鑰對SIP信令進行加密性和完整性保護,但是初始注冊請求REGISTER消息卻是在安全密鑰尚未協商的時候發送的,故該消息沒有受到任何安全保護而且是用明文發送的,攻擊者可以輕而易舉地獲取用戶的注冊信息,從而造成用戶隱私泄密。

SIP協議對此進行了安全擴展:對SIP消息取摘要值,并且由SIP消息攜帶這個摘要值一同發送。在接收端對收到的SIP消息計算摘要值,如果和原摘要值一致,說明這個SIP消息沒有被修改過,受到了完整性保護。雖然即便是這樣,還是不能杜絕攻擊者竊聽SIP消息,可是至少攻擊者無法偷偷修改消息內容,這樣對SIP消息的安全性能有一定程度的提高。

(2) 向IMS網絡注冊時,至少需要發送兩次REGISTER請求,用戶與網絡之間的SIP交互過于繁瑣,并且SIP消息攜帶的認證頭域(如Authorization頭域和WWW-Authenticate頭域)帶有眾多AKA參數,導致SIP消息長度大幅增加。由于網絡帶寬的限制,傳輸延遲將會十分明顯,用戶通過注冊接入網絡的耗時將會比較長,影響用戶的使用感受。可以采用壓縮SIP消息[9]的方法來在一定程度上改善服務質量,特別是在無線環境下能大大縮短呼叫建立的時間。

(3) 在基于AKA的接入認證過程中,UE并沒有對IMS核心網絡的接入點P-CSCF進行身份認證,會給攻擊者提供冒充中間人實施攻擊的機會。參考文獻[10]中提出的基于傳輸層安全協議(TLS)的IMS接入認證機制能對這一缺陷進行改進,但也僅僅是在理論階段,還沒有接受實際應用的考證。

4 結束語IMS作為下一代網絡的發展方向,作為移動網絡和固定網絡的融合平臺,為用戶提供端到端的IP多媒體業務,這種基于SIP的全IP的開放網絡特性給IMS網絡的安全帶來了極大的挑戰。如何保證用戶安全地接入網絡是整個IMS安全方案實施的第一步,只有實現安全的接入認證機制,才能保證IMS網絡的可靠部署,進而走向商用。

IMS AKA機制雖然被廣泛地應用,但正如沒有任何一種技術是十全十美的道理一樣,IMS AKA機制本身也存在一些不太合理的地方,目前也有許多的組織和個人對IMS AKA機制提出了許多增強和完善的建議,但除了SIP的安全擴展機制以外,還沒有哪一種改進方案被標準化采用。但無疑正是這種不斷的推陳出新,使得網絡的安全性越來越高。IMS AKA機制中仍有一些有待改進的開放性問題,希望在以后的研究工作中能對其進行改進:

(1) 通過使用序列號,用戶可以保證認證信息(如RAND和AUTN)是沒有被攻擊者或者是被服務網絡使用過的。服務網絡通過檢驗用戶認證應答RES來判斷用戶是否知道他和網絡之間的共享密鑰,以此來認證用戶身份。然而,用戶卻僅僅只能檢測出認證向量是否由歸屬網絡產生,也就是說,用戶不能判斷收到的認證向量是否是他請求服務的服務網絡所申請的,因為任何服務網絡都可以向歸屬網絡請求認證向量。這種安全漏洞也會給攻擊者提供機會。

(2) SQN重同步的過程也并不很合理,因為只要UE檢查出來SQN不在正常的范圍之內,它就會發起重同步過程,而不關心SQN同步失敗的真實原因。但是事實上即使序列號不在正確的范圍內,也并不代表HSS中的計數器SQN_HN發生了同步失敗,有可能是惡意的攻擊者重放提問引起的。UE不關心真實的原因,不斷進行重同步過程,這必然會加大服務網絡和歸屬網絡之間的通信負荷,嚴重延遲用戶接入網絡的時間,甚至最后無法接入網絡,嚴重影響用戶的使用感受。但是這個問題的改進可能要涉及到對IMS AKA機制的改進。本文主要研究安全接入認證機制,當實現用戶的安全接入之后,如何建立IPSec SC的過程暫不涉及,將在以后的工作中進一步研究。

總結

以上是生活随笔為你收集整理的aka鉴权 ims_ims 注册鉴权认证过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。