首頁>>>技術(shù)>>>VoIP

讓基于SIP協(xié)議VoIP網(wǎng)絡(luò)更加安全

2008/05/09

  我們曾經(jīng)討論過如何保護一個VoIP網(wǎng)絡(luò)免受黑客攻擊和偵聽——這需要一個多層安全策略。而這么一個策略的重要部件,則是對提供呼叫信號的協(xié)議進行保護。

  SIP協(xié)議已經(jīng)作為一個非常流行的呼叫信號協(xié)議而日益得到普及,選擇它的理由也很多,比如相對于傳統(tǒng)的H.323協(xié)議,它更具簡單性,以及設(shè)計上的輕巧性。因此,對一家選擇了 基于SIP協(xié)議部署VoIP的公司來說,好好考慮一下,應(yīng)當(dāng)如何以一種安全的方式來實施SIP就顯得非常重要了。不過,SIP協(xié)議的開發(fā)者們當(dāng)初在設(shè)計時并沒有考慮到安全方面的問題,所以如果直接將SIP設(shè)備加入你的IP網(wǎng)絡(luò),往往會帶來額外的安全問題。下面就讓我們看一下,如何做才能 讓SIP通信更加安全。

  了解風(fēng)險

  由于某些安全機制的原因,SIP的呼叫信號信息及通話非常容易被人竊聽和偵聽(也就是說,數(shù)據(jù)被劫持),或者很容易受到中間人攻擊,呼叫篡改攻擊,語音重播攻擊,以及拒絕 服務(wù)等攻擊。

  下面是這些攻擊所能造成的安全風(fēng)險:   幸運的是,我們還有些安全機制可用于保護SIP網(wǎng)絡(luò)免受上述這些風(fēng)險的威脅。

  使用TLS保護SIP網(wǎng)絡(luò)

  一般情況下,SIP數(shù)據(jù)包通過TCP或UDP連接,以純文本的方式進行傳輸,所以非常容易受到黑客的偽造和攻擊。為此,RFC 3261定義了SIPS(安全SIP,Secure SIP),一種使用TLS (傳輸層安全,Transport Layer Security)的安全傳輸方法,而TLS則是SSL(安全端口層,Secure Sockets Layer)的新式改進版本。

  Netscape最初開發(fā)SSL是用于基于網(wǎng)頁的安全傳輸。TLS提供了一個加密信道,以便你用于傳輸SIP信息。不過,要想使用SIPS,你的VoIP設(shè)備必須首先支持該協(xié)議才可以。

  SIPS要求來自SIP用戶以及代理的認(rèn)證信息,該認(rèn)證使用MD5校驗機制。該RFC標(biāo)準(zhǔn)同時還定義了一個SIP統(tǒng)一資源標(biāo)識符URI(Uniform Resource Identifier),可用于從一個端點 到另一個端點提供安全連接。

  根據(jù)公鑰加密技術(shù),TLS依賴于數(shù)字證書進行加密。這里是它的工作模式:
  1. SIP客戶端連上SIP代理。

  2. SIP客戶端向代理請求一個TLS會話。

  3. 代理返回一個有效的公共證書。

  4. 客戶端驗證該證書。

  5. 客戶端和代理交換會話密鑰

  6. 以后會話中的所有數(shù)據(jù)均使用該會話密鑰進行加密和解密。
  SIPS需要端到端(也就是說,電話到電話)的TLS保護。而在對話機基礎(chǔ)上使用TLS也是可以的。另外,你也可以配置那些可使用SIPS的設(shè)備僅接收TLS加密過的呼叫。

  你的防火墻支持SIP軟件么?

  對一個連到互聯(lián)網(wǎng)(或其他任何不能讓人放心的網(wǎng)絡(luò))上的企業(yè)來說,防火墻是安全策略中絕對必要的部分。不過,像其他VoIP協(xié)議一樣,SIP也常會在穿越防火墻或NAT(網(wǎng)絡(luò)地 址解析,Network Address Translation的簡稱)設(shè)備時發(fā)生問題。

  企業(yè)常常會配置防火墻僅接收那些由內(nèi)部計算機所發(fā)起的外部通信連接。問題是,SIP使用兩個不同的連接——每個連接都使用各自的端口——來建立VoIP電話呼叫。一個連接傳輸 呼叫信號信息,另一個則傳輸實際的語音通訊(也就是說,媒體信息)。

  如果你是朝本地局域網(wǎng)外部撥打一個電話,那么發(fā)送出去的初始信息就承載了呼叫信號。對你所呼叫的IP電話機而言,這就是一個“邀請”信息。

  當(dāng)你要呼叫的人應(yīng)答電話時,他的電話機會返回一個確認(rèn)信號。該信號會通過控制呼叫信號的端口傳回來。由于是通話是由你發(fā)起的,所以這個信號可以正常穿越防火墻而返回。 但是,你的防火墻卻很可能攔截同時進入的語音數(shù)據(jù),因為它來自一個完全不同的端口,這樣防火墻就正好攔截了打入的電話。

  有一種叫做“會話控制器”的設(shè)備,可以解決SIP穿越防火墻和NAT設(shè)備時所遇到的問題。這是一個在公共網(wǎng)絡(luò)上的設(shè)備,直接為你的VoIP客戶端提供一個公共IP地址,并在一臺公 共服務(wù)器上注冊。

  不過,要保護你的VoIP網(wǎng)絡(luò),你還需要一個支持SIP的防火墻。因為對普通的防火墻來說,SIP的數(shù)據(jù)太難以檢查了。SIP網(wǎng)絡(luò)使用一個實時傳輸協(xié)議(RTP),以及一個“實時傳輸 控制協(xié)議(RTCP)”,來從一臺IP電話向另一臺IP電話傳輸具體的媒體信息(會話語音數(shù)據(jù))。

  因此,一臺支持SIP協(xié)議的防火墻需要能發(fā)現(xiàn)SIP在建立會話媒體數(shù)據(jù)流時所動態(tài)賦予的RTP/RTCP端口信息。這意味著該防火墻必須解析SIP的交換過程,以發(fā)現(xiàn)哪個數(shù)據(jù)包中含有媒 體數(shù)據(jù)。而端口信息可以在許多不同的SIP數(shù)據(jù)包中出現(xiàn)。一臺支持SIP的防火墻必須能夠了解SIP的交換過程,并從中獲得相應(yīng)的信息。

