欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

初始會(huì)話協(xié)議應(yīng)用網(wǎng)絡(luò)及建立安全通道的裝置和方法

文檔序號(hào):7966492閱讀:429來(lái)源:國(guó)知局
專利名稱:初始會(huì)話協(xié)議應(yīng)用網(wǎng)絡(luò)及建立安全通道的裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及移動(dòng)通信網(wǎng)絡(luò)的安全技術(shù),特別涉及初始會(huì)話協(xié)議應(yīng)用網(wǎng)絡(luò)及建立安全通道的裝置和方法。
背景技術(shù)
為了保障網(wǎng)絡(luò)安全,初始會(huì)話協(xié)議(Session Initiated Protocol,SIP)應(yīng)用網(wǎng)絡(luò),例如IP多媒體子系統(tǒng)(Internet Protocol Multimedia Subsystem,IMS),需要對(duì)終端的接入進(jìn)行認(rèn)證,并支持終端與網(wǎng)絡(luò)之間建立用于保證通信安全的安全通道。
SIP應(yīng)用網(wǎng)絡(luò)可以通過(guò)鑒權(quán)和密鑰協(xié)定(Authentication and KeyAgreement,AKA)機(jī)制,對(duì)終端的接入進(jìn)行認(rèn)證。圖1為現(xiàn)有技術(shù)中通過(guò)AKA機(jī)制對(duì)終端進(jìn)行認(rèn)證的方法流程圖。如圖1所示,以SIP應(yīng)用網(wǎng)絡(luò)為IMS為例,以網(wǎng)絡(luò)服務(wù)器包括服務(wù)-呼叫會(huì)話控制功能單元(Serving-CallSession Control Function,S-CSCF)和代理-呼叫會(huì)話控制功能單元(Proxy-Call Session Control Function,P-CSCF)為例,現(xiàn)有技術(shù)中對(duì)終端進(jìn)行認(rèn)證的方法包括以下步驟步驟101~步驟104,終端向網(wǎng)絡(luò)發(fā)起注冊(cè)請(qǐng)求,將注冊(cè)(REGISTER)信息發(fā)送到S-CSCF,該S-CSCF是查詢-呼叫會(huì)話控制功能單元(Inquiry-CallSession Control Function,I-CSCF)通過(guò)與用戶歸屬服務(wù)器(Home SubscriberServer,HSS)進(jìn)行信息交互來(lái)選定的。
步驟105~步驟108,S-CSCF向HSS請(qǐng)求獲取鑒權(quán)信息后,接收來(lái)自HSS的,包括加密密鑰(IK)和完整性密鑰(CK)的鑒權(quán)五元組,并將IK和CK攜帶于作為響應(yīng)的認(rèn)證挑戰(zhàn)(Auth-Challenge)信息,發(fā)送到P-CSCF,P-CSCF保存IK和CK,并將不攜帶IK和CK的認(rèn)證挑戰(zhàn)信息發(fā)送給終端。
步驟109~步驟117,終端根據(jù)認(rèn)證挑戰(zhàn)信息及其攜帶的其他信息,對(duì)網(wǎng)絡(luò)設(shè)備是否可信進(jìn)行認(rèn)證。如驗(yàn)證通過(guò),網(wǎng)絡(luò)設(shè)備可信,則計(jì)算出IK、CK、以及回應(yīng)(response)信息,并通過(guò)REGISTER消息,將攜帶response信息的認(rèn)證響應(yīng),發(fā)送給S-CSCF;S-CSCF根據(jù)response信息對(duì)終端進(jìn)行認(rèn)證,并在認(rèn)證成功后,將認(rèn)證成功信息發(fā)送給終端。
在上述的認(rèn)證過(guò)程中,網(wǎng)絡(luò)服務(wù)器中的P-CSCF和終端均獲取了用于建立安全通道的密鑰,IK和CK,因而可以根據(jù)IK和CK建立因特網(wǎng)協(xié)議安全(IP Security,IPSec)類型的安全通道。
然而,在實(shí)際應(yīng)用中,部分終端不支持AKA機(jī)制的認(rèn)證,因此,SIP應(yīng)用網(wǎng)絡(luò)還可以通過(guò)超文本傳輸協(xié)議(Hypertext Transfer Protocol,HTTP)摘要(Digest)機(jī)制,對(duì)終端的接入進(jìn)行認(rèn)證,網(wǎng)絡(luò)服務(wù)器可以根據(jù)終端發(fā)送的注冊(cè)請(qǐng)求,判斷對(duì)終端進(jìn)行認(rèn)證應(yīng)采用的認(rèn)證機(jī)制。圖2為現(xiàn)有技術(shù)中通過(guò)HTTP Digest機(jī)制對(duì)終端進(jìn)行認(rèn)證的方法流程圖。如圖2所示,以SIP應(yīng)用網(wǎng)絡(luò)為IMS為例,以網(wǎng)絡(luò)服務(wù)器包括S-CSCF和P-CSCF為例,現(xiàn)有技術(shù)中對(duì)終端進(jìn)行認(rèn)證的方法包括以下步驟步驟201~步驟208,終端向網(wǎng)絡(luò)發(fā)起注冊(cè)請(qǐng)求,將REGISTER消息發(fā)送到S-CSCF;S-CSCF從HSS獲取用戶密碼,并根據(jù)注冊(cè)請(qǐng)求,生成認(rèn)證挑戰(zhàn)信息和萬(wàn)維網(wǎng)-鑒別(WWW-Authenticate)頭域,并將認(rèn)證挑戰(zhàn)信息及其他信息攜帶于WWW-Authenticate頭域中,發(fā)送到終端。
步驟209~步驟216,終端根據(jù)WWW-Authenticate頭域中的內(nèi)容,對(duì)網(wǎng)絡(luò)是否可信進(jìn)行認(rèn)證。如驗(yàn)證通過(guò),網(wǎng)絡(luò)可信,則計(jì)算response參數(shù),生成包括response參數(shù)的鑒權(quán)(Authorization)頭域,將認(rèn)證響應(yīng)信息攜帶于Authorization頭域中,通過(guò)REGISTER消息將Authorization頭域發(fā)送給S-CSCF;S-CSCF根據(jù)Authorization頭域中的response參數(shù)對(duì)終端進(jìn)行認(rèn)證,并在認(rèn)證成功后,將認(rèn)證成功信息發(fā)送給終端。
在上述的認(rèn)證過(guò)程中,網(wǎng)絡(luò)服務(wù)器和終端均沒(méi)有獲取到用于建立安全通道的密鑰,因而無(wú)法建立IPSec類型的安全通道。
可見(jiàn),現(xiàn)有技術(shù)在SIP應(yīng)用網(wǎng)絡(luò)通過(guò)HTTP Digest機(jī)制對(duì)終端進(jìn)行認(rèn)證的情況下,網(wǎng)絡(luò)服務(wù)器和終端之間無(wú)法建立IPSec類型的安全通道,使得SIP應(yīng)用網(wǎng)絡(luò)的安全性和可靠性不高。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的一個(gè)主要目的在于提供一種初始會(huì)話協(xié)議應(yīng)用網(wǎng)絡(luò),能夠在通過(guò)HTTP Digest機(jī)制對(duì)用戶設(shè)備進(jìn)行認(rèn)證的情況下,支持用戶設(shè)備和網(wǎng)絡(luò)服務(wù)器之間建立安全通道。
本發(fā)明的另一個(gè)主要目的在于提供一種建立安全通道的裝置,能夠在網(wǎng)絡(luò)通過(guò)HTTP Digest機(jī)制對(duì)用戶設(shè)備進(jìn)行認(rèn)證的情況下,支持用戶設(shè)備和網(wǎng)絡(luò)服務(wù)器之間建立安全通道。
本發(fā)明的第三個(gè)主要目的在于提供一種建立安全通道的方法,能夠在通過(guò)HTTP Digest機(jī)制對(duì)用戶設(shè)備進(jìn)行認(rèn)證的情況下,支持用戶設(shè)備和網(wǎng)絡(luò)服務(wù)器之間建立安全通道。
根據(jù)上述的一個(gè)主要目的,本發(fā)明提供了一種初始會(huì)話協(xié)議應(yīng)用網(wǎng)絡(luò),包括終端和網(wǎng)絡(luò)服務(wù)器,其中,所述終端,用于向網(wǎng)絡(luò)服務(wù)器發(fā)送注冊(cè)請(qǐng)求;根據(jù)來(lái)自網(wǎng)絡(luò)服務(wù)器的響應(yīng)信息和所述終端內(nèi)部保存的信息,計(jì)算密鑰;根據(jù)計(jì)算出的,與網(wǎng)絡(luò)服務(wù)器密鑰相同的密鑰,與網(wǎng)絡(luò)服務(wù)器建立安全通道;所述網(wǎng)絡(luò)服務(wù)器,用于接收來(lái)自終端的注冊(cè)請(qǐng)求;根據(jù)注冊(cè)請(qǐng)求和所述網(wǎng)絡(luò)服務(wù)器保存的信息,計(jì)算密鑰,并保存密鑰,向終端發(fā)送響應(yīng)信息。
所述網(wǎng)絡(luò)服務(wù)器進(jìn)一步包括用戶歸屬服務(wù)器HSS,用于與網(wǎng)絡(luò)服務(wù)器進(jìn)行信息交互,將用于計(jì)算IK和CK的參數(shù)發(fā)送給網(wǎng)絡(luò)服務(wù)器;所述參數(shù)包括用戶密碼password;所述網(wǎng)絡(luò)服務(wù)器進(jìn)一步接收所述來(lái)自HSS的參數(shù),并根據(jù)所述來(lái)自HSS的參數(shù)計(jì)算IK和CK。
所述網(wǎng)絡(luò)服務(wù)器包括服務(wù)-呼叫會(huì)話功能單元S-CSCF和代理-呼叫會(huì)話功能單元P-CSCF,所述S-CSCF,用于接收來(lái)自P-CSCF的包括擴(kuò)展頭域的注冊(cè)請(qǐng)求,從所述HSS獲取password;在根據(jù)注冊(cè)請(qǐng)求和擴(kuò)展頭域,判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立安全通道之后,根據(jù)注冊(cè)請(qǐng)求和password生成認(rèn)證挑戰(zhàn)信息,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和內(nèi)部存儲(chǔ)的參數(shù)計(jì)算IK和CK;將包括IK和CK以及認(rèn)證挑戰(zhàn)信息的響應(yīng)信息發(fā)送給P-CSCF,對(duì)終端的注冊(cè)請(qǐng)求進(jìn)行響應(yīng);所述P-CSCF,用于根據(jù)來(lái)自終端的注冊(cè)請(qǐng)求,確定終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型,并在注冊(cè)請(qǐng)求中添加用于表明安全通道類型的擴(kuò)展頭域;將包括所述擴(kuò)展頭域的注冊(cè)請(qǐng)求發(fā)送給S-CSCF;接收來(lái)自S-CSCF的包括加密密鑰IK和完整性密鑰CK的響應(yīng)信息,保存IK和CK,并將不包括IK和CK的響應(yīng)信息發(fā)送給終端;根據(jù)與終端的密鑰相同的IK和CK,與終端協(xié)商安全關(guān)聯(lián),建立安全通道;所述終端進(jìn)一步向P-CSCF發(fā)送注冊(cè)請(qǐng)求;接收來(lái)自P-CSCF的響應(yīng)信息;根據(jù)所述終端的用戶名username、password和來(lái)自P-CSCF的響應(yīng)信息,計(jì)算IK和CK;根據(jù)計(jì)算出的,與網(wǎng)絡(luò)服務(wù)器密鑰相同的IK和CK,與P-CSCF建立安全通道。
所述網(wǎng)絡(luò)服務(wù)器進(jìn)一步包括查詢-呼叫會(huì)話功能單元I-CSCF,用于與HSS進(jìn)行信息交互,為終端選擇指定的S-CSCF;將來(lái)自P-CSCF的包括擴(kuò)展頭域的注冊(cè)請(qǐng)求發(fā)送給所述指定的S-CSCF;將來(lái)自所述指定的S-CSCF的,包括IK和CK的響應(yīng)信息,發(fā)送給P-CSCF;所述P-CSCF進(jìn)一步將包括擴(kuò)展頭域的注冊(cè)請(qǐng)求發(fā)送給I-CSCF;接收來(lái)自I-CSCF的包括IK和CK的響應(yīng)信息,保存IK和CK;所述S-CSCF進(jìn)一步接收來(lái)自I-CSCF的包括擴(kuò)展頭域的注冊(cè)請(qǐng)求;將包括IK和CK的響應(yīng)信息發(fā)送給I-CSCF。
所述網(wǎng)絡(luò)服務(wù)器包括CSCF,用于接收來(lái)自終端的注冊(cè)請(qǐng)求,從所述HSS獲取password;在根據(jù)所述注冊(cè)請(qǐng)求,判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTPDigest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立安全通道之后,根據(jù)注冊(cè)請(qǐng)求和password生成認(rèn)證挑戰(zhàn)信息,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和內(nèi)部存儲(chǔ)的參數(shù)計(jì)算IK和CK;將包括IK和CK以及認(rèn)證挑戰(zhàn)信息的響應(yīng)信息發(fā)送給終端,對(duì)終端的注冊(cè)請(qǐng)求進(jìn)行響應(yīng)。
所述S-CSCF包括主控單元、判斷單元和計(jì)算單元,其中,所述主控單元,用于接收所述終端發(fā)起的注冊(cè)請(qǐng)求,與所述HSS進(jìn)行信息交互,獲取用戶的password,并將獲取到的password發(fā)送給計(jì)算單元;并將注冊(cè)請(qǐng)求發(fā)送到判斷單元;接收來(lái)自計(jì)算單元的IK和CK;將來(lái)自計(jì)算單元的IK和CK發(fā)送到外部P-CSCF;所述判斷單元,用于根據(jù)來(lái)自主控單元的注冊(cè)請(qǐng)求,判斷對(duì)終端進(jìn)行認(rèn)證的機(jī)制類型;根據(jù)注冊(cè)請(qǐng)求中的擴(kuò)展頭域,判斷終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型;在判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec之后,向計(jì)算單元發(fā)送注冊(cè)請(qǐng)求中的username和計(jì)算請(qǐng)求;所述計(jì)算單元,用于根據(jù)來(lái)自判斷單元的計(jì)算請(qǐng)求,通過(guò)哈希算法計(jì)算由來(lái)自判斷單元的username、內(nèi)部存儲(chǔ)的域realm、從所述HSS獲取的password順序組成的字符串;將哈希算法的計(jì)算結(jié)果與內(nèi)部存儲(chǔ)的參數(shù)nonce、保護(hù)質(zhì)量qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法,計(jì)算出32個(gè)字符的中間值,再將計(jì)算出的中間值分為兩個(gè)16個(gè)字符的字符串,分別作為IK和CK;將計(jì)算出的IK和CK發(fā)送到主控單元。
所述S-CSCF進(jìn)一步包括認(rèn)證單元,用于將來(lái)自計(jì)算單元的請(qǐng)求摘要request-digest與鑒權(quán)Authorization頭域中的回應(yīng)response參數(shù)進(jìn)行比較,在request-digest與response參數(shù)相同時(shí),認(rèn)證通過(guò),向主控單元發(fā)送認(rèn)證成功信息;所述主控單元進(jìn)一步接收來(lái)自終端的username和包括response參數(shù)的Authorization頭域,并將username和Authorization頭域發(fā)送給計(jì)算單元;將來(lái)自認(rèn)證單元的認(rèn)證成功信息向外部終端發(fā)送;所述計(jì)算單元進(jìn)一步根據(jù)來(lái)自主控單元的username和Authorization頭域中的內(nèi)容,通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將計(jì)算出的request-digest與Authorization頭域中的response參數(shù)發(fā)送到認(rèn)證單元;所述終端進(jìn)一步根據(jù)Method、所述終端的username和接收到的響應(yīng)信息,計(jì)算作為認(rèn)證響應(yīng)的response參數(shù),并生成包括response參數(shù)的Authorization頭域;將所述終端的username與包括response參數(shù)的Authorization頭域一起發(fā)送到S-CSCF,對(duì)認(rèn)證挑戰(zhàn)進(jìn)行響應(yīng)。
根據(jù)上述的另一個(gè)主要目的,本發(fā)明提供了一種建立安全通道的裝置,包括網(wǎng)絡(luò)服務(wù)器,用于接收來(lái)自外部終端的注冊(cè)請(qǐng)求;根據(jù)注冊(cè)請(qǐng)求和所述網(wǎng)絡(luò)服務(wù)器保存的信息,計(jì)算密鑰,并保存密鑰,向外部終端發(fā)送響應(yīng)信息。
所述網(wǎng)絡(luò)服務(wù)器包括服務(wù)-呼叫會(huì)話功能單元S-CSCF,所述S-CSCF包括主控單元、判斷單元和計(jì)算單元,其中,所述主控單元,用于接收來(lái)自外部的注冊(cè)請(qǐng)求,并將注冊(cè)請(qǐng)求發(fā)送到判斷單元;與外部網(wǎng)元進(jìn)行信息交互,獲取用戶的password,并將獲取到的password發(fā)送給計(jì)算單元;接收來(lái)自計(jì)算單元的加密密鑰IK和完整性密鑰CK;將來(lái)自計(jì)算單元的IK和CK提供給網(wǎng)絡(luò)服務(wù)器;所述判斷單元,用于根據(jù)來(lái)自主控單元的注冊(cè)請(qǐng)求,判斷對(duì)終端進(jìn)行認(rèn)證的機(jī)制類型;根據(jù)注冊(cè)請(qǐng)求中的擴(kuò)展頭域,判斷終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型;在判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec之后,向計(jì)算單元發(fā)送計(jì)算請(qǐng)求和注冊(cè)請(qǐng)求中的用戶名username;所述計(jì)算單元,用于根據(jù)來(lái)自判斷單元的計(jì)算請(qǐng)求,通過(guò)哈希算法,分別計(jì)算由來(lái)自判斷單元的username、內(nèi)部存儲(chǔ)的域realm、來(lái)自主控單元的用戶密碼password順序組成的字符串,和由摘要-資源標(biāo)志符digest-uri構(gòu)成的字符串;將兩個(gè)哈希算法的計(jì)算結(jié)果與內(nèi)部存儲(chǔ)的參數(shù)nonce、保護(hù)質(zhì)量qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算出32個(gè)字符的中間值,再將中間值分為兩個(gè)16個(gè)字符的字符串,分別作為IK和CK;將計(jì)算出的IK和CK發(fā)送到主控單元。
所述S-CSCF進(jìn)一步包括認(rèn)證單元,用于將來(lái)自計(jì)算單元的請(qǐng)求摘要request-digest與鑒權(quán)Authorization頭域中的response參數(shù)比較,在request-digest與response參數(shù)相同時(shí),認(rèn)證通過(guò),向主控單元發(fā)送認(rèn)證成功信息;所述主控單元進(jìn)一步接收來(lái)自外部的username和包括response參數(shù)的Authorization頭域,并將username和Authorization頭域發(fā)送給計(jì)算單元;將來(lái)自認(rèn)證單元的認(rèn)證成功信息發(fā)送到外部;所述計(jì)算單元進(jìn)一步根據(jù)來(lái)自主控單元的username和Authorization頭域中的內(nèi)容,通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將計(jì)算出的request-digest與Authorization頭域中的response參數(shù)發(fā)送到認(rèn)證單元。
根據(jù)上述的第三個(gè)主要目的,本發(fā)明提供了一種建立安全通道的方法,包括以下步驟A、接收來(lái)自終端的注冊(cè)請(qǐng)求,根據(jù)注冊(cè)請(qǐng)求和網(wǎng)絡(luò)服務(wù)器保存的信息計(jì)算密鑰,并保存計(jì)算出的密鑰,向終端發(fā)送響應(yīng)信息;B、終端根據(jù)接收到的響應(yīng)信息和所述終端內(nèi)部保存的信息,計(jì)算密鑰;C、終端與網(wǎng)絡(luò)服務(wù)器使用所述計(jì)算出的密鑰,建立安全通道。
所述步驟A為A1、P-CSCF根據(jù)來(lái)自終端的注冊(cè)請(qǐng)求中的安全通道類型列表,確定與終端建立安全通道的類型,并在注冊(cè)請(qǐng)求中,添加用于表明建立安全通道類型擴(kuò)展頭域,將包括所述擴(kuò)展頭域的注冊(cè)請(qǐng)求發(fā)送到S-CSCF;A2、S-CSCF接收來(lái)自P-CSCF的,包括擴(kuò)展頭域的注冊(cè)請(qǐng)求,根據(jù)REGISTER消息,從HSS獲取用戶密碼password,并判斷網(wǎng)絡(luò)服務(wù)器是否對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型是否為IPSec,如果是,則執(zhí)行步驟A3;A3、根據(jù)注冊(cè)請(qǐng)求和password生成認(rèn)證挑戰(zhàn)信息,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和內(nèi)部存儲(chǔ)的參數(shù),計(jì)算加密密鑰IK和完整性密鑰CK,將包括IK和CK以及認(rèn)證挑戰(zhàn)的響應(yīng)信息發(fā)送給P-CSCF,對(duì)終端的注冊(cè)請(qǐng)求進(jìn)行響應(yīng);A4、P-CSCF保存IK和CK,并將不包括IK和CK的響應(yīng)信息發(fā)送給終端。
所述步驟A為CSCF根據(jù)來(lái)自終端的注冊(cè)請(qǐng)求,從HSS獲取用戶密碼password,并判斷是否對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型是否為IPSec,如果是,則根據(jù)注冊(cè)請(qǐng)求和password生成認(rèn)證挑戰(zhàn)信息,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和內(nèi)部存儲(chǔ)的參數(shù)計(jì)算IK和CK,生成認(rèn)證挑戰(zhàn)信息,保存IK和CK,并將包括認(rèn)證挑戰(zhàn)的響應(yīng)信息發(fā)送給終端。
步驟B所述計(jì)算IK和CK之前進(jìn)一步包括終端根據(jù)所述終端的用戶名username、password和來(lái)自P-CSCF的響應(yīng)信息計(jì)算IK和CK。
所述計(jì)算IK和CK為通過(guò)哈希算法,分別計(jì)算由username、域realm、password順序組成的字符串,和由參數(shù)摘要-資源標(biāo)志符digest-uri構(gòu)成的字符串;將得到的哈希算法的計(jì)算結(jié)果,與內(nèi)部存儲(chǔ)的參數(shù)nonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算出32個(gè)字符的中間值;將中間值的任意16個(gè)字符作為IK,將中間值的其余16個(gè)字符作為CK。
所述步驟B之后步驟C之前進(jìn)一步包括終端計(jì)算response參數(shù),并將username和包括response參數(shù)的鑒權(quán)Authorization頭域,發(fā)送到網(wǎng)絡(luò)服務(wù)器的S-CSCF。
所述步驟C之后進(jìn)一步包括終端計(jì)算response參數(shù),并將username和包括response參數(shù)的鑒權(quán)Authorization頭域,發(fā)送到網(wǎng)絡(luò)服務(wù)器的S-CSCF。
所述計(jì)算response參數(shù)為通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)方法Method和digest-uri順序組成的字符串;將哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將request-digest賦值給response參數(shù)。
所述將username和包括response參數(shù)的Authorization頭域發(fā)送到網(wǎng)絡(luò)服務(wù)器之后進(jìn)一步包括網(wǎng)絡(luò)服務(wù)器根據(jù)Authorization頭域中的response參數(shù),對(duì)用戶進(jìn)行認(rèn)證,如果認(rèn)證成功,將認(rèn)證成功信息發(fā)送給終端。
所述對(duì)用戶進(jìn)行認(rèn)證為網(wǎng)絡(luò)服務(wù)器通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)方法Method和digest-uri順序組成的字符串;將哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將request-digest與Authorization頭域中的response參數(shù)進(jìn)行比較,如果所述request-digest與所述response參數(shù)相同,則認(rèn)證通過(guò)。
由此可見(jiàn),本發(fā)明的技術(shù)方案在通過(guò)HTTP Digest機(jī)制進(jìn)行認(rèn)證的過(guò)程中,由網(wǎng)絡(luò)服務(wù)器和終端分別計(jì)算出用于建立安全通道的密鑰,從而使得網(wǎng)絡(luò)服務(wù)器和終端之間共享了相同的密鑰,能夠協(xié)商出安全關(guān)聯(lián),建立安全通道,提高了SIP應(yīng)用網(wǎng)絡(luò)的安全性和可靠性。
而且,本發(fā)明的技術(shù)方案,還通過(guò)在終端向網(wǎng)絡(luò)服務(wù)器發(fā)送注冊(cè)請(qǐng)求的過(guò)程中,由網(wǎng)絡(luò)服務(wù)器中的P-CSCF在注冊(cè)請(qǐng)求中增加了一個(gè)表示安全通道類型的擴(kuò)展頭域,從而使得網(wǎng)絡(luò)服務(wù)器中的S-CSCF能夠獲知網(wǎng)絡(luò)服務(wù)器與終端之間的安全通道類型。


