基于 ip 多媒體子系統(tǒng)的端到端的加密協(xié)商方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法及裝置,該加密協(xié)商方法包括:第一終端發(fā)送第一會話請求消息,第一會話請求消息攜帶有第一終端支持的加密算法的信息;第一終端接收第二終端針對第一會話請求消息返回的第一會話應(yīng)答消息,第一會話應(yīng)答消息攜帶有第二終端根據(jù)自身支持的加密能力,從第一會話請求消息攜帶的加密算法的信息中選擇出的第一加密算法;第一終端根據(jù)第一會話應(yīng)答消息,將第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。本發(fā)明實施例通過端到端的加密協(xié)商方法,實現(xiàn)了媒體數(shù)據(jù)包在端到端的傳輸過程中始終為加密狀態(tài),提高了通信過程的安全性。
【專利說明】
基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及終端和通信領(lǐng)域,尤其涉及一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法及裝置。
【背景技術(shù)】
[0002]隨著長期演進(jìn)(Long Term Evolut1n,LTE)網(wǎng)絡(luò)的商用的大規(guī)模來臨,很多運營商采用語音長期演進(jìn)(Voice over LTE,VoLTE)作為其語音解決方案,而VoLTE是基于IP多媒體子系統(tǒng)(IP Multimedia Subsystem, IMS)的語音業(yè)務(wù)。IMS由于支持多種接入和豐富的多媒體業(yè)務(wù),成為全I(xiàn)P時代的核心網(wǎng)標(biāo)準(zhǔn)架構(gòu)。被第三代合作伙伴計劃組織(3rd Generat1n Partnership Project,3GPP)和 GSMA(Global System for MobileCommunicat1ns assembly)協(xié)會確定為移動語音的標(biāo)準(zhǔn)架構(gòu)。VoLTE是一種IP數(shù)據(jù)傳輸技術(shù),無需第二代移動通信技術(shù)網(wǎng)絡(luò)或者第三代移動通信技術(shù)網(wǎng)絡(luò),全部業(yè)務(wù)承載于第四代移動通信技術(shù)網(wǎng)網(wǎng)絡(luò)上,即可實現(xiàn)數(shù)據(jù)與語音業(yè)務(wù)在同一網(wǎng)絡(luò)下的統(tǒng)一。
[0003]在頂S協(xié)議架構(gòu)下,終端需要通過注冊過程進(jìn)行終端與網(wǎng)絡(luò)側(cè)代理呼叫會話控制功能實體(Proxy-Call Sess1n Control Funt1n,P-CSCF)進(jìn)行加密的協(xié)商,發(fā)送的數(shù)據(jù)包通過協(xié)商的加密算法進(jìn)行加密,終端側(cè)發(fā)送的數(shù)據(jù)在發(fā)送到P-CSCF后進(jìn)行解密,從而在核心網(wǎng)側(cè)進(jìn)行傳輸?shù)竭_(dá)被叫側(cè)的P-CSCF后,被叫側(cè)P-CSCF通過與被叫協(xié)商的加密算法進(jìn)行加密解密。
[0004]對于加密通話來講,雙方的通話在核心網(wǎng)內(nèi)部是采用明文傳輸?shù)?,加密通信的安全性無法保證。
【發(fā)明內(nèi)容】
[0005]為了克服語音數(shù)據(jù)在核心網(wǎng)內(nèi)部采用明文傳輸,帶來的安全性問題,本發(fā)明實施例提供了一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法及裝置。
[0006]為了解決上述技術(shù)問題,本發(fā)明實施例采用如下技術(shù)方案:
[0007]依據(jù)本發(fā)明實施例的一個方面,提供了一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法,應(yīng)用于第一終端,包括:第一終端發(fā)送第一會話請求消息,所述第一會話請求消息攜帶有所述第一終端支持的加密算法的信息;所述第一終端接收第二終端針對所述第一會話請求消息返回的第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第二終端根據(jù)自身支持的加密能力,從所述第一會話請求消息攜帶的加密算法的信息中選擇出的第一加密算法;所述第一終端根據(jù)所述第一會話應(yīng)答消息,將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。
[0008]可選的,所述第一會話請求消息攜帶的所述第一終端支持的加密算法的信息為所述加密算法對應(yīng)的標(biāo)識,其中,所述第一會話請求消息為會話初始協(xié)議(S e S S i O ηInitiat1n Protocol,SIP) Invite消息,且所述標(biāo)識位于SIP Invite消息的消息體中的會話描述協(xié)議(Sess1n Descript1n Protocol,SDP)中;所述第一會話應(yīng)答消息攜帶所述第一加密算法對應(yīng)的第一標(biāo)識,其中,所述第一會話應(yīng)答消息為針對所述SIP Invite消息返回的應(yīng)答消息,且所述第一標(biāo)識位于該應(yīng)答消息的消息體中的SDP中。
[0009]可選的,同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法;所述第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識;所述第一終端根據(jù)所述第一會話應(yīng)答消息,將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法包括:在第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識時,所述第一終端將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。
[0010]可選的,在所述第一終端根據(jù)所述第一會話應(yīng)答消息,將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法之后,所述加密協(xié)商方法還包括:所述第一終端在接收到針對所述SIP Invite消息的“200 ok”消息之前,如果接收到媒體數(shù)據(jù)包,貝Ij判斷所述媒體數(shù)據(jù)包為未加密的媒體數(shù)據(jù)包,并直接解析所述媒體數(shù)據(jù)包;所述第一終端在接收到針對所述SIP Invite消息的“200 ok”消息之后,如果接收到媒體數(shù)據(jù)包,則判斷所述媒體數(shù)據(jù)包為已加密的媒體數(shù)據(jù)包,根據(jù)所述第一加密算法對所述媒體數(shù)據(jù)包解密后再進(jìn)行解析。
[0011]依據(jù)本發(fā)明實施例的又一個方面,提供了一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法,應(yīng)用于第二終端,包括:第二終端接收來自第一終端的第一會話請求消息,所述第一會話請求消息攜帶有所述第一終端支持的加密算法的信息;所述第二終端根據(jù)自身支持的加密能力,從所述第一會話請求消息攜帶的加密算法的信息中選擇出第一加密算法;所述第二終端向所述第一終端返回針對所述第一會話請求消息的第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第一加密算法;所述第二終端根據(jù)所述第一會話請求消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0012]可選的,所述第一會話請求消息攜帶的所述第一終端支持的加密算法的信息為所述加密算法對應(yīng)的標(biāo)識,其中,所述第一會話請求消息為SIP Invite消息,且所述標(biāo)識位于SIP Invite消息的消息體中的會話描述協(xié)議SDP中;所述第一會話應(yīng)答消息攜帶所述第一加密算法對應(yīng)的第一標(biāo)識,其中,所述第一會話應(yīng)答消息為針對所述SIP Invite消息返回的應(yīng)答消息,且所述第一標(biāo)識位于消息體中的SDP中。
[0013]可選的,同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法;所述第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識;所述第二終端根據(jù)所述第一會話請求消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法包括:在第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識時,所述第二終端將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0014]可選的,在所述第二終端將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法之后,所述加密協(xié)商方法還包括:所述第二終端發(fā)送針對所述SIP Invite消息的“200 ok”消息;所述第二終端接收來自所述第一終端的媒體數(shù)據(jù)包,并根據(jù)所述第一加密算法對所述媒體數(shù)據(jù)包解密后再進(jìn)行解析。
[0015]依據(jù)本發(fā)明實施例的又一個方面,提供了一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法,應(yīng)用于第三終端,該加密協(xié)商方法包括:所述第三終端接收來自網(wǎng)絡(luò)側(cè)的第一會話請求消息,所述第一會話請求消息是網(wǎng)絡(luò)側(cè)在所述第一會話請求消息對應(yīng)的第二終端忙碌時,向所述第三終端發(fā)送的,若所述第一會話請求消息未攜帶其對應(yīng)的第一終端支持的加密算法的信息,所述第三終端發(fā)送第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第三終端支持的加密算法的信息;所述第三終端接收所述經(jīng)所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)的,第一終端針對經(jīng)所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的所述第一會話應(yīng)答消息返回的第二會話應(yīng)答消息,所述第二會話應(yīng)答消息攜帶有所述第一終端根據(jù)自身支持的加密能力,從所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的第一會話應(yīng)答消息攜帶的加密算法的信息中選擇出的第一加密算法;所述第三終端根據(jù)所述第二會話應(yīng)答消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0016]依據(jù)本發(fā)明實施例的又一個方面,提供了一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置,應(yīng)用于第一終端,該加密協(xié)商裝置包括:第一消息發(fā)送模塊,用于發(fā)送第一會話請求消息,所述第一會話請求消息攜帶有所述第一終端支持的加密算法的信息;第一消息接收模塊,用于接收第二終端針對所述第一會話請求消息返回的第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第二終端根據(jù)自身支持的加密能力,從所述第一會話請求消息攜帶的加密算法的信息中選擇出的第一加密算法;第一判斷模塊,用于根據(jù)所述第一會話應(yīng)答消息,將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。
[0017]可選的,所述第一會話請求消息攜帶的所述第一終端支持的加密算法的信息為所述加密算法對應(yīng)的標(biāo)識,其中,所述第一會話請求消息為SIP Invite消息,且所述標(biāo)識位于SIP Invite消息的消息體中的會話描述協(xié)議SDP中;所述第一會話應(yīng)答消息攜帶所述第一加密算法對應(yīng)的第一標(biāo)識,其中,所述第一會話應(yīng)答消息為針對所述SIP Invite消息返回的應(yīng)答消息,且所述第一標(biāo)識位于該應(yīng)答消息的消息體中的SDP中。
[0018]可選的,同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法;所述第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識;所述第一判斷模塊包括:第一判斷單元,用于在第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識時,將所述第一加密算法作為所述第一終端與所述第二終端之間的媒體數(shù)據(jù)的加密算法。
[0019]可選的,上述加密協(xié)商裝置還包括:第一處理模塊,用于在接收到針對所述SIPInvite消息的“200 ok”消息之前,如果接收到媒體數(shù)據(jù)包,則判斷所述媒體數(shù)據(jù)包為未加密的媒體數(shù)據(jù)包,并直接解析所述媒體數(shù)據(jù)包;第二處理模塊,用于在接收到針對所述SIPInvite消息的“200 ok”消息之后,如果接收到媒體數(shù)據(jù)包,則判斷所述媒體數(shù)據(jù)包為已加密的媒體數(shù)據(jù)包,根據(jù)所述第一加密算法對所述媒體數(shù)據(jù)包解密后再進(jìn)行解析。
[0020]依據(jù)本發(fā)明實施例的又一個方面,提供了一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置,應(yīng)用于第二終端,該加密協(xié)商裝置包括:第二消息接收模塊,用于接收來自第一終端的第一會話請求消息,所述第一會話請求消息攜帶有所述第一終端支持的加密算法的信息;第一選擇模塊,用于根據(jù)自身支持的加密能力,從所述第一會話請求消息攜帶的加密算法的信息中選擇出第一加密算法;第二消息發(fā)送模塊,用于向所述第一終端返回針對所述第一會話請求消息的第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第一加密算法的信息;第二判斷模塊,用于根據(jù)所述第一會話請求消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0021]可選的,所述第一會話請求消息攜帶的所述第一終端支持的加密算法的信息為所述加密算法對應(yīng)的標(biāo)識,其中,所述第一會話請求消息為SIP Invite消息,且所述標(biāo)識位于SIP Invite消息的消息體中的會話描述協(xié)議SDP中;所述第一會話應(yīng)答消息攜帶所述第一加密算法對應(yīng)的第一標(biāo)識,其中,所述第一會話應(yīng)答消息為針對所述SIP Invite消息返回的應(yīng)答消息,且所述第一標(biāo)識位于消息體中的SDP中。
[0022]可選的,同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法;所述第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識;所述第二判斷模塊包括:第二判斷單元,用于在第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識時,將所述第一加密算法作為所述第二終端與所述第一終端之間的媒體數(shù)據(jù)的加密算法。
[0023]可選的,上述加密協(xié)商裝置還包括:第三消息發(fā)送模塊,用于發(fā)送針對所述SIPInvite消息的“200 ok”消息;第三消息接收模塊,用于接收來自所述第一終端的媒體數(shù)據(jù)包,并根據(jù)所述第一加密算法對所述媒體數(shù)據(jù)包解密后再進(jìn)行解析。
[0024]依據(jù)本發(fā)明實施例的又一個方面,提供了一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置,應(yīng)用于第三終端,該加密協(xié)商裝置包括:第四消息接收模塊,用于接收來自網(wǎng)絡(luò)側(cè)的第一會話請求消息,所述第一會話請求消息是網(wǎng)絡(luò)側(cè)在所述第一會話請求消息對應(yīng)的第二終端忙碌時,向所述第三終端發(fā)送的;第四消息發(fā)送模塊,用于若所述第一會話請求消息未攜帶其對應(yīng)的第一終端支持的加密算法的信息,發(fā)送第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第三終端支持的加密算法的信息;第五消息接收模塊,用于接收經(jīng)所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)的,所述第一終端針對經(jīng)所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的所述第一會話應(yīng)答消息返回的第二會話應(yīng)答消息,所述第二會話應(yīng)答消息攜帶有所述第一終端根據(jù)自身支持的加密能力,從所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的第一會話應(yīng)答消息攜帶的加密算法的信息中選擇出的第一加密算法;第三判斷模塊,用于根據(jù)所述第二會話應(yīng)答消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0025]本發(fā)明實施例的有益效果是:本發(fā)明實施例提供的基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法中通過第一終端發(fā)送帶有自身支持的加密算法信息的會話請求消息,接收第二終端針對該會話請求消息返回的,帶有主、第二終端均支持的第一加密算法的會話應(yīng)答消息,實現(xiàn)了端到端的加密協(xié)商。
【附圖說明】
[0026]圖1表示本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法的流程圖之一;
[0027]圖2表示本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法的流程圖之二 ;
[0028]圖3表示本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法的流程圖之三;
[0029]圖4表示現(xiàn)有技術(shù)中端到端的呼叫流程示意圖之一;
[0030]圖5表示現(xiàn)有技術(shù)中端到端的呼叫流程示意圖之二 ;
[0031]圖6表示現(xiàn)有技術(shù)中端到端的呼叫流程示意圖之三;
[0032]圖7表示現(xiàn)有技術(shù)中無應(yīng)答前轉(zhuǎn)的呼叫流程示意圖;
[0033]圖8表示本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置的示意圖之一;
[0034]圖9表示本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置的示意圖之二;以及
[0035]圖10表示本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置的示意圖之三。
【具體實施方式】
[0036]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明進(jìn)行詳細(xì)描述。
[0037]如圖1所示,為本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法的流程圖之一,本發(fā)明實施例應(yīng)用于第一終端,包括以下步驟:
[0038]步驟S100、第一終端發(fā)送第一會話請求消息,第一會話請求消息攜帶有第一終端支持的加密算法的信息。
[0039]這里,第一會話請求消息優(yōu)選為SIP Invite消息,第一會話請求消息通過SIPInvite消息的消息體中的SDP攜帶第一終端支持的加密算法的信息,即使網(wǎng)絡(luò)側(cè)存在不支持SIP Invite消息頭域,SIP Invite消息的頭域被刪除,第一會話請求消息攜帶的第一終端支持的加密算法的信息,由于攜帶在消息體而非頭域中,因此也不會丟失。
[0040]較佳的,加密算法的信息為預(yù)先約定的該加密算法對應(yīng)的標(biāo)識,終端中均保存有加密算法與標(biāo)識之間的對應(yīng)關(guān)系,這樣,在終端側(cè)可以通過標(biāo)識與加密算法的對應(yīng)關(guān)系,即可確定第一會話請求消息中攜帶的加密算法。當(dāng)然,本發(fā)明實施例還可以直接在第一會話請求消息攜帶具體的算法的信息,而非算法所對應(yīng)的標(biāo)識。另外,第一會話請求消息可以攜帶有第一終端支持的所有加密算法的信息,也可以是攜帶該第一終端支持的部分加密算法的信息。
[0041]步驟S200、第一終端接收第二終端針對第一會話請求消息返回的第一會話應(yīng)答消息,第一會話應(yīng)答消息攜帶有第二終端根據(jù)自身支持的加密能力,從第一會話請求消息攜帶的加密算法的信息中選擇出的第一加密算法。
[0042]這里,第一會話應(yīng)答消息為針對SIP Invite消息返回的應(yīng)答消息,并且第一加密算法的信息位于該應(yīng)答消息的消息體中的SDP中,較佳的,第一會話應(yīng)答消息攜帶第一加密算法對應(yīng)的第一標(biāo)識。
[0043]步驟S300、第一終端根據(jù)第一會話應(yīng)答消息,將第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。
[0044]本發(fā)明實施例中,同一加密算法可以對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法;第一會話應(yīng)答消息攜帶的第一加密算法對應(yīng)的第一標(biāo)識,與第一會話請求消息攜帶的第一加密算法對應(yīng)的第二標(biāo)識不同,當(dāng)?shù)谝唤K端收到的第一會話應(yīng)答消息攜帶的第一加密算法對應(yīng)的第一標(biāo)識與第一會話請求消息攜帶的第一加密算法對應(yīng)的第二標(biāo)識不同時,第一終端將第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法,這樣避免了第二終端無法識別第一會話請求消息或者不支持加密算法時,將第一會話請求消息原封不動返回給第一終端,而使第一終端判斷錯誤。
[0045]在第一終端根據(jù)第一會話應(yīng)答消息,將第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法之后,第一終端在接收到針對SIP Invite消息的“200 ok”消息之前,如果接收到媒體數(shù)據(jù)包,則判斷媒體數(shù)據(jù)包為未加密的媒體數(shù)據(jù)包,并直接解析媒體數(shù)據(jù)包。例如,第一終端在接收到針對SIP Invite消息的“200 ok”消息之前,收到一彩鈴平臺下發(fā)的數(shù)據(jù)包,則認(rèn)為該數(shù)據(jù)包未進(jìn)行加密,直接解析該數(shù)據(jù)包即可。
[0046]第一終端在接收到針對SIP Invite消息的“200 ok”消息之后,如果接收到媒體數(shù)據(jù)包,則判斷媒體數(shù)據(jù)包為已加密的媒體數(shù)據(jù)包,根據(jù)第一加密算法對媒體數(shù)據(jù)包解密后再進(jìn)行解析。這里,當(dāng)?shù)谝唤K端在接收到針對SIP Invite消息的“200 ok”消息之后,認(rèn)為本次加密協(xié)商成功即第一終端確定自身和第二終端以第一加密算法進(jìn)行通信。
[0047]如圖2所示,為本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法的流程圖之二,本發(fā)明實施例應(yīng)用于第二終端,包括以下步驟:
[0048]步驟S400、第二終端接收來自第一終端的第一會話請求消息,第一會話請求消息攜帶有第一終端支持的加密算法的信息。
[0049]這里,第一會話請求消息優(yōu)選為SIP Invite消息,第一會話請求消息通過SIPInvite消息的消息體中的SDP攜帶第一終端支持的加密算法的信息,即使網(wǎng)絡(luò)側(cè)存在不支持SIP Invite消息頭域,SIP Invite消息的頭域被刪除,第一會話請求消息攜帶的第一終端支持的加密算法的信息也不會丟失;較佳的,加密算法的信息為該加密算法對應(yīng)的標(biāo)識,在終端側(cè)預(yù)設(shè)終端通過標(biāo)識與加密算法的對應(yīng)關(guān)系,終端根據(jù)該對應(yīng)關(guān)系,即可確定第一會話請求消息中攜帶的加密算法。
[0050]步驟S500、第二終端根據(jù)自身支持的加密能力,從第一會話請求消息攜帶的加密算法的信息中選擇出第一加密算法。
[0051]這里,第二終端支持第一加密算法,并且第一加密算法位于第一會話請求消息攜帶的加密算法的信息中。
[0052]步驟S600、第二終端向第一終端返回針對第一會話請求消息的第一會話應(yīng)答消息,第一會話應(yīng)答消息攜帶有第一加密算法。
[0053]這里,第一會話應(yīng)答消息為針對SIP Invite消息返回的應(yīng)答消息,并且第一加密算法位于該應(yīng)答消息的消息體中的SDP中,較佳的,采用與第一加密算法對應(yīng)的第一標(biāo)識來表示第一加密算法。
[0054]步驟S700、第二終端根據(jù)第一會話請求消息,將第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0055]這里,同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法;第一會話應(yīng)答消息攜帶的第一加密算法對應(yīng)的第一標(biāo)識,與第一會話請求消息攜帶的第一加密算法對應(yīng)的第二標(biāo)識不同,當(dāng)?shù)诙K端接收到第一終端發(fā)送的第一會話請求消息攜帶的第一加密算法對應(yīng)的第二標(biāo)識與第一會話應(yīng)答消息攜帶的第一加密算法對應(yīng)的第一標(biāo)識不同時,第二終端將第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0056]在第二終端將第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法之后,第二終端發(fā)送針對SIP Invite消息的“200 ok”消息;這里,當(dāng)?shù)谝唤K端在接收到針對SIP Invite消息的“200 ok”消息之后,認(rèn)為本次加密協(xié)商成功即第二終端確定自身和第一終端以第一加密算法進(jìn)行通信,第二終端接收到來自第一終端的媒體數(shù)據(jù)包,并認(rèn)為該媒體數(shù)據(jù)包已加密,根據(jù)第一加密算法對媒體數(shù)據(jù)包解密后再進(jìn)行解析。
[0057]如圖3所示,為本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法的流程圖之三,本發(fā)明實施例應(yīng)用于第三終端,包括以下步驟:
[0058]步驟S1000、第三終端接收來自網(wǎng)絡(luò)側(cè)的第一會話請求消息。
[0059]這里,第一會話請求消息是網(wǎng)絡(luò)側(cè)在第一會話請求消息對應(yīng)的第二終端忙碌時,向第三終端發(fā)送的,若第一會話請求消息未攜帶其對應(yīng)的第一終端支持的加密算法的信息,第三終端發(fā)送第一會話應(yīng)答消息,第一會話應(yīng)答消息攜帶有第三終端支持的加密算法的信息,第一會話應(yīng)答消息會經(jīng)網(wǎng)絡(luò)側(cè)處理并轉(zhuǎn)發(fā)至第一終端。
[0060]步驟S2000、第三終端接收經(jīng)網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)的,第一終端針對經(jīng)網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的第一會話應(yīng)答消息返回的第二會話應(yīng)答消息,第二會話應(yīng)答消息攜帶有第一終端根據(jù)自身支持的加密能力,從網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的第一會話應(yīng)答消息攜帶的加密算法的信息中選擇出的第一加密算法。步驟S3000、第三終端根據(jù)第二會話應(yīng)答消息,將第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0061]這里,若第一會話請求消息未攜帶其對應(yīng)的第一終端支持的加密算法的信息,本發(fā)明實施例的步驟與上述實施例的步驟相同,本實施例中的第三終端對應(yīng)上述實施例中的第一終端,本實施例中的第一終端對應(yīng)上述實施例中的第二終端,在此不再贅述。
[0062]如圖4-6所示,為現(xiàn)有技術(shù)中端到端的呼叫流程示意圖,其中:
[0063]步驟1、主叫用戶的呼叫請求發(fā)送到主叫SBC,呼叫請求中包含precondit1n相關(guān)參數(shù),其中主叫側(cè)和被叫側(cè)均為none。
[0064]步驟2、主叫SBC向主叫側(cè)PCC申請通話資源(臨時),同時請求主叫用戶位置信息。
[0065]步驟3-4、主叫側(cè)PCRF向主叫側(cè)S/P-GW下發(fā)策略。
[0066]步驟5、主叫側(cè)PCRF向主叫SBC返回AAA響應(yīng)。
[0067]步驟6-8、主叫側(cè)預(yù)留無線側(cè)資源,主叫側(cè)MME在消息8中攜帶主叫位置信息。
[0068]步驟9-10、主叫側(cè)S/P-GW向主叫側(cè)PCRF返回主叫位置信息。
[0069]步驟11-12、主叫側(cè)PCRF向主叫SBC上報主叫位置信息。
[0070]步驟13-16、主叫側(cè)完成業(yè)務(wù)觸發(fā),主叫AS進(jìn)行被叫號碼補齊,之后主叫側(cè)S-CSCF通過查詢ENUM/DNS獲取被叫側(cè)1-CSCF地址并將呼叫請求發(fā)送至被叫側(cè)1-CSCF。
[0071]步驟17-18、被叫側(cè)1-CSCF查詢被叫側(cè)HSS獲取被叫用戶注冊的S-CSCF。
[0072]步驟19、被叫觸發(fā)至被叫側(cè)VoLTE AS,基本呼叫和補充業(yè)務(wù)觸發(fā)完成后觸發(fā)被叫側(cè) SCC AS0
[0073]步驟20、被叫側(cè)SCC AS進(jìn)行被叫域選擇,向被叫側(cè)HSS查詢被叫側(cè)T-ADS信息。
[0074]步驟21-22、向被叫側(cè)MME申請一 ID。
[0075]步驟23、被叫側(cè)HSS向被叫側(cè)SCC AS返回T-ADS信息,包含IMS Voice over PSsupported。
[0076]步驟24-26、呼叫請求轉(zhuǎn)發(fā)至被叫用戶。
[0077]步驟27、被叫用戶返回183其中包含被叫SDP信息,precondit1n參數(shù)中主叫側(cè)和被叫側(cè)均為none。
[0078]步驟28-34、被叫側(cè)申請通話資源。
[0079]步驟35-42、183響應(yīng)按照呼叫路徑被轉(zhuǎn)發(fā)至主叫用戶。
[0080]步驟44-50、主叫側(cè)根據(jù)協(xié)商結(jié)果修改資源申請。
[0081]步驟51-59、主叫用戶通過空口流程獲知通話資源預(yù)留成功,向被叫側(cè)發(fā)起UPDATE,其中的precondit1n參數(shù)主叫側(cè)為sendrecv,被叫側(cè)為none。
[0082]步驟60-68、被叫用戶通過空口流程獲知通話資源預(yù)留成功,向主叫側(cè)返回2000K,其中的precondit1n參數(shù)主被叫均為sendrecv。
[0083]步驟69-71、主、被叫雙方完成呼叫信令流程,雙方開始通話。
[0084]步驟72-74、主叫側(cè)掛機(jī),主叫用戶向主叫SBC發(fā)送BYE消息,之后消息轉(zhuǎn)發(fā)至被叫SBC和被叫用戶。
[0085]步驟75-81、主叫側(cè)進(jìn)行資源釋放。
[0086]步驟82-88、被叫側(cè)進(jìn)行資源釋放。
[0087]步驟89、通話結(jié)束。
[0088]本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法的實際應(yīng)用一,參見圖4-圖6,與圖4不同的是,在圖1中的INVITE消息中的aud1的m行中增加a行用來描述加密算法:a = security 8,采用ASCII編碼表示為61 3d73 65 63 75 72 69 74 7838,使用wireshark解析該a行為:
[0089]media attribute(a): security:8
[0090]media attribute filename: security
[0091]media attribute value:8
[0092]a行值8換算成二進(jìn)制為1000,其他二進(jìn)制值保留待后續(xù)使用,較佳的,aud1的m行中包含多個a行,將該描述加密算法的a行置在所有a行的最下面。
[0093]在被叫終端針對接收到的INVITE消息返回的消息的SDP中,增加a行用來描述加密算法:a = security I,采用 ASCII 編碼表示為 61 3d 73 65 63 75 72 69 74 78 31,使用wireshark解析該a行為:
[0094]media attribute(a): security:1
[0095]media attribute filename: security
[0096]media attribute value:1
[0097]主叫終端根據(jù)發(fā)出的INVITE消息中增加的a行值和接收到的被叫終端針對該INVITE消息返回的消息的SDP中增加的a行值,來判定本次加密協(xié)商是否成功,主叫終端發(fā)出的INVITE消息中增加的a行值8與被叫終端針對該INVITE消息返回的消息的SDP中增加的a行值I不同,則本次加密協(xié)商成功,即主叫終端將其發(fā)出的INVITE消息中增加的a行值8對應(yīng)的加密算法作為自身與被叫終端之間的媒體數(shù)據(jù)的加密算法。
[0098]主叫終端確定本次加密協(xié)商成功以后即主叫終端將其發(fā)出的INVITE消息中增加的a行值8對應(yīng)的加密算法作為自身與被叫終端之間的媒體數(shù)據(jù)的加密算法,主叫終端收到針對發(fā)送的INVITE消息的200 ok消息前,收到實時傳輸協(xié)議(Real-time TransportProtocol,RTP)包(如彩鈴平臺下發(fā)的數(shù)據(jù)包),認(rèn)為該RTP包沒有采用加密處理,如果在收到針對發(fā)送的INVITE消息的200 ok消息后,收到RTP包,則認(rèn)為該RTP包是加密的。
[0099]如圖7所示,本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法的實際應(yīng)用二,參見圖4-圖6:
[0100]步驟S1、圖4和圖5中的步驟1-70。
[0101]步驟S2-S6、取消主叫側(cè)和被叫側(cè)之間的協(xié)商關(guān)系。
[0102]步驟S7-S9、主叫側(cè)得知被叫側(cè)無應(yīng)答。
[0103]步驟S10-S12、核心網(wǎng)將呼叫請求轉(zhuǎn)移至前轉(zhuǎn)終端。
[0104]步驟S13-S15、183響應(yīng)按照呼叫路徑被轉(zhuǎn)發(fā)至核心網(wǎng)。
[0105]步驟S16-S21、主叫側(cè)通過空口流程獲知通話資源預(yù)留成功。
[0106]步驟S22-S27、被叫UE通過空口流程獲知通話資源預(yù)留成功。
[0107]步驟S28、圖5和圖6中的步驟51-89。
[0108]當(dāng)被叫終端無應(yīng)答時,核心網(wǎng)將INVITE消息發(fā)送至前轉(zhuǎn)終端,若該INVITE消息中未攜帶主叫終端支持的任何加密算法的信息,前轉(zhuǎn)終端在針對該INVITE消息返回的消息的SDP中增加a行用來描述一個自身支持的加密算法,如a = security 8,采用ASCII編碼表示為 61 3d 73 65 63 75 72 69 74 78 38,使用 wireshark 解析該 a 行為:
[0109]media attribute(a): security:8
[0110]media attribute filename: security
[0111]media attribute value:8
[0112]a值8換算成二進(jìn)制為1000,其他二進(jìn)制值保留待后續(xù)使用,較佳的,前轉(zhuǎn)終端在針對該INVITE消息返回的消息中aud1的m行中包含多個a行,將該描述加密算法的a行置在所有a行的最下面。
[0113]主叫終端收到無應(yīng)答前轉(zhuǎn)的181消息后,接收前轉(zhuǎn)終端返回的消息,若前轉(zhuǎn)終端返回的消息中SDP中增加的a行值為8,主叫終端根據(jù)自身的加密能力,針對前轉(zhuǎn)終端返回的消息向前轉(zhuǎn)終端發(fā)送消息體的SDP中增加了 a行的應(yīng)答消息,并且a = security 1,采用ASCII 編碼表示為 61 3d 73 65 63 75 72 69 74 78 31,使用 wireshark 解析該 a 行為:
[0114]media attribute(a): security:1
[0115]media attribute filename: security
[0116]media attribute value:1
[0117]主叫終端確定本次加密協(xié)商成功以后即主叫終端將針對其發(fā)出的INVITE消息中增加的a行值I對應(yīng)的加密算法作為自身與前轉(zhuǎn)終端之間的媒體數(shù)據(jù)的加密算法,主叫終端收到針對發(fā)送的INVITE消息的200 ok消息前,收到實時傳輸協(xié)議(Real-timeTransport Protocol,RTP)包(如彩鈴平臺下發(fā)的數(shù)據(jù)包),認(rèn)為該RTP包沒有采用加密處理,如果在收到針對發(fā)送的INVITE消息的200ok消息后,收到RTP包,則認(rèn)為該RTP包是加密的。
[0118]如圖8所示,為本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置的示意圖之一,應(yīng)用于第一終端,該加密協(xié)商裝置包括:第一消息發(fā)送模塊81,用于發(fā)送第一會話請求消息,第一會話請求消息攜帶有第一終端支持的加密算法的信息;第一消息接收模塊82,用于接收第二終端針對第一會話請求消息返回的第一會話應(yīng)答消息,第一會話應(yīng)答消息攜帶有第二終端根據(jù)自身支持的加密能力,從第一會話請求消息攜帶的加密算法的信息中選擇出的第一加密算法;第一判斷模塊83,用于根據(jù)第一會話應(yīng)答消息,將第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。
[0119]這里,第一會話請求消息優(yōu)選為SIP Invite消息,第一會話請求消息通過SIPInvite消息的消息體中的SDP攜帶第一終端支持的加密算法的信息,即使網(wǎng)絡(luò)側(cè)存在不支持SIP Invite消息頭域,SIP Invite消息的頭域被刪除,第一會話請求消息攜帶的第一終端支持的加密算法的信息也不會丟失;較佳的,加密算法的信息為該加密算法對應(yīng)的標(biāo)識,在終端側(cè)預(yù)設(shè)終端通過標(biāo)識與加密算法的對應(yīng)關(guān)系,終端根據(jù)該對應(yīng)關(guān)系,即可確定第一會話請求消息中攜帶的加密算法。第一會話應(yīng)答消息為針對SIP Invite消息返回的應(yīng)答消息,并且第一加密算法的信息位于該應(yīng)答消息的消息體中的SDP中,較佳的,采用第一加密算法對應(yīng)的第一標(biāo)識作為第一加密算法,放置于該應(yīng)答消息的消息體中的SDP中。
[0120]同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法;第一會話應(yīng)答消息攜帶的第一加密算法對應(yīng)的第一標(biāo)識,不同于第一會話請求消息攜帶的第一加密算法對應(yīng)的第二標(biāo)識;第一判斷模塊83包括:第一判斷單元,用于在第一會話應(yīng)答消息攜帶的第一加密算法對應(yīng)的第一標(biāo)識,不同于第一會話請求消息攜帶的第一加密算法對應(yīng)的第二標(biāo)識時,將第一加密算法作為第一終端與第二終端之間的媒體數(shù)據(jù)的加密算法。
[0121]該加密協(xié)商裝置還包括:第一處理模塊,用于在接收到針對SIP Invite消息的“200 ok”消息之前,如果接收到媒體數(shù)據(jù)包,則判斷媒體數(shù)據(jù)包為未加密的媒體數(shù)據(jù)包,并直接解析媒體數(shù)據(jù)包;例如,第一處理模塊在接收到針對SIP Invite消息的“200 ok”消息之前,收到一彩鈴平臺下發(fā)的數(shù)據(jù)包,則認(rèn)為該數(shù)據(jù)包未進(jìn)行加密,直接解析該數(shù)據(jù)包即可。第二處理模塊,用于在接收到針對SIP Invite消息的“200 ok”消息之后,如果接收到媒體數(shù)據(jù)包,則判斷媒體數(shù)據(jù)包為已加密的媒體數(shù)據(jù)包,根據(jù)第一加密算法對媒體數(shù)據(jù)包解密后再進(jìn)行解析。當(dāng)?shù)诙幚砟K在接收到針對SIP Invite消息的“200 ok”消息之后,認(rèn)為本次加密協(xié)商成功即第二處理模塊確定自身和第二終端以第一加密算法進(jìn)行通信。
[0122]如圖9所示,為本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置的示意圖之二,應(yīng)用于第二終端,該加密協(xié)商裝置包括:第二消息接收模塊91,用于接收來自第一終端的第一會話請求消息,第一會話請求消息攜帶有第一終端支持的加密算法的信息;第一選擇模塊92,用于根據(jù)自身支持的加密能力,從第一會話請求消息攜帶的加密算法的信息中選擇出第一加密算法;第二消息發(fā)送模塊93,用于向第一終端返回針對第一會話請求消息的第一會話應(yīng)答消息,第一會話應(yīng)答消息攜帶有第一加密算法的信息;第二判斷模塊94,用于根據(jù)第一會話請求消息,將第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0123]這里,第一會話請求消息優(yōu)選為SIP Invite消息,第一會話請求消息通過SIPInvite消息的消息體中的SDP攜帶第一終端支持的加密算法的信息,即使網(wǎng)絡(luò)側(cè)存在不支持SIP Invite消息頭域,SIP Invite消息的頭域被刪除,第一會話請求消息攜帶的第一終端支持的加密算法的信息也不會丟失;較佳的,加密算法的信息為該加密算法對應(yīng)的標(biāo)識,在終端側(cè)預(yù)設(shè)終端通過標(biāo)識與加密算法的對應(yīng)關(guān)系,終端根據(jù)該對應(yīng)關(guān)系,即可確定第一會話請求消息中攜帶的加密算法。第二終端支持第一加密算法,并且第一加密算法的信息位于第一會話請求消息攜帶的加密算法的信息中。第一會話應(yīng)答消息為針對SIP Invite消息返回的應(yīng)答消息,并且第一加密算法的信息位于該應(yīng)答消息的消息體中的SDP中,較佳的,采用第一加密算法對應(yīng)的第一標(biāo)識作為第一加密算法,放置于該應(yīng)答消息的消息體中的SDP中ο
[0124]同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法;第一會話應(yīng)答消息攜帶的第一加密算法對應(yīng)的第一標(biāo)識,不同于第一會話請求消息攜帶的第一加密算法對應(yīng)的第二標(biāo)識;第二判斷模塊包括:第二判斷單元,用于在第一會話應(yīng)答消息攜帶的第一加密算法對應(yīng)的第一標(biāo)識,不同于第一會話請求消息攜帶的第一加密算法對應(yīng)的第二標(biāo)識時,將第一加密算法作為第二終端與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0125]加密協(xié)商裝置還包括:第三消息發(fā)送模塊,用于發(fā)送針對SIP Invite消息的“200ok”消息;第三消息接收模塊,用于接收來自第一終端的媒體數(shù)據(jù)包,并根據(jù)第一加密算法對媒體數(shù)據(jù)包解密后再進(jìn)行解析。
[0126]如圖10所示,為本發(fā)明實施例基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置的示意圖之三,應(yīng)用于第三終端,該加密協(xié)商裝置包括:第四消息接收模塊71,用于接收來自網(wǎng)絡(luò)側(cè)的第一會話請求消息,第一會話請求消息是網(wǎng)絡(luò)側(cè)在第一會話請求消息對應(yīng)的第二終端忙碌時,向第三終端發(fā)送的;第四消息發(fā)送模塊72,用于若第一會話請求消息未攜帶其對應(yīng)的第一終端支持的加密算法的信息,發(fā)送第一會話應(yīng)答消息,第一會話應(yīng)答消息攜帶有第三終端支持的加密算法的信息;第五消息接收模塊73,用于接收經(jīng)網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)的,第一終端針對經(jīng)網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的第一會話應(yīng)答消息返回的第二會話應(yīng)答消息,第二會話應(yīng)答消息攜帶有第一終端根據(jù)自身支持的加密能力,從網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的第一會話應(yīng)答消息攜帶的加密算法的信息中選擇出的第一加密算法;第三判斷模塊74,用于根據(jù)第二會話應(yīng)答消息,將第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
[0127]這里,第一會話應(yīng)答消息優(yōu)選為183消息,第一會話應(yīng)答消息通過183消息的消息體中的SDP攜帶第三終端支持的加密算法的信息,即使網(wǎng)絡(luò)側(cè)存在不支持183消息頭域,183消息的頭域被刪除,第一會話應(yīng)答消息攜帶的第三終端支持的加密算法的信息也不會丟失;較佳的,加密算法的信息為該加密算法對應(yīng)的標(biāo)識,在終端側(cè)預(yù)設(shè)終端通過標(biāo)識與加密算法的對應(yīng)關(guān)系,終端根據(jù)該對應(yīng)關(guān)系,即可確定第一會話應(yīng)答消息中攜帶的加密算法。第三終端和第一終端支持第一加密算法,并且第一加密算法的信息位于第一會話請求消息攜帶的加密算法的信息中。第二會話應(yīng)答消息為針對經(jīng)網(wǎng)絡(luò)側(cè)處理后的UPDATE消息返回的應(yīng)答消息,并且第一加密算法的信息位于該應(yīng)答消息的消息體中的SDP中,較佳的,采用第一加密算法對應(yīng)的第一標(biāo)識作為第一加密算法,放置于該應(yīng)答消息的消息體中的SDP中。
[0128]以上的是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出對于本技術(shù)領(lǐng)域的普通人員來說,在不脫離本發(fā)明的原理前提下還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項】
1.一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法,應(yīng)用于第一終端,其特征在于,該加密協(xié)商方法包括: 所述第一終端發(fā)送第一會話請求消息,所述第一會話請求消息攜帶有所述第一終端支持的加密算法的信息; 所述第一終端接收第二終端針對所述第一會話請求消息返回的第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第二終端根據(jù)自身支持的加密能力,從所述第一會話請求消息攜帶的加密算法的信息中選擇出的第一加密算法; 所述第一終端根據(jù)所述第一會話應(yīng)答消息,將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。2.如權(quán)利要求1所述的加密協(xié)商方法,其特征在于, 所述第一會話請求消息攜帶的所述第一終端支持的加密算法的信息為所述加密算法對應(yīng)的標(biāo)識,其中,所述第一會話請求消息為SIP Invite消息,且所述標(biāo)識位于SIP Invite消息的消息體中的會話描述協(xié)議SDP中; 所述第一會話應(yīng)答消息攜帶所述第一加密算法對應(yīng)的第一標(biāo)識,其中,所述第一會話應(yīng)答消息為針對所述SIP Invite消息返回的應(yīng)答消息,且所述第一標(biāo)識位于該應(yīng)答消息的消息體中的SDP中。3.如權(quán)利要求2所述的加密協(xié)商方法,其特征在于, 同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法; 所述第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識; 所述第一終端根據(jù)所述第一會話應(yīng)答消息,將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法包括: 在第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識時,所述第一終端將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。4.如權(quán)利要求2所述的加密協(xié)商方法,其特征在于,在所述第一終端根據(jù)所述第一會話應(yīng)答消息,將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法之后,所述加密協(xié)商方法還包括: 所述第一終端在接收到針對所述SIP Invite消息的“200 ok”消息之前,如果接收到媒體數(shù)據(jù)包,則判斷所述媒體數(shù)據(jù)包為未加密的媒體數(shù)據(jù)包,并直接解析所述媒體數(shù)據(jù)包;所述第一終端在接收到針對所述SIP Invite消息的“200 ok”消息之后,如果接收到媒體數(shù)據(jù)包,則判斷所述媒體數(shù)據(jù)包為已加密的媒體數(shù)據(jù)包,根據(jù)所述第一加密算法對所述媒體數(shù)據(jù)包解密后再進(jìn)行解析。5.一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法,應(yīng)用于第二終端,其特征在于,該加密協(xié)商方法包括: 所述第二終端接收來自第一終端的第一會話請求消息,所述第一會話請求消息攜帶有所述第一終端支持的加密算法的信息; 所述第二終端根據(jù)自身支持的加密能力,從所述第一會話請求消息攜帶的加密算法的信息中選擇出第一加密算法; 所述第二終端向所述第一終端返回針對所述第一會話請求消息的第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第一加密算法; 所述第二終端根據(jù)所述第一會話請求消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。6.如權(quán)利要求5所述的加密協(xié)商方法,其特征在于, 所述第一會話請求消息攜帶的所述第一終端支持的加密算法的信息為所述加密算法對應(yīng)的標(biāo)識,其中,所述第一會話請求消息為SIP Invite消息,且所述標(biāo)識位于SIP Invite消息的消息體中的會話描述協(xié)議SDP中; 所述第一會話應(yīng)答消息攜帶所述第一加密算法對應(yīng)的第一標(biāo)識,其中,所述第一會話應(yīng)答消息為針對所述SIP Invite消息返回的應(yīng)答消息,且所述第一標(biāo)識位于消息體中的SDP 中。7.如權(quán)利要求6所述的加密協(xié)商方法,其特征在于, 同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法; 所述第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識; 所述第二終端根據(jù)所述第一會話請求消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法包括: 在第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識時,所述第二終端將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。8.如權(quán)利要求6所述的加密協(xié)商方法,其特征在于,在所述第二終端將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法之后,所述加密協(xié)商方法還包括: 所述第二終端發(fā)送針對所述SIP Invite消息的“200 ok”消息; 所述第二終端接收來自所述第一終端的媒體數(shù)據(jù)包,并根據(jù)所述第一加密算法對所述媒體數(shù)據(jù)包解密后再進(jìn)行解析。9.一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法,應(yīng)用于第三終端,其特征在于,該加密協(xié)商方法包括: 所述第三終端接收來自網(wǎng)絡(luò)側(cè)的第一會話請求消息,所述第一會話請求消息是網(wǎng)絡(luò)側(cè)在所述第一會話請求消息對應(yīng)的第二終端忙碌時,向所述第三終端發(fā)送的; 若所述第一會話請求消息未攜帶其對應(yīng)的第一終端支持的加密算法的信息,所述第三終端發(fā)送第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第三終端支持的加密算法的信息; 所述第三終端接收經(jīng)所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)的,所述第一終端針對經(jīng)所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的所述第一會話應(yīng)答消息返回的第二會話應(yīng)答消息,所述第二會話應(yīng)答消息攜帶有所述第一終端根據(jù)自身支持的加密能力,從所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的第一會話應(yīng)答消息攜帶的加密算法的信息中選擇出的第一加密算法; 所述第三終端根據(jù)所述第二會話應(yīng)答消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。10.一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置,應(yīng)用于第一終端,其特征在于,該加密協(xié)商裝置包括: 第一消息發(fā)送模塊,用于發(fā)送第一會話請求消息,所述第一會話請求消息攜帶有所述第一終端支持的加密算法的信息; 第一消息接收模塊,用于接收第二終端針對所述第一會話請求消息返回的第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第二終端根據(jù)自身支持的加密能力,從所述第一會話請求消息攜帶的加密算法的信息中選擇出的第一加密算法; 第一判斷模塊,用于根據(jù)所述第一會話應(yīng)答消息,將所述第一加密算法作為自身與第二終端之間的媒體數(shù)據(jù)的加密算法。11.如權(quán)利要求10所述的加密協(xié)商裝置,其特征在于, 所述第一會話請求消息攜帶的所述第一終端支持的加密算法的信息為所述加密算法對應(yīng)的標(biāo)識,其中,所述第一會話請求消息為SIP Invite消息,且所述標(biāo)識位于SIP Invite消息的消息體中的會話描述協(xié)議SDP中; 所述第一會話應(yīng)答消息攜帶所述第一加密算法對應(yīng)的第一標(biāo)識,其中,所述第一會話應(yīng)答消息為針對所述SIP Invite消息返回的應(yīng)答消息,且所述第一標(biāo)識位于該應(yīng)答消息的消息體中的SDP中。12.如權(quán)利要求11所述的加密協(xié)商裝置,其特征在于, 同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法; 所述第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識; 所述第一判斷模塊包括: 第一判斷單元,用于在第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識時,將所述第一加密算法作為所述第一終端與所述第二終端之間的媒體數(shù)據(jù)的加密算法。13.如權(quán)利要求11所述的加密協(xié)商裝置,其特征在于,所述加密協(xié)商裝置還包括: 第一處理模塊,用于在接收到針對所述SIP Invite消息的“200 ok”消息之前,如果接收到媒體數(shù)據(jù)包,則判斷所述媒體數(shù)據(jù)包為未加密的媒體數(shù)據(jù)包,并直接解析所述媒體數(shù)據(jù)包; 第二處理模塊,用于在接收到針對所述SIP Invite消息的“200 ok”消息之后,如果接收到媒體數(shù)據(jù)包,則判斷所述媒體數(shù)據(jù)包為已加密的媒體數(shù)據(jù)包,根據(jù)所述第一加密算法對所述媒體數(shù)據(jù)包解密后再進(jìn)行解析。14.一種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商裝置,應(yīng)用于第二終端,其特征在于,該加密協(xié)商裝置包括: 第二消息接收模塊,用于接收來自第一終端的第一會話請求消息,所述第一會話請求消息攜帶有所述第一終端支持的加密算法的信息; 第一選擇模塊,用于根據(jù)自身支持的加密能力,從所述第一會話請求消息攜帶的加密算法的信息中選擇出第一加密算法; 第二消息發(fā)送模塊,用于向所述第一終端返回針對所述第一會話請求消息的第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第一加密算法的信息;第二判斷模塊,用于根據(jù)所述第一會話請求消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。15.如權(quán)利要求14所述的加密協(xié)商裝置,其特征在于, 所述第一會話請求消息攜帶的所述第一終端支持的加密算法的信息為所述加密算法對應(yīng)的標(biāo)識,其中,所述第一會話請求消息為SIP Invite消息,且所述標(biāo)識位于SIP Invite消息的消息體中的會話描述協(xié)議SDP中; 所述第一會話應(yīng)答消息攜帶所述第一加密算法對應(yīng)的第一標(biāo)識,其中,所述第一會話應(yīng)答消息為針對所述SIP Invite消息返回的應(yīng)答消息,且所述第一標(biāo)識位于消息體中的SDP 中。16.如權(quán)利要求15所述的加密協(xié)商裝置,其特征在于, 同一加密算法對應(yīng)于兩個以上的標(biāo)識,且每個標(biāo)識對應(yīng)唯一一種加密算法; 所述第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識; 所述第二判斷模塊包括: 第二判斷單元,用于在第一會話應(yīng)答消息攜帶的所述第一加密算法對應(yīng)的第一標(biāo)識,不同于所述第一會話請求消息攜帶的所述第一加密算法對應(yīng)的第二標(biāo)識時,將所述第一加密算法作為所述第二終端與所述第一終端之間的媒體數(shù)據(jù)的加密算法。17.如權(quán)利要求15所述的加密協(xié)商裝置,其特征在于,所述加密協(xié)商裝置還包括: 第三消息發(fā)送模塊,用于發(fā)送針對所述SIP Invite消息的“200 ok”消息; 第三消息接收模塊,用于接收來自所述第一終端的媒體數(shù)據(jù)包,并根據(jù)所述第一加密算法對所述媒體數(shù)據(jù)包解密后再進(jìn)行解析。18.—種基于IP多媒體子系統(tǒng)的端到端的加密協(xié)商方法,應(yīng)用于第三終端,其特征在于,該加密協(xié)商裝置包括: 第四消息接收模塊,用于接收來自網(wǎng)絡(luò)側(cè)的第一會話請求消息,所述第一會話請求消息是網(wǎng)絡(luò)側(cè)在所述第一會話請求消息對應(yīng)的第二終端忙碌時,向所述第三終端發(fā)送的; 第四消息發(fā)送模塊,用于若所述第一會話請求消息未攜帶其對應(yīng)的第一終端支持的加密算法的信息,發(fā)送第一會話應(yīng)答消息,所述第一會話應(yīng)答消息攜帶有所述第三終端支持的加密算法的信息; 第五消息接收模塊,用于接收經(jīng)所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)的,所述第一終端針對經(jīng)所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的所述第一會話應(yīng)答消息返回的第二會話應(yīng)答消息,所述第二會話應(yīng)答消息攜帶有所述第一終端根據(jù)自身支持的加密能力,從所述網(wǎng)絡(luò)側(cè)處理轉(zhuǎn)發(fā)后的第一會話應(yīng)答消息攜帶的加密算法的信息中選擇出的第一加密算法; 第三判斷模塊,用于根據(jù)所述第二會話應(yīng)答消息,將所述第一加密算法作為自身與第一終端之間的媒體數(shù)據(jù)的加密算法。
【文檔編號】H04L29/06GK105847225SQ201510023699
【公開日】2016年8月10日
【申請日】2015年1月16日
【發(fā)明人】高晨亮, 王森, 江海濤
【申請人】中國移動通信集團(tuán)公司