專利名稱:一種客戶端認(rèn)證的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種客戶端認(rèn)證的方法。
背景技術(shù):
近年來(lái)隨著信息技術(shù)和網(wǎng)絡(luò)應(yīng)用的不斷延伸和發(fā)展,快速、便捷的互聯(lián)網(wǎng)和移動(dòng)網(wǎng)絡(luò)已經(jīng)成為政府、企業(yè)和個(gè)人進(jìn)行信息傳遞和交流的平臺(tái)。無(wú)論有線網(wǎng)絡(luò)還是無(wú)線網(wǎng)絡(luò),其業(yè)務(wù)均是按照標(biāo)準(zhǔn)的協(xié)議進(jìn)行的,因此網(wǎng)絡(luò)中的服務(wù)器經(jīng)常會(huì)受到來(lái)自于客戶端的攻擊,導(dǎo)致數(shù)據(jù)信息大量丟失和損壞,增加網(wǎng)絡(luò)維護(hù)的人力與物力。
目前避免用戶通過(guò)客戶端對(duì)服務(wù)器攻擊的方法為對(duì)客戶端的用戶身份進(jìn)行鑒權(quán)、對(duì)客戶端與服務(wù)器之間的消息進(jìn)行加密保護(hù)以及對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行完整性校驗(yàn)等?,F(xiàn)有技術(shù)中對(duì)用戶信息的保護(hù)方式有以下兩種(1)加密與認(rèn)證。
在有線網(wǎng)絡(luò)中,客戶端與應(yīng)用服務(wù)器(AS)按照如圖1所示的簡(jiǎn)單鑒權(quán)流程進(jìn)行加密與認(rèn)證。所述的簡(jiǎn)單鑒權(quán)流程包括以下步驟步驟101.客戶端與AS協(xié)商加密算法。
本步驟中,客戶端首先與AS交流雙方所能夠支持的加密算法;然后,客戶端與AS協(xié)商具體所采用的加密算法。
步驟102.客戶端將用戶名及該用戶名所對(duì)應(yīng)的密碼發(fā)送給AS。
步驟103.AS收到客戶端的用戶名和密碼后,按照步驟101中協(xié)商的加密算法進(jìn)行鑒權(quán),判斷用戶名與密碼的對(duì)應(yīng)關(guān)系是否正確;然后,AS將鑒權(quán)應(yīng)答發(fā)送給客戶端,指明鑒權(quán)結(jié)果。
上述流程主要應(yīng)用于對(duì)安全要求較低的場(chǎng)合中,如點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)的連接建立等。如果客戶端與AS已經(jīng)存在了默認(rèn)的加密算法,則雙方無(wú)須執(zhí)行步驟101,而是直接使用默認(rèn)的算法進(jìn)行鑒權(quán)。
在諸如全球移動(dòng)通訊系統(tǒng)(GSM)等移動(dòng)網(wǎng)絡(luò)中,客戶端與AS按照?qǐng)D2所示的流程進(jìn)行鑒權(quán)。該方法包括以下步驟步驟201.客戶端向AS發(fā)送鑒權(quán)請(qǐng)求,并提供運(yùn)營(yíng)商預(yù)先分配的用戶標(biāo)識(shí)。
步驟202~203.AS向數(shù)據(jù)庫(kù)發(fā)送鑒權(quán)參數(shù)請(qǐng)求,而后數(shù)據(jù)庫(kù)向AS返回鑒權(quán)參數(shù)應(yīng)答。
通過(guò)上述兩個(gè)步驟,AS根據(jù)步驟201中的用戶標(biāo)識(shí)從數(shù)據(jù)庫(kù)中獲取該客戶端的鑒權(quán)參數(shù),該鑒權(quán)參數(shù)包括一個(gè)隨機(jī)數(shù)、加密算法序號(hào)以及使用加密算法序號(hào)所對(duì)應(yīng)的加密算法對(duì)所述隨機(jī)數(shù)進(jìn)行加密后的結(jié)果。
步驟204~206.AS將鑒權(quán)參數(shù)下發(fā)給客戶端后,客戶端將加密計(jì)算結(jié)果上報(bào)給AS,AS再將鑒權(quán)結(jié)果返回給客戶端。
在上述步驟204~206中,首先,AS將鑒權(quán)參數(shù)中的加密算法序號(hào)和隨機(jī)數(shù)發(fā)送給客戶端,由客戶端根據(jù)加密算法序號(hào)在自身數(shù)據(jù)庫(kù)中選擇加密算法;然后,客戶端利用選擇出來(lái)的加密算法對(duì)來(lái)自于AS的隨機(jī)數(shù)進(jìn)行加密后,將結(jié)果發(fā)送給AS;最后,AS將客戶端發(fā)送來(lái)的隨機(jī)數(shù)加密結(jié)果和從數(shù)據(jù)庫(kù)中獲取的隨機(jī)數(shù)加密結(jié)果進(jìn)行比較,如果一致,則認(rèn)為鑒權(quán)成功,即使用該客戶端的用戶合法,則AS和客戶端繼續(xù)使用該加密算法對(duì)后續(xù)傳輸?shù)男畔⑦M(jìn)行加密;否則,認(rèn)為鑒權(quán)失敗,即使用該客戶端的用戶非法,并拒絕其接入。
(2)數(shù)字證書。
數(shù)字證書是用于有線網(wǎng)絡(luò)中建立客戶端身份和電子資產(chǎn)的數(shù)據(jù)文件,能夠保證安全地在線通信,并常常被用于保護(hù)在線交易等。
數(shù)字證書由認(rèn)證中心(CA)作為可信賴的第三方來(lái)發(fā)放。CA對(duì)證書持有者的身份進(jìn)行認(rèn)證并通過(guò)簽署證書來(lái)證明證書的真實(shí)性。當(dāng)證書由CA進(jìn)行數(shù)字簽署后,由于證書中含有持有者的姓名和電子郵件地址、發(fā)證CA的名稱、序列號(hào)以及證書的有效期或失效期等信息,因此數(shù)字證書的持有者可以將其作為證明自己身份的電子護(hù)照。
數(shù)字證書采用公鑰體制,即利用一對(duì)互相匹配的密鑰進(jìn)行加密、解密。每個(gè)用戶設(shè)定一個(gè)公鑰并由本人向一組用戶公開(kāi),用于加密和驗(yàn)證簽名;同時(shí)還利用自己設(shè)定的僅為本人所知的私鑰進(jìn)行解密和簽名。當(dāng)發(fā)送一份保密文件時(shí),發(fā)送方使用接收方的公鑰對(duì)傳輸?shù)臄?shù)據(jù)加密,而接收方則使用自己的私鑰解密,這樣信息就可以安全無(wú)誤地到達(dá)目的地了。數(shù)字證書方式保證加解密是一個(gè)不可逆的過(guò)程,即只有得到用戶的私鑰才能對(duì)使用該私鑰對(duì)應(yīng)的公鑰加密的數(shù)據(jù)進(jìn)行解密。
數(shù)字證書是有線網(wǎng)絡(luò)中安全級(jí)別較高的認(rèn)證方式,它主要應(yīng)用于諸如電子商務(wù)等信息傳遞過(guò)程中。如圖3所示,數(shù)字證書方式包括以下步驟步驟301.用戶A利用自身的私鑰對(duì)待發(fā)送的數(shù)據(jù)信息進(jìn)行簽名,表明自身身份。
步驟302~304.用戶A首先與CA進(jìn)行會(huì)話,請(qǐng)求用戶B的公鑰;然后,CA將用戶B的公鑰下發(fā)給用戶A;而后,用戶A使用用戶B的公鑰對(duì)數(shù)據(jù)進(jìn)行加密。
步驟305.用戶A將加密后的數(shù)據(jù),即密文,發(fā)送給用戶B。
步驟306.用戶B接收到用戶A發(fā)送的密文后,使用自身的私鑰對(duì)密文進(jìn)行解密。
在實(shí)際的應(yīng)用中,如果用戶A不愿在傳輸?shù)男畔⒅袠?biāo)明發(fā)送方,則可以直接從步驟302開(kāi)始執(zhí)行數(shù)字證書方式的認(rèn)證流程。
在客戶端與服務(wù)器組成的網(wǎng)絡(luò)中,客戶端可以看作是上述的用戶A,而服務(wù)器則為上述的用戶B。
現(xiàn)有技術(shù)各認(rèn)證方法的缺點(diǎn)是1.在有線網(wǎng)絡(luò)的加密與認(rèn)證方式中,由于服務(wù)器只鑒權(quán)使用客戶端的用戶的身份,而用戶名及其所對(duì)應(yīng)的密碼十分容易被他人偽造,從而能夠建立與服務(wù)器的連接,因此安全性較低。
2.在移動(dòng)網(wǎng)絡(luò)的加密與認(rèn)證方式中,保證安全性的主要措施是加密算法的保密,而一旦加密算法泄露,則十分容易被他人假冒合法用戶與服務(wù)器建立連接,進(jìn)而發(fā)起惡意攻擊。
3.在數(shù)字證書方式中,證書中所包含的各種證明其安全性的信息能夠被CA以外的他人通過(guò)模擬CA的方式偽造;另外,CA對(duì)每種客戶端軟件只頒發(fā)一個(gè)數(shù)字證書,則他人可以通過(guò)復(fù)制合法用戶的軟件而與服務(wù)器建立連接,進(jìn)而發(fā)起惡意攻擊。
4.對(duì)于運(yùn)營(yíng)商而言,由于缺乏對(duì)客戶端軟件的有效控制手段,因此在升級(jí)、管理、運(yùn)營(yíng)等方面存在諸如無(wú)法對(duì)客戶端軟件進(jìn)行統(tǒng)一升級(jí)與收費(fèi)等問(wèn)題;另外,非法客戶端軟件會(huì)給用戶造成業(yè)務(wù)不成熟的印象,破壞運(yùn)營(yíng)商的形象。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種客戶端認(rèn)證的方法,防止客戶端對(duì)服務(wù)器的攻擊。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種客戶端認(rèn)證的方法,該方法包括以下步驟A.客戶端對(duì)應(yīng)用服務(wù)器發(fā)起攜帶客戶端軟件版本信息的接入請(qǐng)求,應(yīng)用服務(wù)器再向客戶端認(rèn)證中心發(fā)起對(duì)該客戶端進(jìn)行認(rèn)證的請(qǐng)求;B.客戶端認(rèn)證中心對(duì)客戶端的信息進(jìn)行認(rèn)證;C.判斷客戶端是否通過(guò)步驟B中的認(rèn)證,如果通過(guò),則應(yīng)用服務(wù)器接受所述客戶端的接入請(qǐng)求,否則,拒絕該客戶端的接入請(qǐng)求。
所述客戶端接入歸屬區(qū),則所述的客戶端認(rèn)證中心為歸屬區(qū)客戶端認(rèn)證中心。
所述的步驟B包括以下步驟
B11.應(yīng)用服務(wù)器向客戶端認(rèn)證中心請(qǐng)求該客戶端的加密公鑰序號(hào)以及含有客戶端認(rèn)證中心用相應(yīng)私鑰簽名的隨機(jī)數(shù),而后,客戶端認(rèn)證中心根據(jù)客戶端的版本信息參數(shù)選擇隨機(jī)數(shù)和公鑰序號(hào),并使用相應(yīng)私鑰對(duì)隨機(jī)數(shù)進(jìn)行簽名后,將隨機(jī)數(shù)與公鑰序號(hào)一起發(fā)送給應(yīng)用服務(wù)器;B12.應(yīng)用服務(wù)器將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端,并請(qǐng)求客戶端提交認(rèn)證標(biāo)識(shí),客戶端根據(jù)公鑰序號(hào)選擇公鑰后,對(duì)隨機(jī)數(shù)的數(shù)字簽名進(jìn)行驗(yàn)證,如果客戶端確認(rèn)該隨機(jī)數(shù)的發(fā)送方為客戶端認(rèn)證中心,則對(duì)隨機(jī)數(shù)和供應(yīng)商的簽名證書進(jìn)行加密運(yùn)算,并將客戶端自身的軟件版本號(hào)攜帶于加密后的簽名證書中,否則,結(jié)束本認(rèn)證流程;B13.客戶端將由加密證書及加密后的隨機(jī)數(shù)組成的客戶端認(rèn)證標(biāo)識(shí)發(fā)送給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器將客戶端認(rèn)證標(biāo)識(shí)提交給客戶端認(rèn)證中心;B14.客戶端認(rèn)證中心對(duì)認(rèn)證標(biāo)識(shí)解密后進(jìn)行鑒權(quán),然后將鑒權(quán)結(jié)果通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給應(yīng)用服務(wù)器。
采用客戶端接入歸屬區(qū)的認(rèn)證用戶身份和軟件方式,則所述的步驟B11進(jìn)一步包括客戶端認(rèn)證中心將隨機(jī)數(shù)與公鑰序號(hào)發(fā)送給應(yīng)用服務(wù)器的同時(shí),要求應(yīng)用服務(wù)器提供有效的用戶標(biāo)識(shí),而后,應(yīng)用服務(wù)器對(duì)用戶的身份進(jìn)行認(rèn)證,如果用戶的身份合法,則繼續(xù)執(zhí)行步驟B12,否則,拒絕其接入應(yīng)用服務(wù)器,并結(jié)束客戶端接入歸屬區(qū)的用戶身份和軟件認(rèn)證流程;所述的步驟B12進(jìn)一步包括應(yīng)用服務(wù)器將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端的同時(shí),判斷自身是否含有該客戶端的用戶標(biāo)識(shí),如果是,則要求客戶端提交包含軟件認(rèn)證標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí),否則,要求客戶端提供包含軟件認(rèn)證標(biāo)識(shí)和用戶標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí)。
所述的步驟B12進(jìn)一步包括如果客戶端確認(rèn)該隨機(jī)數(shù)的發(fā)送方為客戶端認(rèn)證中心,則將用戶標(biāo)識(shí)加入到加密后的簽名證書中。
所述客戶端接入拜訪區(qū),則所述的客戶端認(rèn)證中心包括歸屬區(qū)客戶端認(rèn)證中心和拜訪區(qū)客戶端認(rèn)證中心。
所述的步驟B包括以下步驟B21.應(yīng)用服務(wù)器向拜訪區(qū)客戶端認(rèn)證中心請(qǐng)求該客戶端的加密公鑰序號(hào)以及含有客戶端認(rèn)證中心用相應(yīng)私鑰簽名的隨機(jī)數(shù),而后,拜訪區(qū)客戶端認(rèn)證中心向該客戶端的歸屬區(qū)客戶端認(rèn)證中心發(fā)送加密公鑰序號(hào)請(qǐng)求,歸屬區(qū)客戶端認(rèn)證中心根據(jù)客戶端的版本信息參數(shù)選擇隨機(jī)數(shù)和公鑰序號(hào),并使用相應(yīng)私鑰對(duì)隨機(jī)數(shù)進(jìn)行簽名后,將隨機(jī)數(shù)與公鑰序號(hào)一起發(fā)送給拜訪區(qū)客戶端認(rèn)證中心,拜訪區(qū)客戶端認(rèn)證中心再對(duì)應(yīng)用服務(wù)器進(jìn)行加密公鑰序號(hào)應(yīng)答;B22.應(yīng)用服務(wù)器將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端,并請(qǐng)求客戶端提交認(rèn)證標(biāo)識(shí),客戶端根據(jù)公鑰序號(hào)選擇公鑰后,對(duì)隨機(jī)數(shù)的數(shù)字簽名進(jìn)行驗(yàn)證,如果客戶端確認(rèn)該隨機(jī)數(shù)的發(fā)送方為客戶端認(rèn)證中心,則對(duì)隨機(jī)數(shù)和供應(yīng)商的簽名證書進(jìn)行加密運(yùn)算,并將客戶端自身的軟件版本號(hào)攜帶于加密后的簽名證書中,否則,結(jié)束本認(rèn)證流程;B23.客戶端將由加密證書及加密后的隨機(jī)數(shù)組成的客戶端認(rèn)證標(biāo)識(shí)發(fā)送給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器將客戶端認(rèn)證標(biāo)識(shí)提交給拜訪區(qū)客戶端認(rèn)證中心,拜訪區(qū)客戶端認(rèn)證中心向歸屬區(qū)客戶端認(rèn)證中心發(fā)送認(rèn)證請(qǐng)求,提交客戶端認(rèn)證標(biāo)識(shí);B24.歸屬區(qū)客戶端認(rèn)證中心對(duì)認(rèn)證標(biāo)識(shí)解密后進(jìn)行鑒權(quán),然后將結(jié)果通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給拜訪區(qū)客戶端認(rèn)證中心,拜訪區(qū)客戶端認(rèn)證中心再將結(jié)果發(fā)送給應(yīng)用服務(wù)器。
采用客戶端接入拜訪區(qū)的認(rèn)證用戶身份和軟件方式,則所述的B21進(jìn)一步包括客戶端認(rèn)證中心將隨機(jī)數(shù)與公鑰序號(hào)發(fā)送給應(yīng)用服務(wù)器的同時(shí),要求應(yīng)用服務(wù)器提供有效的用戶標(biāo)識(shí),而后,應(yīng)用服務(wù)器對(duì)用戶的身份進(jìn)行認(rèn)證,如果用戶的身份合法,則繼續(xù)執(zhí)行步驟B22,否則,拒絕其接入應(yīng)用服務(wù)器,并結(jié)束客戶端接入歸屬區(qū)的用戶身份和軟件認(rèn)證流程;所述的步驟B22進(jìn)一步包括應(yīng)用服務(wù)器將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端的同時(shí),判斷自身是否含有該客戶端的用戶標(biāo)識(shí),如果是,則要求客戶端提交包含軟件認(rèn)證標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí),否則,要求客戶端提供包含軟件認(rèn)證標(biāo)識(shí)和用戶標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí)。
所述的步驟B22進(jìn)一步包括如果客戶端確認(rèn)該隨機(jī)數(shù)的發(fā)送方為客戶端認(rèn)證中心,則還要將用戶標(biāo)識(shí)加入到加密后的簽名證書中。
應(yīng)用本發(fā)明,客戶端認(rèn)證中心(CCC)對(duì)用戶使用的客戶端軟件進(jìn)行認(rèn)證,只有認(rèn)證成功,才允許客戶端接入服務(wù)器;另外,在對(duì)安全性要求較高的情況下,CCC對(duì)用戶的身份和客戶端軟件均進(jìn)行鑒權(quán),充分保證了信息交互的安全性。具體而言,本發(fā)明具有如下有益效果1.運(yùn)營(yíng)商對(duì)不同客戶端軟件分配不同的公鑰和證書,并且對(duì)同種客戶端軟件的不同版本也分配不同的公鑰和證書,提高了防偽力度,避免了非法用戶通過(guò)與服務(wù)器建立連接而發(fā)起的惡意攻擊,規(guī)范了網(wǎng)絡(luò)秩序。
2.在對(duì)安全性要求較高的情況下,CCC首先認(rèn)證用戶的身份,在用戶身份合法的情況下再對(duì)客戶端軟件進(jìn)行鑒權(quán),在鑒權(quán)成功的情況下才允許客戶端的接入。通過(guò)雙重認(rèn)證,保證與服務(wù)器建立連接的用戶身份及該用戶使用的客戶端軟件均合法,有效地防止了通過(guò)非法復(fù)制合法的客戶端軟件而與服務(wù)器建立連接的行為。
3.本發(fā)明中只有供應(yīng)商發(fā)布的正規(guī)客戶端軟件才能夠通過(guò)認(rèn)證,因此提高了各軟件供應(yīng)商的經(jīng)濟(jì)效益。
4.對(duì)于運(yùn)營(yíng)商而言,通過(guò)本發(fā)明可以掌握客戶端軟件的關(guān)鍵信息,能夠較為方便的進(jìn)行統(tǒng)一升級(jí)和收費(fèi)等,容易規(guī)范和管理用戶的行為。
圖1為現(xiàn)有有線網(wǎng)絡(luò)中加密與認(rèn)證方式的流程圖。
圖2為現(xiàn)有移動(dòng)網(wǎng)絡(luò)中加密與認(rèn)證方式的流程圖。
圖3為現(xiàn)有數(shù)字證書方式的流程圖。
圖4為本發(fā)明客戶端認(rèn)證過(guò)程示意圖。
圖5為本發(fā)明客戶端接入歸屬區(qū)的認(rèn)證客戶端軟件方式實(shí)施例的示意圖。
圖6為本發(fā)明客戶端接入拜訪區(qū)的認(rèn)證客戶端軟件方式實(shí)施例的示意圖。
圖7為本發(fā)明客戶端接入歸屬區(qū)的認(rèn)證用戶身份和軟件方式實(shí)施例的示意圖。
圖8為本發(fā)明客戶端接入拜訪區(qū)的認(rèn)證用戶身份和軟件方式實(shí)施例的示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。
本發(fā)明為一種客戶端認(rèn)證的方法,其基本思想是建立一個(gè)包括客戶端、客戶端認(rèn)證中心和AS在內(nèi)的網(wǎng)絡(luò),當(dāng)客戶端請(qǐng)求接入AS時(shí),AS將客戶端的信息提交給客戶端認(rèn)證中心,由客戶端認(rèn)證中心進(jìn)行鑒權(quán),而后接受鑒權(quán)成功的客戶端的接入請(qǐng)求。
本發(fā)明為了實(shí)現(xiàn)對(duì)客戶端的認(rèn)證,提出了客戶端認(rèn)證中心的概念??蛻舳苏J(rèn)證中心的英文全稱為Client Certification Center,縮寫為CCC,它是一種運(yùn)營(yíng)商的節(jié)點(diǎn),其作用是鑒別證書的真?zhèn)巍CC與AS之間、不同網(wǎng)絡(luò)的CCC之間均通過(guò)通信接口相連接,本發(fā)明中,將CCC與AS之間的通信接口稱為Ca接口,將不同網(wǎng)絡(luò)之間CCC的接口稱為Can接口。
本發(fā)明中,運(yùn)營(yíng)商根據(jù)供應(yīng)商的請(qǐng)求從CA請(qǐng)求密鑰對(duì),然后將密鑰對(duì)中的公鑰分配給供應(yīng)商的軟件,同時(shí)還會(huì)提供一個(gè)諸如序列號(hào)的證書。每種軟件從運(yùn)營(yíng)商獲取的公鑰和證書均不相同,即不同供應(yīng)商開(kāi)發(fā)的軟件擁有不同的公鑰和證書,并且同一軟件的不同版本也擁有不同的公鑰和證書。
本發(fā)明按照?qǐng)D4所示的流程對(duì)客戶端進(jìn)行認(rèn)證。首先,運(yùn)營(yíng)商的CCC對(duì)供應(yīng)商的軟件分配證書,并將該證書連同從CA獲得的公鑰庫(kù)一起發(fā)送給供應(yīng)商,所述的公鑰庫(kù)可以通過(guò)空中下載(OTA)方式動(dòng)態(tài)更新;然后,供應(yīng)商用自身的私鑰進(jìn)行數(shù)字簽名,再將簽名證書放入到客戶端將要使用的軟件中;客戶端軟件首先向運(yùn)營(yíng)商的CCC請(qǐng)求公鑰序號(hào)和隨機(jī)數(shù),而后在運(yùn)營(yíng)商發(fā)送來(lái)的公鑰庫(kù)中尋找上述公鑰序號(hào)所對(duì)應(yīng)的公鑰,然后再利用公鑰和隨機(jī)數(shù)對(duì)簽名證書進(jìn)行加密,并根據(jù)鑒權(quán)需要在加密證書中攜帶自身信息,如客戶端的標(biāo)識(shí)或客戶端軟件的版本號(hào)等;客戶端將攜帶了各種信息的加密證書發(fā)送到運(yùn)營(yíng)商的CCC,進(jìn)行驗(yàn)證。
上述CCC驗(yàn)證的具體過(guò)程為CCC首先利用相應(yīng)的私鑰進(jìn)行解密,分離出供應(yīng)商的簽名證書、隨機(jī)數(shù)和客戶端攜帶于加密證書中的信息;然后利用供應(yīng)商私鑰所對(duì)應(yīng)的公鑰將簽名證書解密,判斷證書的真?zhèn)?,同時(shí)對(duì)隨機(jī)數(shù)和客戶端信息進(jìn)行核對(duì),判斷客戶端是否合法。
客戶端的認(rèn)證方法可以通過(guò)認(rèn)證客戶端軟件以及認(rèn)證客戶端身份和客戶端軟件兩種方式,避免服務(wù)器受到來(lái)自于客戶端的攻擊。由于客戶端可以直接接入服務(wù)器或者通過(guò)異地代理接入服務(wù)器,所以無(wú)論是有線網(wǎng)絡(luò)還是移動(dòng)網(wǎng)絡(luò)均可以分為客戶端接入歸屬區(qū)和拜訪區(qū)兩種情況。因此,本發(fā)明客戶端的認(rèn)證方法共分為如下四種情況客戶端接入歸屬區(qū)的認(rèn)證客戶端軟件方式、客戶端接入拜訪區(qū)的認(rèn)證客戶端軟件方式、客戶端接入歸屬區(qū)的認(rèn)證用戶身份和軟件方式以及客戶端接入拜訪區(qū)的認(rèn)證用戶身份和軟件方式。
實(shí)施例1客戶端接入歸屬區(qū)的認(rèn)證客戶端軟件方式。
客戶端接入歸屬區(qū)包括兩種情況一種為有線網(wǎng)絡(luò)的CCC中含有要求接入的客戶端信息,另一種為移動(dòng)網(wǎng)絡(luò)的客戶端未發(fā)生漫游。在上述兩種情況下,CCC通過(guò)Ca接口與AS相連,AS再與客戶端連接在一起。
如圖5所示,該方法包括以下步驟步驟501.客戶端對(duì)AS發(fā)起攜帶客戶端軟件版本信息的接入請(qǐng)求。
本步驟中,客戶端軟件的版本信息包括發(fā)行公司及版本號(hào)等。
步驟502~504.AS向CCC請(qǐng)求該客戶端的加密公鑰序號(hào)以及含有CCC用相應(yīng)私鑰簽名的隨機(jī)數(shù);而后,CCC根據(jù)客戶端的版本信息選擇隨機(jī)數(shù)和公鑰序號(hào),并使用相應(yīng)私鑰對(duì)隨機(jī)數(shù)進(jìn)行簽名后,將隨機(jī)數(shù)與公鑰序號(hào)一起攜帶于加密公鑰序號(hào)請(qǐng)求中發(fā)送給AS;然后,AS將隨機(jī)數(shù)和公鑰序號(hào)通過(guò)加密公鑰序號(hào)應(yīng)答的方式下發(fā)給客戶端,并請(qǐng)求客戶端提交認(rèn)證標(biāo)識(shí)。
步驟505.客戶端根據(jù)公鑰序號(hào)選擇公鑰,同時(shí)對(duì)隨機(jī)數(shù)的數(shù)字簽名進(jìn)行驗(yàn)證;在確認(rèn)了該隨機(jī)數(shù)的發(fā)送方為CCC后,對(duì)隨機(jī)數(shù)和供應(yīng)商的簽名證書進(jìn)行加密運(yùn)算,并將客戶端自身的軟件版本號(hào)攜帶于加密后的簽名證書中。
本步驟在確認(rèn)隨機(jī)數(shù)的發(fā)送方時(shí),由于該隨機(jī)數(shù)是CCC用請(qǐng)求接入AS的客戶端的私鑰進(jìn)行加密簽名的,因此客戶端使用自身的公鑰對(duì)該隨機(jī)數(shù)進(jìn)行解密,如果能夠解密則表明隨機(jī)數(shù)的發(fā)送方是CCC;否則,客戶端認(rèn)為隨機(jī)數(shù)的發(fā)送方不是CCC。
步驟506.客戶端將由加密證書、加密后的隨機(jī)數(shù)及軟件版本號(hào)組成的客戶端認(rèn)證標(biāo)識(shí)通過(guò)認(rèn)證標(biāo)識(shí)應(yīng)答的方式發(fā)送給AS。
步驟507.AS將客戶端認(rèn)證標(biāo)識(shí)通過(guò)認(rèn)證請(qǐng)求提交給CCC。
步驟508~509.CCC對(duì)認(rèn)證標(biāo)識(shí)解密后進(jìn)行鑒權(quán),然后將結(jié)果通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給AS;AS再根據(jù)鑒權(quán)結(jié)果對(duì)客戶端進(jìn)行接入應(yīng)答,指明是否接受客戶端的連接。
本步驟中,如果解密后的證書真實(shí)、隨機(jī)數(shù)正確并且軟件版本號(hào)合法,則CCC認(rèn)為該客戶端軟件通過(guò)鑒權(quán);否則,該客戶端軟件鑒權(quán)失敗。
由于本實(shí)施例中,客戶端接入的是歸屬區(qū),所以本實(shí)施例中的CCC為歸屬區(qū)CCC(HCCC)。
實(shí)施例2客戶端接入拜訪區(qū)的認(rèn)證客戶端軟件方式。
當(dāng)有線網(wǎng)絡(luò)的客戶端接入了不含有其安全信息的CCC、或者移動(dòng)網(wǎng)絡(luò)中客戶端發(fā)生漫游時(shí),客戶端接入的均是拜訪區(qū)CCC(VCCC)。由于VCCC沒(méi)有客戶端的安全信息,因此VCCC需要與客戶端的HCCC之間進(jìn)行交互,完成對(duì)客戶端軟件的鑒權(quán)。
如圖6所示,客戶端接入拜訪區(qū)的認(rèn)證客戶端軟件方式包括以下步驟步驟601.客戶端對(duì)AS發(fā)起攜帶客戶端軟件版本信息的接入請(qǐng)求。
本步驟中,客戶端軟件的版本信息包括發(fā)行公司及版本號(hào)等。
步驟602~606.AS向VCCC請(qǐng)求該客戶端的加密公鑰序號(hào)以及含有CCC用相應(yīng)私鑰簽名的隨機(jī)數(shù);由于VCCC不合有該客戶端的安全信息,因此VCCC向該客戶端的HCCC請(qǐng)求加密公鑰序號(hào);而后,HCCC根據(jù)客戶端的版本信息參數(shù)選擇隨機(jī)數(shù)和公鑰序號(hào),并使用相應(yīng)私鑰對(duì)隨機(jī)數(shù)進(jìn)行簽名后,將隨機(jī)數(shù)與公鑰序號(hào)一起通過(guò)加密公鑰序號(hào)應(yīng)答的方式發(fā)送給VCCC,VCCC再對(duì)AS進(jìn)行加密公鑰序號(hào)應(yīng)答;然后,AS將隨機(jī)數(shù)和公鑰序號(hào)通過(guò)認(rèn)證標(biāo)識(shí)請(qǐng)求的方式下發(fā)給客戶端,并請(qǐng)求客戶端提交認(rèn)證標(biāo)識(shí)。
步驟607.客戶端根據(jù)公鑰序號(hào)選擇公鑰,同時(shí)對(duì)隨機(jī)數(shù)的數(shù)字簽名進(jìn)行驗(yàn)證;在確認(rèn)了該隨機(jī)數(shù)的發(fā)送方為CCC后,對(duì)隨機(jī)數(shù)和供應(yīng)商的簽名證書進(jìn)行加密運(yùn)算,并將客戶端自身的軟件版本號(hào)攜帶于加密后的簽名證書中。
步驟608~609.客戶端將由加密證書、加密后的隨機(jī)數(shù)及軟件版本號(hào)組成的客戶端認(rèn)證標(biāo)識(shí)通過(guò)認(rèn)證標(biāo)識(shí)應(yīng)答的方式發(fā)送給AS;AS再將客戶端認(rèn)證標(biāo)識(shí)通過(guò)認(rèn)證請(qǐng)求發(fā)送給VCCC,請(qǐng)求認(rèn)證。
步驟610.VCCC將客戶端認(rèn)證標(biāo)識(shí)通過(guò)認(rèn)證請(qǐng)求的方式提交給HCCC,請(qǐng)求HCCC對(duì)該客戶端軟件進(jìn)行認(rèn)證。
步驟611~613.HCCC對(duì)認(rèn)證標(biāo)識(shí)解密后進(jìn)行鑒權(quán),然后將結(jié)果通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給VCCC;VCCC再將鑒權(quán)結(jié)果傳送給AS;AS再根據(jù)鑒權(quán)結(jié)果對(duì)客戶端進(jìn)行接入應(yīng)答,指明是否接收客戶端的連接。
本實(shí)施例與實(shí)施例1的不同之處在于VCCC不包含要求接入的客戶端的安全信息,因此由VCCC作為中轉(zhuǎn)、由HCCC對(duì)客戶端的軟件進(jìn)行鑒權(quán);從具體流程的角度而言,本實(shí)施例增加了步驟603、604、610及611四個(gè)步驟。
實(shí)施例3客戶端接入歸屬區(qū)的認(rèn)證用戶身份和軟件方式。
在對(duì)安全性要求較高的情況下,CCC可以先對(duì)客戶端的身份進(jìn)行鑒權(quán);如果客戶端身份合法,則繼續(xù)對(duì)客戶端軟件進(jìn)行鑒權(quán),否則,直接拒絕該客戶端的連接請(qǐng)求。為了能夠驗(yàn)證客戶端的身份,運(yùn)營(yíng)商在給用戶開(kāi)戶時(shí)將客戶端軟件證書與用戶身份標(biāo)識(shí)建立對(duì)應(yīng)關(guān)系并存儲(chǔ)在CCC中。
如圖7所示,客戶端接入歸屬區(qū)的認(rèn)證用戶身份和軟件方式包括以下步驟步驟701.客戶端對(duì)AS發(fā)起攜帶客戶端軟件版本信息的接入請(qǐng)求。
步驟702.AS將客戶端軟件的版本信息發(fā)送給CCC,請(qǐng)求該客戶端軟件的加密公鑰序號(hào)以及含有CCC用相應(yīng)私鑰簽名的隨機(jī)數(shù)。
步驟703.CCC根據(jù)客戶端軟件的版本信息選擇隨機(jī)數(shù)和公鑰序號(hào),并使用相應(yīng)私鑰對(duì)隨機(jī)數(shù)進(jìn)行簽名后,將隨機(jī)數(shù)與公鑰序號(hào)一起通過(guò)加密公鑰序號(hào)應(yīng)答的方式發(fā)送給AS,同時(shí)要求AS提供有效的用戶標(biāo)識(shí)。
本步驟中有效的用戶標(biāo)識(shí)是指非AS帳號(hào)的標(biāo)識(shí),如用戶的手機(jī)號(hào)碼或者用戶名等等。
步驟704.AS對(duì)用戶的身份進(jìn)行認(rèn)證,如果用戶的身份合法,則繼續(xù)執(zhí)行步驟705;否則,拒絕其接入AS,并結(jié)束客戶端接入歸屬區(qū)的用戶身份和軟件認(rèn)證流程。
本步驟使用如圖1所示的現(xiàn)有方法認(rèn)證用戶的身份。
步驟705.AS將隨機(jī)數(shù)和公鑰序號(hào)通過(guò)認(rèn)證標(biāo)識(shí)請(qǐng)求的方式下發(fā)給客戶端,并判斷自身是否含有該客戶端的用戶標(biāo)識(shí),如果是,則要求客戶端提交包含軟件認(rèn)證標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí);否則要求客戶端提供包含軟件認(rèn)證標(biāo)識(shí)和用戶標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí)。
步驟706.客戶端根據(jù)公鑰序號(hào)選擇公鑰,同時(shí)對(duì)隨機(jī)數(shù)的數(shù)字簽名進(jìn)行驗(yàn)證;在確認(rèn)了該隨機(jī)數(shù)的發(fā)送方為CCC后,對(duì)隨機(jī)數(shù)和供應(yīng)商的簽名證書進(jìn)行加密運(yùn)算,并將客戶端自身的軟件版本號(hào)攜帶于加密后的簽名證書中;另外,在需要客戶端提供用戶標(biāo)識(shí)的情況下,將用戶標(biāo)識(shí)加入到加密后的簽名證書中。
步驟707.客戶端將由加密證書以及加密后的隨機(jī)數(shù)組成的客戶端認(rèn)證標(biāo)識(shí)通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給AS。
步驟708.AS將客戶端認(rèn)證標(biāo)識(shí)提交給CCC。
步驟709~710.CCC對(duì)客戶端認(rèn)證標(biāo)識(shí)解密后進(jìn)行鑒權(quán),然后將結(jié)果通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給AS;AS再根據(jù)鑒權(quán)結(jié)果對(duì)客戶端進(jìn)行接入應(yīng)答,指明是否接收客戶端的連接。
本步驟中,如果解密后的證書真實(shí)、隨機(jī)數(shù)正確、軟件版本號(hào)合法并且用戶標(biāo)識(shí)與軟件版本號(hào)的對(duì)應(yīng)關(guān)系正確,則CCC認(rèn)為該客戶端通過(guò)鑒權(quán);否則,該客戶端鑒權(quán)失敗。
本實(shí)施例只有在欲發(fā)起連接的用戶以及該用戶所使用的客戶端軟件均合法的情況下,才建立客戶端到服務(wù)器的連接,提高了安全性。另外,如果合法的客戶端軟件被其他用戶非法復(fù)制,則CCC能夠通過(guò)檢查用戶與客戶端軟件的對(duì)應(yīng)關(guān)系而發(fā)現(xiàn)該非法復(fù)制情況,進(jìn)而拒絕所有使用該客戶端軟件的非法用戶的連接。
由于本實(shí)施例中,客戶端接入的是歸屬區(qū),所以本實(shí)施例中的CCC為HCCC。
實(shí)施例4客戶端接入拜訪區(qū)的認(rèn)證用戶身份和軟件方式。
如圖8所示,本實(shí)施例包括以下步驟步驟801.客戶端對(duì)AS發(fā)起攜帶客戶端軟件版本信息的接入請(qǐng)求。
步驟802~803.AS向VCCC請(qǐng)求加密公鑰序號(hào)以及含有CCC用相應(yīng)私鑰簽名的隨機(jī)數(shù);VCCC向該客戶端的HCCC請(qǐng)求加密公鑰序號(hào);步驟804~805.HCCC根據(jù)客戶端軟件的版本信息選擇隨機(jī)數(shù)和公鑰序號(hào),并使用相應(yīng)私鑰對(duì)隨機(jī)數(shù)進(jìn)行簽名后,將隨機(jī)數(shù)與公鑰序號(hào)一起通過(guò)加密公鑰序號(hào)應(yīng)答的方式發(fā)送給VCCC,同時(shí)要求VCCC提供有效的用戶標(biāo)識(shí);VCCC再將對(duì)AS進(jìn)行加密公鑰序號(hào)應(yīng)答。
步驟806.AS對(duì)用戶的身份進(jìn)行認(rèn)證,如果用戶的身份合法,則繼續(xù)執(zhí)行步驟807;否則,拒絕其接入AS,并結(jié)束接入拜訪區(qū)情況下對(duì)用戶身份和客戶端軟件的認(rèn)證流程。
本步驟使用如圖1所示的現(xiàn)有方法認(rèn)證用戶的身份。
步驟807.AS將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端,并判斷自身是否含有該客戶端的用戶標(biāo)識(shí),如果是,則要求客戶端提交包含軟件認(rèn)證標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí);否則要求客戶端提供包含軟件認(rèn)證標(biāo)識(shí)和用戶標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí)。
步驟808.客戶端根據(jù)公鑰序號(hào)選擇公鑰,同時(shí)對(duì)隨機(jī)數(shù)的數(shù)字簽名進(jìn)行驗(yàn)證;在確認(rèn)了該隨機(jī)數(shù)的發(fā)送方為CCC后,對(duì)隨機(jī)數(shù)和供應(yīng)商的簽名證書進(jìn)行加密運(yùn)算,并將客戶端自身的軟件版本號(hào)攜帶于加密后的簽名證書中;另外,在需要客戶端提供用戶標(biāo)識(shí)的情況下,將用戶標(biāo)識(shí)加入到加密后的簽名證書中。
步驟809~810.客戶端將由加密證書以及加密后的隨機(jī)數(shù)組成的客戶端認(rèn)證標(biāo)識(shí)通過(guò)認(rèn)證標(biāo)識(shí)應(yīng)答的方式發(fā)送給AS;AS再將客戶端認(rèn)證標(biāo)識(shí)發(fā)送給VCCC,請(qǐng)求認(rèn)證。
步驟811.VCCC將客戶端認(rèn)證標(biāo)識(shí)提交給HCCC,請(qǐng)求HCCC對(duì)該客戶端軟件進(jìn)行認(rèn)證。
步驟812~814.HCCC對(duì)認(rèn)證標(biāo)識(shí)解密后進(jìn)行鑒權(quán),然后將結(jié)果通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給VCCC;VCCC再將鑒權(quán)結(jié)果傳送給AS;AS再根據(jù)鑒權(quán)結(jié)果對(duì)客戶端進(jìn)行接入應(yīng)答,指明是否接收客戶端的連接。
本實(shí)施例與實(shí)施例3的不同之處在于VCCC不包含要求接入的客戶端的安全信息,因此由VCCC作為中轉(zhuǎn)、由HCCC對(duì)客戶端的軟件進(jìn)行鑒權(quán);從具體流程的角度而言,本實(shí)施例增加了步驟803、804、811及812四個(gè)步驟。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種客戶端認(rèn)證的方法,其特征在于,設(shè)置對(duì)客戶端進(jìn)行認(rèn)證的客戶端認(rèn)證中心,并將所設(shè)置的客戶端認(rèn)證中心與應(yīng)用服務(wù)器連接,該方法還包括以下步驟A.客戶端對(duì)應(yīng)用服務(wù)器發(fā)起攜帶客戶端軟件版本信息的接入請(qǐng)求,應(yīng)用服務(wù)器再向客戶端認(rèn)證中心發(fā)起對(duì)該客戶端進(jìn)行認(rèn)證的請(qǐng)求;B.客戶端認(rèn)證中心對(duì)客戶端的信息進(jìn)行認(rèn)證;C.判斷客戶端是否通過(guò)步驟B中的認(rèn)證,如果通過(guò),則應(yīng)用服務(wù)器接受所述客戶端的接入請(qǐng)求,否則,拒絕該客戶端的接入請(qǐng)求。
2.如權(quán)利要求1所述的方法,其特征在于,所述客戶端接入歸屬區(qū),則所述的客戶端認(rèn)證中心為歸屬區(qū)客戶端認(rèn)證中心。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述的步驟B包括以下步驟B11.應(yīng)用服務(wù)器向客戶端認(rèn)證中心請(qǐng)求該客戶端的加密公鑰序號(hào)以及含有客戶端認(rèn)證中心用相應(yīng)私鑰簽名的隨機(jī)數(shù),而后,客戶端認(rèn)證中心根據(jù)客戶端的版本信息參數(shù)選擇隨機(jī)數(shù)和公鑰序號(hào),并使用相應(yīng)私鑰對(duì)隨機(jī)數(shù)進(jìn)行簽名后,將隨機(jī)數(shù)與公鑰序號(hào)一起發(fā)送給應(yīng)用服務(wù)器;B12.應(yīng)用服務(wù)器將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端,并請(qǐng)求客戶端提交認(rèn)證標(biāo)識(shí),客戶端根據(jù)公鑰序號(hào)選擇公鑰后,對(duì)隨機(jī)數(shù)的數(shù)字簽名進(jìn)行驗(yàn)證,如果客戶端確認(rèn)該隨機(jī)數(shù)的發(fā)送方為客戶端認(rèn)證中心,則對(duì)隨機(jī)數(shù)和供應(yīng)商的簽名證書進(jìn)行加密運(yùn)算,并將客戶端自身的軟件版本號(hào)攜帶于加密后的簽名證書中,否則,結(jié)束本認(rèn)證流程;B13.客戶端將由加密證書及加密后的隨機(jī)數(shù)組成的客戶端認(rèn)證標(biāo)識(shí)發(fā)送給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器將客戶端認(rèn)證標(biāo)識(shí)提交給客戶端認(rèn)證中心;B14.客戶端認(rèn)證中心對(duì)認(rèn)證標(biāo)識(shí)解密后進(jìn)行鑒權(quán),然后將鑒權(quán)結(jié)果通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給應(yīng)用服務(wù)器。
4.如權(quán)利要求3所述的方法,其特征在于,采用客戶端接入歸屬區(qū)的認(rèn)證用戶身份和軟件方式,則所述的步驟B11進(jìn)一步包括客戶端認(rèn)證中心將隨機(jī)數(shù)與公鑰序號(hào)發(fā)送給應(yīng)用服務(wù)器的同時(shí),要求應(yīng)用服務(wù)器提供有效的用戶標(biāo)識(shí),而后,應(yīng)用服務(wù)器對(duì)用戶的身份進(jìn)行認(rèn)證,如果用戶的身份合法,則繼續(xù)執(zhí)行步驟B12,否則,拒絕其接入應(yīng)用服務(wù)器,并結(jié)束客戶端接入歸屬區(qū)的用戶身份和軟件認(rèn)證流程;所述的步驟B12進(jìn)一步包括應(yīng)用服務(wù)器將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端的同時(shí),判斷自身是否含有該客戶端的用戶標(biāo)識(shí),如果是,則要求客戶端提交包含軟件認(rèn)證標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí),否則,要求客戶端提供包含軟件認(rèn)證標(biāo)識(shí)和用戶標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí)。
5.如權(quán)利要求4所述的方法,其特征在于,所述的步驟B12進(jìn)一步包括如果客戶端確認(rèn)該隨機(jī)數(shù)的發(fā)送方為客戶端認(rèn)證中心,則將用戶標(biāo)識(shí)加入到加密后的簽名證書中。
6.如權(quán)利要求1所述的方法,其特征在于,所述客戶端接入拜訪區(qū),則所述的客戶端認(rèn)證中心包括歸屬區(qū)客戶端認(rèn)證中心和拜訪區(qū)客戶端認(rèn)證中心。
7.如權(quán)利要求1或6所述的方法,其特征在于,所述的步驟B包括以下步驟B21.應(yīng)用服務(wù)器向拜訪區(qū)客戶端認(rèn)證中心請(qǐng)求該客戶端的加密公鑰序號(hào)以及含有客戶端認(rèn)證中心用相應(yīng)私鑰簽名的隨機(jī)數(shù),而后,拜訪區(qū)客戶端認(rèn)證中心向該客戶端的歸屬區(qū)客戶端認(rèn)證中心發(fā)送加密公鑰序號(hào)請(qǐng)求,歸屬區(qū)客戶端認(rèn)證中心根據(jù)客戶端的版本信息參數(shù)選擇隨機(jī)數(shù)和公鑰序號(hào),并使用相應(yīng)私鑰對(duì)隨機(jī)數(shù)進(jìn)行簽名后,將隨機(jī)數(shù)與公鑰序號(hào)一起發(fā)送給拜訪區(qū)客戶端認(rèn)證中心,拜訪區(qū)客戶端認(rèn)證中心再對(duì)應(yīng)用服務(wù)器進(jìn)行加密公鑰序號(hào)應(yīng)答;B22.應(yīng)用服務(wù)器將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端,并請(qǐng)求客戶端提交認(rèn)證標(biāo)識(shí),客戶端根據(jù)公鑰序號(hào)選擇公鑰后,對(duì)隨機(jī)數(shù)的數(shù)字簽名進(jìn)行驗(yàn)證,如果客戶端確認(rèn)該隨機(jī)數(shù)的發(fā)送方為客戶端認(rèn)證中心,則對(duì)隨機(jī)數(shù)和供應(yīng)商的簽名證書進(jìn)行加密運(yùn)算,并將客戶端自身的軟件版本號(hào)攜帶于加密后的簽名證書中,否則,結(jié)束本認(rèn)證流程;B23.客戶端將由加密證書及加密后的隨機(jī)數(shù)組成的客戶端認(rèn)證標(biāo)識(shí)發(fā)送給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器將客戶端認(rèn)證標(biāo)識(shí)提交給拜訪區(qū)客戶端認(rèn)證中心,拜訪區(qū)客戶端認(rèn)證中心向歸屬區(qū)客戶端認(rèn)證中心發(fā)送認(rèn)證請(qǐng)求,提交客戶端認(rèn)證標(biāo)識(shí);B24.歸屬區(qū)客戶端認(rèn)證中心對(duì)認(rèn)證標(biāo)識(shí)解密后進(jìn)行鑒權(quán),然后將結(jié)果通過(guò)認(rèn)證應(yīng)答的方式發(fā)送給拜訪區(qū)客戶端認(rèn)證中心,拜訪區(qū)客戶端認(rèn)證中心再將結(jié)果發(fā)送給應(yīng)用服務(wù)器。
8.如權(quán)利要求7所述的方法,其特征在于,采用客戶端接入拜訪區(qū)的認(rèn)證用戶身份和軟件方式,則所述的B21進(jìn)一步包括客戶端認(rèn)證中心將隨機(jī)數(shù)與公鑰序號(hào)發(fā)送給應(yīng)用服務(wù)器的同時(shí),要求應(yīng)用服務(wù)器提供有效的用戶標(biāo)識(shí),而后,應(yīng)用服務(wù)器對(duì)用戶的身份進(jìn)行認(rèn)證,如果用戶的身份合法,則繼續(xù)執(zhí)行步驟B22,否則,拒絕其接入應(yīng)用服務(wù)器,并結(jié)束客戶端接入歸屬區(qū)的用戶身份和軟件認(rèn)證流程;所述的步驟B22進(jìn)一步包括應(yīng)用服務(wù)器將隨機(jī)數(shù)和公鑰序號(hào)下發(fā)給客戶端的同時(shí),判斷自身是否含有該客戶端的用戶標(biāo)識(shí),如果是,則要求客戶端提交包含軟件認(rèn)證標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí),否則,要求客戶端提供包含軟件認(rèn)證標(biāo)識(shí)和用戶標(biāo)識(shí)的客戶端認(rèn)證標(biāo)識(shí)。
9.如權(quán)利要求8所述的方法,其特征在于,所述的步驟B22進(jìn)一步包括如果客戶端確認(rèn)該隨機(jī)數(shù)的發(fā)送方為客戶端認(rèn)證中心,則還要將用戶標(biāo)識(shí)加入到加密后的簽名證書中。
全文摘要
一種客戶端認(rèn)證的方法,設(shè)置對(duì)客戶端進(jìn)行認(rèn)證的客戶端認(rèn)證中心,并將所設(shè)置的客戶端認(rèn)證中心與應(yīng)用服務(wù)器連接,該方法還包括以下步驟A.客戶端對(duì)應(yīng)用服務(wù)器發(fā)起攜帶客戶端軟件版本信息的接入請(qǐng)求,應(yīng)用服務(wù)器再向客戶端認(rèn)證中心發(fā)起對(duì)該客戶端進(jìn)行認(rèn)證的請(qǐng)求;B.客戶端認(rèn)證中心對(duì)客戶端的信息進(jìn)行認(rèn)證;C.判斷客戶端是否通過(guò)步驟B中的認(rèn)證,如果通過(guò),則應(yīng)用服務(wù)器接受所述客戶端的接入請(qǐng)求,否則,拒絕該客戶端的接入請(qǐng)求。該方法有效地避免了非法用戶通過(guò)客戶端與服務(wù)器建立連接而發(fā)起的惡意攻擊,規(guī)范了網(wǎng)絡(luò)秩序;同時(shí)也方便運(yùn)營(yíng)商對(duì)用戶的行為進(jìn)行規(guī)范和管理。
文檔編號(hào)H04L9/32GK1728636SQ20041007031
公開(kāi)日2006年2月1日 申請(qǐng)日期2004年7月29日 優(yōu)先權(quán)日2004年7月29日
發(fā)明者羅龍 申請(qǐng)人:華為技術(shù)有限公司