總結(jié)

  對主要的VoIP協(xié)議來說,當(dāng)初在設(shè)計它們時,安全方面并不是設(shè)計主要考慮的一個問題,SIP協(xié)議也不例外。這一點和早期的電腦操作系統(tǒng)非常類似——以至于后來部署這些操作系 統(tǒng)時人們不得不再為它們添加必要的安全機制,因為它們根本沒有提供任何安全方面的內(nèi)容。

  因此,企業(yè)部署VoIP時,也必須采取措施來對VoIP協(xié)議進行保護。而讓SIP網(wǎng)絡(luò)可以變得更加安全的方法,除了可以使用配備TLS的SIPS(安全SIP)來對VoIP傳輸信道進行加密以外 ,還可以使用會話控制工具,以及使用支持SIP軟件的防火墻。

ZDnet (www.zdnet.com.cn)



相關(guān)鏈接:
VoWLAN語音終端開發(fā)設(shè)計 2008-05-08
VOIP技術(shù)標(biāo)準(zhǔn)的走勢與難點分析 2008-05-06
SIP獲得成功的兩大因素 2008-05-06
SBC在企業(yè)IP通信系統(tǒng)中的應(yīng)用 2008-05-04
基于SIP的VoIP系統(tǒng) 2008-04-25

分類信息:              
         
东丰县| 茶陵县| 吐鲁番市| 白城市| 阿拉善左旗| 周至县| 聊城市| 北票市| 鞍山市| 阿鲁科尔沁旗| 淮阳县| 昌乐县| 灌云县| 衡东县| 贵定县| 确山县| 井陉县| 永福县| 西乌珠穆沁旗| 万安县| 娄烦县| 枣阳市| 漯河市| 阜南县| 闸北区| 固原市| 金山区| 云南省| 仁寿县| 双流县| 新乡市| 丹东市| 麦盖提县| 湘潭市| 临高县| 革吉县| 井冈山市| 嘉祥县| 息烽县| 龙泉市| 丰镇市|