專利名稱:非ims終端應(yīng)用增強(qiáng)型通用鑒權(quán)架構(gòu)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及第三代移動(dòng)通信領(lǐng)域,特別涉及一種擴(kuò)展通用鑒權(quán)架構(gòu)的方法。
背景技術(shù):
3GPP(第三代移動(dòng)通信系統(tǒng))中定義了一種通用鑒權(quán)框架(GBA)。如圖1所示,通用鑒權(quán)框架通常由IMS(IP多媒體業(yè)務(wù)子系統(tǒng))用戶(UE)、引導(dǎo)服務(wù)功能實(shí)體(BSF)、用戶歸屬網(wǎng)絡(luò)服務(wù)器(HSS)、用戶定位功能實(shí)體(SLF)和網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體(NAF)組成。UE和BSF通過Ub接口連接,BSF和NAF通過Zn接口連接,UE和NAF通過Ua接口連接,SLF和BSF通過Dz接口連接,BSF和HSS通過Zh接口連接。BSF用于與UE進(jìn)行互驗(yàn)證身份,同時(shí)生成BSF與用戶的共享密鑰Ks;HSS中存儲用于描述用戶信息的簽約文件,同時(shí)HSS還兼有產(chǎn)生鑒權(quán)信息的功能。SLF用于當(dāng)存在多個(gè)HSS時(shí),協(xié)助BSF查找相應(yīng)的HSS。NAF用于為UE提供網(wǎng)絡(luò)業(yè)務(wù)。
當(dāng)用戶UE第一次向NAF發(fā)出應(yīng)用請求時(shí),不知道NAF是否需要GBA過程,就不攜帶GBA參數(shù)。如果NAF要求進(jìn)行初始的GBA過程,則在發(fā)給UE的響應(yīng)消息中會告訴UE進(jìn)行GBA過程。
當(dāng)用戶UE需要使用某種業(yè)務(wù)時(shí),如果用戶知道該業(yè)務(wù)需要到BSF進(jìn)行互鑒權(quán)過程,則直接發(fā)送鑒權(quán)請求到BSF進(jìn)行互鑒權(quán)。否則,用戶會首先和該業(yè)務(wù)對應(yīng)的NAF聯(lián)系,如果該NAF使用GBA通用鑒權(quán)框架,并且發(fā)現(xiàn)該用戶還未到BSF進(jìn)行互認(rèn)證過程,NAF則通知該用戶到BSF進(jìn)行互鑒權(quán)以驗(yàn)證身份。
參照圖2,描述UE和BSF執(zhí)行互鑒權(quán)的流程。
首先,在步驟710中,UE向BSF發(fā)送GBA請求消息,該GBA請求消息包括該用戶的標(biāo)識。
接著,進(jìn)入步驟720中,BSF向HSS獲取認(rèn)證向量,BSF通過與HSS的交互獲取該UE的鑒權(quán)向量信息,如AUTN、RAND、IK(加密密鑰)、CK(完整性密鑰)以及XRES等。
接著,進(jìn)入步驟730,BSF向UE返回挑戰(zhàn)響應(yīng)消息,該消息中包含AUTN、RAND。具體地說,BSF在接收到UE的鑒權(quán)向量信息后,將鑒權(quán)向量信息中的AUTN和RAND,一并攜帶在挑戰(zhàn)響應(yīng)消息中,并將該消息返回給UE。其中,AUTN用于驗(yàn)證BSF的身份,RAND用于使UE獲取與BSF側(cè)相同的IK和CK。
接著,進(jìn)入步驟740,UE通過運(yùn)行AKA算法,檢查AUTN的有效性以鑒權(quán)網(wǎng)絡(luò),得到IK和CK,并生成RES(鑒權(quán)響應(yīng)值)。具體地說,UE在接收到BSF返回的挑戰(zhàn)響應(yīng)消息后,通過對其中AUTN的有效性檢查驗(yàn)證對端BSF的身份,根據(jù)其中的RAND計(jì)算得到與BSF側(cè)相同的IK和CK,并生成RES。
接著,進(jìn)入步驟750,UE再次向BSF發(fā)送GBA請求消息,并在該消息中攜帶RES。其中,RES用于驗(yàn)證UE的身份。
接著,進(jìn)入步驟760,BSF檢查RES的有效性以鑒權(quán)UE。BSF通過判斷GBA請求消息中的RES是否與從HSS處獲取的XRES一致,從而對UE進(jìn)行鑒權(quán)。
接著,進(jìn)入步驟770,BSF根據(jù)從HSS處獲取的IK和CK生成Ks。此外,BSF還為共享密鑰Ks定義了一個(gè)有效期限,以便Ks進(jìn)行定期更新。
接著,進(jìn)入步驟780,BSF將B-TID以及Ks的有效期攜帶在成功響應(yīng)消息中發(fā)送給UE。具體地說,BSF為標(biāo)識和UE之間本次鑒權(quán)交互事務(wù)而分配一個(gè)B-TID,使該B-TID與Ks、UE的私有用戶標(biāo)識相關(guān)聯(lián),以便以后BSF可以根據(jù)該B-TID查找出相應(yīng)的Ks,并且,為Ks定義一個(gè)有效期,以便Ks進(jìn)行定期更新。BSF將該B-TID以及Ks的有效期攜帶在成功響應(yīng)消息中。
接著,進(jìn)入步驟790,UE在接收到該成功響應(yīng)消息后,得到B-TID和Ks的有效期,并將該B-TID和Ks的有效期保存在UE側(cè),并生成Ks。該共享密鑰Ks是作為根密鑰來使用的,用于衍生出與各NAF通信時(shí)的加密密鑰。
完成了如圖2所述的過程后,UE和BSF之間就共享了一個(gè)根密鑰Ks。并且UE可以利用公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id)推導(dǎo)出與想要訪問的NAF之間的衍生的共享密鑰Ks_NAF,其中NAF_Id可以標(biāo)識出想要訪問的NAF,RAND是一個(gè)隨機(jī)數(shù),IMPI是指UE的私有身份標(biāo)識,″gba-me″代表字符串,KDF是密鑰導(dǎo)出函數(shù)的縮寫。這樣,UE側(cè)就獲取了該衍生的共享密鑰Ks_NAF。剩下的任務(wù)就是NAF如何獲取該衍生的共享密鑰Ks_NAF。只有NAF和UE都獲取了Ks_NAF,才能建立雙方通訊的安全通道。
參照圖3,描述NAF獲取Ks_NAF的流程首先,在步驟901中,用戶在收到B-TID后,生成一個(gè)攜帶了該B-TID的請求連接消息,并發(fā)給NAF。NAF收到用戶的連接請求后,生成一個(gè)攜帶了NAF標(biāo)識和B-TID的認(rèn)證請求信息,然后在步驟902中向BSF進(jìn)行查詢。
接著,在步驟903中,BSF根據(jù)該B-TID查找相應(yīng)的Ks后,再使用與用戶側(cè)相同的算法計(jì)算出衍生的共享密鑰Ks_NAF,然后在認(rèn)證響應(yīng)消息中把Ks_NAF、Ks_NAF的有效期限、BSF與UE之間的相互鑒權(quán)的時(shí)間、以及其他應(yīng)用相關(guān)信息發(fā)給NAF。NAF在步驟904中將這些信息保存在NAF上。
接著,在步驟905中,NAF將應(yīng)用響應(yīng)消息發(fā)送給UE。
通過如上步驟,NAF確認(rèn)該用戶是經(jīng)過BSF認(rèn)證的合法用戶,同時(shí)NAF和UE也就共享了由Ks衍生的密鑰Ks_NAF,從而這兩者在后續(xù)的通信中可以進(jìn)行安全通信。
當(dāng)用戶發(fā)現(xiàn)Ks即將過期,或NAF要求用戶重新到BSF進(jìn)行鑒權(quán)時(shí),用戶就會重復(fù)圖2和圖3的處理重新到BSF進(jìn)行互鑒權(quán),以得到新的共享密鑰Ks及衍生密鑰Ks_NAF。
如圖4所示,描述了NAF發(fā)現(xiàn)衍生的共享密鑰Ks_NAF已經(jīng)過期時(shí)UE和NAF之間執(zhí)行的處理。詳細(xì)的,UE在步驟1001中發(fā)送應(yīng)用請求消息給NAF后,NAF發(fā)現(xiàn)衍生的共享密鑰Ks_NAF已經(jīng)過期,則在步驟1002中通知UE需要重新執(zhí)行和BSF之間的相互鑒權(quán)過程。
以上所述UE上包含IP多媒體業(yè)務(wù)身份標(biāo)識模塊ISIM(IP MultimediaServices Subscriber Identity Module)/通用集成電路卡UICC(UniversalIntegrated Circuit Card),而且UE上既包含GBA客戶端,也包含NAF應(yīng)用客戶端。但是隨著通用鑒權(quán)框架應(yīng)用范圍越來越廣泛,出現(xiàn)一些新的應(yīng)用場景,例如在傳統(tǒng)的沒有ISIM/UICC模塊因而也就不具備ISIM能力的用戶終端上,或者NAF應(yīng)用客戶端與GBA客戶端分離的終端(多個(gè)外圍終端采用同一個(gè)ISIM/UICC訪問網(wǎng)絡(luò)業(yè)務(wù))上如何應(yīng)用GBA。為了描述簡便,我們統(tǒng)一稱之為非IMS終端。
TISPAN(ETSI的NGN網(wǎng)絡(luò)標(biāo)準(zhǔn))中定義了一種稱為IMS駐留網(wǎng)關(guān)IRG(IMS Residential Gateway)的功能實(shí)體,用于為那些非IMS終端提供訪問IMS業(yè)務(wù)的安全通道。
這些非IMS終端包括但不限于SIP電話、軟電話,PC,PDA等。IMS駐留網(wǎng)關(guān)功能上相當(dāng)于一個(gè)B2BUA(背靠背用戶代理)實(shí)體,其具有一“ISIMON UICC(通用集成電路卡上的IP多媒體業(yè)務(wù)身份標(biāo)識模塊)”模塊,用來為這些非IMS終端提供訪問IMS業(yè)務(wù)的安全通道,并且該模塊上存儲了一個(gè)私有用戶標(biāo)識(IMPI)和多個(gè)公共用戶標(biāo)識(IMPU)。該IRG面向非IMS終端的本地接口可能是網(wǎng)線、數(shù)據(jù)線、USB、藍(lán)牙、或紅外線等接口。我們也可以稱這種實(shí)體為IMS終端代理。
這種應(yīng)用場景下,一個(gè)IMS用戶可能具備多個(gè)非IMS終端設(shè)備,并且所有這些非IMS終端采用同一個(gè)ISIM/UICC模塊(位于IMS終端代理上)訪問網(wǎng)絡(luò)業(yè)務(wù)。另外,NAF應(yīng)用客戶端位于IMS終端代理以外的一個(gè)或者幾個(gè)非IMS終端上,因此與執(zhí)行GBA的客戶端(位于IMS終端代理上)不在同一個(gè)設(shè)備上。我們稱之為增強(qiáng)的GBA框架,如圖5所示。在該增強(qiáng)型GBA框架中,具有SIP電話、PC、軟電話等非IMS終端,IMS終端代理B2BUA為這些非IMS終端生成衍生密鑰Ks_NAF,這些IMS終端利用該生成的衍生密鑰Ks_NAF和NAF通信。當(dāng)多個(gè)外圍終端設(shè)備共享一個(gè)UE上的GBA客戶端時(shí),如果這些外圍終端設(shè)備中的某兩個(gè)或者某幾個(gè)訪問同一個(gè)NAF時(shí),還會出現(xiàn)多個(gè)外圍終端設(shè)備采用同一個(gè)衍生密鑰Ks_NAF與某一個(gè)NAF通信的情況,造成安全隱患如果其中一個(gè)被攻破,另外一個(gè)也會不攻自破。
如圖6所示,描述了現(xiàn)有的針對如圖5所示的增強(qiáng)型GBA架構(gòu)的鑒權(quán)方法。
首先,在步驟801中,非IMS終端發(fā)送應(yīng)用請求給NAF。NAF在步驟802中指示非IMS終端采用GBA。
接著,在步驟803中,非IMS終端發(fā)送一請求給UE(IMS終端),請求UE生成密鑰,該請求中包含該非IMS終端的設(shè)備標(biāo)識。
接著,通過和圖2中的步驟701-709類似的步驟807-808生成基本密鑰Ks,且在步驟808中根據(jù)該基本密鑰Ks和設(shè)備標(biāo)識生成衍生密鑰。然后在步驟809中將衍生密鑰和B-TID發(fā)送給非IMS終端。
接著,在步驟810中,非IMS終端將包括B-TID和設(shè)備標(biāo)識的認(rèn)證請求發(fā)送給NAF。NAF在步驟811中發(fā)送一密鑰請求給BSF,請求生成衍生密鑰,該密鑰請求包括設(shè)備標(biāo)識、B-TID和NAF標(biāo)識。
BSF在步驟812中計(jì)算出衍生密鑰,并在步驟813中將該衍生密鑰返回NAF。
從而,非IMS終端和NAF之間可以通過該衍生密鑰執(zhí)行安全通信。
但是,該方案具有如下缺點(diǎn)1.該方案是針對3GPP移動(dòng)終端的,對于固定終端不適用。
2.網(wǎng)絡(luò)側(cè)需要能夠管理所有這些終端設(shè)備,需要為每個(gè)終端設(shè)備分配唯一的設(shè)備標(biāo)志。由于終端制造商和網(wǎng)絡(luò)運(yùn)營商可能并不是一家,并且終端類型多種多樣,管理上比較困難。
3.所有的非IMS終端都需要知道自己的設(shè)備標(biāo)志,并主動(dòng)攜帶這個(gè)設(shè)備標(biāo)志給UE(包含ISIM/UICC模塊)和NAF。這樣可能存在非IMS終端進(jìn)行設(shè)備標(biāo)志偽裝攻擊(類似IP地址偽裝攻擊)的隱患。
4.該方案沒有考慮新舊版本互通的情況。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種更安全的非IMS終端應(yīng)用增強(qiáng)型通用鑒權(quán)架構(gòu)的方法。
依照本發(fā)明的非IMS終端通過IMS終端代理應(yīng)用增強(qiáng)型通用鑒權(quán)架構(gòu)的方法如下步驟步驟a,非IMS終端發(fā)送不帶GBA參數(shù)的應(yīng)用請求消息給網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體,以及網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體響應(yīng)該應(yīng)用請求消息,指示非IMS終端和引導(dǎo)服務(wù)功能實(shí)體執(zhí)行鑒權(quán)處理,步驟b,IMS終端代理在接收到非IMS終端的GBA請求信息后,查詢一關(guān)系映射表,獲取該非IMS終端的設(shè)備標(biāo)識,該關(guān)系映射表存儲非IMS終端的標(biāo)識信息與非IMS終端的設(shè)備標(biāo)識的對應(yīng)關(guān)系,該GBA請求信息包括非IMS終端的標(biāo)識信息,步驟c,IMS終端代理為非IMS終端生成與所述設(shè)備標(biāo)識相關(guān)的衍生密鑰Ks_NAF,步驟d,引導(dǎo)服務(wù)功能實(shí)體為網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體生成衍生密鑰Ks_NAF,其與步驟c中生成的衍生密鑰Ks_NAF相同。
依照本發(fā)明,由于與衍生密鑰Ks_NAF的生成相關(guān)的設(shè)備標(biāo)識是由網(wǎng)絡(luò)側(cè)實(shí)體生成的,因此非IMS終端不需要主動(dòng)將其設(shè)備標(biāo)識發(fā)送給B2BUA,從而防止了非IMS終端進(jìn)行設(shè)備標(biāo)志偽裝攻擊的隱患。此外,不同的非IMS終端訪問同一個(gè)NAF時(shí),衍生的共享密鑰Ks_NAF是不一樣的,這樣即使一個(gè)Ks_NAF泄密,也不會影響其他的Ks_NAF,從而保證了安全性。此外,設(shè)備標(biāo)識是由B2BUA連同衍生共享密鑰Ks_NAF一起傳給非IMS終端,這樣保證了非IMS終端上不容易進(jìn)行偽標(biāo)識攻擊。
圖1為GBA架構(gòu)的框架圖。
圖2為GBA架構(gòu)中UE和BSF相互鑒權(quán)的流程圖。
圖3為GBA架構(gòu)中NAF獲取Ks_NAF的流程圖。
圖4為GBA架構(gòu)中密鑰過期時(shí)UE和NAF執(zhí)行的處理的流程圖。
圖5為增強(qiáng)型GBA架構(gòu)的框架圖。
圖6為現(xiàn)有的增強(qiáng)型GBA架構(gòu)的鑒權(quán)方法的流程圖。
圖7為依照本發(fā)明的UA和NAF之間的初始引導(dǎo)過程的流程圖。
圖8為依照本發(fā)明的UA和BSF之間的引導(dǎo)交互過程的流程圖。
圖9為依照本發(fā)明的多個(gè)UA和BSF之間的引導(dǎo)交互過程的一實(shí)施方式的流程圖。
圖10為依照本發(fā)明的多個(gè)UA和BSF之間的引導(dǎo)交互過程的另一實(shí)施方式的流程圖。
圖11為UA和NAF之間建立安全聯(lián)盟的流程圖。
圖12為密鑰過期時(shí)UA和NAF執(zhí)行的處理的流程圖。
具體實(shí)施例方式
本發(fā)明提出了一個(gè)或者多個(gè)非IMS終端通過IMS終端代理B2BUA實(shí)體應(yīng)用增強(qiáng)通用鑒權(quán)架構(gòu)(GBA)的一種解決方法。該B2BUA實(shí)體包括NGN的IRG(IMS駐留網(wǎng)關(guān))實(shí)體,或3GPP/3GPP2中具有類似功能的實(shí)體。該非IMS終端可以是移動(dòng)網(wǎng)絡(luò)或者固定網(wǎng)絡(luò)中的非IMS終端。在下面的描述中,利用UA來統(tǒng)一表示各種非IMS終端。此外,在本發(fā)明中,假設(shè)這些UA和B2BUA之間的接口是安全的。而且,B2BUA不能主動(dòng)發(fā)起GBA過程,必須由UA來觸發(fā)。依照本發(fā)明,不同的非IMS終端訪問同一個(gè)NAF時(shí),即使其中一個(gè)非IMS終端的密鑰泄密,也不會影響到其他的非IMS終端的安全性。
在本發(fā)明中,首先設(shè)置一關(guān)系映射表,該關(guān)系映射表包括UA的用戶名(或者終端地址/終端端口號)和唯一標(biāo)識該UA的設(shè)備標(biāo)識之間的映射關(guān)系。該關(guān)系映射表可以預(yù)先配置在B2BUA上,也可以配置在HSS上。當(dāng)該關(guān)系映射表配置在HSS上時(shí),B2BUA通過在從BSF下載鑒權(quán)向量的同時(shí)將該關(guān)系映射表下載,或者通過其他方式獲取。
當(dāng)UA第一次向NAF發(fā)出應(yīng)用請求(或者通過B2BUA)時(shí),如果不知道是否使用GBA參數(shù)和NAF通訊或者和NAF之間的共享密鑰已經(jīng)過期,就不攜帶任何GBA參數(shù)。NAF發(fā)現(xiàn)UA發(fā)來的應(yīng)用請求中沒有攜帶GBA參數(shù),就會指示UA(或者通過B2BUA指示UA)進(jìn)行GBA過程。接著,UA請求B2BUA和BSF之間進(jìn)行GBA過程,BSF生成根密鑰Ks和引導(dǎo)事務(wù)標(biāo)識B-TID并返回給B2BUA。然后,B2BUA通過查詢上述映射表,找出對應(yīng)的設(shè)備標(biāo)識,并通過擴(kuò)展公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id,設(shè)備標(biāo)識)生成Ks_NAF,其中NAF_Id為要訪問的NAF的ID,RAND是一個(gè)隨機(jī)數(shù),IMPI是指UA的私有身份標(biāo)識,″gba-me″代表字符串,KDF是密鑰導(dǎo)出函數(shù)的縮寫。B2BUA將Ks_NAF、B-TID、設(shè)備標(biāo)識、密鑰有效期一起發(fā)給UA。然后UA(或者通過B2BUA)在發(fā)給NAF的請求消息中攜帶B-TID和獲取的設(shè)備標(biāo)識。NAF在發(fā)給BSF的請求消息中也攜帶獲取的設(shè)備標(biāo)識。BSF通過相同的公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id,設(shè)備標(biāo)識)生成Ks_NAF,并將其發(fā)給NAF。這樣,NAF和UA就通過B2BUA共同獲取了一個(gè)公共密鑰Ks_NAF。而且,對于不同的UA,只要使用的用戶名不一樣,相應(yīng)的Ks_NAF也就不一樣,這樣即使一個(gè)Ks_NAF泄密,也不會影響到其他Ks_NAF。從而保證了安全性。
下面,參照附圖,詳細(xì)描述依照本發(fā)明UA(非IMS終端)應(yīng)用增強(qiáng)型GBA的方法。
如圖7所示,描述了UA和NAF之間的初始引導(dǎo)過程的兩種方式。
方式1包括圖中所示的步驟101-102。當(dāng)UA1第一次發(fā)送應(yīng)用請求消息到NAF時(shí),如果不知道NAF是否支持GBA,則在步驟101中將一應(yīng)用請求消息發(fā)送給NAF,且該應(yīng)用請求消息不攜帶任何GBA參數(shù)。接著,在步驟102中,NAF發(fā)送應(yīng)用響應(yīng)消息給UA1,指示UA1需要首先和BSF進(jìn)行GBA過程。
方式2包括圖中的步驟101a、101b、102a和102b。該方式2與方式1基本相同,不同之處僅在于所述應(yīng)用請求消息和應(yīng)用相應(yīng)消息皆通過B2BUA轉(zhuǎn)發(fā)。
當(dāng)按照圖7所描述的任一方式執(zhí)行了初始引導(dǎo)過程之后,執(zhí)行如圖8所示的UA和BSF之間的引導(dǎo)交互過程。該引導(dǎo)交互過程包括如下步驟首先,在步驟201中,UA1發(fā)送GBA請求到B2BUA,該GBA請求中攜帶有該UA1的用戶名和NAF的標(biāo)識ID。
接著,在步驟202中,B2BUA根據(jù)GBA請求攜帶的用戶名,在存儲在B2BUA上的關(guān)系映射表中找出與該UA1對應(yīng)的設(shè)備標(biāo)識。當(dāng)然,該關(guān)系映射表也可以配置在HSS上,當(dāng)B2BUA和BSF相互鑒權(quán)時(shí),BSF查詢HSS獲取鑒權(quán)向量(即步驟204)的同時(shí)獲取該關(guān)系映射表,然后將該關(guān)系映射表連同B-TID,密鑰有效期一起發(fā)給B2BUA(即步驟209)。在這種情況下,該步驟202位于步驟209和步驟211之間。
接著,在步驟203-210中,執(zhí)行B2BUA和BSF之間的互相鑒權(quán)過程。通過這些步驟,BSF生成了事務(wù)標(biāo)識B-TID,連同密鑰有效期一同發(fā)給B2BUA,并且B2BUA和BSF都生成根密鑰Ks。此外,在BSF中保存一張表(B-TID,IMPI,Ks,密鑰有效期,引導(dǎo)開始時(shí)間),從而當(dāng)BSF收到NAF的請求后可以根據(jù)此B-TID查到根密鑰Ks。
具體的,在步驟203中,B2BUA向BSF發(fā)送GBA請求消息,該GBA請求消息包括UA1的私有用戶標(biāo)識。
接著,在步驟204中,BSF向HSS獲取認(rèn)證向量,BSF通過與HSS的交互獲取該B2BUA的鑒權(quán)向量信息,如AUTN、RAND、IK、CK以及XRES等。
接著,在步驟205中,BSF向B2BUA返回挑戰(zhàn)響應(yīng)消息,該消息中包含AUTN、RAND。具體地說,BSF在接收到B2BUA的鑒權(quán)向量信息后,將鑒權(quán)向量信息中的AUTN和RAND,一并攜帶在挑戰(zhàn)響應(yīng)消息中,并將該消息返回給B2BUA。其中,AUTN用于驗(yàn)證BSF的身份,RAND用于使B2BUA獲取與BSF側(cè)相同的IK和CK。
接著,在步驟206中,B2BUA通過運(yùn)行AKA算法,檢查AUTN的有效性以鑒權(quán)網(wǎng)絡(luò),得到IK和CK,并生成RES。具體地說,B2BUA在接收到BSF返回的挑戰(zhàn)響應(yīng)消息后,通過對其中AUTN的有效性檢查驗(yàn)證對端BSF的身份,根據(jù)其中的RAND計(jì)算得到與BSF側(cè)相同的IK和CK,并生成RES。
接著,在步驟207中,B2BUA再次向BSF發(fā)送GBA請求消息,并在該消息中攜帶RES。其中,RES用于驗(yàn)證B2BUA的身份。
接著,在步驟208中,BSF檢查RES的有效性以鑒權(quán)B2BUA。BSF通過判斷GBA請求消息中的RES是否與從HSS處獲取的XRES一致,從而對B2BUA進(jìn)行鑒權(quán)。而且,BSF根據(jù)從HSS處獲取的IK和CK生成Ks。
接著,在步驟209中,BSF將B-TID以及Ks的有效期攜帶在成功響應(yīng)消息中發(fā)送給B2BUA。具體地說,BSF為標(biāo)識和B2BUA之間本次鑒權(quán)交互事務(wù)而分配一個(gè)B-TID,使該B-TID與Ks、B2BUA的私有用戶標(biāo)識相關(guān)聯(lián),以便以后BSF可以根據(jù)該B-TID查找出相應(yīng)的Ks,并且,為Ks定義一個(gè)有效期,以便Ks進(jìn)行定期更新。BSF將該B-TID以及Ks的有效期攜帶在成功響應(yīng)消息中。
接著,在步驟210中,B2BUA在接收到該成功響應(yīng)消息后,得到B-TID和Ks的有效期,并將該B-TID和Ks的有效期保存在B2BUA側(cè),并生成Ks。
在執(zhí)行了B2BUA和BSF之間的互相鑒權(quán)過程之后,在步驟211中,B2BUA根據(jù)公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id,設(shè)備標(biāo)識)推導(dǎo)出Ks_NAF,并保存Ks_NAF與私有用戶標(biāo)識IMPI之間的關(guān)系。
接著,在步驟212中,B2BUA將Ks_NAF、B-TID、設(shè)備標(biāo)識、密鑰有效期發(fā)給UA1。
當(dāng)存在多個(gè)UA需與BSF之間執(zhí)行引導(dǎo)交互時(shí),可以通過如圖9或8所示的流程來執(zhí)行該引導(dǎo)交互。
如圖9所示,首先,第一個(gè)UA1通過步驟201-212執(zhí)行GBA過程。之后,當(dāng)其他的UA也需要和BSF交互時(shí),其首先在步驟301中將GBA請求發(fā)送至B2BUA,該GBA請求中攜帶有該UA2的用戶名。接著在步驟302中,B2BUA根據(jù)GBA請求中攜帶的用戶名,在關(guān)系映射表中找出該UA2對應(yīng)的設(shè)備標(biāo)識。根據(jù)B2BUA的本地安全策略,在Ks有效期內(nèi),可以跳過步驟203-210。BSF對于所有的UA都保存相同的B-TID、Ks等數(shù)據(jù)。因此,直接執(zhí)行步驟311,B2BUA根據(jù)公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id,設(shè)備標(biāo)識)推導(dǎo)出Ks_NAF,并保存Ks_NAF與私有用戶標(biāo)識IMPI之間的關(guān)系。然后在步驟312中,B2BUA將Ks_NAF、B-TID、設(shè)備標(biāo)識、密鑰有效期發(fā)給UA2。在該過程中,步驟301、302、311、312和如圖2所示的步驟201、202、211、212相似。
如圖10所示,描述了多個(gè)UA與BSF之間執(zhí)行引導(dǎo)交互的另一實(shí)施方式。
該實(shí)施方式基本上與如圖10所示的實(shí)施方式相同,其不同之處在于當(dāng)?shù)谝粋€(gè)UA1完成了GBA過程后,其他的UA也需要和BSF交互時(shí),根據(jù)B2BUA的本地安全策略,在Ks有效期內(nèi),需要重新執(zhí)行上述步驟203-210。為了讓BSF區(qū)分是同一個(gè)UA和BSF的重新交互,還是不同的UA和BSF的交互,需要在上述步驟203中攜帶設(shè)備標(biāo)識參數(shù)。BSF對于每一個(gè)UA都保存相應(yīng)的B-TID_UA、IMPI、KS_UA等數(shù)據(jù)(如圖所示)。因此,以后這些UA將使用不同的B-TID(Ks)和Ks_NAF來訪問NAF。
當(dāng)通過圖8,7或8所描述的流程完成了UA與BSF之間的引導(dǎo)交互過程之后,接著執(zhí)行如圖11所描述的過程,實(shí)現(xiàn)UA和NAF之間的SA(安全聯(lián)盟)建立。如圖11所示,其包括如下步驟。
首先,在步驟501中,UA發(fā)送應(yīng)用請求消息給NAF,該應(yīng)用請求中攜帶有B-TID,設(shè)備標(biāo)識參數(shù)。該步驟501也可以由圖中的步驟501a-501b代替,在這些步驟中,UA通過B2BUA將應(yīng)用請求消息發(fā)給NAF,這里B2BUA起到轉(zhuǎn)發(fā)的作用,該應(yīng)用請求消息也包括B-TID和設(shè)備標(biāo)識參數(shù)。
接著,在步驟502中,NAF發(fā)送認(rèn)證請求消息給BSF,該認(rèn)證請求消息攜帶有設(shè)備標(biāo)識、B-TID,NAF主機(jī)名(即NAF的標(biāo)識ID)。
接著,在步驟503中,BSF根據(jù)和用戶側(cè)相同的公式推導(dǎo)出Ks_NAF,并在步驟504中將推導(dǎo)出的Ks_NAF連同其他參數(shù)一起發(fā)送給NAF。具體的,BSF根據(jù)B-TID查找存儲在BSF中的表,獲得Ks和IMPI,根據(jù)獲得的參數(shù)和在步驟502中發(fā)送來的參數(shù),生成Ks_NAF。
接著,在步驟504中,BSF將Ks_NAF、應(yīng)用相關(guān)用戶屬性數(shù)據(jù)、GBA開始時(shí)間、密鑰有效期發(fā)送給NAF。在步驟505中,NAF保存Ks_NAF等參數(shù)以及B-TID、設(shè)備標(biāo)識的關(guān)系。
在步驟506中,NAF發(fā)送應(yīng)用響應(yīng)消息給UA。相應(yīng)的,該步驟也可以由圖中的步驟506a-506b代替,即NAF也可能通過B2BUA將應(yīng)用響應(yīng)消息發(fā)給UA。
通過上面圖8,7,或8的過程,B2BUA為UA生成了衍生密鑰Ks_NAF,且通過圖11所示的處理,BSF為NAF生成了相同的衍生密鑰Ks_NAF。從而,UA和NAF之間建立了安全聯(lián)盟。
當(dāng)通過上面描述的過程建立了UA和NAF之間的安全聯(lián)盟之后,UA和NAF之間執(zhí)行安全的通信,但是如果NAF認(rèn)為衍生的共享密鑰Ks_NAF已經(jīng)過期,則可以通過如圖12所示的步驟602中指示指示UA需要重新執(zhí)行和BSF之間的相互鑒權(quán)過程。當(dāng)然,該指示也可以通過按照步驟602a和602b由B2BUA進(jìn)行轉(zhuǎn)發(fā)。
下面,分析根據(jù)上述的方法來實(shí)現(xiàn)新舊版本的互通的情況??紤]到BSF由運(yùn)營商管理,因此可以認(rèn)為BSF可以通過是否有設(shè)備標(biāo)識參數(shù)來區(qū)分新、舊版本的情況。
對于UE(或B2BUA)或者NAF,則可能新、舊版本都有。因此只需要考慮新版本的UE(支持設(shè)備標(biāo)識參數(shù))和舊版本的NAF(不支持設(shè)備標(biāo)識參數(shù))、舊版本的UE(不支持設(shè)備標(biāo)識參數(shù))和新版本的NAF(支持設(shè)備標(biāo)識參數(shù))這兩種互通情況。
<新版本的UE和舊版本的NAF之間的互通>
新版本的UE和舊版本的NAF之間的互通有如下兩種情況情況1如圖8、圖9所示,假設(shè)新版本的UE和舊版本的BSF之間進(jìn)行GBA過程時(shí),不攜帶設(shè)備標(biāo)識參數(shù)。完成GBA過程后,UE會使用帶設(shè)備標(biāo)識的密鑰推導(dǎo)公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id,設(shè)備標(biāo)識)生成Ks_NAF;UE向NAF發(fā)送的應(yīng)用請求消息中也攜帶設(shè)備標(biāo)識參數(shù);但是NAF不識別,因此NAF向BSF發(fā)送的認(rèn)證請求消息中不攜帶設(shè)備標(biāo)識參數(shù);從而會導(dǎo)致BSF使用不同的密鑰推導(dǎo)公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id)生成Ks_NAF。從而導(dǎo)致互通不可行。
情況2如圖6所示,假設(shè)新版本的UE和舊版本的BSF之間進(jìn)行GBA過程時(shí),在步驟203中攜帶設(shè)備標(biāo)識參數(shù)。完成GBA過程后,UE會使用帶設(shè)備標(biāo)識的密鑰推導(dǎo)公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id,設(shè)備標(biāo)識)生成Ks_NAF,同時(shí)BSF也應(yīng)將B-TID和設(shè)備標(biāo)識的關(guān)系記錄下來;UE向NAF發(fā)送的應(yīng)用請求消息中也攜帶設(shè)備標(biāo)識參數(shù);但是NAF不識別,因此NAF向BSF發(fā)送的認(rèn)證請求消息中不攜帶設(shè)備標(biāo)識參數(shù);BSF根據(jù)B-TID可以知道UE是新版本的,從而可以查出對應(yīng)的設(shè)備標(biāo)識,然后BSF使用相同的密鑰推導(dǎo)公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id,設(shè)備標(biāo)識)生成Ks_NAF。因此互通是可行的。
因此,從新舊版本互通的角度考慮,新版本的UE和BSF之間進(jìn)行GBA過程時(shí),必須攜帶設(shè)備標(biāo)識參數(shù)。
<舊版本的UE和新版本的NAF的互通分析>
舊版本的UE和BSF之間進(jìn)行GBA過程時(shí),不會攜帶設(shè)備標(biāo)識參數(shù)。完成GBA過程后,UE會使用不帶設(shè)備標(biāo)識的密鑰推導(dǎo)公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id)生成Ks_NAF;UE向NAF發(fā)送的應(yīng)用請求消息中也不帶設(shè)備標(biāo)識參數(shù);NAF向BSF發(fā)送的認(rèn)證請求消息中也不帶設(shè)備標(biāo)識參數(shù),從而BSF也使用相同的密鑰推導(dǎo)公式Ks_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id)生成Ks_NAF。因此互通是可行的。
本發(fā)明不僅適用于固定網(wǎng)絡(luò)中的非IMS終端,也同樣適用于移動(dòng)網(wǎng)絡(luò)中的非IMS終端,該非IMS終端代理實(shí)體可以是所述B2BUA(IRG)實(shí)體,也可以是3GPP/3GPP2中具備類似功能的實(shí)體。
依照本發(fā)明,不同的非IMS終端訪問同一個(gè)NAF時(shí),衍生的共享密鑰Ks_NAF是不一樣的,這樣即使一個(gè)Ks_NAF泄密,也不會影響其他的Ks_NAF,從而保證了安全性。此外,設(shè)備標(biāo)識是由B2BUA連同衍生共享密鑰Ks_NAF一起傳給非IMS終端,這樣保證了非IMS終端上不容易進(jìn)行偽標(biāo)識攻擊。此外,不同的非IMS終端訪問同一個(gè)NAF時(shí),不僅Ks_NAF不同,B-TID也可以不一樣,進(jìn)一步保證了安全性。而且,本發(fā)明是在現(xiàn)有的GBA架構(gòu)上進(jìn)行的擴(kuò)展,從而保證了后向兼容性。
雖然本發(fā)明已以較多的方式進(jìn)行了表達(dá),但并不是用以限定本發(fā)明,任何熟悉該技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),可以做各種改動(dòng)和潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視專利申請范圍所界定者為準(zhǔn)。
權(quán)利要求
1.一種非IP多媒體業(yè)務(wù)子系統(tǒng)終端通過IP多媒體業(yè)務(wù)子系統(tǒng)終端代理應(yīng)用增強(qiáng)型通用鑒權(quán)架構(gòu)的方法,其包括如下步驟步驟a,非IP多媒體業(yè)務(wù)子系統(tǒng)終端發(fā)送不帶通用鑒權(quán)架構(gòu)參數(shù)的應(yīng)用請求消息給網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體,以及網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體響應(yīng)該應(yīng)用請求消息,指示非IP多媒體業(yè)務(wù)子系統(tǒng)終端和引導(dǎo)服務(wù)功能實(shí)體執(zhí)行鑒權(quán)處理,非IP多媒體業(yè)務(wù)子系統(tǒng)終端向IP多媒體業(yè)務(wù)子系統(tǒng)終端代理發(fā)送通用鑒權(quán)架構(gòu)請求消息,步驟b,IP多媒體業(yè)務(wù)子系統(tǒng)終端代理在接收到非IP多媒體業(yè)務(wù)子系統(tǒng)終端的通用鑒權(quán)架構(gòu)請求信息后,查詢一關(guān)系映射表,獲取該非IP多媒體業(yè)務(wù)子系統(tǒng)終端的設(shè)備標(biāo)識,該關(guān)系映射表存儲非IP多媒體業(yè)務(wù)子系統(tǒng)終端的標(biāo)識信息與非IP多媒體業(yè)務(wù)子系統(tǒng)終端的設(shè)備標(biāo)識的對應(yīng)關(guān)系,該通用鑒權(quán)架構(gòu)請求信息包括非IP多媒體業(yè)務(wù)子系統(tǒng)終端的標(biāo)識信息,步驟c,IP多媒體業(yè)務(wù)子系統(tǒng)終端代理為非IP多媒體業(yè)務(wù)子系統(tǒng)終端生成與所述設(shè)備標(biāo)識相關(guān)的衍生密鑰Ks_NAF,步驟d,引導(dǎo)服務(wù)功能實(shí)體為網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體生成衍生密鑰Ks_NAF,其與步驟c中生成的衍生密鑰Ks_NAF相同,步驟e,非IP多媒體業(yè)務(wù)子系統(tǒng)終端和網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體利用步驟c和步驟d生成的衍生密鑰Ks_NAF建立安全聯(lián)盟。
2.如權(quán)利要求1所述的方法,其中,所述非IP多媒體業(yè)務(wù)子系統(tǒng)終端的標(biāo)識信息為非IP多媒體業(yè)務(wù)子系統(tǒng)終端的用戶名,終端地址,終端端口號中的任一種。
3.如權(quán)利要求2所述的方法,其中,所述應(yīng)用請求消息和指示消息通過IP多媒體業(yè)務(wù)子系統(tǒng)終端代理轉(zhuǎn)發(fā)。
4.如權(quán)利要求1所述的方法,其中,步驟b包括步驟b1,非IP多媒體業(yè)務(wù)子系統(tǒng)終端發(fā)送一通用鑒權(quán)架構(gòu)請求消息給IP多媒體業(yè)務(wù)子系統(tǒng)終端代理,該通用鑒權(quán)架構(gòu)請求包括非IP多媒體業(yè)務(wù)子系統(tǒng)終端的用戶名和網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體的ID,以及步驟b2,IP多媒體業(yè)務(wù)子系統(tǒng)終端代理根據(jù)該非IP多媒體業(yè)務(wù)子系統(tǒng)終端的用戶名,查找存儲在IP多媒體業(yè)務(wù)子系統(tǒng)終端代理上的所述關(guān)系映射表,獲取設(shè)備標(biāo)識。
5.如權(quán)利要求4所述的方法,其中,步驟b2進(jìn)一步包括,IP多媒體業(yè)務(wù)子系統(tǒng)終端代理在從引導(dǎo)服務(wù)功能實(shí)體下載鑒權(quán)向量的同時(shí)下載該關(guān)系映射表的步驟。
6.如權(quán)利要求1所述的方法,其中,步驟c包括步驟c0,IP多媒體業(yè)務(wù)子系統(tǒng)終端代理和引導(dǎo)服務(wù)功能實(shí)體雙向認(rèn)證,生成基本密鑰Ks、事務(wù)標(biāo)識B-TID、密鑰有效期,步驟c1,IP多媒體業(yè)務(wù)子系統(tǒng)終端代理根據(jù)設(shè)備標(biāo)識、基本密鑰Ks、用戶私有標(biāo)識和網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體的ID,生成衍生密鑰Ks_NAF,步驟c2,IP多媒體業(yè)務(wù)子系統(tǒng)終端代理將設(shè)備標(biāo)識、事務(wù)標(biāo)識B-TID、衍生密鑰Ks_NAF和密鑰有效期發(fā)送給非IP多媒體業(yè)務(wù)子系統(tǒng)終端。
7.如權(quán)利要求6所述的方法,其中,在步驟c0中,IP多媒體業(yè)務(wù)子系統(tǒng)終端代理將用戶的私有用戶標(biāo)識,或私有用戶標(biāo)識和設(shè)備標(biāo)識發(fā)送給引導(dǎo)服務(wù)功能實(shí)體。
8.如權(quán)利要求6所述的方法,其中,在步驟c0中IP多媒體業(yè)務(wù)子系統(tǒng)終端代理和引導(dǎo)服務(wù)功能實(shí)體完成通用鑒權(quán)架構(gòu)認(rèn)證后,以后當(dāng)其它非IP多媒體業(yè)務(wù)子系統(tǒng)終端通過該IP多媒體業(yè)務(wù)子系統(tǒng)終端代理與網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體交互時(shí),根據(jù)本地策略,可以省略該步驟c0,直接利用前一非IP多媒體業(yè)務(wù)子系統(tǒng)終端通過該IP多媒體業(yè)務(wù)子系統(tǒng)終端代理應(yīng)用該增強(qiáng)型通用鑒權(quán)架構(gòu)時(shí)生成的基本密鑰Ks和事務(wù)標(biāo)識B-TID。
9.如權(quán)利要求7所述的方法,其進(jìn)一步包括引導(dǎo)服務(wù)功能實(shí)體將基本密鑰Ks、事務(wù)標(biāo)識B-TID、密鑰有效期、IP多媒體業(yè)務(wù)子系統(tǒng)終端代理的私有用戶標(biāo)識和該非IP多媒體業(yè)務(wù)子系統(tǒng)終端的設(shè)備標(biāo)識關(guān)聯(lián)存儲。
10.如權(quán)利要求1所述的方法,其中,步驟d包括,步驟d1,非IP多媒體業(yè)務(wù)子系統(tǒng)終端發(fā)送包括該非IP多媒體業(yè)務(wù)子系統(tǒng)終端的設(shè)備標(biāo)識和事務(wù)標(biāo)識B-TID的應(yīng)用請求消息給網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體,步驟d2,網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體發(fā)送包括該非IP多媒體業(yè)務(wù)子系統(tǒng)終端的設(shè)備標(biāo)識、事務(wù)標(biāo)識B-TID和網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體的ID的認(rèn)證請求消息給引導(dǎo)服務(wù)功能實(shí)體,步驟d3,引導(dǎo)服務(wù)功能實(shí)體根據(jù)該事務(wù)標(biāo)識B-TID查詢得到基本密鑰Ks和用戶私有標(biāo)識IMPI,并根據(jù)這些信息連同非IP多媒體業(yè)務(wù)子系統(tǒng)終端的設(shè)備標(biāo)識、網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體的ID生成衍生密鑰Ks_NAF,并將生成的衍生密鑰Ks_NAF、密鑰有效期、通用鑒權(quán)架構(gòu)開始時(shí)間、用戶屬性數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體。
11.如權(quán)利要求1-10任一項(xiàng)所述的方法,其進(jìn)一步包括網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體在所述衍生密鑰過期時(shí),發(fā)送消息指示非IP多媒體業(yè)務(wù)子系統(tǒng)終端執(zhí)行與引導(dǎo)服務(wù)功能實(shí)體雙向認(rèn)證。
12.如權(quán)利要求11所述的方法,其中,指示非IP多媒體業(yè)務(wù)子系統(tǒng)終端執(zhí)行與引導(dǎo)服務(wù)功能實(shí)體雙向認(rèn)證的消息通過IP多媒體業(yè)務(wù)子系統(tǒng)終端代理轉(zhuǎn)發(fā)。
全文摘要
本發(fā)明提供一種非IMS終端通過IMS終端代理應(yīng)用增強(qiáng)型通用鑒權(quán)架構(gòu)的方法。該方法包括如下步驟步驟a,非IMS終端發(fā)送不帶GBA參數(shù)的應(yīng)用請求消息給NAF,以及NAF響應(yīng)該應(yīng)用請求消息,指示非IMS終端先和引導(dǎo)服務(wù)功能實(shí)體執(zhí)行鑒權(quán)處理,非IMS終端向IMS終端代理發(fā)送GBA請求消息。步驟b,IMS終端代理在接收到非IMS終端的GBA請求信息后,查詢一關(guān)系映射表,獲取該非IMS終端的設(shè)備標(biāo)識,該關(guān)系映射表存儲非IMS終端的標(biāo)識信息與非IMS終端的設(shè)備標(biāo)識的對應(yīng)關(guān)系,該GBA請求信息包括非IMS終端的標(biāo)識信息以及要訪問的NAF的標(biāo)識。步驟c,IMS終端代理為非IMS終端生成與所述設(shè)備標(biāo)識相關(guān)的衍生密鑰,步驟d,引導(dǎo)服務(wù)功能實(shí)體為NAF生成衍生密鑰,其與步驟c中生成的衍生密鑰相同。
文檔編號H04L9/08GK1870500SQ200610001570
公開日2006年11月29日 申請日期2006年1月24日 優(yōu)先權(quán)日2006年1月24日
發(fā)明者何承東 申請人:華為技術(shù)有限公司