專利名稱:一種用于防止攻擊的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于防止攻擊的方法和裝置。
背景技術(shù):
下一代網(wǎng)絡(luò)(NGN)是一個以分組網(wǎng)絡(luò)為承載,提供固定和移動話音、數(shù)據(jù)和視 頻業(yè)務(wù)等多種業(yè)務(wù)的業(yè)務(wù)融合網(wǎng)絡(luò)。媒體網(wǎng)關(guān)控制器(MGC)和媒體網(wǎng)關(guān)(MG)是分組網(wǎng) 絡(luò)中的兩個重要設(shè)備,其中,媒體網(wǎng)關(guān)負責業(yè)務(wù)承載功能,用于將不同的接入方式轉(zhuǎn)化為 適合在IP(Internet Protocol)網(wǎng)絡(luò)上傳送的實時傳輸協(xié)議流(Real-time Transport Protocol),而媒體網(wǎng)關(guān)控制器負責呼叫控制功能,用于實現(xiàn)呼叫控制平面和業(yè)務(wù)承載平面 的分離。媒體網(wǎng)關(guān)控制(MEGACO)協(xié)議是媒體網(wǎng)關(guān)控制器和媒體網(wǎng)關(guān)之間通信的主要協(xié) 議。按照媒體網(wǎng)關(guān)控制協(xié)議,媒體網(wǎng)關(guān)控制器和媒體網(wǎng)關(guān)之間通過諸如添加(Add)、修改 (Modify)、刪除(Subtract)和服務(wù)改變(ServiceChange)等這樣的各種媒體網(wǎng)關(guān)控制協(xié)議 消息來進行通信,以實現(xiàn)各種功能。例如,媒體網(wǎng)關(guān)可以通過服務(wù)改變消息來請求媒體網(wǎng) 關(guān)控制器進行注冊和去注冊,媒體網(wǎng)關(guān)控制器可以通過修改消息來指示媒體網(wǎng)關(guān)把用戶的 狀態(tài)修改為呼叫忙,媒體網(wǎng)關(guān)可以通過刪除消息來請求媒體網(wǎng)關(guān)控制器刪除通話結(jié)束的呼 叫。 由于媒體網(wǎng)關(guān)控制器和媒體網(wǎng)關(guān)之間是通過各種媒體網(wǎng)關(guān)控制協(xié)議消息來進行 通信以實現(xiàn)各種功能的,因此,如果媒體網(wǎng)關(guān)控制(MEGACO)協(xié)議沒有安全機制,那么當網(wǎng) 絡(luò)中存在未授權(quán)的媒體網(wǎng)關(guān)或未授權(quán)的媒體網(wǎng)關(guān)控制器時,媒體網(wǎng)關(guān)控制協(xié)議很容易受到 未授權(quán)的媒體網(wǎng)關(guān)或未授權(quán)的媒體網(wǎng)關(guān)控制器的攻擊。例如,未授權(quán)的媒體網(wǎng)關(guān)可以冒充 授權(quán)的媒體網(wǎng)關(guān)通過服務(wù)改變請求授權(quán)的媒體網(wǎng)關(guān)控制器對該授權(quán)的媒體網(wǎng)關(guān)進行去注 冊以實現(xiàn)去注冊攻擊;未授權(quán)的媒體網(wǎng)關(guān)控制器可以通過修改消息來通知一個授權(quán)的媒體 網(wǎng)關(guān)呼叫忙以實現(xiàn)呼叫忙攻擊,使得用戶不能利用該授權(quán)的媒體網(wǎng)關(guān)來進行電話呼叫;未 授權(quán)的媒體網(wǎng)關(guān)可以可以通過刪除消息來請求授權(quán)的媒體網(wǎng)關(guān)控制器刪除呼叫以實現(xiàn)呼 叫刪除攻擊,從而干擾授權(quán)的呼叫;以及,未授權(quán)的媒體網(wǎng)關(guān)可以獲取授權(quán)的媒體網(wǎng)關(guān)發(fā)送 給授權(quán)的媒體網(wǎng)關(guān)控制器的消息,然后把所獲取的消息再次發(fā)送給授權(quán)的媒體網(wǎng)關(guān)控制器 以實現(xiàn)重放攻擊。為了防止媒體網(wǎng)關(guān)控制協(xié)議受到未授權(quán)的媒體網(wǎng)關(guān)或媒體網(wǎng)關(guān)控制器利用媒體 網(wǎng)關(guān)控制協(xié)議的攻擊,現(xiàn)有的媒體網(wǎng)關(guān)控制協(xié)議采用了一些相應的安全機制?,F(xiàn)有的媒體網(wǎng)關(guān)控制協(xié)議采用的其中一種安全機制是使用網(wǎng)絡(luò)地址來進行身份 認證。具體地,授權(quán)的媒體網(wǎng)關(guān)控制器預先建立一個白名單列表,用于存儲各個授權(quán)的媒體 網(wǎng)關(guān)的網(wǎng)絡(luò)地址;然后,當該授權(quán)的媒體網(wǎng)關(guān)控制器收到一個媒體網(wǎng)關(guān)發(fā)送的消息時,該授 權(quán)的媒體網(wǎng)關(guān)控制器判斷該百名單列表中是否包括有所接收的消息中包含的該媒體網(wǎng)關(guān) 的網(wǎng)絡(luò)地址;接著,如果判斷結(jié)果為肯定,則表明該媒體網(wǎng)關(guān)為授權(quán)的媒體網(wǎng)關(guān),該授權(quán)的 媒體網(wǎng)關(guān)控制器就會根據(jù)所接收的消息執(zhí)行相應的操作,而如果判斷結(jié)果為否定,則表明該媒體網(wǎng)關(guān)為未授權(quán)的媒體網(wǎng)關(guān),該授權(quán)的媒體網(wǎng)關(guān)控制器不會執(zhí)行與所接收的消息相應 的操作。然而,由于消息中所包含的網(wǎng)絡(luò)地址很容易被欺騙(假冒),所以這種安全機制并 不能保護媒體網(wǎng)關(guān)控制協(xié)議免受上述攻擊。 現(xiàn)有的媒體網(wǎng)關(guān)控制協(xié)議采用的另一種安全機制是使用IPsecdP層協(xié)議安全架 構(gòu))來保護授權(quán)的媒體網(wǎng)關(guān)和授權(quán)的媒體網(wǎng)關(guān)控制器之間的通信。然而,由于服務(wù)質(zhì)量 (QoS)的要求,所以在采用媒體網(wǎng)關(guān)控制協(xié)議的網(wǎng)絡(luò)中,很難部署IPsec。
發(fā)明內(nèi)容
考慮到現(xiàn)有技術(shù)的上述問題,本發(fā)明的實施例提供一種用于防止攻擊的方法和裝 置,利用該方法和裝置,能夠減少或避免媒體網(wǎng)關(guān)控制協(xié)議受到攻擊。按照本發(fā)明的一種用于防止攻擊的方法,包括步驟計算指定字符串的哈希值,作 為第一設(shè)備欲發(fā)送給第二設(shè)備的媒體網(wǎng)關(guān)控制協(xié)議消息的攻擊防止令牌,其中,所述指定 字符串由所述第一設(shè)備和所述第二設(shè)備共享的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為 媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述媒體網(wǎng)關(guān)控制協(xié)議消息形成,其中,所述攻擊防止令牌用 于與所述媒體網(wǎng)關(guān)控制協(xié)議消息一起被發(fā)送給所述第二設(shè)備。按照本發(fā)明的一種用于防止攻擊的方法,包括步驟當?shù)诙O(shè)備接收到第一設(shè)備 發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息和包括有哈希值的攻擊防止令牌時,計算指定字符串的哈希 值,其中,所述指定字符串由所述第一設(shè)備和所述第二設(shè)備共享的密鑰、所述第一設(shè)備和所 述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述接收的媒體網(wǎng)關(guān)控制協(xié)議消息形成; 判斷所述計算的哈希值和所述攻擊防止令牌所包括的哈希值是否相同;以及,當判斷結(jié)果 為肯定時,確定所述第一設(shè)備是授權(quán)的設(shè)備。按照本發(fā)明的一種用于防止攻擊的裝置,包括計算模塊,用于計算指定字符串的 哈希值,作為第一設(shè)備欲發(fā)送給第二設(shè)備的媒體網(wǎng)關(guān)控制協(xié)議消息的攻擊防止令牌,其中, 所述指定字符串由所述第一設(shè)備和所述第二設(shè)備共享的密鑰、所述第一設(shè)備和所述第二設(shè) 備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述媒體網(wǎng)關(guān)控制協(xié)議消息形成,其中,所述攻擊防 止令牌用于與所述媒體網(wǎng)關(guān)控制協(xié)議消息一起被發(fā)送給所述第二設(shè)備。按照本發(fā)明的一種用于防止攻擊的裝置,包括計算模塊,用于當?shù)诙O(shè)備接收到 第一設(shè)備發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息和包括有哈希值的攻擊防止令牌時,計算指定字符 串的哈希值,其中,所述指定字符串由所述第一設(shè)備和所述第二設(shè)備共享的密鑰、所述第一 設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述接收的媒體網(wǎng)關(guān)控制協(xié)議消 息形成;判斷模塊,用于判斷所述計算的哈希值和所述攻擊防止令牌所包括的哈希值是否 相同;以及,確定模塊,用于當判斷結(jié)果為肯定時,確定所述第一設(shè)備是授權(quán)的設(shè)備。按照本發(fā)明的一種第一設(shè)備,包括存儲模塊,用于存儲所述第一設(shè)備和第二設(shè)備 共享的密鑰;攻擊防止模塊,包括計算模塊,用于計算指定字符串的哈希值,作為所述第 一設(shè)備欲發(fā)送給所述第二設(shè)備的媒體網(wǎng)關(guān)控制協(xié)議消息的攻擊防止令牌,其中,所述指定 字符串由所述存儲模塊所存儲的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè) 備的標識、以及所述媒體網(wǎng)關(guān)控制協(xié)議消息形成;以及,通信模塊,用于向所述第二設(shè)備發(fā) 送所述媒體網(wǎng)關(guān)控制協(xié)議消息和所述攻擊防止令牌。按照本發(fā)明的一種第二設(shè)備,包括存儲模塊,用于存儲所述第二設(shè)備和第一設(shè)備共享的密鑰;通信模塊,用于接收所述第一設(shè)備發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息和包括有哈 希值的攻擊防止令牌;攻擊防止模塊,包括計算模塊,用于計算指定字符串的哈希值,其 中,所述指定字符串由所述存儲模塊所存儲的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為 媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述接收的媒體網(wǎng)關(guān)控制協(xié)議消息形成;判斷模塊,用于判斷 所述計算的哈希值和所述攻擊防止令牌所包括的哈希值是否相同;以及,確定模塊,用于當 判斷結(jié)果為肯定時,確定所述第一設(shè)備是授權(quán)的設(shè)備;以及,執(zhí)行模塊,用于當確定所述第 一設(shè)備是授權(quán)的設(shè)備時,執(zhí)行與所述接收的媒體網(wǎng)關(guān)控制協(xié)議消息相應的操作。
本發(fā)明的上述目的和其它目的、特征及優(yōu)點將通過以下結(jié)合附圖的詳細描述將變 得更加顯而易見。其中圖1是示出按照本發(fā)明一個實施例的媒體網(wǎng)關(guān)的結(jié)構(gòu)示意圖;圖2是示出按照本發(fā)明一個實施例的媒體網(wǎng)關(guān)控制器的結(jié)構(gòu)示意圖;圖3是示出按照本發(fā)明一個實施例的在媒體網(wǎng)關(guān)作為發(fā)送方和媒體網(wǎng)關(guān)控制器 作為接收方的情況下用于防止攻擊的方法的流程圖;以及圖4是示出按照本發(fā)明一個實施例的在媒體網(wǎng)關(guān)作為接收方和媒體網(wǎng)關(guān)控制器 作為發(fā)送方的情況下用于防止攻擊的方法的流程圖。
具體實施例方式下面,將詳細描述本發(fā)明的各個實施例。按照本發(fā)明一個實施例,在媒體網(wǎng)關(guān)控制協(xié)議中引入與各種媒體網(wǎng)關(guān)控制協(xié)議消 息一起發(fā)送的攻擊防止(AP :Attack Prevention)令牌,接收到AP令牌的設(shè)備(媒體網(wǎng)關(guān) 或媒體網(wǎng)關(guān)控制器)根據(jù)所接收的AP令牌來確定發(fā)送該AP令牌和媒體網(wǎng)關(guān)控制協(xié)議消息 的設(shè)備(媒體網(wǎng)關(guān)控制器或媒體網(wǎng)關(guān))是否是授權(quán)的設(shè)備。AP令牌包括隨機數(shù)R、時間戳T和哈希(Hash)值H,其中,哈希值H是通過采用諸 如MD4、MD5或SHS等這樣的哈希算法,對由密鑰K、媒體網(wǎng)關(guān)的標識MGId、時間戳T、媒體網(wǎng) 關(guān)控制協(xié)議消息和隨機數(shù)R所形成的字符串S進行哈希計算而得到。密鑰K是媒體網(wǎng)關(guān)和 媒體網(wǎng)關(guān)控制器共享的密鑰并且媒體網(wǎng)關(guān)和媒體網(wǎng)關(guān)控制器預先都存儲有密鑰K,媒體網(wǎng) 關(guān)的標識MGId是媒體網(wǎng)關(guān)的網(wǎng)絡(luò)地址和端口號。圖1是示出按照本發(fā)明一個實施例的媒體網(wǎng)關(guān)的結(jié)構(gòu)示意圖。在圖1中,只示出 與本實施例相關(guān)的模塊,與本實施例不相關(guān)的模塊沒有示出。如圖1所示,媒體網(wǎng)關(guān)10包括通信模塊12、存儲模塊14、攻擊防止模塊16和執(zhí)行 模塊18。其中,通信模塊12用于接收媒體網(wǎng)關(guān)控制器發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息和AP 令牌,或者向媒體網(wǎng)關(guān)控制器發(fā)送媒體網(wǎng)關(guān)控制協(xié)議消息和AP令牌。存儲模塊14用于存儲媒體網(wǎng)關(guān)10和媒體網(wǎng)關(guān)控制器共享的密鑰K、媒體網(wǎng)關(guān)10 從媒體網(wǎng)關(guān)控制器接收到的表示最新時間的最新時間戳、以及媒體網(wǎng)關(guān)10以前從媒體網(wǎng) 關(guān)控制器接收到的各個隨機數(shù)。攻擊防止模塊16用于當媒體網(wǎng)關(guān)10欲向媒體網(wǎng)關(guān)控制器發(fā)送媒體網(wǎng)關(guān)控制協(xié)議消息時,生成與該媒體網(wǎng)關(guān)控制協(xié)議消息一起發(fā)送的AP令牌,以及當媒體網(wǎng)關(guān)10接收到來 自媒體網(wǎng)關(guān)控制器的媒體網(wǎng)關(guān)控制協(xié)議消息和AP令牌時,利用該接收的AP令牌和存儲模 塊14所存儲的密鑰K、最新時間戳和隨機數(shù),確定該媒體網(wǎng)關(guān)控制器是否是授權(quán)的設(shè)備。執(zhí)行模塊18用于當媒體網(wǎng)關(guān)10接收到來自媒體網(wǎng)關(guān)控制器的媒體網(wǎng)關(guān)控制協(xié)議 消息和AP令牌,并且攻擊防止模塊16確定該媒體網(wǎng)關(guān)控制器是授權(quán)的設(shè)備時,執(zhí)行與該接 收的媒體網(wǎng)關(guān)控制協(xié)議消息相應的操作。圖2是示出按照本發(fā)明一個實施例的媒體網(wǎng)關(guān)控制器的結(jié)構(gòu)示意圖。在圖2中, 只示出與本實施例相關(guān)的模塊,與本實施例不相關(guān)的模塊沒有示出。如圖2所示,媒體網(wǎng)關(guān)控制器20包括通信模塊22、存儲模塊24、攻擊防止模塊26 和執(zhí)行模塊28。其中,通信模塊22用于接收媒體網(wǎng)關(guān)10發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息和AP令 牌,或者向媒體網(wǎng)關(guān)10發(fā)送媒體網(wǎng)關(guān)控制協(xié)議消息和AP令牌。存儲模塊24用于存儲媒體網(wǎng)關(guān)10與媒體網(wǎng)關(guān)控制器20共享的密鑰K、媒體網(wǎng)關(guān) 控制器20從媒體網(wǎng)關(guān)10接收到的最新時間戳、以及媒體網(wǎng)關(guān)控制器20以前從媒體網(wǎng)關(guān)10 接收到的各個隨機數(shù)。攻擊防止模塊26用于當媒體網(wǎng)關(guān)控制器20欲向媒體網(wǎng)關(guān)10發(fā)送媒體網(wǎng)關(guān)控制 協(xié)議消息時,生成與該 媒體網(wǎng)關(guān)控制協(xié)議消息一起發(fā)送的AP令牌,以及當媒體網(wǎng)關(guān)控制器 20接收到來自媒體網(wǎng)關(guān)10的媒體網(wǎng)關(guān)控制協(xié)議消息和AP令牌時,利用該接收的AP令牌和 存儲模塊24所存儲的密鑰K、最新時間戳和隨機數(shù),確定媒體網(wǎng)關(guān)10是否是授權(quán)的設(shè)備。執(zhí)行模塊28用于當媒體網(wǎng)關(guān)控制器20接收到來自媒體網(wǎng)關(guān)10的媒體網(wǎng)關(guān)控制 協(xié)議消息和AP令牌,并且攻擊防止模塊26確定媒體網(wǎng)關(guān)10是授權(quán)的設(shè)備時,執(zhí)行與該接 收的媒體網(wǎng)關(guān)控制協(xié)議消息相應的操作。圖3是示出按照本發(fā)明一個實施例的在媒體網(wǎng)關(guān)作為發(fā)送方和媒體網(wǎng)關(guān)控制器 作為接收方的情況下用于防止攻擊的方法的流程圖。如圖3所示,當媒體網(wǎng)關(guān)10欲向媒體 網(wǎng)關(guān)控制器20發(fā)送一個媒體網(wǎng)關(guān)控制協(xié)議消息Xl以請求媒體網(wǎng)關(guān)控制器20執(zhí)行與媒體 網(wǎng)關(guān)控制協(xié)議消息Xl相應的操作時,媒體網(wǎng)關(guān)10的攻擊防止模塊16產(chǎn)生隨機數(shù)R以及根 據(jù)當前時間產(chǎn)生時間戳T (步驟S300)。接著,媒體網(wǎng)關(guān)10的攻擊防止模塊16使用媒體網(wǎng)關(guān)10的存儲模塊14存儲的密 鑰K、媒體網(wǎng)關(guān)10的標識MGId、所產(chǎn)生的時間戳T、媒體網(wǎng)關(guān)控制協(xié)議消息Xl和所產(chǎn)生的隨 機數(shù)R來形成字符串Sl (步驟S310)。在這里,媒體網(wǎng)關(guān)10的標識MGId是媒體網(wǎng)關(guān)10的 網(wǎng)絡(luò)地址和端口號,以及,在所形成的字符串Sl中,密鑰K、標識MGId、時間戳T、媒體網(wǎng)關(guān)控 制協(xié)議消息Xl和隨機數(shù)R之間的位置關(guān)系可以根據(jù)需要在媒體網(wǎng)關(guān)10和媒體網(wǎng)關(guān)控制器 20之間預先確定。然后,媒體網(wǎng)關(guān)10的攻擊防止模塊16使用預先指定的哈希算法SF對所形成的字 符串Sl進行哈希計算,以計算得到哈希值Hl (步驟S320)。接下來,媒體網(wǎng)關(guān)10的通信模塊12向媒體網(wǎng)關(guān)控制器20發(fā)送媒體網(wǎng)關(guān)控制協(xié)議 消息Xl和AP令牌(步驟S330)。其中,該AP令牌包括所產(chǎn)生的隨機數(shù)R、所產(chǎn)生的時間戳 T和所計算得到的哈希值HI。在媒體網(wǎng)關(guān)控制器20的通信模塊22接收到媒體網(wǎng)關(guān)10發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息Xl和AP令牌后,媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26使用媒體網(wǎng)關(guān)控制器20的 存儲模塊24預先存儲的密鑰K、媒體網(wǎng)關(guān)10的標識MGId、所接收的AP令牌中包括的時間 戳T、媒體網(wǎng)關(guān)控制協(xié)議消息Xl和所接收的AP令牌中包括的隨機數(shù)R來形成字符串S2 (步 驟S340)。其中,媒體網(wǎng)關(guān)10的標識MGId是媒體網(wǎng)關(guān)10的網(wǎng)絡(luò)地址和端口號,媒體網(wǎng)關(guān)控 制器20的攻擊防止模塊26可以從所接收的承載媒體網(wǎng)關(guān)控制協(xié)議消息Xl中獲取媒體網(wǎng) 關(guān)10的網(wǎng)絡(luò)地址和端口號。媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26使用與媒體網(wǎng)關(guān)10所使用的相同哈希算 法SF對所形成的字符串S2進行哈希計算,以計算得到哈希值H2 (步驟S350)。媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26判斷所計算的哈希值H2與所接收的AP令 牌中包括的哈希值Hl是否相同、存儲模塊24所存儲的各個隨機數(shù)中是否不包含有所接收 的AP令牌中包括的隨機數(shù)、以及存儲模塊24所存儲的最新時間戳所表示的時間是否早于 所接收的AP令牌中包括的時間戳所表示的時間(步驟S360)。如果步驟S360的判斷結(jié)果為否定,即所計算的哈希值H2與所接收的AP令牌中 包括的哈希值Hl不相同、存儲模塊24所存儲的各個隨機數(shù)中包含有所接收的AP令牌中包 括的隨機數(shù)、或者存儲模塊24所存儲的最新時間戳所表示的時間不早于所接收的AP令牌 中包括的時間戳所表示的時間,則媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26確定媒體網(wǎng)關(guān)10 不是授權(quán)的設(shè)備,流程結(jié)束。如果步驟S360的判斷結(jié)果為肯定,即所計算的哈希值H2與所接收的AP令牌中 包括的哈希值Hl相同、存儲模塊24所存儲的各個隨機數(shù)中不包含有所接收的AP令牌中包 括的隨機數(shù)以及存儲模塊24所存儲的最新時間戳所表示的時間早于所接收的AP令牌中包 括的時間戳所表示的時間,則媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26確定媒體網(wǎng)關(guān)10是授 權(quán)的設(shè)備(步驟S370)。當媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26確定媒體網(wǎng)關(guān)10是授權(quán)的設(shè)備時,媒體 網(wǎng)關(guān)控制器20的執(zhí)行模塊28執(zhí)行與所接收的媒體網(wǎng)關(guān)控制協(xié)議消息相應的操作,并且把 所接收的AP令牌中包括的時間戳存儲在存儲模塊24中以替換原來存儲的最新時間戳,以 及把所接收的AP令牌中包括的隨機數(shù)作為媒體網(wǎng)關(guān)控制器20從媒體網(wǎng)關(guān)10接收的隨機 數(shù)存儲在存儲模塊24中(步驟S380)。在這里,執(zhí)行與所接收的媒體網(wǎng)關(guān)控制協(xié)議消息相 應的操作例如是,當所接收的媒體網(wǎng)關(guān)控制協(xié)議消息是表示注冊的服務(wù)改變消息時執(zhí)行注 冊操作,當所接收的媒體網(wǎng)關(guān)控制協(xié)議消息是表示去注冊的服務(wù)改變消息時執(zhí)行去注冊操 作。在執(zhí)行與所接收的媒體網(wǎng)關(guān)控制協(xié)議消息相應的操作之后,媒體網(wǎng)關(guān)控制器20 的執(zhí)行模塊28經(jīng)由通信模塊22向媒體網(wǎng)關(guān)10發(fā)送一個表示成功執(zhí)行操作的應答消息(步 驟 S390)。圖4是示出按照本發(fā)明一個實施例的在媒體網(wǎng)關(guān)作為接收方和媒體網(wǎng)關(guān)控制器 作為發(fā)送方的情況下用于防止攻擊的方法的流程圖。如圖4所示,當媒體網(wǎng)關(guān)控制器20欲 向媒體網(wǎng)關(guān)10發(fā)送一個媒體網(wǎng)關(guān)控制協(xié)議消息X2以指示媒體網(wǎng)關(guān)10執(zhí)行與媒體網(wǎng)關(guān)控 制協(xié)議消息X2相應的操作時,媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26產(chǎn)生隨機數(shù)R以及根 據(jù)當前時間產(chǎn)生時間戳T (步驟S400)。
接著,媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26使用存儲模塊24存儲的密鑰K、媒體網(wǎng)關(guān)10的標識MGId、所產(chǎn)生的時間戳Τ、媒體網(wǎng)關(guān)控制協(xié)議消息X2和所產(chǎn)生的隨機數(shù)R來 形成字符串S3(步驟S410)。在這里,媒體網(wǎng)關(guān)10的標識MGId是媒體網(wǎng)關(guān)10的網(wǎng)絡(luò)地址 和端口號,以及,在所形成的字符串S3中,密鑰K、標識MGId、時間戳T、媒體網(wǎng)關(guān)控制協(xié)議消 息X2和隨機數(shù)R之間的位置關(guān)系可以根據(jù)需要在媒體網(wǎng)關(guān)10和媒體網(wǎng)關(guān)控制器20之間
預先確定。 然后,媒體網(wǎng)關(guān)控制器20的攻擊防止模塊26使用預先指定的哈希算法SF對所形 成的字符串S3進行哈希計算,以計算得到哈希值H3 (步驟S420)。接下來,媒體網(wǎng)關(guān)控制器20的通信模塊22向媒體網(wǎng)關(guān)10發(fā)送媒體網(wǎng)關(guān)控制協(xié)議 消息X2和AP令牌(步驟S430)。其中,該AP令牌包括所產(chǎn)生的隨機數(shù)R、所產(chǎn)生的時間戳 T和所計算得到的哈希值H3。在媒體網(wǎng)關(guān)100的通信模塊12接收到媒體網(wǎng)關(guān)控制器20發(fā)送的媒體網(wǎng)關(guān)控制協(xié) 議消息X2和AP令牌后,媒體網(wǎng)關(guān)10的攻擊防止模塊16使用存儲模塊14預先存儲的密鑰 K、媒體網(wǎng)關(guān)10的標識MGId、所接收的AP令牌中包括的時間戳T、媒體網(wǎng)關(guān)控制協(xié)議消息X2 和所接收的AP令牌中包括的隨機數(shù)R來形成字符串S4(步驟S440)。其中,媒體網(wǎng)關(guān)10的 標識MGId是媒體網(wǎng)關(guān)10的網(wǎng)絡(luò)地址和端口號。媒體網(wǎng)關(guān)10的攻擊防止模塊16使用與媒體網(wǎng)關(guān)控制器20所使用的相同哈希算 法SF對所形成的字符串S4進行哈希計算,以計算得到哈希值H4 (步驟S450)。媒體網(wǎng)關(guān)10的攻擊防止模塊16判斷所計算的哈希值H4與所接收的AP令牌中包 括的哈希值H3是否相同、存儲模塊14所存儲的各個隨機數(shù)中是否不包含有所接收的AP令 牌中包括的隨機數(shù)、以及存儲模塊14所存儲的最新時間戳所表示的時間是否早于所接收 的AP令牌中包括的時間戳所表示的時間(步驟S460)。如果步驟S460的判斷結(jié)果為否定,即所計算的哈希值H4與所接收的AP令牌中 包括的哈希值H3不相同、存儲模塊14所存儲的各個隨機數(shù)中包含有所接收的AP令牌中包 括的隨機數(shù)、或者存儲模塊14所存儲的最新時間戳所表示的時間不早于所接收的AP令牌 中包括的時間戳所表示的時間,則媒體網(wǎng)關(guān)10的攻擊防止模塊16確定媒體網(wǎng)關(guān)控制器20 不是授權(quán)的設(shè)備,流程結(jié)束。如果步驟S460的判斷結(jié)果為肯定,即所計算的哈希值H4與所接收的AP令牌中 包括的哈希值H3相同、存儲模塊14所存儲的各個隨機數(shù)中不包含有所接收的AP令牌中包 括的隨機數(shù)以及存儲模塊14所存儲的最新時間戳所表示的時間早于所接收的AP令牌中包 括的時間戳所表示的時間,則媒體網(wǎng)關(guān)10的攻擊防止模塊16確定媒體網(wǎng)關(guān)控制器20是授 權(quán)的設(shè)備(步驟S470)。當媒體網(wǎng)關(guān)10的攻擊防止模塊16確定媒體網(wǎng)關(guān)控制器20是授權(quán)的設(shè)備時,媒體 網(wǎng)關(guān)10的執(zhí)行模塊18執(zhí)行與所接收的媒體網(wǎng)關(guān)控制協(xié)議消息相應的操作,并且把所接收 的AP令牌中包括的時間戳存儲在存儲模塊14中以替換原來存儲的最新時間戳,以及把所 接收的AP令牌中包括的隨機數(shù)作為媒體網(wǎng)關(guān)10從媒體網(wǎng)關(guān)控制器20接收的隨機數(shù)存儲 在存儲模塊14中(步驟S480)。在這里,執(zhí)行與所接收的媒體網(wǎng)關(guān)控制協(xié)議消息相應的操 作例如是,當所接收的媒體網(wǎng)關(guān)控制協(xié)議消息是表示把呼叫狀態(tài)修改為呼叫忙的修改消息 時,把用戶的呼叫狀態(tài)修改為呼叫忙。在執(zhí)行與所接收的媒體網(wǎng)關(guān)控制協(xié)議消息相應的操作之后,媒體網(wǎng)關(guān)10的執(zhí)行模塊18經(jīng)由通信模塊12向媒體網(wǎng)關(guān)控制器20發(fā)送一個表示成功執(zhí)行操作的應答消息(步 驟 S490)。由上面的描述可以看出,在上述實施例中,由于AP令牌中包括時間戳,所以當接 收到與媒體網(wǎng)關(guān)控制協(xié)議消息一起發(fā)送的該AP令牌時,作為接收方的媒體網(wǎng)關(guān)10或媒體 網(wǎng)關(guān)控制器20能夠根據(jù)該AP令牌所包括的時間戳和以前接收的表示最新時間的時間戳, 來檢測所接收的媒體網(wǎng)關(guān)控制協(xié)議消息是否是被重放的消息,從而防止重放攻擊;由于AP 令牌中包括隨機數(shù),所以當接收到與媒體網(wǎng)關(guān)控制協(xié)議消息一起發(fā)送的該AP令牌時,作為 接收 方的媒體網(wǎng)關(guān)10或媒體網(wǎng)關(guān)控制器20能夠通過比較該AP令牌所包括的隨機數(shù)和以 前接收的各個隨機數(shù),來避免通過偶然猜中的方式而發(fā)起的猜測攻擊;由于AP令牌中包括 哈希值,所以當接收到與媒體網(wǎng)關(guān)控制協(xié)議消息一起發(fā)送的該AP令牌時,作為接收方的媒 體網(wǎng)關(guān)10或媒體網(wǎng)關(guān)控制器20能夠根據(jù)該AP令牌所包括的哈希值來防止竊聽攻擊;以 及,由于AP令牌中所包括的哈希值是基于媒體網(wǎng)關(guān)控制協(xié)議消息計算的,所以當接收到與 媒體網(wǎng)關(guān)控制協(xié)議消息一起發(fā)送的該AP令牌時,作為接收方的媒體網(wǎng)關(guān)10或媒體網(wǎng)關(guān)控 制器20能夠根據(jù)該AP令牌所包括的哈希值,來檢查所接收的媒體網(wǎng)關(guān)控制協(xié)議消息是否 是被非法篡改過,從而能夠保護該媒體網(wǎng)關(guān)控制協(xié)議消息的一致性。其它變型本領(lǐng)域技術(shù)人員應當理解,雖然在上面的各個實施例中,在AP令牌中包括有隨機 數(shù)R和時間戳T,并且在計算AP令牌所包括的哈希值H時所使用的字符串包括該隨機數(shù)R 和時間戳T,然而,本發(fā)明并不局限于此。在本發(fā)明的其它一些實施例中,也可以在AP令牌 中不包括有隨機數(shù)R和時間戳T,以及在計算AP令牌所包括的哈希值H時所使用的字符串 不包括該隨機數(shù)R和時間戳T,例如,在媒體網(wǎng)關(guān)控制協(xié)議已經(jīng)采取了其它的防止重放攻擊 和防止猜測攻擊的措施時。本領(lǐng)域技術(shù)人員應當理解,雖然在上面的各個實施例中,媒體網(wǎng)關(guān)10的標識MGId 是媒體網(wǎng)關(guān)10的網(wǎng)絡(luò)地址和端口號,然而,本發(fā)明并不局限于此。在本發(fā)明的其它一些實 施例中,媒體網(wǎng)關(guān)10的標識MGId也可以是媒體網(wǎng)關(guān)10的網(wǎng)絡(luò)地址。本領(lǐng)域技術(shù)人員應當理解,雖然在上面的各個實施例中,每一個媒體網(wǎng)關(guān)控制協(xié) 議消息在被發(fā)送時都為其產(chǎn)生AP令牌,然而,本發(fā)明并不局限于此。在本發(fā)明的其它一些 實施例中,也可以是所有媒體網(wǎng)關(guān)控制協(xié)議消息的其中一部分在被發(fā)送時才為其產(chǎn)生AP 令牌,其它在被發(fā)送時不為其產(chǎn)生AP令牌。例如,在比較安全的情況下,只有當服務(wù)改變消 息和修改消息被發(fā)送時才為其產(chǎn)生AP令牌,除了服務(wù)改變消息和修改消息之外的其它媒 體網(wǎng)關(guān)控制協(xié)議消息在被發(fā)送時不為其產(chǎn)生AP令牌。本領(lǐng)域技術(shù)人員應當理解,上面的各個實施例所披露的媒體網(wǎng)關(guān)10和媒體網(wǎng)關(guān) 控制器20各自所包括的各個模塊可以利用軟件、硬件或者軟硬件結(jié)合的方式來實現(xiàn)。本領(lǐng)域技術(shù)人員應當理解,本發(fā)明的各個實施例可以在沒有偏離發(fā)明實質(zhì)的情況 下做出各種變型和改變,并且這些變型和改變都應該屬于本發(fā)明的保護范圍,因此,本發(fā)明 的保護范圍由所附的權(quán)利要求書來定義。
權(quán)利要求
1.一種用于防止攻擊的方法,包括步驟計算指定字符串的哈希值,作為第一設(shè)備欲發(fā)送給第二設(shè)備的媒體網(wǎng)關(guān)控制協(xié)議消息 的攻擊防止令牌,其中,所述指定字符串由所述第一設(shè)備和所述第二設(shè)備共享的密鑰、所述 第一設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述媒體網(wǎng)關(guān)控制協(xié)議消息 形成,其中,所述攻擊防止令牌用于與所述媒體網(wǎng)關(guān)控制協(xié)議消息一起被發(fā)送給所述第二設(shè)備。
2.如權(quán)利要求1所述的方法,其中,還包括步驟產(chǎn)生隨機數(shù)和基于當前時間的時間戳,其中,所述攻擊防止令牌還包括所述產(chǎn)生的隨機數(shù)和時間戳,以及所述指定字符串還 包括所述產(chǎn)生的隨機數(shù)和時間戳。
3.如權(quán)利要求1或2所述的方法,其中,所述標識是所述媒體網(wǎng)關(guān)的網(wǎng)絡(luò)地址,或者所 述媒體網(wǎng)關(guān)的網(wǎng)絡(luò)地址和端口號。
4.一種用于防止攻擊的方法,包括步驟當?shù)诙O(shè)備接收到第一設(shè)備發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息和包括有哈希值的攻擊防 止令牌時,計算指定字符串的哈希值,其中,所述指定字符串由所述第一設(shè)備和所述第二設(shè) 備共享的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述接 收的媒體網(wǎng)關(guān)控制協(xié)議消息形成;判斷所述計算的哈希值和所述攻擊防止令牌所包括的哈希值是否相同;以及當判斷結(jié)果為肯定時,確定所述第一設(shè)備是授權(quán)的設(shè)備。
5.如權(quán)利要求4所述的方法,其中所述攻擊防止令牌還包括隨機數(shù)和時間戳,所述判斷步驟進一步包括判斷所述計算的哈希值和所述攻擊防止令牌所包括的哈希值是否相同、所述第二設(shè)備 以前從所述第一設(shè)備接收的各個隨機數(shù)中是否不包括有所述攻擊防止令牌所包括的所述 隨機數(shù)、以及所述第二設(shè)備從所述第一設(shè)備接收的表示最新時間的時間戳所表示的時間是 否早于所述攻擊防止令牌所包括的所述時間戳所表示的時間,以及所述方法還包括步驟當確定所述第一設(shè)備是所述授權(quán)的設(shè)備時,將所述攻擊防止令牌所包括的所述隨機數(shù) 存儲為所述第二設(shè)備從所述第一設(shè)備接收的隨機數(shù),以及將所述攻擊防止令牌所包括的所 述時間戳存儲為所述第二設(shè)備從所述第一設(shè)備接收的表示最新時間的時間戳。
6.如權(quán)利要求4或5所述的方法,其中,所述標識是所述媒體網(wǎng)關(guān)的網(wǎng)絡(luò)地址,或者所 述媒體網(wǎng)關(guān)的網(wǎng)絡(luò)地址和端口號。
7.一種用于防止攻擊的裝置,包括計算模塊,用于計算指定字符串的哈希值,作為第一設(shè)備欲發(fā)送給第二設(shè)備的媒體網(wǎng) 關(guān)控制協(xié)議消息的攻擊防止令牌,其中,所述指定字符串由所述第一設(shè)備和所述第二設(shè)備 共享的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述媒體 網(wǎng)關(guān)控制協(xié)議消息形成,其中,所述攻擊防止令牌用于與所述媒體網(wǎng)關(guān)控制協(xié)議消息一起被發(fā)送給所述第二設(shè)備。
8.如權(quán)利要求7所述的裝置,其中,還包括產(chǎn)生模塊,用于產(chǎn)生隨機數(shù)和基于當前時間的時間戳,其中,所述攻擊防止令牌還包括所述產(chǎn)生的隨機數(shù)和時間戳,以及所述指定字符串還 包括所述產(chǎn)生的隨機數(shù)和時間戳。
9.一種用于防止攻擊的裝置,包括計算模塊,用于當?shù)诙O(shè)備接收到第一設(shè)備發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息和包括有 哈希值的攻擊防止令牌時,計算指定字符串的哈希值,其中,所述指定字符串由所述第一設(shè) 備和所述第二設(shè)備共享的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標 識、以及所述接收的媒體網(wǎng)關(guān)控制協(xié)議消息形成;判斷模塊,用于判斷所述計算的哈希值和所述攻擊防止令牌所包括的哈希值是否相 同;以及確定模塊,用于當判斷結(jié)果為肯定時,確定所述第一設(shè)備是授權(quán)的設(shè)備。
10.如權(quán)利要求9所述的裝置,其中所述攻擊防止令牌還包括隨機數(shù)和時間戳,所述判斷模塊進一步用于判斷所述計算的哈希值和所述攻擊防止令牌所包括的哈希 值是否相同、所述第二設(shè)備以前從所述第一設(shè)備接收的各個隨機數(shù)中是否不包括有所述攻 擊防止令牌所包括的所述隨機數(shù)、以及所述第二設(shè)備從所述第一設(shè)備接收的表示最新時間 的時間戳所表示的時間是否早于所述攻擊防止令牌所包括的所述時間戳所表示的時間,以 及所述裝置還包括存儲控制模塊,用于當確定所述第一設(shè)備是所述授權(quán)的設(shè)備時,將所 述攻擊防止令牌所包括的所述隨機數(shù)存儲為所述第二設(shè)備從所述第一設(shè)備接收的隨機數(shù), 以及將所述攻擊防止令牌所包括的所述時間戳存儲為所述第二設(shè)備從所述第一設(shè)備接收 的表示最新時間的時間戳。
11.一種第一設(shè)備,包括存儲模塊,用于存儲所述第一設(shè)備和第二設(shè)備共享的密鑰;攻擊防止模塊,包括計算模塊,用于計算指定字符串的哈希值,作為所述第一設(shè)備欲發(fā)送給所述第二設(shè)備 的媒體網(wǎng)關(guān)控制協(xié)議消息的攻擊防止令牌,其中,所述指定字符串由所述存儲模塊所存儲 的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述媒體網(wǎng)關(guān) 控制協(xié)議消息形成;以及通信模塊,用于向所述第二設(shè)備發(fā)送所述媒體網(wǎng)關(guān)控制協(xié)議消息和所述攻擊防止令牌。
12.如權(quán)利要求11所述的第一設(shè)備,其中,所述攻擊防止模塊還包括產(chǎn)生模塊,用于產(chǎn)生隨機數(shù)和基于當前時間的時間戳,其中,所述攻擊防止令牌還包括所述產(chǎn)生的隨機數(shù)和時間戳,以及所述指定字符串還 包括所述產(chǎn)生的隨機數(shù)和時間戳。
13.如權(quán)利要求11或12所述的第一設(shè)備,其中,所述第一設(shè)備是媒體網(wǎng)關(guān)或媒體網(wǎng)關(guān) 控制器。
14.一種第二設(shè)備,包括存儲模塊,用于存儲所述第二設(shè)備和第一設(shè)備共享的密鑰;通信模塊,用于接收所述第一設(shè)備發(fā)送的媒體網(wǎng)關(guān)控制協(xié)議消息和包括有哈希值的攻 擊防止令牌;攻擊防止模塊,包括計算模塊,用于計算指定字符串的哈希值,其中,所述指定字符串由所述存儲模塊所存 儲的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述接收的 媒體網(wǎng)關(guān)控制協(xié)議消息形成;判斷模塊,用于判斷所述計算的哈希值和所述攻擊防止令牌所包括的哈希值是否相 同;以及確定模塊,用于當判斷結(jié)果為肯定時,確定所述第一設(shè)備是授權(quán)的設(shè)備;以及執(zhí)行模塊,用于當確定所述第一設(shè)備是授權(quán)的設(shè)備時,執(zhí)行與所述接收的媒體網(wǎng)關(guān)控 制協(xié)議消息相應的操作。
15.如權(quán)利要求14所述的第二設(shè)備,其中所述攻擊防止令牌還包括隨機數(shù)和時間戳,所述存儲模塊還用于存儲所述第二設(shè)備以前從所述第一設(shè)備接收的各個隨機數(shù)以及 所述第二設(shè)備從所述第一設(shè)備接收的表示最新時間的時間戳;所述判斷模塊進一步用于判斷所述計算的哈希值和所述攻擊防止令牌所包括的哈希 值是否相同、所述所述存儲模塊所存儲的各個隨機數(shù)中是否不包括有所述攻擊防止令牌所 包括的所述隨機數(shù)、以及所述所述存儲模塊所存儲的時間戳所表示的時間是否早于所述攻 擊防止令牌所包括的所述時間戳所表示的時間,以及所述第二設(shè)備還包括存儲控制模塊,用于當確定所述第一設(shè)備是所述授權(quán)的設(shè)備時, 將所述攻擊防止令牌所包括的所述隨機數(shù)作為所述第二設(shè)備從所述第一設(shè)備接收的隨機 數(shù)存儲在所述存儲模塊中,以及將所述攻擊防止令牌所包括的所述時間戳作為所述第二設(shè) 備從所述第一設(shè)備接收的表示最新時間的時間戳存儲在所述存儲模塊中。
16.如權(quán)利要求14或15所述的第二設(shè)備,其中,所述第二設(shè)備是媒體網(wǎng)關(guān)或媒體網(wǎng)關(guān) 控制器。
17.一種機器可讀存儲介質(zhì),其上包括有機器可讀指令,當所述機器可讀指令被執(zhí)行 時,使得機器執(zhí)行權(quán)利要求1-6中任意一個權(quán)利要求所包括的步驟。
全文摘要
本發(fā)明涉及一種用于防止攻擊的方法和裝置,其中,該方法包括步驟計算指定字符串的哈希值,作為第一設(shè)備欲發(fā)送給第二設(shè)備的媒體網(wǎng)關(guān)控制協(xié)議消息的攻擊防止令牌,其中,所述指定字符串由所述第一設(shè)備和所述第二設(shè)備共享的密鑰、所述第一設(shè)備和所述第二設(shè)備中其為媒體網(wǎng)關(guān)的設(shè)備的標識、以及所述媒體網(wǎng)關(guān)控制協(xié)議消息形成,其中,所述攻擊防止令牌將與所述媒體網(wǎng)關(guān)控制協(xié)議消息一起被發(fā)送給所述第二設(shè)備。利用該方法和裝置,能夠減少或避免媒體網(wǎng)關(guān)控制協(xié)議受到攻擊。
文檔編號H04L29/06GK102035801SQ200910177249
公開日2011年4月27日 申請日期2009年9月28日 優(yōu)先權(quán)日2009年9月28日
發(fā)明者楊滿智 申請人:西門子(中國)有限公司