專(zhuān)利名稱:用戶和外圍設(shè)備協(xié)商共享密鑰的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及3GPP通用鑒權(quán)框架(GAA)技術(shù)領(lǐng)域,特別是指一種用戶(UE)和外圍設(shè)備協(xié)商共享密鑰的方法。
背景技術(shù):
在第三代無(wú)線通信標(biāo)準(zhǔn)中,通用鑒權(quán)框架(GAA)是多種應(yīng)用業(yè)務(wù)實(shí)體使用的一個(gè)用于完成對(duì)用戶身份進(jìn)行驗(yàn)證的通用結(jié)構(gòu),應(yīng)用通用鑒權(quán)框架可實(shí)現(xiàn)對(duì)應(yīng)用業(yè)務(wù)的用戶進(jìn)行檢查和驗(yàn)證身份。上述多種應(yīng)用業(yè)務(wù)可以是多播或廣播業(yè)務(wù)、用戶證書(shū)業(yè)務(wù)、信息即時(shí)提供業(yè)務(wù)等,也可以是代理業(yè)務(wù)。
圖1示出了所述通用鑒權(quán)框架的結(jié)構(gòu)。通用鑒權(quán)框架通常由用戶(UE)、執(zhí)行用戶身份初始檢查驗(yàn)證的實(shí)體(BSF)、用戶歸屬網(wǎng)絡(luò)服務(wù)器(HSS)和網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體(NAF)組成。BSF用于與UE進(jìn)行互驗(yàn)證身份,同時(shí)生成BSF與用戶的共享密鑰Ks;HSS中存儲(chǔ)用于描述用戶信息的描述(Profile)文件,同時(shí)HSS還兼有產(chǎn)生鑒權(quán)信息的功能。各個(gè)實(shí)體之間的接口可參見(jiàn)圖1,本文中,可以將BSF、NAF及HSS統(tǒng)一稱為網(wǎng)絡(luò)側(cè)。
用戶需要使用某種業(yè)務(wù)時(shí),如果用戶知道該業(yè)務(wù)需要到BSF進(jìn)行互鑒權(quán)過(guò)程,則直接到BSF進(jìn)行互鑒權(quán),否則,用戶會(huì)首先和該業(yè)務(wù)對(duì)應(yīng)的NAF聯(lián)系,如果該NAF使用GAA通用鑒權(quán)框架,并且發(fā)現(xiàn)該用戶還未到BSF進(jìn)行互認(rèn)證過(guò)程,NAF則通知該用戶到BSF進(jìn)行互鑒權(quán)以驗(yàn)證身份。
用戶與BSF之間的GBA(互鑒權(quán))的步驟包括用戶向BSF發(fā)出鑒權(quán)請(qǐng)求;BSF接到鑒權(quán)請(qǐng)求后,首先到HSS獲取該用戶的鑒權(quán)信息;BSF獲得鑒權(quán)信息后采用HTTP digest AKA協(xié)議與用戶進(jìn)行雙向認(rèn)證以及密鑰協(xié)商,完成用戶和BSF之間身份的互相認(rèn)證及共享密鑰Ks的生成,BSF還為共享密鑰Ks定義了一個(gè)有效期限,以便Ks進(jìn)行定期更新。共享密鑰Ks是作為根密鑰來(lái)使用的,用于衍生出加密通信的密鑰。
之后,BSF分配一個(gè)會(huì)話事務(wù)標(biāo)識(shí)(B-TID)發(fā)送給用戶,該B-TID與Ks相關(guān)聯(lián),可以用于標(biāo)識(shí)Ks,還包含了Ks的有效期限。
用戶收到B-TID后,重新向NAF發(fā)出連接請(qǐng)求,且請(qǐng)求消息中攜帶了該B-TID,同時(shí)用戶側(cè)根據(jù)Ks計(jì)算出衍生密鑰Ks_NAF。
NAF收到連接請(qǐng)求后,先在本地查詢是否有用戶攜帶的該B-TID,如果NAF不能在本地查詢到該B-TID,則向BSF進(jìn)行查詢,該查詢消息中攜帶了NAF標(biāo)識(shí)和B-TID。如果BSF不能在本地查詢到該B-TID,則通知NAF沒(méi)有該用戶的信息,此時(shí),NAF將通知用戶到BSF重新進(jìn)行認(rèn)證鑒權(quán)。BSF查詢到該B-TID后,使用與用戶側(cè)相同的算法計(jì)算出Ks的衍生密鑰Ks_NAF,并向NAF發(fā)送成功的響應(yīng)消息,該成功的響應(yīng)中包括NAF所需的B-TID、與該B-TID對(duì)應(yīng)的衍生密鑰Ks_NAF、以及BSF為該密鑰設(shè)置的有效期限。NAF收到BSF的成功響應(yīng)消息后,就認(rèn)為該用戶是經(jīng)過(guò)BSF認(rèn)證的合法用戶,同時(shí)NAF和用戶也就共享了由Ks衍生的密鑰Ks_NAF。
之后,NAF和用戶在后續(xù)的通信過(guò)程中通過(guò)Ks_NAF來(lái)進(jìn)行加密通信。
當(dāng)用戶發(fā)現(xiàn)Ks即將過(guò)期,或NAF要求用戶重新到BSF進(jìn)行鑒權(quán)時(shí),用戶就會(huì)重復(fù)上述的步驟重新到BSF進(jìn)行互鑒權(quán),以得到新的共享密鑰Ks及衍生密鑰Ks_NAF。
這里需要說(shuō)明的是,對(duì)于GBA_ME過(guò)程,上述用戶指的是移動(dòng)設(shè)備(ME);如果是GBA_U過(guò)程,上述用戶指的是移動(dòng)設(shè)備中的用戶識(shí)別模塊(UICC),此時(shí)所述的生成的Ks_NAF包括兩個(gè)衍生密鑰給UICC的Ks_int_NAF和給ME的Ks_ext_NAF。
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,以及市場(chǎng)需求的推動(dòng),網(wǎng)絡(luò)融合已經(jīng)成為人們關(guān)注的焦點(diǎn)。從未來(lái)發(fā)展的角度來(lái)看,多種網(wǎng)絡(luò)融合對(duì)于用戶來(lái)說(shuō),可使用任意終端(移動(dòng)臺(tái)、PDA、PC等)通過(guò)任意方式接入網(wǎng)絡(luò)(WLAN、DSL、GPRS等),而且號(hào)碼可唯一、帳單可唯一。這就意味著一個(gè)用戶可以具備多種終端設(shè)備,并且這些終端設(shè)備共享該用戶的一個(gè)UE對(duì)應(yīng)的用戶消息,如UE的UICC(UICC上可以為SIM、USIM等)和ME對(duì)應(yīng)的用戶信息。
下面以共享UICC對(duì)應(yīng)的用戶信息為例進(jìn)行描述這種情況下,UICC卡固定的插入某一特定終端設(shè)備(比如手機(jī)或者其他讀卡器),而其它終端設(shè)備(也稱外圍設(shè)備)通過(guò)諸如USB,藍(lán)牙或者紅外線等本地接口連接到所述特定終端設(shè)備進(jìn)行通信,來(lái)共享同一個(gè)UICC對(duì)應(yīng)的用戶信息。如圖2示出了WLAN與3GPP融合,WLAN-UE使用UICC信息認(rèn)證以接入WLAN的示意圖。
如圖3示出了圖2對(duì)應(yīng)的GAA架構(gòu),這種情況也稱作NAF應(yīng)用客戶端與終端分離的情況,具體就是指某個(gè)移動(dòng)用戶具備多個(gè)終端設(shè)備(除了手機(jī)以外,還具備其它終端設(shè)備如PC機(jī),WLAN UE,掌上電腦等),而這些終端采用同一個(gè)UE用戶信息訪問(wèn)網(wǎng)絡(luò)業(yè)務(wù),NAF應(yīng)用客戶端并不在UE上,而是在UE以外的某一個(gè)或者某幾個(gè)外圍設(shè)備上,GBA客戶端仍在UE上。
由于外圍設(shè)備要使用UE用戶信息進(jìn)行認(rèn)證以接入NAF,因此外圍設(shè)備與UE之間的本地接口必定會(huì)傳送一些諸如網(wǎng)絡(luò)認(rèn)證參數(shù)的密秘信息。但是,目前還沒(méi)有較好的方法來(lái)保護(hù)這些信息,這是因?yàn)?,由于用戶?gòu)買(mǎi)UICC卡或UE時(shí)根本不能預(yù)料到底有哪些設(shè)備將會(huì)訪問(wèn)該UE,因此不可能在UE里預(yù)先保存與所有外圍設(shè)備的共享密鑰,由于和要傳輸信息的外圍設(shè)備沒(méi)有相應(yīng)的保護(hù)密鑰,因此難以對(duì)所述UE與外圍設(shè)備之間的信息進(jìn)行加密傳輸。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供了一種GAA框架下UE和外圍設(shè)備協(xié)商通信共享密鑰的方法,以解決外圍設(shè)備與UE之間的本地接口的安全通信。
本發(fā)明提供的用戶UE和外圍設(shè)備協(xié)商共享密鑰的方法,包括以下步驟一種用戶UE和外圍設(shè)備協(xié)商共享密鑰的方法,包括以下步驟A、外圍設(shè)備向UE發(fā)送連接請(qǐng)求,該連接請(qǐng)求中攜帶外圍設(shè)備標(biāo)志;
B、UE根據(jù)UE與執(zhí)行用戶身份初始檢查驗(yàn)證的實(shí)體BSF的共享密鑰Ks、所述外圍設(shè)備標(biāo)志計(jì)算出第一本地接口共享密鑰;C、由網(wǎng)絡(luò)側(cè)根據(jù)所述UE與BSF的共享密鑰Ks、獲取的所述外圍設(shè)備標(biāo)志,計(jì)算出與第一本地接口共享密鑰相同的第二本地接口共享密鑰,并提供給外圍設(shè)備。
步驟C后進(jìn)一步包括所述第一或第二本地接口共享密鑰超過(guò)各自有效期限時(shí),或共享密鑰Ks更新后,返回步驟B。
步驟A中所述外圍設(shè)備標(biāo)志,用于所述UE識(shí)別不同的外圍設(shè)備或者所述外圍設(shè)備上的應(yīng)用;所述外圍設(shè)備標(biāo)志為在所述UE的用戶識(shí)別模塊UICC或移動(dòng)設(shè)備ME中預(yù)先配置的與設(shè)備標(biāo)識(shí)對(duì)應(yīng)的索引值;或者,設(shè)備標(biāo)識(shí)或應(yīng)用標(biāo)識(shí)自身;步驟B中所述UE與BSF的共享密鑰Ks是UE與BSF執(zhí)行互鑒權(quán)GBA過(guò)程生成的共享密鑰。
步驟B進(jìn)一步包括所述UE提供給外圍設(shè)備一個(gè)可用于標(biāo)識(shí)所述共享密鑰Ks的會(huì)話事務(wù)標(biāo)識(shí)B-TID/與B-TID對(duì)應(yīng)的索引值,并通過(guò)外圍設(shè)備發(fā)送給所述網(wǎng)絡(luò)側(cè)中的網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體NAF;步驟C所述共享密鑰Ks,是所述網(wǎng)絡(luò)側(cè)根據(jù)獲得的會(huì)話事務(wù)標(biāo)識(shí)B-TID/與B-TID對(duì)應(yīng)的索引值確定出的。
所述通過(guò)外圍設(shè)備向所述NAF發(fā)送B-TID/與B-TID對(duì)應(yīng)的索引值之前,該方法還包括所述外圍設(shè)備與所述NAF之間進(jìn)行身份認(rèn)證并建立安全連接。
步驟B進(jìn)一步包括所述UE將B-TID/與B-TID對(duì)應(yīng)的索引值發(fā)送給所述網(wǎng)絡(luò)側(cè)中的網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體NAF;步驟C所述共享密鑰Ks,是所述網(wǎng)絡(luò)側(cè)根據(jù)獲得的會(huì)話事務(wù)標(biāo)識(shí)B-TID/與B-TID對(duì)應(yīng)的索引值確定出的。
所述UE向NAF發(fā)送B-TID/與B-TID對(duì)應(yīng)的索引值之前,該方法還包括所述UE與所述NAF之間進(jìn)行身份認(rèn)證并建立安全連接。
步驟C中所述將計(jì)算出第二本地接口共享密鑰提供給外圍設(shè)備之前,該方法還包括所述外圍設(shè)備與所述NAF之間進(jìn)行身份認(rèn)證并建立安全連接。
所述身份認(rèn)證為單向認(rèn)證或雙向認(rèn)證;所述身份認(rèn)證的方法為利用公鑰證書(shū)或私鑰證書(shū)進(jìn)行身份認(rèn)證。
所述身份認(rèn)證的方法具體為利用共享密鑰的基于預(yù)共享密鑰的傳輸層安全協(xié)議PSK_TLS方式進(jìn)行身份認(rèn)證;或者基于共享密鑰的http digest認(rèn)證方式進(jìn)行身份認(rèn)證;或者在傳輸層安全協(xié)議TLS上進(jìn)行http digest認(rèn)證的身份認(rèn)證。
所述建立安全連接的方法為基于公鑰證書(shū)的傳輸層安全協(xié)議TLS認(rèn)證方式建立TLS連接。
所述網(wǎng)絡(luò)側(cè)包括BSF和NAF;步驟C所述計(jì)算第二本地接口共享密鑰是由所述BSF進(jìn)行計(jì)算的。
所述網(wǎng)絡(luò)側(cè)包括BSF和NAF;步驟C所述計(jì)算出第二本地接口共享密鑰的步驟包括由BSF根據(jù)所述共享密鑰Ks計(jì)算出Ks衍生密鑰,再由NAF根據(jù)所述Ks衍生密鑰和所述外圍設(shè)備標(biāo)志計(jì)算出所述第二本地接口共享密鑰。
所述計(jì)算第一和第二本地接口共享密鑰的過(guò)程中,還使用以下參數(shù)進(jìn)行計(jì)算隨機(jī)數(shù)RAND、用戶的IP多媒體私有身份標(biāo)識(shí)IMPI、所述NAF標(biāo)識(shí),特定的字符串。
所述計(jì)算第一本地接口共享密鑰的過(guò)程中,所述NAF標(biāo)識(shí)是UE接收外圍設(shè)備配置的NAF的標(biāo)識(shí);或,預(yù)先在UE上配置有NAF標(biāo)識(shí)對(duì)應(yīng)到UE的用戶識(shí)別模塊UICC或移動(dòng)設(shè)備ME標(biāo)識(shí),所述NAF標(biāo)識(shí)是UE根據(jù)所述UICC或ME推算出的。
步驟C所述獲取外圍設(shè)備標(biāo)志的步驟包括所述UE將步驟A中接收到的所述外圍設(shè)備標(biāo)志發(fā)送給網(wǎng)絡(luò)側(cè)。
步驟C所述獲取外圍設(shè)備標(biāo)志的步驟包括所述外圍設(shè)備向網(wǎng)絡(luò)側(cè)中的NAF發(fā)送連接請(qǐng)求時(shí),該連接請(qǐng)求攜帶外圍設(shè)備標(biāo)志;網(wǎng)絡(luò)側(cè)從所述連接請(qǐng)求中獲取所述外圍設(shè)備標(biāo)志。
所述網(wǎng)絡(luò)側(cè)與外圍設(shè)備的信息進(jìn)行加密傳輸。
由上述方法可以看出,本發(fā)明實(shí)現(xiàn)了UE與外圍終端之間共享密鑰的協(xié)商,從而可使用該密鑰加密之間的傳輸,防止本地接口傳輸?shù)臄?shù)據(jù)被篡改或者竊取。
具體來(lái)說(shuō),本發(fā)明采用GAA框架動(dòng)態(tài)協(xié)商UE與外圍設(shè)備的共享密鑰,并且密鑰可以進(jìn)行更新,從而實(shí)現(xiàn)之間的加密通信。本發(fā)明無(wú)須為與每個(gè)外圍設(shè)備與UE之間的通信都保存一個(gè)固定的長(zhǎng)期密鑰。另外由于GBA功能是UE的UICC/ME已經(jīng)支持的功能,因此采用GAA方法協(xié)商本地接口的密鑰只是對(duì)UE的UICC/ME上GBA過(guò)程的重用,不影響已有的功能。
圖1為GAA框架示意圖;圖2為3G-WLAN網(wǎng)絡(luò)外圍設(shè)備在本地接口使用SIM認(rèn)證接入WLAN的示意圖;圖3為NAF應(yīng)用客戶端和GBA客戶端分離狀態(tài)下的GAA框架示意圖;圖4為本發(fā)明采用GAA實(shí)現(xiàn)UE與外圍設(shè)備協(xié)商密鑰的第一實(shí)施例流程圖;圖5是本發(fā)明采用GAA實(shí)現(xiàn)UE與外圍設(shè)備協(xié)商密鑰的第二實(shí)施例流程圖。
具體實(shí)施例方式
下面參見(jiàn)圖4示出的本發(fā)明采用GAA實(shí)現(xiàn)UE與外圍設(shè)備協(xié)商密鑰的第一實(shí)施例的流程圖,其中,由NAF作為密鑰服務(wù)器協(xié)商UE與外圍設(shè)備之間本地接口共享密鑰Ks_Local,并且由NAF向外圍設(shè)備分發(fā)本地接口共享密鑰Ks_Local。其中,NAF與外圍設(shè)備之間通信時(shí),可以采用外圍設(shè)備的公鑰/對(duì)稱密鑰進(jìn)行完整性以及數(shù)字簽名保護(hù),而NAF向外圍設(shè)備發(fā)送的秘密數(shù)據(jù)可由NAF生成一個(gè)隨機(jī)密鑰進(jìn)行保護(hù),而該隨機(jī)密鑰的發(fā)送需要采用外圍設(shè)備的公鑰/對(duì)稱密鑰進(jìn)行加密保護(hù)。
本實(shí)施例中,示出的UE和外圍設(shè)備均屬于同一個(gè)用戶,以UE上使用UICC為例,對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明,包括以下步驟步驟401當(dāng)外圍設(shè)備發(fā)起與UICC的通信時(shí),首先判斷自身是否存儲(chǔ)有有效的與UE的本地接口共享密鑰Ks_Local,若有,則直接使用該密鑰加密與UE的通信,退出本流程;若沒(méi)有,則向UE發(fā)送連接請(qǐng)求,并且在連接請(qǐng)求中攜帶用來(lái)標(biāo)識(shí)外圍設(shè)備的設(shè)備標(biāo)志。
其中,設(shè)備標(biāo)志用于UE識(shí)別不同的外圍設(shè)備或者外圍設(shè)備上某個(gè)應(yīng)用。設(shè)備標(biāo)志可以是在UICC/ME中預(yù)先配置的索引值,UICC/ME通過(guò)該索引值在本地查找自身對(duì)應(yīng)的設(shè)備標(biāo)識(shí)信息或者設(shè)備上應(yīng)用的標(biāo)識(shí)信息;或者,是設(shè)備標(biāo)識(shí)或應(yīng)用標(biāo)識(shí)自身;其中設(shè)備標(biāo)識(shí)可能是對(duì)應(yīng)于該外圍設(shè)備的一個(gè)用戶名或一個(gè)口令,尤有可能只是一個(gè)設(shè)備的硬件標(biāo)識(shí),具體采用哪種標(biāo)識(shí)視網(wǎng)絡(luò)管理外圍設(shè)備的方式而定。
步驟402UICC收到外圍設(shè)備的連接請(qǐng)求以后,判斷自身是否存儲(chǔ)有與BSF協(xié)商的共享密鑰Ks,若有,則直接執(zhí)行步驟403;否則與BSF執(zhí)行互鑒權(quán)(GBA)過(guò)程,以完成與BSF之間的身份互相鑒權(quán)及共享密鑰Ks的協(xié)商。
GBA過(guò)程中,還可能會(huì)包括BSF到HSS獲取用戶的鑒權(quán)信息的步驟,由于GBA過(guò)程為公知技術(shù),此處不再贅述。
步驟403BSF為共享密鑰Ks定義一個(gè)有效期,并分配一個(gè)可用于標(biāo)識(shí)共享密鑰Ks的B-TID,將所述有效期和B-TID一同發(fā)送給UICC。
當(dāng)Ks到達(dá)有效期時(shí),返回步驟402重新執(zhí)行GBA過(guò)程協(xié)商生成新的Ks。
步驟404UICC以Ks、″gba-u″‖RAND‖IMPI‖NAF_Id為參數(shù)計(jì)算Ks的衍生密鑰Ks_int_NAF。其中,Ks_int_NAF=KDF(Ks,″gba-u″‖RAND‖IMPI‖NAF_Id。
然后,再利用計(jì)算出的Ks_int_NAF導(dǎo)出Ks_local。比如可以以計(jì)算出的Ks_int_NAF、外圍設(shè)備的設(shè)備標(biāo)識(shí)/外圍設(shè)備上應(yīng)用標(biāo)識(shí)、以及密鑰服務(wù)器標(biāo)識(shí)NAF_Id為參數(shù)計(jì)算UE與外圍設(shè)備的本地接口共享密鑰Ks_Local(也可稱為第一本地接口共享密鑰)。其中,Ks_Local=KDF(Ks_int_NAF,NAF_Id‖設(shè)備標(biāo)識(shí))。也可能包含一個(gè)隨機(jī)數(shù),比如Ks_Local=KDF(Ks_int_NAF,NAF_Id‖設(shè)備標(biāo)識(shí)‖RAND)。
上述RAND是一個(gè)隨機(jī)數(shù),IMPI是指用戶的IP多媒體私有身份標(biāo)識(shí),NAF_ID指用作密鑰服務(wù)器NAF的標(biāo)識(shí),″gba-me″和″gba-u″代表字符串;KDF是密鑰導(dǎo)出函數(shù)的縮寫(xiě)。
其中UICC可以保存Ks_Local,并以設(shè)備標(biāo)志作為索引;也可以不保存,在每次需要時(shí)臨時(shí)生成。
UICC獲得用作密鑰服務(wù)器的NAF標(biāo)識(shí)可以存在下述兩種方式第一種,由于運(yùn)營(yíng)商網(wǎng)絡(luò)中專(zhuān)門(mén)用于協(xié)商UICC和外圍設(shè)備的服務(wù)器是有限數(shù)量個(gè)設(shè)備,因此某一個(gè)運(yùn)營(yíng)商網(wǎng)絡(luò)內(nèi)的協(xié)商密鑰的NAF_Id可以是某一個(gè)固定值。NAF_Id的獲得可以是直接在外圍設(shè)備上進(jìn)行配置,然后發(fā)送給UICC。
第二種,預(yù)先分配N(xiāo)AF標(biāo)識(shí)時(shí)遵循號(hào)碼規(guī)范配置,這樣可由UICC應(yīng)用的用戶身份標(biāo)識(shí)(如USIM應(yīng)用的IMSI、ISIM應(yīng)用的IMPI)推算而來(lái)。例如,如果IMSI是“234150999999999”,則根據(jù)現(xiàn)有號(hào)碼規(guī)范可知,對(duì)應(yīng)的MCC=234,MNC=15,MSIN=0999999999,則NAF地址可以是″naf.mnc015.mcc234.3gppnetwork.org″。
如果采用IMPI作為用戶標(biāo)識(shí),且IMPI是″user@operator.com″,則NAF地址可以是″naf.operator.com″。
步驟405UE向外圍設(shè)備返回B-TID相關(guān)信息。
一般情況下,B-TID只相當(dāng)于Ks的索引,因此可以直接采用明文發(fā)送,比如可以是UICC通過(guò)插卡的ME轉(zhuǎn)發(fā)給外圍設(shè)備,也可以是ME直接發(fā)送。
如果不希望直接在本地接口發(fā)送B-TID,那么可以只發(fā)送一個(gè)網(wǎng)絡(luò)可以識(shí)別B-TID的索引值給外圍設(shè)備。網(wǎng)絡(luò)可以通過(guò)索引值對(duì)應(yīng)到B-TID。
而該索引值的協(xié)商過(guò)程可以是UICC/ME通過(guò)Ua接口與NAF協(xié)商的,此時(shí),NAF需要保存B-TID與該索引值的對(duì)應(yīng)關(guān)系;還可以是UICC/ME通過(guò)Ub接口與BSF協(xié)商的,此時(shí),BSF會(huì)在bootstrapping過(guò)程結(jié)束分配一個(gè)B-TID和B-TID對(duì)應(yīng)的索引值給UICC/ME。
步驟406~步驟407外圍設(shè)備收到B-TID以后,與NAF間進(jìn)行對(duì)外圍設(shè)備的身份認(rèn)證并建立安全連接。外圍設(shè)備通過(guò)建立的安全連接向NAF發(fā)送Ks_Local密鑰請(qǐng)求。請(qǐng)求消息攜帶B-TID以及外圍設(shè)備的設(shè)備標(biāo)志。
如果設(shè)備標(biāo)志是一個(gè)外圍設(shè)備標(biāo)識(shí)信息的索引值,那么網(wǎng)絡(luò)側(cè)BSF或者NAF中必須保存所述索引值與外圍設(shè)備標(biāo)識(shí)對(duì)應(yīng)的關(guān)系表,以便于網(wǎng)絡(luò)能夠根據(jù)設(shè)備標(biāo)志確定出是哪個(gè)設(shè)備的請(qǐng)求。
為了保證外圍設(shè)備與NAF信息傳輸尤其密鑰發(fā)放的安全性,為了保證該外圍設(shè)備是運(yùn)營(yíng)商認(rèn)證了的合法設(shè)備,NAF應(yīng)該對(duì)外圍設(shè)備的身份進(jìn)行認(rèn)證;為了保證密鑰分發(fā)中不被竊取,密鑰應(yīng)該以加密方式進(jìn)行分發(fā)即NAF與外圍設(shè)備之間應(yīng)該建立安全連接。具體實(shí)現(xiàn)可以是下面兩種情況第一種情況如果外圍設(shè)備具備運(yùn)營(yíng)商網(wǎng)絡(luò)信任的公鑰證書(shū),可以由外圍設(shè)備的私鑰對(duì)消息進(jìn)行數(shù)字簽名。NAF收到請(qǐng)求以后,首先查找外圍設(shè)備的公鑰,并且利用公鑰對(duì)數(shù)字簽名進(jìn)行認(rèn)證。保證了與NAF通信的就是設(shè)備標(biāo)志所聲明的外圍設(shè)備,而不是冒充的外圍設(shè)備。
基于第一種情況,外圍設(shè)備和NAF之間可采用基于公鑰證書(shū)的傳輸層安全協(xié)議(TLS)認(rèn)證方式建立TLS連接。密鑰分發(fā)消息可以由TLS連接進(jìn)行安全保護(hù)。
第二種情況如果外圍設(shè)備不具備運(yùn)營(yíng)商網(wǎng)絡(luò)信任的公鑰證書(shū),而是與運(yùn)營(yíng)商網(wǎng)絡(luò)共享了某一個(gè)密鑰K,則可采用K對(duì)請(qǐng)求消息進(jìn)行數(shù)字簽名。并且外圍設(shè)備需要將密鑰索引KID在請(qǐng)求消息里連同B-TID一起發(fā)送給NAF。NAF收到請(qǐng)求以后,使用與KID對(duì)應(yīng)的密鑰進(jìn)行驗(yàn)證數(shù)字簽名。該KID與外圍設(shè)備應(yīng)該是一一對(duì)應(yīng)的關(guān)系。例如外圍設(shè)備標(biāo)識(shí)本身作為KID時(shí),可以通過(guò)計(jì)算MAC=H(設(shè)備標(biāo)識(shí)‖B-TID‖K)。NAF收到請(qǐng)求以后,根據(jù)設(shè)備標(biāo)識(shí)找到該設(shè)備標(biāo)識(shí)所對(duì)應(yīng)的密鑰K’,然后對(duì)消息進(jìn)行HASH計(jì)算MAC-R=H(設(shè)備標(biāo)識(shí)‖B-TID‖K’),如果二者相等,那么就說(shuō)明該請(qǐng)求者的身份就是設(shè)備標(biāo)識(shí)所聲明的。
基于第二種情況,外圍設(shè)備和NAF之間可以采用以下幾種方式建立安全連接1)基于HTTP digest AKA方式。既可以是NAF單向?qū)E進(jìn)行認(rèn)證,也可以是NAF與UE間進(jìn)行雙向認(rèn)證。
2)基于預(yù)共享密鑰的傳輸層安全協(xié)議(PSK_TLS)方式建立安全連接。
3)基于HTTP digest AKA與PSK_TLS相結(jié)合的方式。外圍設(shè)備采用NAF的證書(shū)方式建立一個(gè)TLS連接,并在TLS連接上發(fā)送認(rèn)證外圍設(shè)備的http digest消息,已達(dá)到對(duì)外圍設(shè)備的身份認(rèn)證。而密鑰分發(fā)消息可以由建立的安全連接進(jìn)行保護(hù)。
值得指出的是,NAF可能通過(guò)其他方式獲得外圍設(shè)備的設(shè)備標(biāo)志。例如,可以是運(yùn)營(yíng)商網(wǎng)絡(luò)在本地配置已經(jīng)配置了該外圍設(shè)備的信息,外圍設(shè)備或者UE通過(guò)短消息的方式告訴運(yùn)營(yíng)商網(wǎng)絡(luò)(如BSF或NAF)要啟用某個(gè)外圍設(shè)備某項(xiàng)特征信息,運(yùn)營(yíng)商網(wǎng)絡(luò)(如BSF)在本地查找到設(shè)備標(biāo)志并通知NAF。也可以是外圍設(shè)備或者UE通過(guò)其他消息直接告訴NAF外圍設(shè)備的某項(xiàng)信息,比如UE通過(guò)Ua接口的安全連接通知NAF要啟用哪個(gè)外圍設(shè)備。
步驟408NAF收到外圍設(shè)備的密鑰請(qǐng)求后,向BSF發(fā)送衍生密鑰請(qǐng)求,并在請(qǐng)求消息攜帶B-TID和NAF_Id。
步驟409BSF根據(jù)B-TID查找到與UICC的共享密鑰Ks以后,以Ks,″gba-u″‖RAND‖IMPI‖NAF_Id為參數(shù),采用UICC側(cè)同樣的算法計(jì)算出Ks的衍生密鑰Ks_int_NAF。
步驟410BSF將生成的Ks_int_NAF返回給NAF。
步驟411NAF以接收到的Ks_int_NAF,設(shè)備標(biāo)志,以及NAF_ID為參數(shù)采用與終端相同算法計(jì)算本地接口共享密鑰Ks_Local(也可稱為第二本地接口共享密鑰)Ks_Local=KDF(Ks_int_NAF,NAF_Id‖設(shè)備標(biāo)志)。
步驟412NAF將計(jì)算出的本地接口共享密鑰Ks_Local發(fā)送給外圍設(shè)備。為了保護(hù)Ks_Local不被竊聽(tīng),Ks_Local可進(jìn)行加密傳輸。
加密的方法可以是直接采用步驟406~步驟407中建立安全連接的過(guò)程中協(xié)商的密鑰和加密算法進(jìn)行加密發(fā)送;或者采用衍生密鑰進(jìn)行保護(hù),例如NAF將生成隨機(jī)數(shù)R作為密鑰對(duì)Ks_Local進(jìn)行加密保護(hù),即Ks_Local*=ER(Ks_Local),比如 或者以R為密鑰對(duì)Ks_Local進(jìn)行其它的加密算法保護(hù),如AES算法等。
NAF還要對(duì)R進(jìn)行加密后連同密文Ks_Local*一起發(fā)送,即向外圍設(shè)備發(fā)送Ks_Local*和R*對(duì)R的加密可以采用如下加密方法如果外圍設(shè)備具備運(yùn)營(yíng)商網(wǎng)絡(luò)信任的公私鑰對(duì)(Kp,Ki),以及Kp的公鑰證書(shū)。那么就采用外圍設(shè)備的公鑰算法Kp對(duì)R進(jìn)行加密R*=EKp(R)。
如果外圍設(shè)備具備運(yùn)營(yíng)商向其發(fā)送的對(duì)稱密鑰K,那么NAF根據(jù)外圍設(shè)備發(fā)送的密鑰索引KID找到密鑰K以后,用K對(duì)R進(jìn)行加密R*=EK(R)。
步驟413外圍設(shè)備采用與步驟412中的加密方式相對(duì)應(yīng)的密鑰進(jìn)行解密得到Ks_local。
例如,外圍設(shè)備收到Ks_Local*和R*后,解密得到Ks_Local。對(duì)應(yīng)步驟412,可包括首先對(duì)R*解密得到R如果是公鑰加密方式,則使用對(duì)應(yīng)的私鑰Ki解密,即R=DKi(R*);如果采用的是對(duì)稱加密算法,則R=DK(R*)。
然后再以R為密鑰對(duì)Ks_Local*解密得到Ks_LocalKs_Local=DR(Ks_Local*)。
至此,完成了為UICC和外圍設(shè)備協(xié)商共享密鑰Ks_Local的過(guò)程,外圍設(shè)備和UICC之間的通信就可以使用該密鑰作為本地接口密鑰進(jìn)行加密通信。
另外,還可以為上述Ks_Local設(shè)定一個(gè)有效期,由UICC或外圍設(shè)備進(jìn)行保存,當(dāng)?shù)竭_(dá)有效期時(shí),返回步驟406,重新生成Ks_Local。
這里說(shuō)明一下,上述實(shí)施例以當(dāng)UICC具備GBA功能時(shí)(屬于GBA_U過(guò)程),且Ks_local的計(jì)算在UICC里進(jìn)行的說(shuō)明。由UICC計(jì)算的衍生密鑰包括Ks_ext_NAF和Ks_int_NAF,如Ks_ext_NAF=KDF(Ks,″gba-me″‖RAND‖IMPI‖NAF_Id);Ks_int_NAF=KDF(Ks,″gba-u″‖RAND‖IMPI‖NAF_Id)。上述是以UICC選擇Ks_int_NAF計(jì)算Ks_Local,不難理解,也可以是由ME選擇Ks_ext_NAF計(jì)算Ks_Local。
而對(duì)于當(dāng)Ks存放在ME上(屬于GBA_ME過(guò)程),則可由ME計(jì)算衍生密鑰Ks_NAF,如Ks_NAF=KDF(Ks,″gba-me″‖RAND‖IMPI‖NAF_Id)。再使用Ks_NAF計(jì)算Ks_Local,其他原理相同,不再贅述。這種情況就是UE的ME與外圍設(shè)備之間的密鑰協(xié)商,不是指UICC了。
另外需要說(shuō)明的,實(shí)施例中,計(jì)算Ks_Local的過(guò)程分成了兩個(gè)步驟,但本領(lǐng)域人員不難理解,也可以分為一個(gè)步驟進(jìn)行計(jì)算,如,Ks_Local=KDF(Ks,″gba-u″‖RAND‖IMPI‖NAF_Id‖設(shè)備標(biāo)識(shí)),對(duì)于UICC,則可由UICC直接計(jì)算,對(duì)于BSF和NAF,則可由任一設(shè)備進(jìn)行計(jì)算。
從上可以看出,本發(fā)明實(shí)現(xiàn)了用戶與外圍設(shè)備之間密鑰的協(xié)商,從而實(shí)現(xiàn)了之間的加密通信。并且,不同的外圍設(shè)備與UICC通信時(shí),針對(duì)不同的外圍設(shè)備生成不同密鑰用于所述加密通信。
圖5是本發(fā)明采用GAA實(shí)現(xiàn)UE與外圍設(shè)備協(xié)商密鑰的第二實(shí)施例流程圖,如圖5所示,本實(shí)施例中,示出的UE和外圍設(shè)備均屬于同一個(gè)用戶,以UE上使用UICC為例,包括以下步驟步驟501~步驟505具體實(shí)現(xiàn)與步驟401~步驟405完全一致,這里不再重述。
步驟506~507,當(dāng)UE向外圍設(shè)備返回B-TID后,與NAF間進(jìn)行對(duì)UE的身份認(rèn)證并建立Ua接口的安全連接;UE通過(guò)建立的Ua接口的安全連接向NAF發(fā)送請(qǐng)求消息,用于請(qǐng)求NAF計(jì)算Ks_local,并將計(jì)算得到的Ks_local發(fā)送給外圍設(shè)備。
步驟508~步驟511具體實(shí)現(xiàn)與步驟408~步驟411完全一致,這里不再重述。
步驟512在NAF向外圍設(shè)備發(fā)送密鑰之前,NAF對(duì)外圍設(shè)備進(jìn)行認(rèn)證并建立NAF與外圍設(shè)備間的安全連接。
可選地,外圍設(shè)備可以認(rèn)證NAF,即NAF與外圍設(shè)備間進(jìn)行雙向認(rèn)證。
NAF與外圍設(shè)備間的認(rèn)證與安全連接建立與步驟406和步驟407一致,這里不再重述。
步驟513~步驟514具體實(shí)現(xiàn)與步驟412~步驟413完全一致,這里不再重述。
從圖5和圖4兩個(gè)實(shí)施例的流程圖所示,兩個(gè)實(shí)施例的主要區(qū)別在于向NAF請(qǐng)求Ks_Local的實(shí)體不同,可以是圖4所示的外圍設(shè)備,也可以是圖5所述的UE。如果請(qǐng)求Ks_Local的實(shí)體是外圍設(shè)備,則在請(qǐng)求Ks_Local之前就執(zhí)行NAF與外圍設(shè)備間的認(rèn)證即安全連接的建立;如果請(qǐng)求Ks_Local的實(shí)體是UE,則在請(qǐng)求Ks_Local之前需要執(zhí)行NAF與UE間的認(rèn)證即安全連接的建立,在NAF下發(fā)Ks_Local之前,還需要執(zhí)行NAF與外圍設(shè)備間的認(rèn)證即安全連接的建立。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種用戶UE和外圍設(shè)備協(xié)商共享密鑰的方法,其特征在于,包括以下步驟A、外圍設(shè)備向UE發(fā)送連接請(qǐng)求,該連接請(qǐng)求中攜帶外圍設(shè)備標(biāo)志;B、UE根據(jù)UE與執(zhí)行用戶身份初始檢查驗(yàn)證的實(shí)體BSF的共享密鑰Ks、所述外圍設(shè)備標(biāo)志計(jì)算出第一本地接口共享密鑰;C、由網(wǎng)絡(luò)側(cè)根據(jù)所述UE與BSF的共享密鑰Ks、獲取的所述外圍設(shè)備標(biāo)志,計(jì)算出與第一本地接口共享密鑰相同的第二本地接口共享密鑰,并提供給外圍設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C后進(jìn)一步包括所述第一或第二本地接口共享密鑰超過(guò)各自有效期限時(shí),或共享密鑰Ks更新后,返回步驟B。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A中所述外圍設(shè)備標(biāo)志,用于所述UE識(shí)別不同的外圍設(shè)備或者所述外圍設(shè)備上的應(yīng)用;所述外圍設(shè)備標(biāo)志為在所述UE的用戶識(shí)別模塊UICC或移動(dòng)設(shè)備ME中預(yù)先配置的與設(shè)備標(biāo)識(shí)對(duì)應(yīng)的索引值;或者,設(shè)備標(biāo)識(shí)或應(yīng)用標(biāo)識(shí)自身。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,步驟B中所述UE與BSF的共享密鑰Ks是UE與BSF執(zhí)行互鑒權(quán)GBA過(guò)程生成的共享密鑰。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B進(jìn)一步包括所述UE提供給外圍設(shè)備一個(gè)可用于標(biāo)識(shí)所述共享密鑰Ks的會(huì)話事務(wù)標(biāo)識(shí)B-TID/與B-TID對(duì)應(yīng)的索引值,并通過(guò)外圍設(shè)備發(fā)送給所述網(wǎng)絡(luò)側(cè)中的網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體NAF;步驟C所述共享密鑰Ks,是所述網(wǎng)絡(luò)側(cè)根據(jù)獲得的會(huì)話事務(wù)標(biāo)識(shí)B-TID/與B-TID對(duì)應(yīng)的索引值確定出的。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述通過(guò)外圍設(shè)備向所述NAF發(fā)送B-TID/與B-TID對(duì)應(yīng)的索引值之前,該方法還包括所述外圍設(shè)備與所述NAF之間進(jìn)行身份認(rèn)證并建立安全連接。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B進(jìn)一步包括所述UE將B-TID/與B-TID對(duì)應(yīng)的索引值發(fā)送給所述網(wǎng)絡(luò)側(cè)中的網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用實(shí)體NAF;步驟C所述共享密鑰Ks,是所述網(wǎng)絡(luò)側(cè)根據(jù)獲得的會(huì)話事務(wù)標(biāo)識(shí)B-TID/與B-TID對(duì)應(yīng)的索引值確定出的。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述UE向NAF發(fā)送B-TID/與B-TID對(duì)應(yīng)的索引值之前,該方法還包括所述UE與所述NAF之間進(jìn)行身份認(rèn)證并建立安全連接。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,步驟C中所述將計(jì)算出第二本地接口共享密鑰提供給外圍設(shè)備之前,該方法還包括所述外圍設(shè)備與所述NAF之間進(jìn)行身份認(rèn)證并建立安全連接。
10.根據(jù)權(quán)利要求6、8或9所述的方法,其特征在于,所述身份認(rèn)證為單向認(rèn)證或雙向認(rèn)證;所述身份認(rèn)證的方法為利用公鑰證書(shū)或私鑰證書(shū)進(jìn)行身份認(rèn)證。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述身份認(rèn)證的方法具體為利用共享密鑰的基于預(yù)共享密鑰的傳輸層安全協(xié)議PSK_TLS方式進(jìn)行身份認(rèn)證;或者基于共享密鑰的http digest認(rèn)證方式進(jìn)行身份認(rèn)證;或者在傳輸層安全協(xié)議TLS上進(jìn)行http digest認(rèn)證的身份認(rèn)證。
12.根據(jù)權(quán)利要求6、8或9所述的方法,其特征在于,所述建立安全連接的方法為基于公鑰證書(shū)的傳輸層安全協(xié)議TLS認(rèn)證方式建立TLS連接。
13.根據(jù)權(quán)利要求1所述的方法,特征在于,所述網(wǎng)絡(luò)側(cè)包括BSF和NAF;步驟C所述計(jì)算第二本地接口共享密鑰是由所述BSF進(jìn)行計(jì)算的。
14.根據(jù)權(quán)利要求1所述的方法,特征在于,所述網(wǎng)絡(luò)側(cè)包括BSF和NAF;步驟C所述計(jì)算出第二本地接口共享密鑰的步驟包括由BSF根據(jù)所述共享密鑰Ks計(jì)算出Ks衍生密鑰,再由NAF根據(jù)所述Ks衍生密鑰和所述外圍設(shè)備標(biāo)志計(jì)算出所述第二本地接口共享密鑰。
15.根據(jù)權(quán)利要求13或14所述的方法,其特征在于,所述計(jì)算第一和第二本地接口共享密鑰的過(guò)程中,還使用以下參數(shù)進(jìn)行計(jì)算隨機(jī)數(shù)RAND、用戶的IP多媒體私有身份標(biāo)識(shí)IMPI、所述NAF標(biāo)識(shí),特定的字符串。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述計(jì)算第一本地接口共享密鑰的過(guò)程中,所述NAF標(biāo)識(shí)是UE接收外圍設(shè)備配置的NAF的標(biāo)識(shí);或,預(yù)先在UE上配置有NAF標(biāo)識(shí)對(duì)應(yīng)到UE的用戶識(shí)別模塊UICC或移動(dòng)設(shè)備ME標(biāo)識(shí),所述NAF標(biāo)識(shí)是UE根據(jù)所述UICC或ME推算出的。
17.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C所述獲取外圍設(shè)備標(biāo)志的步驟包括所述UE將步驟A中接收到的所述外圍設(shè)備標(biāo)志發(fā)送給網(wǎng)絡(luò)側(cè)。
18.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C所述獲取外圍設(shè)備標(biāo)志的步驟包括所述外圍設(shè)備向網(wǎng)絡(luò)側(cè)中的NAF發(fā)送連接請(qǐng)求時(shí),該連接請(qǐng)求攜帶外圍設(shè)備標(biāo)志;網(wǎng)絡(luò)側(cè)從所述連接請(qǐng)求中獲取所述外圍設(shè)備標(biāo)志。
19.根據(jù)權(quán)利要求1或18所述的方法,其特征在于,所述網(wǎng)絡(luò)側(cè)與外圍設(shè)備的信息進(jìn)行加密傳輸。
全文摘要
一種用戶UE和外圍設(shè)備協(xié)商共享密鑰的方法,包括以下步驟A.外圍設(shè)備向UE發(fā)送連接請(qǐng)求,該連接請(qǐng)求中攜帶外圍設(shè)備的標(biāo)志;B.UE根據(jù)UE與執(zhí)行用戶身份初始檢查驗(yàn)證的實(shí)體BSF的共享密鑰Ks、所述外圍設(shè)備標(biāo)志計(jì)算出第一本地接口共享密鑰;C.由網(wǎng)絡(luò)側(cè)根據(jù)所述UE與BSF的共享密鑰Ks、獲取的所述外圍設(shè)備標(biāo)志,計(jì)算出與第一本地接口共享密鑰相同的第二本地接口共享密鑰,并提供給外圍設(shè)備。使用本發(fā)明,可提供外圍設(shè)備與UE之間的本地接口的通信使用的密鑰,從而實(shí)現(xiàn)外圍設(shè)備與UE之間的安全通信。
文檔編號(hào)H04L9/08GK1929371SQ20061005785
公開(kāi)日2007年3月14日 申請(qǐng)日期2006年3月1日 優(yōu)先權(quán)日2005年9月5日
發(fā)明者楊艷梅 申請(qǐng)人:華為技術(shù)有限公司