專利名稱:一種用戶與應(yīng)用服務(wù)器協(xié)商共享密鑰的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通信領(lǐng)域內(nèi)用戶與應(yīng)用服務(wù)器之間的協(xié)商共享密鑰的方法,尤其涉及第三代移動通信系統(tǒng)中,為遺留的2G用戶提供一種2G用戶和應(yīng)用服務(wù)器之間的協(xié)商共享密鑰的方法。
背景技術(shù):
目前,人們對移動通信的需求已不再滿足于電話和消息業(yè)務(wù),大量多媒體應(yīng)用隨著Internet的迅猛發(fā)展而涌現(xiàn)出來。這些應(yīng)用的認證方法大都要求用戶和應(yīng)用服務(wù)器之間預(yù)先共享一個密鑰。3GPP提出了通用自引導架構(gòu)(GBA)的方法,這種方法提供了一種在3G用戶和應(yīng)用服務(wù)器之間協(xié)商預(yù)共享密鑰的方法。GBA方法簡要描述如下(1)用戶首先向應(yīng)用服務(wù)器(NAF)發(fā)起訪問請求,應(yīng)用服務(wù)器要求用戶首先和3G網(wǎng)絡(luò)中的一個自引導服務(wù)器(BSF)協(xié)商密鑰。
(2)用戶向自引導服務(wù)器發(fā)起請求,通過AKA的雙向認證機制協(xié)商出密鑰Ks。
(3)用戶根據(jù)一些參數(shù)計算出密鑰Ks_NAF,向應(yīng)用服務(wù)器再次發(fā)起訪問請求。
(4)應(yīng)用服務(wù)器向相應(yīng)的自引導服務(wù)器發(fā)起請求,自引導服務(wù)器將相應(yīng)的密鑰Ks_NAF發(fā)給應(yīng)用服務(wù)器,這樣,用戶和應(yīng)用服務(wù)器之間就共享了密鑰Ks_NAF。
但是,GBA僅能支持3G用戶,即能夠運行AKA認證機制的用戶。而目前有超過十億的用尸是2G用戶,其使用的SIM卡無法支持AKA認證機制,也就無法使用GBA的方法與應(yīng)用服務(wù)器協(xié)商密鑰。而且,將這些用戶使用SIM升級到支持AKA認證機制的UICC卡將是一個長期的過程。因此,在相當長的一段時間內(nèi),會出現(xiàn)2G用戶和3G用戶共存的情況。因此,需要提供一種支持2G用戶的協(xié)商密鑰的方法,以使得在2G用戶和3G用戶共存的期間內(nèi),2G用戶也可以訪問基于GBA的應(yīng)用。
2G用戶使用SIM來進行認證,SIM僅能實現(xiàn)單向認證。單向認證缺乏用戶對網(wǎng)絡(luò)的認證,因此將導致大量的“偽網(wǎng)絡(luò)”攻擊。這是SIM認證的一個嚴重缺陷,在考慮支持2G用戶的密鑰協(xié)商方法時,必須能夠?qū)崿F(xiàn)用戶和網(wǎng)絡(luò)之間的雙向認證。
發(fā)明內(nèi)容
為了克服上述技術(shù)的不足,本發(fā)明提出一種用戶與應(yīng)用服務(wù)器協(xié)商共享密鑰的方法,使得2G用戶與應(yīng)用服務(wù)器之間也能夠協(xié)商預(yù)共享密鑰方法。
本發(fā)明的基本思想是對自引導服務(wù)器進行升級,使其可以支持2G用戶的請求。為了實現(xiàn)用戶對自引導服務(wù)器的認證,自引導服務(wù)器利用2G認證三元組中密鑰Kc推導出可用于3G的密鑰CK和IK,利用IK計算出MAC值。自引導服務(wù)器將MAC和RAND一起發(fā)給2G用戶。2G用戶根據(jù)RAND計算出Kc,并使用與自引導服務(wù)器推導CK和IK相同的方法,由Kc推導出密鑰CK和IK,利用IK計算出XMAC值。通過比較接收到的MAC和XMAC來實現(xiàn)用戶對網(wǎng)絡(luò)的認證。
本發(fā)明的實現(xiàn)過程如下第一步用戶向應(yīng)用服務(wù)器發(fā)起接入請求;應(yīng)用服務(wù)器根據(jù)用戶發(fā)來的信息,判斷應(yīng)用服務(wù)器是否有有效的與用戶共享的預(yù)共享密鑰;如果有,則不需要執(zhí)行后續(xù)步驟來協(xié)商共享密鑰;如果沒有,則應(yīng)用服務(wù)器向用戶發(fā)送響應(yīng),要求用戶與自引導服務(wù)器協(xié)商共享密鑰;第二步用戶接收到應(yīng)用服務(wù)器發(fā)來的響應(yīng)后,向自引導服務(wù)器發(fā)送協(xié)商密鑰請求,請求消息中包含用戶身份;第三步自引導服務(wù)器向用戶歸屬環(huán)境發(fā)送請求,要求獲得用戶的認證向量,請求消息中包含用戶身份;第四步歸屬環(huán)境根據(jù)用戶身份,生成合適的認證向量,即3G認證向量五元組或者2G認證向量三元組,歸屬環(huán)境將認證向量發(fā)給自引導服務(wù)器;第五步自引導服務(wù)器根據(jù)從歸屬環(huán)境接收到的信息,如認證向量類型、用戶相關(guān)信息等判斷用戶為3G用戶或2G用戶。如果用戶為3G用戶,則按照GBA的方法進行后續(xù)的密鑰協(xié)商過程;如果用戶為2G用戶,執(zhí)行第六步;第六步自引導服務(wù)器根據(jù)認證向量三元組中的加密密鑰Kc推導出可用于3G用戶使用的密鑰CK和IK;自引導服務(wù)器利用IK和至少包含RAND的一些輸入?yún)?shù)計算出MAC;第七步自引導服務(wù)器MAC和第六步中所述的輸入?yún)?shù)發(fā)送給用戶,以使得用戶接收到此條消息后,能夠獲得自引導服務(wù)器計算MAC的所有輸入?yún)?shù);第八步用戶利用RAND計算出RES和Kc,用戶使用與自引導服務(wù)器推導CK和IK相同的方法推導出CK和IK;利用IK以及與自引導服務(wù)器計算MAC相同的參數(shù)計算出XMAC;用戶比較MAC和XMAC,如果兩者不同,則認證失敗,用戶終止通信;如果兩者相同,則用戶對自引導服務(wù)器的認證成功;用戶利用CK和IK推導得到密鑰Ks;第九步自引導服務(wù)器利用認證向量三元組中的SRES來完成對用戶的認證;如果認證成功,則自引導服務(wù)器使用和用戶推導Ks相同的方法,由CK和IK得到Ks;自引導服務(wù)器發(fā)送響應(yīng)給用戶說明自引導過程成功,其中應(yīng)該包含用于標識密鑰Ks的標識符和密鑰Ks的生命期;第十步用戶由Ks和其他一些參數(shù)計算得到Ks_NAF,并向應(yīng)用服務(wù)器再次發(fā)送請求,其中包含標識Ks的標識符;應(yīng)用服務(wù)器根據(jù)此標識符向自引導服務(wù)器發(fā)送請求,自引導服務(wù)器計算出相應(yīng)的密鑰Ks_NAF并發(fā)送給應(yīng)用服務(wù)器,這樣用戶和應(yīng)用服務(wù)器就共享了密鑰Ks_NAF,協(xié)商預(yù)共享密鑰過程結(jié)束。
優(yōu)選地,第六步中根據(jù)認證向量三元組中的加密密鑰Kc推導CK和IK的方法為CK=Kc‖Kc,IK=(Kc1 XOR Kc2)‖Kc‖(Kc1 XOR Kc2),其中,Kc1為Kc的前半部分,Kc2為Kc的后半部分。
優(yōu)選地,第八步中可以采用與SIM認證相同的方式利用RAND計算出RES和Kc。
優(yōu)選地,第九步中自引導服務(wù)器認證用戶可以采用以下方式用戶直接將RES發(fā)給自引導服務(wù)器,自引導服務(wù)器比較RES和SRES的區(qū)別實現(xiàn)對用戶的認證。
優(yōu)選地,第九步中自引導服務(wù)器認證用戶可以采用以下方式用戶利用RES計算消息校驗碼,將消息校驗碼發(fā)給自引導服務(wù)器,自引導服務(wù)器利用認證向量三元組中的SRES驗證用戶發(fā)送消息的完整性來完成對用戶的認證。
優(yōu)選地,所述利用CK和IK推導密鑰Ks可以采用以下方式Ks通過將CK和IK串接得到,即Ks=CK‖IK。
優(yōu)選地,為了防止重放攻擊,在第七步中自引導服務(wù)器發(fā)送的消息中包含抗重放機制的參數(shù)來實現(xiàn)抗重放保護。
采用本發(fā)明可使2G用戶和3G用戶都可以與自引導服務(wù)器協(xié)商預(yù)共享密鑰,且能夠?qū)崿F(xiàn)用戶和網(wǎng)絡(luò)之間的雙向認證。
圖1是本發(fā)明的方法與應(yīng)用服務(wù)器協(xié)商預(yù)共享密鑰的流程圖。
具體實施例方式
下面結(jié)合附圖對技術(shù)方案的實施作進一步的詳細描述1、用戶設(shè)各向應(yīng)用服務(wù)器發(fā)起接入請求,此時,用戶與應(yīng)用服務(wù)器并沒有共享一個有效的預(yù)共享密鑰。
2、應(yīng)用服務(wù)器向用戶發(fā)送響應(yīng),要求用戶與自引導服務(wù)器執(zhí)行自引導過程。
3、用戶設(shè)備向自引導服務(wù)器發(fā)送協(xié)商密鑰請求,其中包含用戶的身份。
4、自引導服務(wù)器根據(jù)用戶的身份,向歸屬環(huán)境請求認證向量。
5、歸屬環(huán)境根據(jù)用戶的身份,此用戶為一2G用戶,生成相應(yīng)的認證向量是GSM三元組(RAND,SRES,Kc)。
6、歸屬環(huán)境將認證向量發(fā)給自引導服務(wù)器。
7、自引導服務(wù)器由Kc得到CK和IK,其中CK=Kc‖Kc,IK=(Kc1 XOR Kc2)‖Kc‖(Kc1 XOR Kc2),Kc1為Kc的前半部分,Kc2為Kc的后半部分。自引導服務(wù)器利用IK和RAND計算MAC值。
8、自引導服務(wù)器向用戶設(shè)備發(fā)送認證質(zhì)詢,其中包含認證三元組中的RAND和計算得到的MAC。
9、用戶設(shè)備將RAND發(fā)送給SIM。和GSM中的認證一樣,SIM將根據(jù)RAND計算得到Kc和RES,Kc和RES被發(fā)送給用戶設(shè)備。
10、用戶設(shè)備使用與自引導服務(wù)器推導CK和IK相同的方法推導得到CK和IKcK=Kc‖Kc,IK=(Kc1 XOR Kc2)‖Kc‖(Kc1 XOR Kc2),Kc1為Kc的前半部分,Kc2為Kc的后半部分。用戶設(shè)備利用IK和接收到的RAND,采用和自引導服務(wù)器計算MAC相同的方法計算XMAC。用戶設(shè)備比較XMAC和MAC,如果兩者相同,則用戶對網(wǎng)絡(luò)的認證成功。
11、用戶對網(wǎng)絡(luò)認證成功后,向自引導服務(wù)器發(fā)送認證響應(yīng),利用RES作為和網(wǎng)絡(luò)共享的密鑰計算出此響應(yīng)的校驗值,將校驗值包含在認證響應(yīng)消息中發(fā)送給自引導服務(wù)器。
12、自引導服務(wù)器利用認證三元組中的SRES對認證響應(yīng)消息進行認證。認證成功后由CK和IK得到Ks。Ks=CK‖IK。
13、自引導服務(wù)器發(fā)送認證成功指示消息給用戶設(shè)備,其中包含標識密鑰Ks的標識符和密鑰生命期信息。用戶設(shè)備由CK和IK得到Ks,即Ks=CK‖IK。
14、用戶設(shè)備由Ks得到Ks_NAF。
15、用戶設(shè)備向應(yīng)用服務(wù)器再次發(fā)送接入請求,其中包含標識密鑰Ks的標識符。
16、應(yīng)用服務(wù)器向自引導服務(wù)器請求對應(yīng)的密鑰。其中包含標識密鑰Ks的標識符。
17、自引導服務(wù)器獲得對應(yīng)的Ks,生成Ks_NAF。生成Ks_NAF的方法和用戶設(shè)備生成Ks_NAF的方法相同。
18、自引導服務(wù)器將Ks_NAF發(fā)送給應(yīng)用服務(wù)器。
19、通過以上步驟,用戶設(shè)備和應(yīng)用服務(wù)器之間共享了密鑰Ks_NAF。
權(quán)利要求
1.一種用戶與應(yīng)用服務(wù)器協(xié)商共享密鑰的方法,其特征在于,所述方法包括以下處理過程第一步用戶向應(yīng)用服務(wù)器發(fā)起接入請求;應(yīng)用服務(wù)器根據(jù)用戶發(fā)來的信息,判斷應(yīng)用服務(wù)器是否有有效的與用戶共享的預(yù)共享密鑰;如果有,則不需要執(zhí)行后續(xù)步驟來協(xié)商共享密鑰;如果沒有,則應(yīng)用服務(wù)器向用戶發(fā)送響應(yīng),要求用戶與自引導服務(wù)器協(xié)商共享密鑰;第二步用戶接收到應(yīng)用服務(wù)器發(fā)來的響應(yīng)后,向自引導服務(wù)器發(fā)送協(xié)商密鑰請求,請求消息中包含用戶身份;第三步自引導服務(wù)器向用戶歸屬環(huán)境發(fā)送請求,要求獲得用戶的認證向量,請求消息中包含用戶身份;第四步歸屬環(huán)境根據(jù)用戶身份,生成合適的認證向量,即3G認證向量五元組或者2G認證向量三元組,歸屬環(huán)境將認證向量發(fā)給自引導服務(wù)器;第五步自引導服務(wù)器根據(jù)從歸屬環(huán)境接收到的信息,如認證向量類型、用戶相關(guān)信息等判斷用戶為3G用戶或2G用戶。如果用戶為3G用戶,則按照GBA的方法進行后續(xù)的密鑰協(xié)商過程;如果用戶為2G用戶,執(zhí)行第六步;第六步自引導服務(wù)器根據(jù)認證向量三元組中的加密密鑰Kc推導出可用于3G用戶使用的密鑰CK和IK;自引導服務(wù)器利用IK和至少包含RAND的一些輸入?yún)?shù)計算出MAC;第七步自引導服務(wù)器MAC和第六步中所述的輸入?yún)?shù)發(fā)送給用戶,以使得用戶接收到此條消息后,能夠獲得自引導服務(wù)器計算MAC的所有輸入?yún)?shù);第八步用戶利用RAND計算出RES和Kc,用戶使用與自引導服務(wù)器推導CK和IK相同的方法推導出CK和IK;利用IK以及與自引導服務(wù)器計算MAC相同的參數(shù)計算出XMAC;用戶比較MAC和XMAC,如果兩者不同,則認證失敗,用戶終止通信;如果兩者相同,則用戶對自引導服務(wù)器的認證成功;用戶利用CK和IK推導得到密鑰Ks;第九步自引導服務(wù)器利用認證向量三元組中的SRES來完成對用戶的認證;如果認證成功,則自引導服務(wù)器使用和用戶推導Ks相同的方法,由CK和IK得到Ks;自引導服務(wù)器發(fā)送響應(yīng)給用戶說明自引導過程成功,其中應(yīng)該包含用于標識密鑰Ks的標識符和密鑰Ks的生命期;第十步用戶由Ks和其他一些參數(shù)計算得到Ks_NAF,并向應(yīng)用服務(wù)器再次發(fā)送請求,其中包含標識Ks的標識符;應(yīng)用服務(wù)器根據(jù)此標識符向自引導服務(wù)器發(fā)送請求,自引導服務(wù)器計算出相應(yīng)的密鑰Ks_NAF并發(fā)送給應(yīng)用服務(wù)器,這樣用戶和應(yīng)用服務(wù)器就共享了密鑰Ks_NAF,協(xié)商預(yù)共享密鑰過程結(jié)束。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第六步中根據(jù)認證向量三元組中的加密密鑰Kc推導CK和IK的方法為CK=Kc‖Kc,IK=(Kc1 XOR Kc2)‖Kc‖(Kc1XOR Kc2),其中,Kc1為Kc的前半部分,Kc2為Kc的后半部分。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第八步中可以采用與SIM認證相同的方式利用RAND計算出RES和Kc。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第九步中自引導服務(wù)器認證用戶可以采用以下方式用戶直接將RES發(fā)給自引導服務(wù)器,自引導服務(wù)器比較RES和SRES的區(qū)別實現(xiàn)對用戶的認證。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第九步中自引導服務(wù)器認證用戶可以采用以下方式用戶利用RES計算消息校驗碼,將消息校驗碼發(fā)給自引導服務(wù)器,自引導服務(wù)器利用認證向量三元組中的SRES驗證用戶發(fā)送消息的完整性來完成對用戶的認證。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述利用CK和IK推導密鑰Ks可以采用以下方式Ks通過將CK和IK串接得到,即Ks=CK‖IK。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,為了防止重放攻擊,在第七步中自引導服務(wù)器發(fā)送的消息中包含抗重放機制的參數(shù)來實現(xiàn)抗重放保護。
全文摘要
本發(fā)明公開了一種用戶與應(yīng)用服務(wù)器協(xié)商共享密鑰的方法,其特征在于,自引導服務(wù)器利用2G認證三元組中密鑰Kc推導出可用于3G的密鑰CK和IK,利用IK計算出MAC值,自引導服務(wù)器將MAC和RAND一起發(fā)給2G用戶;2G用戶根據(jù)RAND計算出Kc,并使用與自引導服務(wù)器推導CK和IK相同的方法,由Kc推導出密鑰CK和IK,利用IK計算出XMAC值。通過比較接收到的MAC和XMAC來實現(xiàn)用戶對網(wǎng)絡(luò)的認證。采用本發(fā)明可使2G用戶和3G用戶都可以與自引導服務(wù)器協(xié)商預(yù)共享密鑰,且能夠?qū)崿F(xiàn)用戶和網(wǎng)絡(luò)之間的雙向認證。
文檔編號H04L9/12GK1697373SQ20051007682
公開日2005年11月16日 申請日期2005年6月17日 優(yōu)先權(quán)日2005年6月17日
發(fā)明者陳璟, 趙潔 申請人:中興通訊股份有限公司