專(zhuān)利名稱(chēng):檢測(cè)報(bào)文被修改的方法、發(fā)送方設(shè)備和接收方設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及通信技術(shù),尤其涉及檢測(cè)報(bào)文被修改的方法、發(fā)送方設(shè)備和接 收方設(shè)備。
背景技術(shù):
隨著hternet的發(fā)展,基于IP的通信業(yè)務(wù)也發(fā)展迅速,其中以會(huì)話(huà)初始協(xié)議 (Session Initiation Protocol,以下簡(jiǎn)稱(chēng)SIP)為控制信令的通信業(yè)務(wù)發(fā)展尤為顯著。SIP 是一種信令協(xié)議,用于初始、管理和終止分組網(wǎng)絡(luò)中的語(yǔ)音和視頻會(huì)話(huà),具體地說(shuō)就是用來(lái) 生成、修改和終結(jié)一個(gè)或多個(gè)參與者之間的會(huì)話(huà)。但是,Internet是一個(gè)異常復(fù)雜的網(wǎng)絡(luò),網(wǎng)絡(luò)設(shè)備眾多,網(wǎng)絡(luò)設(shè)備支持的能力有較 大差異,這就為SIP應(yīng)用的推廣帶來(lái)了諸多的問(wèn)題。具體來(lái)說(shuō),網(wǎng)絡(luò)上的設(shè)備對(duì)SIP的支持 各有不同,甚至由于對(duì)SIP的理解不同,而實(shí)現(xiàn)方式和行為也會(huì)不同,導(dǎo)致的直接結(jié)果就是 當(dāng)一個(gè)SIP請(qǐng)求或者響應(yīng)經(jīng)過(guò)這些設(shè)備時(shí),這些設(shè)備很可能會(huì)對(duì)SIP請(qǐng)求或者響應(yīng)進(jìn)行修 改,使得SIP請(qǐng)求或者響應(yīng)的某些字段變化了,甚至填寫(xiě)錯(cuò)誤,從而導(dǎo)致SIP業(yè)務(wù)失敗。同時(shí)SIP的發(fā)展也非???,新的業(yè)務(wù)標(biāo)準(zhǔn)也是不斷推出來(lái),這些新業(yè)務(wù)需要經(jīng)過(guò) 實(shí)踐應(yīng)用的檢驗(yàn),通常會(huì)很快就在hternet上推廣應(yīng)用,但由于上述SIP報(bào)文可能被修改 的問(wèn)題的存在,對(duì)這些新業(yè)務(wù)的推廣造成了很大的阻礙,如果對(duì)網(wǎng)絡(luò)上的這些設(shè)備進(jìn)行升 級(jí)、改造,其投入成本是非常巨大的。因此,目前需要一種能夠檢測(cè)SIP報(bào)文是否被修改的方法,以便于能夠根據(jù)檢測(cè) 結(jié)果采取相應(yīng)的防止報(bào)文被修改的處理。而現(xiàn)有技術(shù)中,并不存在一種能夠檢測(cè)SIP報(bào)文 是否被修改的方法,只是在SIP業(yè)務(wù)失敗后,確定失敗原因可能是由于SIP報(bào)文被修改導(dǎo)致 的。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供檢測(cè)報(bào)文被修改的方法、發(fā)送方設(shè)備和接收方設(shè)備,能夠檢測(cè) 出SIP報(bào)文是否被修改。本發(fā)明實(shí)施例提供的檢測(cè)報(bào)文被修改的方法,包括接收會(huì)話(huà)初始協(xié)議報(bào)文;該會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中攜帶有發(fā)送方對(duì)該會(huì) 話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算后得到的第一完整性校驗(yàn)碼,該第一字段為不會(huì)被修 改的字段;從會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中提取第一完整性校驗(yàn)碼;對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第二完整性校驗(yàn)碼;檢測(cè)第一完整性校驗(yàn)碼與第二完整性校驗(yàn)碼是否相同,如果是,則確定會(huì)話(huà)初始 協(xié)議報(bào)文未被修改,否則,確定會(huì)話(huà)初始協(xié)議報(bào)文被修改。本發(fā)明實(shí)施例提供的發(fā)送方設(shè)備,包括第一校驗(yàn)碼生成模塊,用于對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第一完整性校驗(yàn)碼;第一收發(fā)處理模塊,用于將第一完整性校驗(yàn)碼攜帶在會(huì)話(huà)初始協(xié)議報(bào)文的第一字 段中,發(fā)送會(huì)話(huà)初始協(xié)議報(bào)文,其中,第一字段為不會(huì)被修改的字段。本發(fā)明實(shí)施例提供的接收方設(shè)備,包括第二收發(fā)處理模塊,用于接收會(huì)話(huà)初始協(xié)議報(bào)文;該會(huì)話(huà)初始協(xié)議報(bào)文的第一字 段中攜帶有第一完整性校驗(yàn)碼,該第一字段為不會(huì)被修改的字段;第二校驗(yàn)碼生成模塊,用于對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第二 完整性校驗(yàn)碼;檢測(cè)處理模塊,用于從會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中提取第一完整性校驗(yàn)碼, 檢測(cè)第一完整性校驗(yàn)碼與第二完整性校驗(yàn)碼是否相同,如果是,則確定會(huì)話(huà)初始協(xié)議報(bào)文 未被修改,否則,確定會(huì)話(huà)初始協(xié)議報(bào)文被修改。本發(fā)明實(shí)施例提出的檢測(cè)報(bào)文被修改的方法、發(fā)送方設(shè)備和接收方設(shè)備,由于在 發(fā)送SIP報(bào)文時(shí)對(duì)報(bào)文進(jìn)行了完整性校驗(yàn)計(jì)算,在接收SIP報(bào)文時(shí)也對(duì)報(bào)文進(jìn)行完整性校 驗(yàn)計(jì)算,這樣通過(guò)比較兩個(gè)計(jì)算結(jié)果就能檢測(cè)出SIP報(bào)文是否被修改。并且,將完整性校驗(yàn) 計(jì)算的結(jié)果攜帶在SIP報(bào)文中不會(huì)被修改的字段中,以使接收方能夠根據(jù)準(zhǔn)確的校驗(yàn)值來(lái) 檢測(cè)SIP報(bào)文是否被修改,從而保證了檢測(cè)結(jié)果準(zhǔn)確。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例提出的檢測(cè)報(bào)文被修改的基本流程圖;圖2是在本發(fā)明實(shí)施例中檢測(cè)INVITE報(bào)文是否被修改的流程圖;圖3是本發(fā)明實(shí)施例中發(fā)送方設(shè)備的結(jié)構(gòu)示意圖;圖4是本發(fā)明實(shí)施例中接收方設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提出了一種檢測(cè)報(bào)文被修改的方法,參見(jiàn)圖1,該方法包括以下步 驟步驟101 接收SIP報(bào)文;該SIP報(bào)文的第一字段中攜帶有發(fā)送方對(duì)該SIP報(bào)文進(jìn) 行完整性校驗(yàn)計(jì)算后得到的第一完整性校驗(yàn)碼,該第一字段為不會(huì)被修改的字段。步驟102 從SIP報(bào)文的第一字段中提取第一完整性校驗(yàn)碼。步驟103 對(duì)SIP報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第二完整性校驗(yàn)碼。步驟104 檢測(cè)第一完整性校驗(yàn)碼與第二完整性校驗(yàn)碼是否相同,如果是,則執(zhí)行
5步驟105,否則,執(zhí)行步驟106。步驟105 確定SIP報(bào)文未被修改,結(jié)束當(dāng)前流程。步驟106 確定SIP報(bào)文被修改??梢?jiàn),本發(fā)明實(shí)施例提出的方法中,由于在發(fā)送SIP報(bào)文時(shí)對(duì)報(bào)文進(jìn)行了完整性 校驗(yàn)計(jì)算,在接收SIP報(bào)文時(shí)也對(duì)報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,這樣通過(guò)比較兩個(gè)計(jì)算結(jié)果 就能檢測(cè)出SIP報(bào)文是否被修改。并且,將完整性校驗(yàn)計(jì)算的結(jié)果攜帶在SIP報(bào)文中不會(huì) 被修改的字段中,以使接收方能夠根據(jù)準(zhǔn)確的校驗(yàn)值來(lái)檢測(cè)SIP報(bào)文是否被修改,從而保 證了檢測(cè)結(jié)果準(zhǔn)確。圖2是在本發(fā)明實(shí)施例中檢測(cè)INVITE報(bào)文是否被修改的流程圖。參見(jiàn)圖2,以SIP 報(bào)文中的INVITE報(bào)文為例,在本發(fā)明實(shí)施例的具體實(shí)現(xiàn)中,檢測(cè)INVITE報(bào)文是否被修改的 過(guò)程具體包括以下步驟步驟201 業(yè)務(wù)終端對(duì)需發(fā)送的INVITE報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到完整性校 驗(yàn)碼1。本步驟中,進(jìn)行完整性校驗(yàn)計(jì)算的過(guò)程可以包括利用INVITE報(bào)文的所有內(nèi)容進(jìn) 行完整性校驗(yàn)計(jì)算。或者,考慮到SIP報(bào)文中的Via頭域通常是不會(huì)被修改的字段,該Via頭域是否參 與完整性校驗(yàn)計(jì)算不會(huì)影響后續(xù)的檢測(cè)報(bào)文是否被修改的結(jié)果,因此,為了簡(jiǎn)化計(jì)算過(guò)程, 在本步驟中,也可以是對(duì)INVITE報(bào)文中除Via頭域之外的部分進(jìn)行完整性校驗(yàn)計(jì)算。另外,本步驟中的完整性校驗(yàn)計(jì)算可以是預(yù)定的任意一種算法,比如可以為哈希算法。步驟202 業(yè)務(wù)終端將完整性校驗(yàn)碼1攜帶在INVITE報(bào)文中,然后發(fā)送該INVITE 報(bào)文。Via頭域中的Branch參數(shù)是SIP報(bào)文的基本參數(shù),也就是說(shuō),所有SIP報(bào)文都會(huì)在 Via頭域中攜帶該Branch參數(shù),因此適合于攜帶完整性校驗(yàn)碼。另外,分析SIP報(bào)文的特點(diǎn),SIP報(bào)文在hternet網(wǎng)絡(luò)中傳輸時(shí),有一些字段是容 易被修改的字段比如Contact字段,有一些字段通常是不會(huì)被修改的字段,比如Via頭域中 的Branch參數(shù)?;谏鲜龇治?,較佳地,在本步驟中,業(yè)務(wù)終端將完整性校驗(yàn)碼1攜帶在INVITE報(bào) 文的Via頭域的Branch參數(shù)中,從而保證完整性校驗(yàn)碼在后續(xù)hternet網(wǎng)絡(luò)傳輸中不被 修改,接收方能夠接收到正確的完整性校驗(yàn)碼,基于正確的完整性校驗(yàn)碼來(lái)檢測(cè)SIP報(bào)文 是否被修改,保證檢測(cè)結(jié)果的準(zhǔn)確。更具體的,完整性校驗(yàn)碼1可以被攜帶在Via頭域中的 Branch參數(shù)的魔鬼數(shù)字z9Hg4之后。當(dāng)然,本步驟中,也可以將完整性校驗(yàn)碼1攜帶在INVITE報(bào)文中預(yù)先被定義為數(shù) 值不可修改的擴(kuò)展字段,或者其他任意擴(kuò)展字段或參數(shù)中。步驟203 JNVITE報(bào)文經(jīng)過(guò)hternet網(wǎng)絡(luò)傳輸,到達(dá)應(yīng)用服務(wù)器。步驟204 應(yīng)用服務(wù)器從INVITE報(bào)文中提取完整性校驗(yàn)碼1。這里,對(duì)應(yīng)于上述步驟202的處理,應(yīng)用服務(wù)器可以是從Via頭域的Branch參數(shù) 中比如魔鬼數(shù)字z9Hg4之后的位置,提取出完整性校驗(yàn)碼1 ;或者,從被定義為數(shù)值不可修 改的擴(kuò)展字段中提取出完整性校驗(yàn)碼1 ;或者,從其他任意擴(kuò)展字段或參數(shù)中提取出完整性校驗(yàn)碼1。步驟205 應(yīng)用服務(wù)器對(duì)接收到的INVITE報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到完整性 校驗(yàn)碼2。這里,對(duì)應(yīng)于上述步驟201的處理,應(yīng)用服務(wù)器利用INVITE報(bào)文的所有內(nèi)容進(jìn)行 完整性校驗(yàn)計(jì)算,或者,對(duì)INVITE報(bào)文中除Via頭域之外的部分進(jìn)行完整性校驗(yàn)計(jì)算。完 整性校驗(yàn)計(jì)算的算法與步驟201中的算法對(duì)應(yīng),比如也為哈希算法。步驟206 應(yīng)用服務(wù)器檢測(cè)完整性校驗(yàn)碼1與完整性校驗(yàn)碼2是否相同,如果是, 則執(zhí)行步驟207,否則,執(zhí)行步驟208。步驟207 應(yīng)用服務(wù)器確定INVITE報(bào)文未被修改,結(jié)束當(dāng)前流程。步驟208 應(yīng)用服務(wù)器確定INVITE報(bào)文被修改。至此,檢測(cè)INVITE報(bào)文是否被修改的過(guò)程結(jié)束。為了能夠進(jìn)一步針對(duì)INVITE報(bào)文被修改的檢測(cè)結(jié)果進(jìn)行應(yīng)對(duì)處理,使得業(yè)務(wù)終 端后續(xù)發(fā)送的SIP報(bào)文不被hternet網(wǎng)絡(luò)中的設(shè)備修改,本發(fā)明實(shí)施例還可以進(jìn)一步包括 如下步驟的處理步驟209 應(yīng)用服務(wù)器向業(yè)務(wù)終端返回修改警告響應(yīng),其中攜帶許可的封裝方式 fn息ο這里,修改警告響應(yīng)可以為新定義的409響應(yīng),或者也可以為攜帶修改警告碼的 403響應(yīng)。步驟210 業(yè)務(wù)終端接收到修改警告響應(yīng)后,根據(jù)其中的封裝方式信息,對(duì)INVITE 報(bào)文進(jìn)行封裝,并重新通過(guò)hternet網(wǎng)絡(luò)發(fā)送給應(yīng)用服務(wù)器。通過(guò)采用對(duì)SIP報(bào)文封裝后發(fā)送的方式,使得hternet網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備不能識(shí) 別出SIP報(bào)文,從而使得SIP報(bào)文不會(huì)被修改。步驟211 業(yè)務(wù)終端和應(yīng)用服務(wù)器對(duì)當(dāng)前會(huì)話(huà)的其他SIP報(bào)文均進(jìn)行上述封裝后 發(fā)送給對(duì)方。上述圖2所示流程是以INVITE報(bào)文為例進(jìn)行說(shuō)明,在實(shí)際的業(yè)務(wù)實(shí)現(xiàn)中,可以是 對(duì)所有的SIP報(bào)文都執(zhí)行上述圖2所示流程的檢測(cè)處理,比如,初始呼叫(INVITE)報(bào)文、確 認(rèn)(ACK)報(bào)文、注冊(cè)(REGISTER)報(bào)文等。當(dāng)然,也可以只對(duì)一個(gè)會(huì)話(huà)的首包進(jìn)行上述圖2 所示流程的檢測(cè)處理,由于同一個(gè)會(huì)話(huà)的路徑相同,因此,如果首包不會(huì)被修改,那么,該會(huì) 話(huà)后續(xù)所有的SIP報(bào)文通常也不會(huì)被修改,因此,無(wú)需再針對(duì)會(huì)話(huà)的后續(xù)SIP報(bào)文檢測(cè);如 果首包被修改了,那么,該會(huì)話(huà)后續(xù)所有的SIP報(bào)文都按照首包的封裝方式進(jìn)行封裝,來(lái)避 免被傳輸路徑中的網(wǎng)絡(luò)設(shè)備修改。本發(fā)明實(shí)施例還提出了一種發(fā)送方設(shè)備,參見(jiàn)圖3,包括第一校驗(yàn)碼生成模塊,用于對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第一 完整性校驗(yàn)碼;第一收發(fā)處理模塊,用于將第一完整性校驗(yàn)碼攜帶在會(huì)話(huà)初始協(xié)議報(bào)文的第一字 段中,發(fā)送會(huì)話(huà)初始協(xié)議報(bào)文,其中,第一字段為不會(huì)被修改的字段。其中,所述第一收發(fā)處理模塊將第一完整性校驗(yàn)碼攜帶在會(huì)話(huà)初始協(xié)議報(bào)文的 Via頭域的Branch參數(shù)中,或者攜帶在會(huì)話(huà)初始協(xié)議報(bào)文的被定義為數(shù)值不可修改的擴(kuò)展 字段中。
在一種較佳實(shí)現(xiàn)方式中,所述第一校驗(yàn)碼生成模塊對(duì)所述會(huì)話(huà)初始協(xié)議報(bào)文的除Via頭域之外的部分進(jìn) 行完整性校驗(yàn)計(jì)算;禾口/ 或,所述第一收發(fā)處理模塊將第一完整性校驗(yàn)碼攜帶在會(huì)話(huà)初始協(xié)議報(bào)文的Via頭 域的Branch參數(shù)中的魔鬼數(shù)字z9Hg4之后。根據(jù)SIP報(bào)文被修改的檢測(cè)結(jié)果,發(fā)送方設(shè)備可以進(jìn)一步采取相應(yīng)的應(yīng)對(duì)處理, 即,所述第一收發(fā)處理模塊進(jìn)一步用于接收修改警告響應(yīng),根據(jù)其中的封裝方式信息,對(duì)所 述會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行封裝,并重新發(fā)送。本發(fā)明實(shí)施例還提出了一種接收方設(shè)備,參見(jiàn)圖4,包括第二收發(fā)處理模塊,用于接收會(huì)話(huà)初始協(xié)議報(bào)文;該會(huì)話(huà)初始協(xié)議報(bào)文的第一字 段中攜帶有第一完整性校驗(yàn)碼,該第一字段為不會(huì)被修改的字段;第二校驗(yàn)碼生成模塊,用于對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第二 完整性校驗(yàn)碼;檢測(cè)處理模塊,用于從會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中提取第一完整性校驗(yàn)碼, 檢測(cè)第一完整性校驗(yàn)碼與第二完整性校驗(yàn)碼是否相同,如果是,則確定會(huì)話(huà)初始協(xié)議報(bào)文 未被修改,否則,確定會(huì)話(huà)初始協(xié)議報(bào)文被修改。其中,所述檢測(cè)處理模塊從會(huì)話(huà)初始協(xié)議報(bào)文的Via頭域的Branch參數(shù)中或者被 定義為數(shù)值不可修改的擴(kuò)展字段中提取第一完整性校驗(yàn)碼。在一種較佳實(shí)現(xiàn)方式中,所述第二校驗(yàn)碼生成模塊對(duì)所述會(huì)話(huà)初始協(xié)議報(bào)文的除 Via頭域之外的部分進(jìn)行完整性校驗(yàn)計(jì)算;和/或,所述檢測(cè)處理模塊從Via頭域的Branch參數(shù)中的魔鬼數(shù)字z9Hg4之后的位置提 取第一完整性校驗(yàn)碼。根據(jù)SIP報(bào)文被修改的檢測(cè)結(jié)果,接收方設(shè)備可以進(jìn)一步采取相應(yīng)的應(yīng)對(duì)處理, 即,所述第二收發(fā)處理模塊進(jìn)一步用于在檢測(cè)處理模塊確定會(huì)話(huà)初始協(xié)議報(bào)文被修改后, 向發(fā)送方返回修改警告響應(yīng),其中攜帶許可的封裝方式信息。其中,所述第二收發(fā)處理模塊向發(fā)送方返回新定義的409響應(yīng)作為上述的修改警 告響應(yīng),其中攜帶許可的封裝方式信息;或者向發(fā)送方返回403響應(yīng)作為上述的修改警告 響應(yīng),其中攜帶修改警告碼。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò) 程序指令相關(guān)的硬件來(lái)完成,前述程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在 執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光 盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
權(quán)利要求
1.一種檢測(cè)報(bào)文被修改的方法,其特征在于,包括接收會(huì)話(huà)初始協(xié)議報(bào)文;該會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中攜帶有發(fā)送方對(duì)該會(huì)話(huà)初 始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算后得到的第一完整性校驗(yàn)碼,該第一字段為不會(huì)被修改的 字段;從會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中提取第一完整性校驗(yàn)碼;對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第二完整性校驗(yàn)碼;檢測(cè)第一完整性校驗(yàn)碼與第二完整性校驗(yàn)碼是否相同,如果是,則確定會(huì)話(huà)初始協(xié)議 報(bào)文未被修改,否則,確定會(huì)話(huà)初始協(xié)議報(bào)文被修改。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一字段為Via頭域中的Branch參 數(shù);或者,會(huì)話(huà)初始協(xié)議報(bào)文中被定義為數(shù)值不可修改的擴(kuò)展字段。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,如果所述第一字段為Via頭域中的 Branch參數(shù);所述第一完整性校驗(yàn)碼被攜帶在Via頭域中的Branch參數(shù)的魔鬼數(shù)字z9Hg4 之后;和/或,所述進(jìn)行完整性校驗(yàn)計(jì)算包括對(duì)所述會(huì)話(huà)初始協(xié)議報(bào)文的除Via頭域之外的部分進(jìn) 行完整性校驗(yàn)計(jì)算。
4.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于,在所述確定會(huì)話(huà)初始協(xié)議報(bào)文被修 改之后,進(jìn)一步包括向發(fā)送方返回修改警告響應(yīng),其中攜帶許可的封裝方式信息;發(fā)送方 接收到修改警告響應(yīng)后,根據(jù)其中的封裝方式信息,對(duì)所述會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行封裝,并 重新發(fā)送。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述會(huì)話(huà)初始協(xié)議報(bào)文為會(huì)話(huà)的首報(bào)文;該方法進(jìn)一步包括對(duì)所述會(huì)話(huà)的其他會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行所述封裝后發(fā)送。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述修改警告響應(yīng)為新定義的409響應(yīng), 或者為攜帶修改警告碼的403響應(yīng)。
7.—種發(fā)送方設(shè)備,其特征在于,包括第一校驗(yàn)碼生成模塊,用于對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第一完整 性校驗(yàn)碼;第一收發(fā)處理模塊,用于將第一完整性校驗(yàn)碼攜帶在會(huì)話(huà)初始協(xié)議報(bào)文的第一字段 中,發(fā)送會(huì)話(huà)初始協(xié)議報(bào)文,其中,第一字段為不會(huì)被修改的字段。
8.根據(jù)權(quán)利要求7所述的發(fā)送方設(shè)備,其特征在于,所述第一收發(fā)處理模塊將第一完 整性校驗(yàn)碼攜帶在會(huì)話(huà)初始協(xié)議報(bào)文的Via頭域的Branch參數(shù)中,或者攜帶在會(huì)話(huà)初始協(xié) 議報(bào)文的被定義為數(shù)值不可修改的擴(kuò)展字段中。
9.根據(jù)權(quán)利要求8所述的發(fā)送方設(shè)備,其特征在于,所述第一校驗(yàn)碼生成模塊對(duì)所述會(huì)話(huà)初始協(xié)議報(bào)文的除Via頭域之外的部分進(jìn)行完 整性校驗(yàn)計(jì)算;和/或,所述第一收發(fā)處理模塊將第一完整性校驗(yàn)碼攜帶在會(huì)話(huà)初始協(xié)議報(bào)文的Via頭域的 Branch參數(shù)中的魔鬼數(shù)字z9Hg4之后。
10.根據(jù)權(quán)利要求7、8或9所述的發(fā)送方設(shè)備,其特征在于,所述第一收發(fā)處理模塊,進(jìn)一步用于接收修改警告響應(yīng),根據(jù)其中的封裝方式信息,對(duì)所述會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行封 裝,并重新發(fā)送。
11.一種接收方設(shè)備,其特征在于,包括第二收發(fā)處理模塊,用于接收會(huì)話(huà)初始協(xié)議報(bào)文;該會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中 攜帶有第一完整性校驗(yàn)碼,該第一字段為不會(huì)被修改的字段;第二校驗(yàn)碼生成模塊,用于對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第二完整 性校驗(yàn)碼;檢測(cè)處理模塊,用于從會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中提取第一完整性校驗(yàn)碼,檢測(cè) 第一完整性校驗(yàn)碼與第二完整性校驗(yàn)碼是否相同,如果是,則確定會(huì)話(huà)初始協(xié)議報(bào)文未被 修改,否則,確定會(huì)話(huà)初始協(xié)議報(bào)文被修改。
12.根據(jù)權(quán)利要求11所述的接收方設(shè)備,其特征在于,所述檢測(cè)處理模塊從會(huì)話(huà)初始 協(xié)議報(bào)文的Via頭域的Branch參數(shù)中或者被定義為數(shù)值不可修改的擴(kuò)展字段中提取第一 完整性校驗(yàn)碼。
13.根據(jù)權(quán)利要求12所述的接收方設(shè)備,其特征在于,所述第二校驗(yàn)碼生成模塊對(duì)所 述會(huì)話(huà)初始協(xié)議報(bào)文的除Via頭域之外的部分進(jìn)行完整性校驗(yàn)計(jì)算;和/或,所述檢測(cè)處理模塊從Via頭域的Branch參數(shù)中的魔鬼數(shù)字z9Hg4之后的位置提取第一完整性校驗(yàn)碼。
14.根據(jù)權(quán)利要求11、12或13所述的接收方設(shè)備,其特征在于,所述第二收發(fā)處理模 塊進(jìn)一步用于在檢測(cè)處理模塊確定會(huì)話(huà)初始協(xié)議報(bào)文被修改后,向發(fā)送方返回修改警告響 應(yīng),其中攜帶許可的封裝方式信息。
15.根據(jù)權(quán)利要求14所述的接收方設(shè)備,其特征在于,所述第二收發(fā)處理模塊向發(fā)送 方返回新定義的409響應(yīng),其中攜帶許可的封裝方式信息;或者向發(fā)送方返回403響應(yīng),其 中攜帶修改警告碼。
全文摘要
本發(fā)明提供了檢測(cè)報(bào)文被修改的方法、發(fā)送方設(shè)備和接收方設(shè)備。該方法包括接收會(huì)話(huà)初始協(xié)議報(bào)文;該會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中攜帶有發(fā)送方對(duì)該會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算后得到的第一完整性校驗(yàn)碼,該第一字段為不會(huì)被修改的字段;從會(huì)話(huà)初始協(xié)議報(bào)文的第一字段中提取第一完整性校驗(yàn)碼;對(duì)會(huì)話(huà)初始協(xié)議報(bào)文進(jìn)行完整性校驗(yàn)計(jì)算,得到第二完整性校驗(yàn)碼;檢測(cè)第一完整性校驗(yàn)碼與第二完整性校驗(yàn)碼是否相同,如果是,則確定會(huì)話(huà)初始協(xié)議報(bào)文未被修改,否則,確定會(huì)話(huà)初始協(xié)議報(bào)文被修改。本發(fā)明能夠檢測(cè)出會(huì)話(huà)初始協(xié)議報(bào)文是否被修改。
文檔編號(hào)H04L29/06GK102143010SQ201010264029
公開(kāi)日2011年8月3日 申請(qǐng)日期2010年8月24日 優(yōu)先權(quán)日2010年8月24日
發(fā)明者張戀, 黃蓉軍 申請(qǐng)人:華為軟件技術(shù)有限公司