圖1為現(xiàn)有技術(shù)中通過(guò)AKA機(jī)制對(duì)終端進(jìn)行認(rèn)證的方法流程圖;圖2為現(xiàn)有技術(shù)中通過(guò)HTTP Digest機(jī)制對(duì)終端進(jìn)行認(rèn)證的方法流程圖;圖3為本發(fā)明中建立安全通道的方法的示例性流程圖;圖4為本發(fā)明實(shí)施例一中SIP應(yīng)用網(wǎng)絡(luò)的結(jié)構(gòu)圖;圖5為本發(fā)明實(shí)施例一中建立安全通道的裝置的結(jié)構(gòu)圖;圖6為本發(fā)明實(shí)施例一中建立安全通道的方法流程圖;圖7為本發(fā)明實(shí)施例二中SIP應(yīng)用網(wǎng)絡(luò)的結(jié)構(gòu)圖;圖8為本發(fā)明實(shí)施例二中建立安全通道的方法流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明的基本思想為在通過(guò)HTTP Digest機(jī)制對(duì)終端進(jìn)行認(rèn)證的過(guò)程中,由網(wǎng)絡(luò)服務(wù)器和終端分別計(jì)算出用于建立安全通道的密鑰,從而使得網(wǎng)絡(luò)服務(wù)器和終端之間共享了了用于建立安全通道的密鑰,采用該密鑰建立安全通道。
圖3為本發(fā)明中建立安全通道的方法的示例性流程圖。如圖3所示,建立安全通道的方法包括以下步驟步驟301,接收來(lái)自終端的注冊(cè)請(qǐng)求,根據(jù)注冊(cè)請(qǐng)求和網(wǎng)絡(luò)服務(wù)器保存的信息計(jì)算密鑰,并保存計(jì)算出的密鑰,向終端發(fā)送響應(yīng)信息;步驟302,終端根據(jù)接收到的響應(yīng)信息和終端內(nèi)部保存的信息,計(jì)算密鑰;步驟303,終端與網(wǎng)絡(luò)服務(wù)器使用計(jì)算出的密鑰,建立安全通道。
其中,網(wǎng)絡(luò)服務(wù)器判斷對(duì)終端采用何種認(rèn)證機(jī)制,是通過(guò)網(wǎng)絡(luò)服務(wù)器識(shí)別作為注冊(cè)請(qǐng)求的REGISTER消息中的內(nèi)容來(lái)實(shí)現(xiàn)的,例如Authorization頭域內(nèi)容,也可以通過(guò)自身保存的用戶簽約數(shù)據(jù)來(lái)判斷;當(dāng)網(wǎng)絡(luò)服務(wù)器判斷出對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證之后,開(kāi)始執(zhí)行上述流程。
本發(fā)明中網(wǎng)絡(luò)服務(wù)器和終端計(jì)算密鑰的方法,可分為兩個(gè)步驟,第一個(gè)步驟首先計(jì)算出中間值,此中間值的計(jì)算方法利用了一般情況下,在HTTPDigest認(rèn)證過(guò)程中計(jì)算request-digest的基本流程和算法。第二步驟,依據(jù)中間值生成用于建立安全通道的IK和CK。
HTTP Digest認(rèn)證是以“認(rèn)證挑戰(zhàn)-認(rèn)證回應(yīng)”(“challenge-response”)的基本方式來(lái)完成的,通過(guò)WWW-Authenticate頭域攜帶“認(rèn)證挑戰(zhàn)”信息,通過(guò)Authorization頭域攜帶“認(rèn)證回應(yīng)”信息。
通常,WWW-Authenticate中包括的主要參數(shù)有域(realm)=″biloxi.com″,保護(hù)質(zhì)量(qop)=″auth,auth-int″,nonce=″dcd98b7102dd2f0e8b11d0f600bfb0c093″,opaque=″5ccc069c403ebaf9f0171e9517f40e41″。
其中參數(shù)realm用于表明其當(dāng)前正接受來(lái)自哪個(gè)域的認(rèn)證;參數(shù)qop的值為“auth”,表明僅做用戶認(rèn)證;為“auth-int”,指示同時(shí)做用戶認(rèn)證和消息體完整性保護(hù);參數(shù)nonce由網(wǎng)絡(luò)側(cè)產(chǎn)生,標(biāo)識(shí)與網(wǎng)絡(luò)側(cè)本地時(shí)間關(guān)聯(lián),終端在回復(fù)的Authorization認(rèn)證響應(yīng)頭域中,攜帶nonce中的原有內(nèi)容,這樣網(wǎng)絡(luò)側(cè)可以根據(jù)此nonce中的內(nèi)容得知當(dāng)時(shí)生成此nonce參數(shù)的時(shí)間,即發(fā)送WWW-Authenticate認(rèn)證請(qǐng)求的時(shí)間,與當(dāng)前收到Authorization的時(shí)間相比較,如果兩個(gè)時(shí)間相差過(guò)大,表明受到“重放”攻擊。
終端根據(jù)帳號(hào)及收到的WWW-Authenticate內(nèi)容產(chǎn)生Authorization頭域主要包括用戶名(username)=″UserB″,realm=″biloxi.com″,nonce=″dcd98b7102dd2f0e8b11d0f600bfb0c093″,uri=″sip:bob@biloxi.com″,qop=auth,nc=00000001,cnonce=″0a4f113b″,response=″6629fae49393a05397450978507c4ef1″,opaque=″5ccc069c403ebaf9f0171e9517f40e41″其中參數(shù)username用于向網(wǎng)絡(luò)服務(wù)器表明終端的身份。
參數(shù)nc表明這是第幾次使用同一個(gè)參數(shù)nonce生成認(rèn)證回應(yīng)。當(dāng)網(wǎng)絡(luò)側(cè)收到同一個(gè)nc-value兩次或以上,表明受到了“重放”方式的攻擊。
參數(shù)cnonce用于終端對(duì)網(wǎng)絡(luò)的認(rèn)證,由用戶終端生成并被網(wǎng)絡(luò)側(cè)在Authentication-Info頭域中被帶回。
參數(shù)response用于驗(yàn)證用戶身份,由終端根據(jù)username、用戶密碼password、realm、nonce、uri等參數(shù)的值進(jìn)行計(jì)算得到。網(wǎng)絡(luò)側(cè)也根據(jù)這些輸入數(shù)據(jù),和相同的算法得到一串?dāng)?shù)據(jù),若兩者相相等,則證明用戶的密碼正確,以此證明用戶的身份。生成response參數(shù)(即request-digest)的算法如下request-digest=<″><KD(H(A1),unq(nonce-value)″:″nc-value″:″unq(cnonce-value)″:″unq(qop-value)″:″H(A2)) <″>
其中A1與A2的計(jì)算分別如下
A1=unq(username-value)″:″unq(realm-value)″:″passwdA2=Method″:″digest-uri-value上述計(jì)算過(guò)程中,password為預(yù)先設(shè)置在終端中的密碼或用戶輸入的密碼,設(shè)置在終端的password和設(shè)置在網(wǎng)絡(luò)服務(wù)器的password必須相同;網(wǎng)絡(luò)服務(wù)器中的password通過(guò)訪問(wèn)HSS或者訪問(wèn)第三方網(wǎng)元來(lái)獲得;method表示終端向網(wǎng)絡(luò)服務(wù)器發(fā)送的請(qǐng)求消息的類型,例如本發(fā)明中,method的參數(shù)值表示終端通過(guò)REGISTER消息向網(wǎng)絡(luò)服務(wù)器發(fā)送信息,終端在確認(rèn)以何種方式向網(wǎng)絡(luò)服務(wù)器發(fā)送信息之后,能夠獲取method的參數(shù)值,網(wǎng)絡(luò)服務(wù)器在接收到終端發(fā)送的信息之后,即可獲知請(qǐng)求類型,進(jìn)而獲取method的參數(shù)值;digest-uri-value即相應(yīng)的請(qǐng)求消息的request-uri值,在Authorization的uri參數(shù)中攜帶。其余參數(shù),“nonce-value、qop-value、realm-value”為認(rèn)證挑戰(zhàn)中的信息,“nc-value、cnonce-value”為認(rèn)證回應(yīng)中的信息。
終端將上述參數(shù)作為計(jì)算參數(shù),通過(guò)密鑰生成(KD)算法、哈希(H)算法,計(jì)算出請(qǐng)求摘要(request-digest),再將request-digest賦值給response參數(shù),具體計(jì)算過(guò)程如下request-digest=<″><KD(H(A1),unq(nonce-value)″:″nc-value″:″unq(cnonce-value)″:″unq(qop-value)″:″H(A2)) <″>
其中,A1為由參數(shù)username、realm、password順序組成的字符串、A2為由參數(shù)Method和digest-uri順序組成的字符串,A1和A2分別表示為A1=unq(username-value)″:″unq(realm-value)″:″passwdA2=Method″:″digest-uri-value其中,由于部分參數(shù)表示為帶引號(hào)的字符串,例如realm=″biloxi.com″,因此通過(guò)unq指令取值,將引號(hào)中包括的字符作為算法輸入值。而nc等參數(shù)為不帶引號(hào)的數(shù)字串,因此,不需要通過(guò)unq指令來(lái)取值。
在計(jì)算出request-digest之后,將計(jì)算結(jié)果賦值給response參數(shù),發(fā)送給網(wǎng)絡(luò)服務(wù)器進(jìn)行認(rèn)證。
本發(fā)明中,網(wǎng)絡(luò)服務(wù)器收到注冊(cè)請(qǐng)求,即依據(jù)認(rèn)證挑戰(zhàn)相關(guān)信息計(jì)算中間值,還未接收到終端的認(rèn)證回應(yīng)信息,因此,參數(shù)nc和cnonce等與認(rèn)證回應(yīng)相關(guān)的信息不做為輸入?yún)?shù)參與中間值計(jì)算。
另外,本發(fā)明中,終端是在收到網(wǎng)絡(luò)服務(wù)器的認(rèn)證挑戰(zhàn)后計(jì)算中間值,此時(shí)終端無(wú)法獲取method和digest-uri,因此,這兩個(gè)參數(shù)也不作為參數(shù)參與中間值計(jì)算。終端和網(wǎng)絡(luò)服務(wù)器計(jì)算用于獲取密鑰的中間值,所使用的參數(shù)僅包括username、realm、password、nonce、qop。終端和網(wǎng)絡(luò)服務(wù)器均將上述參數(shù)作為計(jì)算參數(shù),通過(guò)密鑰生成算法、哈希算法,并按照與上述計(jì)算過(guò)程類似的流程,計(jì)算出用于生成中間值的中間值,具體計(jì)算過(guò)程如下中間值=<″><KD(H(A1),unq(nonce-value)″:″unq(qop-value))<″>
其中,A1為由參數(shù)username、realm、password順序組成的字符串、A2為由參數(shù)digest-uri構(gòu)成的字符串,A1表示為A1=unq(username-value)″:″unq(realm-value)″:″passwd其中,由于部分參數(shù)表示為字符串,例如realm=″biloxi.com″,因此通過(guò)unq指令,將引號(hào)中包括的字符作為算法輸入值。而passwd等參數(shù)為不帶引號(hào)的數(shù)字串,因此,不需要通過(guò)unq指令來(lái)取值。
上述過(guò)程中,method和digest-uri都不作為輸入?yún)?shù),因此原計(jì)算過(guò)程中的A2不作為本發(fā)明計(jì)算過(guò)程的參數(shù)。但是,除以上方法外,計(jì)算中間值的方法還可以通過(guò)其他計(jì)算過(guò)程來(lái)實(shí)現(xiàn)。例如,在注冊(cè)過(guò)程中,終端和網(wǎng)絡(luò)服務(wù)器約定method為REGISTER,同時(shí),約定digest-uri為服務(wù)器的域名,則這兩個(gè)參數(shù)也可以作為參與計(jì)算中間值的參數(shù)。
在通過(guò)上述過(guò)程計(jì)算出中間值后,依據(jù)此中間值計(jì)算IK和CK。
通過(guò)上述計(jì)算過(guò)程,得到的中間值為32個(gè)字符的字符串,而建立安全通道所需的IK和CK均為16個(gè)字符的字符串,因此,在計(jì)算出中間值之后,將該信息分為兩個(gè)16個(gè)字符的字符串,將兩個(gè)字符串分別作為IK和CK。
實(shí)現(xiàn)上述計(jì)算IK和CK的過(guò)程,只需要對(duì)現(xiàn)有的SIP應(yīng)用網(wǎng)絡(luò)進(jìn)行簡(jiǎn)單的改造,使得本發(fā)明的技術(shù)方案易于使用和推廣,為本發(fā)明中的一個(gè)較佳方案。本發(fā)明計(jì)算密鑰的具體過(guò)程,也可以通過(guò)其他計(jì)算方法和流程來(lái)實(shí)現(xiàn)。
在計(jì)算出IK和CK之后,類似現(xiàn)有的IMS AKA注冊(cè)過(guò)程,終端與網(wǎng)絡(luò)服務(wù)器建立安全通道。安全通道建立成功后,終端計(jì)算request-digest,并賦值給response參數(shù),發(fā)送給網(wǎng)絡(luò)服務(wù)器進(jìn)行認(rèn)證。
前述過(guò)程描述適用于SIP應(yīng)用網(wǎng)絡(luò),以下以該SIP應(yīng)用網(wǎng)絡(luò)為IMS系統(tǒng)為例具體說(shuō)明。
對(duì)本發(fā)明的SIP應(yīng)用網(wǎng)絡(luò)、建立安全通道的裝置和方法進(jìn)行詳細(xì)說(shuō)明。
實(shí)施例一本實(shí)施例以網(wǎng)絡(luò)服務(wù)器包括S-CSCF、I-CSCF和P-CSCF為例。
現(xiàn)有的IMS中,終端在發(fā)起認(rèn)證注冊(cè)時(shí)發(fā)送的REGISTER消息,包括終端支持安全通道類型列表,P-CSCF在接收到該REGISTER消息后,根據(jù)自身配置的數(shù)據(jù)與安全通道類型列表,確定與終端建立何種類型的安全通道,并在獲取密鑰后,準(zhǔn)備與終端建立安全通道,但S-CSCF無(wú)法獲知安全通道的類型。
本實(shí)施例中,網(wǎng)絡(luò)服務(wù)器中包括S-CSCF和P-CSCF,P-CSCF在確定與終端建立何種類型的安全通道之后,在發(fā)起認(rèn)證注冊(cè)的REGISTER消息中,添加一個(gè)擴(kuò)展頭域,用于向S-CSCF表明與終端建立安全通道的類型。其中,擴(kuò)展頭域?yàn)榘踩愋?Security-Type)頭域,也可以為其它頭域。當(dāng)網(wǎng)絡(luò)服務(wù)器中包括其他與S-CSCF和P-CSCF類似的功能單元時(shí),也可以采用上述方法判斷需要建立的安全通道類型。
圖4為本發(fā)明實(shí)施例一中SIP應(yīng)用網(wǎng)絡(luò)的結(jié)構(gòu)圖。如圖4所示,SIP應(yīng)用網(wǎng)絡(luò)包括終端400、P-CSCF 401、I-CSCF 402、S-CSCF 403和HSS 404。
終端400,用于向P-CSCF 401發(fā)送REGISTER消息;在接收到來(lái)自P-CSCF 401的WWW-Authenticate頭域后,根據(jù)username、password和WWW-Authenticate頭域中的內(nèi)容,計(jì)算IK和CK,并生成Authorization頭域;根據(jù)IK和CK與P-CSCF 401建立IPSec安全通道。
P-CSCF 401,用于根據(jù)來(lái)自終端400的REGISTER消息,確定建立安全通道的類型,并在REGISTER消息中添加用于表示安全通道類型的Security-Type頭域;將包括Security-Type頭域的REGISTER消息發(fā)送給I-CSCF 402;接收來(lái)自I-CSCF 402的攜帶認(rèn)證挑戰(zhàn)信息和IK、CK的WWW-Authenticate頭域,存儲(chǔ)IK和CK,并將WWW-Authenticate頭域發(fā)送給終端400;根據(jù)IK和CK,與終端400進(jìn)行協(xié)商,建立安全通道。
I-CSCF 402,用于與HSS 404進(jìn)行信息交互,為終端400選擇一個(gè)指定的S-CSCF 403;將來(lái)自P-CSCF 401的包括Security-Type頭域的REGISTER消息發(fā)送給指定的S-CSCF 403;將來(lái)自S-CSCF 403的,攜帶認(rèn)證挑戰(zhàn)信息和IK、CK的WWW-Authenticate頭域,發(fā)送給P-CSCF 401。
S-CSCF 403,用于接收來(lái)自I-CSCF 402的包括Security-Type頭域的REGISTER消息;根據(jù)該REGISTER消息,判斷網(wǎng)絡(luò)服務(wù)器對(duì)終端400認(rèn)證機(jī)制類型,以及終端400與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型;與HSS 404進(jìn)行信息交互,獲取用戶密碼password;在判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端400采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端400與網(wǎng)絡(luò)服務(wù)器之間需要建立安全通道之后,根據(jù)REGISTER消息和password生成認(rèn)證挑戰(zhàn)信息和WWW-Authenticate頭域,并根據(jù)認(rèn)證挑戰(zhàn)信息、以及username、password和內(nèi)部存儲(chǔ)的配置數(shù)據(jù),計(jì)算IK和CK,向I-CSCF 402發(fā)送攜帶認(rèn)證挑戰(zhàn)信息和IK、CK的WWW-Authenticate頭域,對(duì)終端400的注冊(cè)請(qǐng)求進(jìn)行響應(yīng)。
HSS 404,用于與I-CSCF 402進(jìn)行信息交互,為終端400選擇一個(gè)指定的S-CSCF 403;與S-CSCF 403進(jìn)行信息交互,向S-CSCF 403提供用戶的password。
在實(shí)際應(yīng)用中,終端400進(jìn)一步在接收到來(lái)自P-CSCF 401的WWW-Authenticate頭域后,計(jì)算作為認(rèn)證響應(yīng)的response參數(shù),生成Authorization頭域,并將包括response參數(shù)的Authorization頭域,通過(guò)REGISTER消息發(fā)送到P-CSCF 401,對(duì)認(rèn)證挑戰(zhàn)進(jìn)行響應(yīng);接收來(lái)自P-CSCF401的認(rèn)證成功信息。
P-CSCF 401進(jìn)一步將來(lái)自終端400的包括Authorization頭域的REGISTER消息,發(fā)送到I-CSCF 402;將來(lái)自I-CSCF 402的認(rèn)證成功信息發(fā)送給終端400。
I-CSCF 402進(jìn)一步將來(lái)自P-CSCF 401的包括Authorization頭域的REGISTER消息,發(fā)送到指定的S-CSCF 403;將來(lái)自S-CSCF 403的認(rèn)證成功信息發(fā)送給P-CSCF 401。
S-CSCF 403進(jìn)一步與HSS 404進(jìn)行信息交互,下載用戶數(shù)據(jù);接收來(lái)自I-CSCF 402的包括Authorization頭域的REGISTER消息,根據(jù)Authorization頭域中的response參數(shù),對(duì)終端400進(jìn)行認(rèn)證,并在認(rèn)證通過(guò)后,向I-CSCF 402發(fā)送認(rèn)證成功消息。
HSS 404進(jìn)一步與S-CSCF 403進(jìn)行信息交互,向S-CSCF 403提供用戶數(shù)據(jù)。
本實(shí)施例中,P-CSCF 401在REGISTER消息中添加表明安全通道類型的Security-Type頭域,也可以添加其它類型的擴(kuò)展頭域;S-CSCF 403通過(guò)訪問(wèn)HSS 404獲取用戶的password,也可以通過(guò)訪問(wèn)其他第三方網(wǎng)元來(lái)獲取。
在上述網(wǎng)絡(luò)中,S-CSCF 403計(jì)算出IK和CK,為建立安全通道提供了必要條件,是作為建立安全通道的裝置而存在于網(wǎng)絡(luò)中的。圖5為本發(fā)明實(shí)施例一中建立安全通道的裝置的結(jié)構(gòu)圖。如圖5所示,本發(fā)明中建立安全通道的裝置由S-CSCF來(lái)實(shí)現(xiàn),包括主控單元501、判斷單元502、計(jì)算單元503和認(rèn)證單元504。
主控單元501,用于接收來(lái)自外部的發(fā)起注冊(cè)請(qǐng)求的REGISTER消息,并將發(fā)起注冊(cè)請(qǐng)求的REGISTER消息發(fā)送到判斷單元502;與外部網(wǎng)元進(jìn)行信息交互,獲取用戶的password,并將獲取到的password發(fā)送給計(jì)算單元503;接收來(lái)自計(jì)算單元503的IK和CK,并根據(jù)REGISTER消息中的內(nèi)容、從外部網(wǎng)元獲取的password和預(yù)先設(shè)定的配置數(shù)據(jù),生成認(rèn)證挑戰(zhàn)信息和WWW-Authenticate頭域;將認(rèn)證挑戰(zhàn)信息和來(lái)自計(jì)算單元503的IK和CK,攜帶于WWW-Authenticate頭域中,發(fā)送到外部P-CSCF 401;接收來(lái)自外部的包括Authorization頭域的REGISTER消息,并將REGISTER消息中的username和Authorization頭域發(fā)送到計(jì)算單元503;將來(lái)自認(rèn)證單元504的認(rèn)證成功信息向外部終端400發(fā)送;根據(jù)來(lái)自判斷單元502的獲取密鑰請(qǐng)求,向外部HSS 404請(qǐng)求獲取鑒權(quán)信息;將從外部HSS 404獲取的包括IK和CK的鑒權(quán)元組,發(fā)送給外部P-CSCF 401。
判斷單元502,用于根據(jù)來(lái)自主控單元501的REGISTER消息,判斷對(duì)終端400進(jìn)行認(rèn)證應(yīng)采用的機(jī)制;根據(jù)REGISTER消息中的Security-Type頭域,判斷終端400與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型;在判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端400采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端400與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec之后,需要計(jì)算IK和CK,向計(jì)算單元503發(fā)送計(jì)算請(qǐng)求和REGISTER消息中的username;在判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端400采用AKA機(jī)制進(jìn)行認(rèn)證,且終端400與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec之后,不需要計(jì)算IK和CK,向主控單元501發(fā)送獲取密鑰請(qǐng)求。
計(jì)算單元503,用于根據(jù)來(lái)自判斷單元的計(jì)算請(qǐng)求,通過(guò)哈希算法,分別計(jì)算由來(lái)自判斷單元的username、內(nèi)部存儲(chǔ)的參數(shù)realm、來(lái)自主控單元501的password順序組成的字符串;將哈希算法的計(jì)算結(jié)果與內(nèi)部存儲(chǔ)的參數(shù)nonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算出32個(gè)字符的中間值,再將中間值分為兩個(gè)16個(gè)字符的字符串,分別作為IK和CK;將計(jì)算出的IK和CK發(fā)送到主控單元;根據(jù)來(lái)自主控單元501的REGISTER消息中的username和Authorization頭域中的內(nèi)容,通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將計(jì)算出的request-digest與Authorization頭域中的response參數(shù)發(fā)送到認(rèn)證單元504。
認(rèn)證單元504,用于將來(lái)自計(jì)算單元503的計(jì)算結(jié)果request-digest與Authorization頭域中的response參數(shù)進(jìn)行比較,在計(jì)算結(jié)果request-digest與response參數(shù)相同時(shí),認(rèn)證通過(guò),向主控單元501發(fā)送認(rèn)證成功信息。
在本實(shí)施例作為建立安全通道的裝置的S-CSCF 403中,主控單元501根據(jù)預(yù)先設(shè)定的配置數(shù)據(jù),生成認(rèn)證挑戰(zhàn)信息和WWW-Authenticate頭域,計(jì)算單元503根據(jù)REGISTER消息中的username和預(yù)先設(shè)定的配置數(shù)據(jù)計(jì)算IK和CK,也可以由主控單元501先從HSS 404獲取參數(shù),計(jì)算單元503再根據(jù)REGISTER消息中的username和獲取的參數(shù),生成認(rèn)證挑戰(zhàn)信息和WWW-Authenticate頭域,并將獲取的參數(shù)發(fā)送給計(jì)算單元503,由計(jì)算單元503根據(jù)獲取的參數(shù)計(jì)算IK和CK。
上述作為建立安全通道的裝置的S-CSCF 403的內(nèi)部結(jié)構(gòu),僅為本發(fā)明的較佳方案,各功能單元之間,也可以通過(guò)其它方式進(jìn)行信息交互。
下面,對(duì)基于上述SIP應(yīng)用網(wǎng)絡(luò),建立安全通道的方法進(jìn)行詳細(xì)說(shuō)明。
圖6為本發(fā)明實(shí)施例一中建立安全通道的方法流程圖。如圖6所示,本發(fā)明建立安全通道的方法包括以下步驟步驟601,終端向網(wǎng)絡(luò)發(fā)起注冊(cè)請(qǐng)求,將REGISTER消息發(fā)送到P-CSCF。
其中,REGISTER消息中包括終端支持的認(rèn)證機(jī)制類型和安全通道類型列表。
步驟602,P-CSCF根據(jù)來(lái)自終端的REGISTER消息中的安全通道類型列表,確定與終端建立安全通道的類型,并在REGISTER消息中添加Security-Type頭域,表明建立安全通道的類型,再將包括Security-Type頭域的REGISTER消息發(fā)送到I-CSCF。
步驟603~步驟604,I-CSCF與HSS進(jìn)行信息交互,為終端指定一個(gè)S-CSCF,并將來(lái)自P-CSCF的包括Security-Type頭域的REGISTER消息發(fā)送到指定的S-CSCF。
本步驟中,P-CSCF在REGISTER消息中添加表明安全通道類型的Security-Type頭域,也可以添加其它擴(kuò)展頭域。
步驟605~步驟606,S-CSCF接收來(lái)自I-CSCF的包括Security-Type頭域的REGISTER消息,根據(jù)REGISTER消息,從HSS獲取用戶密碼password,并根據(jù)該REGISTER消息,判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用的認(rèn)證機(jī)制,和終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型,如果判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec,則執(zhí)行步驟607;如果判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用AKA機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec,則按照AKA機(jī)制認(rèn)證流程,對(duì)終端進(jìn)行認(rèn)證,建立IPSec安全通道。
上述步驟605中,S-CSCF也可以從其他網(wǎng)元中獲取password。
步驟607~步驟609,S-CSCF根據(jù)REGISTER消息和password生成認(rèn)證挑戰(zhàn)信息和WWW-Authenticate頭域,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容、從HSS獲取的password和內(nèi)部存儲(chǔ)的配置數(shù)據(jù),計(jì)算IK和CK,并通過(guò)I-CSCF向P-CSCF發(fā)送攜帶認(rèn)證挑戰(zhàn)信息和IK、CK的WWW-Authenticate頭域,對(duì)終端的注冊(cè)請(qǐng)求進(jìn)行響應(yīng)。
上述步驟607中計(jì)算IK和CK參數(shù)包括REGISTER消息中的username、從HSS獲取的password、S-CSCF中內(nèi)部存儲(chǔ)的realm、digest-uri、nonce、qop;通過(guò)哈希算法,計(jì)算由參數(shù)username、realm、password順序組成的字符串,并將哈希算法的計(jì)算結(jié)果與內(nèi)部存儲(chǔ)的參數(shù)nonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算出32個(gè)字符的中間值。
計(jì)算過(guò)程可以表示為
request-digest=<″><KD(H(A1),unq(nonce-value)″:″unq(qop-value))<″>
其中,A1表示為A1=unq(username-value)″:″unq(realm-value)″:″passwd通過(guò)上述過(guò)程,得到32個(gè)字符的中間值,將前16個(gè)字符作為IK,將后16個(gè)字符作為CK。
計(jì)算IK和CK所使用的參數(shù),可以為REGISTER消息中的數(shù)據(jù)或者S-CSCF內(nèi)部存儲(chǔ)的配置數(shù)據(jù),也可以為從HSS等其他網(wǎng)元獲取的參數(shù),根據(jù)內(nèi)部存儲(chǔ)的配置數(shù)據(jù)或者從HSS獲取的參數(shù),不僅限于上述參數(shù)。上述參數(shù)均包括在WWW-Authenticate頭域中,發(fā)送到終端。
步驟610,P-CSCF接收來(lái)自I-CSCF的,攜帶認(rèn)證挑戰(zhàn)信息和IK、CK的WWW-Authenticate頭域,存儲(chǔ)IK和CK,并將僅攜帶認(rèn)證挑戰(zhàn)信息的WWW-Authenticate頭域發(fā)送給終端。
步驟611,終端根據(jù)username、password和WWW-Authenticate頭域以及攜帶的信息中的內(nèi)容,計(jì)算IK和CK;在計(jì)算出IK和CK之后,終端向P-CSCF發(fā)起IPSec安全通道的建立,共享IK和CK,協(xié)商出安全關(guān)聯(lián),成功建立安全通道。
本步驟中終端計(jì)算IK和CK的過(guò)程,與步驟605中S-CSCF計(jì)算IK和CK的過(guò)程相同,用于計(jì)算IK和CK的password為預(yù)先存儲(chǔ)于終端的參數(shù),也可以為用戶即時(shí)輸入的參數(shù)。
步驟612~步驟615,終端根據(jù)username和WWW-Authenticate頭域以及攜帶的信息中的內(nèi)容,計(jì)算作為認(rèn)證響應(yīng)的response參數(shù),生成Authorization頭域,并將包括response參數(shù)的Authorization頭域,通過(guò)REGISTER消息發(fā)送給S-CSCF,對(duì)認(rèn)證挑戰(zhàn)進(jìn)行響應(yīng)。
上述步驟612中計(jì)算response參數(shù)的過(guò)程為通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest,再將request-digest賦值給response參數(shù),計(jì)算過(guò)程與通常的計(jì)算過(guò)程相同。
步驟616~步驟619,S-CSCF從HSS下載用戶數(shù)據(jù),計(jì)算request-digest,并將計(jì)算出的request-digest與接收到的Authorization頭域中的response參數(shù)進(jìn)行比較,如果兩者相同,則認(rèn)證成功,將認(rèn)證成功信息發(fā)送給終端。
上述步驟616中計(jì)算request-digest的過(guò)程為通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest,與通常計(jì)算request-digest的過(guò)程相同。
本實(shí)施例的方法中,在計(jì)算出中間值之后,將中間值的前16個(gè)字符作為IK,后16個(gè)密鑰字符作為CK,也可以將任意16個(gè)字符作為IK,并將其余16個(gè)字符作為CK;計(jì)算IK和CK時(shí),也可以將Method和digest-uri作為計(jì)算參數(shù);在步驟610,終端獲取IK和CK之后,立即建立與網(wǎng)絡(luò)服務(wù)器之間的IPSec安全通道,也可以在終端獲取IK和CK之后的任何時(shí)刻建立IPSec安全通道。
本發(fā)明的建立安全通道的方法,還適用于其它應(yīng)用網(wǎng)絡(luò)。
實(shí)施例二本發(fā)明實(shí)施例一的SIP應(yīng)用網(wǎng)絡(luò)中,網(wǎng)絡(luò)服務(wù)器包括S-CSCF、I-CSCF和P-CSCF,而網(wǎng)絡(luò)服務(wù)器也可以包括其他功能單元,這就構(gòu)成了本發(fā)明實(shí)施例二的SIP應(yīng)用網(wǎng)絡(luò)。
本實(shí)施例以網(wǎng)絡(luò)服務(wù)器包括CSCF為例。
圖7為本發(fā)明實(shí)施例二中SIP應(yīng)用網(wǎng)絡(luò)的結(jié)構(gòu)圖。如圖7所示,本發(fā)明中SIP應(yīng)用網(wǎng)絡(luò)包括終端400、CSCF 701和HSS 704。
終端400,用于向CSCF 701發(fā)送REGISTER消息;在接收到來(lái)自CSCF701的WWW-Authenticate頭域后,根據(jù)username、password和WWW-Authenticate頭域中的內(nèi)容,生成Authorization頭域,并計(jì)算IK和CK;根據(jù)IK和CK與CSCF 701建立IPSec安全通道。
CSCF 701,用于根據(jù)來(lái)自終端400的REGISTER消息,確定建立安全通道的類型;根據(jù)該REGISTER消息,判斷是否需要計(jì)算IK和CK,在判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端400采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端400與網(wǎng)絡(luò)服務(wù)器之間需要建立安全通道之后,需要計(jì)算IK和CK,根據(jù)通過(guò)信息交互,從HSS 704獲取包括用戶密碼password的參數(shù);根據(jù)REGISTER消息和password生成認(rèn)證挑戰(zhàn)信息和WWW-Authenticate頭域,根據(jù)認(rèn)證挑戰(zhàn)信息、以及username、password和預(yù)先設(shè)定的配置數(shù)據(jù)計(jì)算IK和CK,并保存IK和CK;向終端400發(fā)送攜帶認(rèn)證挑戰(zhàn)信息的WWW-Authenticate頭域,對(duì)終端400的注冊(cè)請(qǐng)求進(jìn)行響應(yīng);根據(jù)IK和CK,與終端進(jìn)行協(xié)商,建立安全通道。
HSS 704,用于與CSCF 701進(jìn)行信息交互,將用于生成認(rèn)證挑戰(zhàn)信息、WWW-Authenticate頭域、以及計(jì)算IK和CK的參數(shù)發(fā)送給CSCF 701,參數(shù)中包括用戶密碼password。
在實(shí)際應(yīng)用中,終端400進(jìn)一步在接收到來(lái)自CSCF 701的WWW-Authenticate頭域后,計(jì)算作為認(rèn)證響應(yīng)的response參數(shù),生成Authorization頭域,并將包括response參數(shù)的Authorization頭域,通過(guò)REGISTER消息發(fā)送到CSCF 701,對(duì)認(rèn)證挑戰(zhàn)進(jìn)行響應(yīng);接收來(lái)自CSCF 701的認(rèn)證成功信息。
CSCF 701進(jìn)一步與HSS 704進(jìn)行信息交互,下載用戶數(shù)據(jù);接收來(lái)自終端400的包括Authorization頭域的REGISTER消息,根據(jù)Authorization頭域中的response參數(shù),對(duì)終端400進(jìn)行認(rèn)證,并在認(rèn)證通過(guò)后,向終端400發(fā)送認(rèn)證成功消息。
HSS 704進(jìn)一步與S-CSCF 403進(jìn)行信息交互,向S-CSCF 703提供用戶數(shù)據(jù)。
本實(shí)施例中,CSCF 701先從HSS 704獲取參數(shù),再根據(jù)獲取的參數(shù),生成認(rèn)證挑戰(zhàn)信息、WWW-Authenticate頭域,并計(jì)算IK和CK,也可以根據(jù)預(yù)先設(shè)定的配置數(shù)據(jù),生成認(rèn)證挑戰(zhàn)信息和WWW-Authenticate頭域,計(jì)算IK和CK;CSCF 701通過(guò)訪問(wèn)HSS 704獲取用戶的password,也可以通過(guò)訪問(wèn)其他第三方網(wǎng)元來(lái)獲取。
在上述網(wǎng)絡(luò)中,CSCF 701可以包括P-CSCF和S-CSCF,其中,S-CSCF計(jì)算出IK和CK,為建立安全通道提供了必要條件,是作為建立安全通道的裝置而存在于網(wǎng)絡(luò)中的。本實(shí)施例的CSCF 701能夠?qū)崿F(xiàn)與實(shí)施例一中的S-CSCF和P-CSCF相同的功能,即包括實(shí)施例一中S-CSCF的所有模塊,只是在計(jì)算IK和CK時(shí),可以將digest-uri也作為計(jì)算參數(shù)。
圖8為本發(fā)明實(shí)施例二中建立安全通道的方法流程圖。如圖8所示,本發(fā)明建立安全通道的方法包括以下步驟步驟801,終端向網(wǎng)絡(luò)發(fā)起注冊(cè)請(qǐng)求,將REGISTER消息發(fā)送到CSCF。
其中,REGISTER消息中包括終端支持的認(rèn)證機(jī)制類型和安全通道類型列表。
步驟802,CSCF根據(jù)來(lái)自終端的REGISTER消息中的安全通道類型列表,判斷出與終端建立安全通道的類型,并根據(jù)REGISTER消息,判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用的認(rèn)證機(jī)制,如果判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec,則執(zhí)行步驟803;如果判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用AKA機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec,則按照AKA機(jī)制認(rèn)證流程,對(duì)終端進(jìn)行認(rèn)證,并建立IPSec安全通道。
步驟803,CSCF向HSS請(qǐng)求獲取用于生成認(rèn)證挑戰(zhàn)信息、WWW-Authenticate頭域、以及計(jì)算IK和CK的參數(shù),HSS根據(jù)CSCF的請(qǐng)求,將參數(shù)發(fā)送給CSCF,參數(shù)中包括用戶密碼password。
本步驟中,從HSS獲取的參數(shù)包括realm、digest-uri、nonce、qop、password,還包括其它參數(shù)。
本步驟中,CSCF也可以從其他網(wǎng)元中獲取password。
步驟804~步驟805,CSCF根據(jù)REGISTER消息和password生成認(rèn)證挑戰(zhàn)信息和WWW-Authenticate頭域,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和來(lái)自HSS的參數(shù),計(jì)算IK和CK,并保存IK和CK,向終端發(fā)送攜帶認(rèn)證挑戰(zhàn)信息的WWW-Authenticate頭域,對(duì)終端的注冊(cè)請(qǐng)求進(jìn)行響應(yīng)。
上述步驟804中計(jì)算IK和CK的過(guò)程為通過(guò)哈希算法,分別計(jì)算由REGISTER消息中的username、從HSS獲取的realm、password順序組成的字符串A1,和由從HSS獲取的參數(shù)digest-uri構(gòu)成的字符串A2,并將兩個(gè)哈希算法的計(jì)算結(jié)果與從HSS獲取的的參數(shù)nonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算出32個(gè)字符的中間值。
計(jì)算過(guò)程可以表示為request-digest=<″><KD(H(A1),unq(nonce-value)″:″unq(qop-value)″:″H(A2))<″>
其中,A1與A2的分別表示為A1=unq(username-value)″:″ unq(realm-value)″:″passwdA2=digest-uri-value通過(guò)上述過(guò)程,得到32個(gè)字符的中間值,將中間值的后16個(gè)字符作為IK,將前16個(gè)字符作為CK。
計(jì)算IK和CK所使用的部分參數(shù),為CSCF從HSS獲取的參數(shù),也可以為CSCF根據(jù)內(nèi)部存儲(chǔ)的配置數(shù)據(jù),根據(jù)內(nèi)部存儲(chǔ)的配置數(shù)據(jù)或者從HSS獲取的參數(shù),不僅限于上述參數(shù)。上述參數(shù)均包括在WWW-Authenticate頭域中,發(fā)送到終端。
步驟806,終端根據(jù)username、password和WWW-Authenticate頭域以及攜帶的信息中的內(nèi)容生成Authorization頭域和認(rèn)證響應(yīng)信息,并計(jì)算中間值,通過(guò)中間值計(jì)算IK和CK。
本步驟中終端計(jì)算IK和CK的過(guò)程,與步驟804中CSCF計(jì)算IK和CK的過(guò)程相同。
步驟807,終端根據(jù)username和WWW-Authenticate頭域以及攜帶的信息中的內(nèi)容,計(jì)算作為認(rèn)證響應(yīng)的response參數(shù),生成Authorization頭域,并將包括response參數(shù)的Authorization頭域,通過(guò)REGISTER消息發(fā)送給CSCF,對(duì)認(rèn)證挑戰(zhàn)進(jìn)行響應(yīng)。
本步驟中計(jì)算response參數(shù)的過(guò)程為通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest,再將request-digest賦值給response參數(shù),計(jì)算過(guò)程與通常的計(jì)算過(guò)程相同。
步驟808~步驟809,CSCF從HSS下載用戶數(shù)據(jù),計(jì)算request-digest,并將計(jì)算出的request-digest與接收到的Authorization頭域中的response參數(shù)進(jìn)行比較,如果兩者相同,則認(rèn)證成功,將認(rèn)證成功信息發(fā)送給終端。
上述步驟808中計(jì)算request-digest的過(guò)程為通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest,與通常計(jì)算request-digest的過(guò)程相同。
步驟810,終端在接收到認(rèn)證成功信息之后,終端向CSCF發(fā)起IPSec安全通道的建立,共享IK和CK,協(xié)商出安全關(guān)聯(lián),成功建立安全通道本實(shí)施例的方法中,在計(jì)算出中間值之后,將中間值的后16個(gè)字符作為IK,前16個(gè)字符作為CK,也可以將任意16個(gè)字符作為IK,并將其余16個(gè)字符作為CK;計(jì)算IK和CK時(shí),也可以將Method作為計(jì)算參數(shù),或者不將digest-uri作為計(jì)算參數(shù);在步驟810,終端接收到認(rèn)證成功信息之后,再建立與網(wǎng)絡(luò)服務(wù)器之間的IPSec安全通道,也可以在終端獲取IK和CK之后的任何時(shí)刻建立IPSec安全通道。
本發(fā)明中建立安全通道的方法,適用于所有SIP應(yīng)用網(wǎng)絡(luò),也適用于其它協(xié)議的應(yīng)用網(wǎng)絡(luò)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種初始會(huì)話協(xié)議應(yīng)用網(wǎng)絡(luò),其特征在于,包括終端和網(wǎng)絡(luò)服務(wù)器,其中,所述終端,用于向網(wǎng)絡(luò)服務(wù)器發(fā)送注冊(cè)請(qǐng)求;根據(jù)來(lái)自網(wǎng)絡(luò)服務(wù)器的響應(yīng)信息和所述終端內(nèi)部保存的信息,計(jì)算密鑰;根據(jù)計(jì)算出的,與網(wǎng)絡(luò)服務(wù)器密鑰相同的密鑰,與網(wǎng)絡(luò)服務(wù)器建立安全通道;所述網(wǎng)絡(luò)服務(wù)器,用于接收來(lái)自終端的注冊(cè)請(qǐng)求;根據(jù)注冊(cè)請(qǐng)求和所述網(wǎng)絡(luò)服務(wù)器保存的信息,計(jì)算密鑰,并保存密鑰,向終端發(fā)送響應(yīng)信息。
2.如權(quán)利要求1所述的網(wǎng)絡(luò),其特征在于,所述網(wǎng)絡(luò)服務(wù)器進(jìn)一步包括用戶歸屬服務(wù)器HSS,用于與網(wǎng)絡(luò)服務(wù)器進(jìn)行信息交互,將用于計(jì)算IK和CK的參數(shù)發(fā)送給網(wǎng)絡(luò)服務(wù)器;所述參數(shù)包括用戶密碼password;所述網(wǎng)絡(luò)服務(wù)器進(jìn)一步接收所述來(lái)自HSS的參數(shù),并根據(jù)所述來(lái)自HSS的參數(shù)計(jì)算IK和CK。
3.如權(quán)利要求2所述的網(wǎng)絡(luò),其特征在于,所述網(wǎng)絡(luò)服務(wù)器包括服務(wù)-呼叫會(huì)話功能單元S-CSCF和代理-呼叫會(huì)話功能單元P-CSCF,所述S-CSCF,用于接收來(lái)自P-CSCF的包括擴(kuò)展頭域的注冊(cè)請(qǐng)求,從所述HSS獲取password;在根據(jù)注冊(cè)請(qǐng)求和擴(kuò)展頭域,判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立安全通道之后,根據(jù)注冊(cè)請(qǐng)求和password生成認(rèn)證挑戰(zhàn)信息,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和內(nèi)部存儲(chǔ)的參數(shù)計(jì)算IK和CK;將包括IK和CK以及認(rèn)證挑戰(zhàn)信息的響應(yīng)信息發(fā)送給P-CSCF,對(duì)終端的注冊(cè)請(qǐng)求進(jìn)行響應(yīng);所述P-CSCF,用于根據(jù)來(lái)自終端的注冊(cè)請(qǐng)求,確定終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型,并在注冊(cè)請(qǐng)求中添加用于表明安全通道類型的擴(kuò)展頭域;將包括所述擴(kuò)展頭域的注冊(cè)請(qǐng)求發(fā)送給S-CSCF;接收來(lái)自S-CSCF的包括加密密鑰IK和完整性密鑰CK的響應(yīng)信息,保存IK和CK,并將不包括IK和CK的響應(yīng)信息發(fā)送給終端;根據(jù)與終端的密鑰相同的IK和CK,與終端協(xié)商安全關(guān)聯(lián),建立安全通道;所述終端進(jìn)一步向P-CSCF發(fā)送注冊(cè)請(qǐng)求;接收來(lái)自P-CSCF的響應(yīng)信息;根據(jù)所述終端的用戶名username、password和來(lái)自P-CSCF的響應(yīng)信息,計(jì)算IK和CK;根據(jù)計(jì)算出的,與網(wǎng)絡(luò)服務(wù)器密鑰相同的IK和CK,與P-CSCF建立安全通道。
4.如權(quán)利要求3所述的網(wǎng)絡(luò),其特征在于,所述網(wǎng)絡(luò)服務(wù)器進(jìn)一步包括查詢-呼叫會(huì)話功能單元I-CSCF,用于與HSS進(jìn)行信息交互,為終端選擇指定的S-CSCF;將來(lái)自P-CSCF的包括擴(kuò)展頭域的注冊(cè)請(qǐng)求發(fā)送給所述指定的S-CSCF;將來(lái)自所述指定的S-CSCF的,包括IK和CK的響應(yīng)信息,發(fā)送給P-CSCF;所述P-CSCF進(jìn)一步將包括擴(kuò)展頭域的注冊(cè)請(qǐng)求發(fā)送給I-CSCF;接收來(lái)自I-CSCF的包括IK和CK的響應(yīng)信息,保存IK和CK;所述S-CSCF進(jìn)一步接收來(lái)自I-CSCF的包括擴(kuò)展頭域的注冊(cè)請(qǐng)求;將包括IK和CK的響應(yīng)信息發(fā)送給I-CSCF。
5.如權(quán)利要求2所述的網(wǎng)絡(luò),其特征在于,所述網(wǎng)絡(luò)服務(wù)器包括CSCF,用于接收來(lái)自終端的注冊(cè)請(qǐng)求,從所述HSS獲取password;在根據(jù)所述注冊(cè)請(qǐng)求,判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立安全通道之后,根據(jù)注冊(cè)請(qǐng)求和password生成認(rèn)證挑戰(zhàn)信息,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和內(nèi)部存儲(chǔ)的參數(shù)計(jì)算IK和CK;將包括IK和CK以及認(rèn)證挑戰(zhàn)信息的響應(yīng)信息發(fā)送給終端,對(duì)終端的注冊(cè)請(qǐng)求進(jìn)行響應(yīng)。
6.如權(quán)利要求2至4中任意一項(xiàng)所述的網(wǎng)絡(luò),其特征在于,所述S-CSCF包括主控單元、判斷單元和計(jì)算單元,其中,所述主控單元,用于接收所述終端發(fā)起的注冊(cè)請(qǐng)求,與所述HSS進(jìn)行信息交互,獲取用戶的password,并將獲取到的password發(fā)送給計(jì)算單元;并將注冊(cè)請(qǐng)求發(fā)送到判斷單元;接收來(lái)自計(jì)算單元的IK和CK;將來(lái)自計(jì)算單元的IK和CK發(fā)送到外部P-CSCF;所述判斷單元,用于根據(jù)來(lái)自主控單元的注冊(cè)請(qǐng)求,判斷對(duì)終端進(jìn)行認(rèn)證的機(jī)制類型;根據(jù)注冊(cè)請(qǐng)求中的擴(kuò)展頭域,判斷終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型;在判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec之后,向計(jì)算單元發(fā)送注冊(cè)請(qǐng)求中的username和計(jì)算請(qǐng)求;所述計(jì)算單元,用于根據(jù)來(lái)自判斷單元的計(jì)算請(qǐng)求,通過(guò)哈希算法計(jì)算由來(lái)自判斷單元的username、內(nèi)部存儲(chǔ)的域realm、從所述HSS獲取的password順序組成的字符串;將哈希算法的計(jì)算結(jié)果與內(nèi)部存儲(chǔ)的參數(shù)nonce、保護(hù)質(zhì)量qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法,計(jì)算出32個(gè)字符的中間值,再將計(jì)算出的中間值分為兩個(gè)16個(gè)字符的字符串,分別作為IK和CK;將計(jì)算出的IK和CK發(fā)送到主控單元。
7.如權(quán)利要求6所述的網(wǎng)絡(luò),其特征在于,所述S-CSCF進(jìn)一步包括認(rèn)證單元,用于將來(lái)自計(jì)算單元的請(qǐng)求摘要request-digest與鑒權(quán)Authorization頭域中的回應(yīng)response參數(shù)進(jìn)行比較,在request-digest與response參數(shù)相同時(shí),認(rèn)證通過(guò),向主控單元發(fā)送認(rèn)證成功信息;所述主控單元進(jìn)一步接收來(lái)自終端的username和包括response參數(shù)的Authorization頭域,并將username和Authorization頭域發(fā)送給計(jì)算單元;將來(lái)自認(rèn)證單元的認(rèn)證成功信息向外部終端發(fā)送;所述計(jì)算單元進(jìn)一步根據(jù)來(lái)自主控單元的username和Authorization頭域中的內(nèi)容,通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將計(jì)算出的request-digest與Authorization頭域中的response參數(shù)發(fā)送到認(rèn)證單元;所述終端進(jìn)一步根據(jù)Method、所述終端的username和接收到的響應(yīng)信息,計(jì)算作為認(rèn)證響應(yīng)的response參數(shù),并生成包括response參數(shù)的Authorization頭域;將所述終端的username與包括response參數(shù)的Authorization頭域一起發(fā)送到S-CSCF,對(duì)認(rèn)證挑戰(zhàn)進(jìn)行響應(yīng)。
8.一種建立安全通道的裝置,其特征在于,包括網(wǎng)絡(luò)服務(wù)器,用于接收來(lái)自外部終端的注冊(cè)請(qǐng)求;根據(jù)注冊(cè)請(qǐng)求和所述網(wǎng)絡(luò)服務(wù)器保存的信息,計(jì)算密鑰,并保存密鑰,向外部終端發(fā)送響應(yīng)信息。
9.如權(quán)利要求8所述的裝置,其特征在于,所述網(wǎng)絡(luò)服務(wù)器包括服務(wù)-呼叫會(huì)話功能單元S-CSCF,所述S-CSCF包括主控單元、判斷單元和計(jì)算單元,其中,所述主控單元,用于接收來(lái)自外部的注冊(cè)請(qǐng)求,并將注冊(cè)請(qǐng)求發(fā)送到判斷單元;與外部網(wǎng)元進(jìn)行信息交互,獲取用戶的password,并將獲取到的password發(fā)送給計(jì)算單元;接收來(lái)自計(jì)算單元的加密密鑰IK和完整性密鑰CK;將來(lái)自計(jì)算單元的IK和CK提供給網(wǎng)絡(luò)服務(wù)器;所述判斷單元,用于根據(jù)來(lái)自主控單元的注冊(cè)請(qǐng)求,判斷對(duì)終端進(jìn)行認(rèn)證的機(jī)制類型;根據(jù)注冊(cè)請(qǐng)求中的擴(kuò)展頭域,判斷終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型;在判斷出網(wǎng)絡(luò)服務(wù)器對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型為IPSec之后,向計(jì)算單元發(fā)送計(jì)算請(qǐng)求和注冊(cè)請(qǐng)求中的用戶名username;所述計(jì)算單元,用于根據(jù)來(lái)自判斷單元的計(jì)算請(qǐng)求,通過(guò)哈希算法,分別計(jì)算由來(lái)自判斷單元的username、內(nèi)部存儲(chǔ)的域realm、來(lái)自主控單元的用戶密碼password順序組成的字符串,和由摘要-資源標(biāo)志符digest-uri構(gòu)成的字符串;將兩個(gè)哈希算法的計(jì)算結(jié)果與內(nèi)部存儲(chǔ)的參數(shù)nonce、保護(hù)質(zhì)量qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算出32個(gè)字符的中間值,再將中間值分為兩個(gè)16個(gè)字符的字符串,分別作為IK和CK;將計(jì)算出的IK和CK發(fā)送到主控單元。
10.如權(quán)利要求9所述的裝置,其特征在于,所述S-CSCF進(jìn)一步包括認(rèn)證單元,用于將來(lái)自計(jì)算單元的請(qǐng)求摘要request-digest與鑒權(quán)Authorization頭域中的response參數(shù)比較,在request-digest與response參數(shù)相同時(shí),認(rèn)證通過(guò),向主控單元發(fā)送認(rèn)證成功信息;所述主控單元進(jìn)一步接收來(lái)自外部的username和包括response參數(shù)的Authorization頭域,并將username和Authorization頭域發(fā)送給計(jì)算單元;將來(lái)自認(rèn)證單元的認(rèn)證成功信息發(fā)送到外部;所述計(jì)算單元進(jìn)一步根據(jù)來(lái)自主控單元的username和Authorization頭域中的內(nèi)容,通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)Method和digest-uri順序組成的字符串,并將兩個(gè)哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將計(jì)算出的request-digest與Authorization頭域中的response參數(shù)發(fā)送到認(rèn)證單元。
11.一種建立安全通道的方法,其特征在于,包括以下步驟A、接收來(lái)自終端的注冊(cè)請(qǐng)求,根據(jù)注冊(cè)請(qǐng)求和網(wǎng)絡(luò)服務(wù)器保存的信息計(jì)算密鑰,并保存計(jì)算出的密鑰,向終端發(fā)送響應(yīng)信息;B、終端根據(jù)接收到的響應(yīng)信息和所述終端內(nèi)部保存的信息,計(jì)算密鑰;C、終端與網(wǎng)絡(luò)服務(wù)器使用所述計(jì)算出的密鑰,建立安全通道。
12.如權(quán)利要求11所述的方法,其特征在于,所述步驟A為A1、P-CSCF根據(jù)來(lái)自終端的注冊(cè)請(qǐng)求中的安全通道類型列表,確定與終端建立安全通道的類型,并在注冊(cè)請(qǐng)求中,添加用于表明建立安全通道類型擴(kuò)展頭域,將包括所述擴(kuò)展頭域的注冊(cè)請(qǐng)求發(fā)送到S-CSCF;A2、S-CSCF接收來(lái)自P-CSCF的,包括擴(kuò)展頭域的注冊(cè)請(qǐng)求,根據(jù)REGISTER消息,從HSS獲取用戶密碼password,并判斷網(wǎng)絡(luò)服務(wù)器是否對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型是否為IPSec,如果是,則執(zhí)行步驟A3;A3、根據(jù)注冊(cè)請(qǐng)求和password生成認(rèn)證挑戰(zhàn)信息,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和內(nèi)部存儲(chǔ)的參數(shù),計(jì)算加密密鑰IK和完整性密鑰CK,將包括IK和CK以及認(rèn)證挑戰(zhàn)的響應(yīng)信息發(fā)送給P-CSCF,對(duì)終端的注冊(cè)請(qǐng)求進(jìn)行響應(yīng);A4、P-CSCF保存IK和CK,并將不包括IK和CK的響應(yīng)信息發(fā)送給終端。
13.如權(quán)利要求11所述的方法,其特征在于,所述步驟A為CSCF根據(jù)來(lái)自終端的注冊(cè)請(qǐng)求,從HSS獲取用戶密碼password,并判斷是否對(duì)終端采用HTTP Digest機(jī)制進(jìn)行認(rèn)證,且終端與網(wǎng)絡(luò)服務(wù)器之間需要建立的安全通道類型是否為IPSec,如果是,則根據(jù)注冊(cè)請(qǐng)求和password生成認(rèn)證挑戰(zhàn)信息,并根據(jù)認(rèn)證挑戰(zhàn)信息中的內(nèi)容和內(nèi)部存儲(chǔ)的參數(shù)計(jì)算IK和CK,生成認(rèn)證挑戰(zhàn)信息,保存IK和CK,并將包括認(rèn)證挑戰(zhàn)的響應(yīng)信息發(fā)送給終端。
14.如權(quán)利要求11所述的方法,其特征在于,步驟B所述計(jì)算IK和CK之前進(jìn)一步包括終端根據(jù)所述終端的用戶名username、password和來(lái)自P-CSCF的響應(yīng)信息計(jì)算IK和CK。
15.如權(quán)利要求12至14中任意一項(xiàng)所述的方法,其特征在于,所述計(jì)算IK和CK為通過(guò)哈希算法,分別計(jì)算由username、域realm、password順序組成的字符串,和由參數(shù)摘要-資源標(biāo)志符digest-uri構(gòu)成的字符串;將得到的哈希算法的計(jì)算結(jié)果,與內(nèi)部存儲(chǔ)的參數(shù)nonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算出32個(gè)字符的中間值;將中間值的任意16個(gè)字符作為IK,將中間值的其余16個(gè)字符作為CK。
16.如權(quán)利要求15所述的方法,其特征在于,所述步驟B之后步驟C之前進(jìn)一步包括終端計(jì)算response參數(shù),并將username和包括response參數(shù)的鑒權(quán)Authorization頭域,發(fā)送到網(wǎng)絡(luò)服務(wù)器的S-CSCF。
17.如權(quán)利要求15所述的方法,其特征在于,所述步驟C之后進(jìn)一步包括終端計(jì)算response參數(shù),并將username和包括response參數(shù)的鑒權(quán)Authorization頭域,發(fā)送到網(wǎng)絡(luò)服務(wù)器的S-CSCF。
18.如權(quán)利要求16或17所述的方法,其特征在于,所述計(jì)算response參數(shù)為通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)方法Method和digest-uri順序組成的字符串;將哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將request-digest賦值給response參數(shù)。
19.如權(quán)利要求16或17所述的方法,其特征在于,所述將username和包括response參數(shù)的Authorization頭域發(fā)送到網(wǎng)絡(luò)服務(wù)器之后進(jìn)一步包括網(wǎng)絡(luò)服務(wù)器根據(jù)Authorization頭域中的response參數(shù),對(duì)用戶進(jìn)行認(rèn)證,如果認(rèn)證成功,將認(rèn)證成功信息發(fā)送給終端。
20.如權(quán)利要求19所述的方法,其特征在于,所述對(duì)用戶進(jìn)行認(rèn)證為網(wǎng)絡(luò)服務(wù)器通過(guò)哈希算法,分別計(jì)算由參數(shù)username、realm、password順序組成的字符串,和由參數(shù)方法Method和digest-uri順序組成的字符串;將哈希算法的計(jì)算結(jié)果與參數(shù)nonce、nc、cnonce、qop一起作為計(jì)算參數(shù),通過(guò)密鑰生成算法計(jì)算request-digest;將request-digest與Authorization頭域中的response參數(shù)進(jìn)行比較,如果所述request-digest與所述response參數(shù)相同,則認(rèn)證通過(guò)。
全文摘要
本發(fā)明公開(kāi)了一種初始會(huì)話協(xié)議應(yīng)用網(wǎng)絡(luò),包括終端和網(wǎng)絡(luò)服務(wù)器,所述終端,用于向網(wǎng)絡(luò)服務(wù)器發(fā)送注冊(cè)請(qǐng)求;根據(jù)來(lái)自網(wǎng)絡(luò)服務(wù)器的響應(yīng)信息和終端內(nèi)部保存的信息,計(jì)算密鑰;根據(jù)計(jì)算出的,與網(wǎng)絡(luò)服務(wù)器密鑰相同的密鑰,與網(wǎng)絡(luò)服務(wù)器建立安全通道;所述網(wǎng)絡(luò)服務(wù)器,用于接收來(lái)自終端的注冊(cè)請(qǐng)求;根據(jù)注冊(cè)請(qǐng)求和所述網(wǎng)絡(luò)服務(wù)器保存的信息,計(jì)算密鑰并保存密鑰,向終端發(fā)送響應(yīng)信息。本發(fā)明還公開(kāi)了一種建立安全通道的裝置和一種建立安全通道的方法。本發(fā)明的初始會(huì)話協(xié)議應(yīng)用網(wǎng)絡(luò)在通過(guò)HTTP Digest機(jī)制進(jìn)行認(rèn)證的過(guò)程中,由網(wǎng)絡(luò)服務(wù)器和終端分別計(jì)算出密鑰,使得網(wǎng)絡(luò)服務(wù)器和終端之間能夠建立安全通道。
文檔編號(hào)H04L29/06GK1913437SQ20061011183
公開(kāi)日2007年2月14日 申請(qǐng)日期2006年8月25日 優(yōu)先權(quán)日2006年8月25日
發(fā)明者文楷, 顧炯炯 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
武鸣县| 苏尼特右旗| 馆陶县| 菏泽市| 绩溪县| 湄潭县| 合作市| 图片| 香港 | 民丰县| 富源县| 宣化县| 德格县| 沂水县| 张家口市| 塔城市| 庆元县| 额尔古纳市| 宁武县| 金门县| 潮安县| 紫云| 沙雅县| 萨迦县| 寻甸| 航空| 尼玛县| 牟定县| 绥宁县| 克东县| 班戈县| 台东市| 穆棱市| 恩平市| 阿合奇县| 伊金霍洛旗| 石阡县| 霍山县| 洪洞县| 遂昌县| 夏河县|