李寶霞
(上海貝爾企業(yè)通信有限公司,上海 201210)
Asterisk是一款基于LINUX系統(tǒng)的語音呼叫服務器,其不僅能提供較豐富的呼叫服務器功能(基本呼叫/語音信箱/自動應答/呼叫轉移),并且具有開源免費的特性,被世界170多個國家所使用,服務器部署量超過100萬臺,并以每年1.3百萬用戶的增長速度飛速發(fā)展。是目前各廠商VOIP SIP終端必須要兼容一款SIP Server。
RTP(Real-time Transport Protocol)實時傳輸協(xié)議位于UDP協(xié)議層之上,主要用于傳輸音頻/視頻媒體。SRTP(Secure Real-time Transport Protocol),即安全實時傳輸協(xié)議,是在RTP協(xié)議基礎上所發(fā)展起來的一款安全性較高的協(xié)議,它可以為RTP語音數(shù)據(jù)提供加密、消息認證、完整性保證,可以解決VOIP網(wǎng)絡不安全的缺陷。
大多數(shù)的SIP設備采用 UDP 或TCP 協(xié)議來傳輸SIP消息,但是對于某些VOIP 系統(tǒng)而言,特別是企業(yè)級的網(wǎng)絡,要求采用 TLS(Transport Layer Security)加密傳輸協(xié)議來傳輸 SIP 消息,即SIPTLS。
8028S是ALU公司生產(chǎn)的一款SIP終端,支持Asterisk作為第三方SIP Server。本文著重講解8028S終端在Asterisk SIP Server上的語音加密傳輸部署方式-SRTP的實現(xiàn)與配置,并進一步講解SIP-TLS加密傳輸方式,如圖1所示。

圖1 網(wǎng)絡層與協(xié)議
(1)Asterisk SIP Server安裝完成后,檢查SIP終端注冊話機常用端口(5060)和HTTP端口(80)處于打開狀態(tài),使用linux命令查看:netstat——tuan
(2)注意要檢查并關閉防火墻,到如下目錄下設置:

確保終端可以成功注冊到Asterisk SIP上,基本的SIP呼叫可通。
SIP相關參數(shù)在如下路徑下:/etc/asterisk,常用文件主要有sip.conf/extensions.conf/rtp.conf
終端在Asterisk上語音加密傳輸(SRTP)實現(xiàn)方式過程為:
終端與Asterisk SIP Server通過SIP協(xié)議協(xié)商使用SRTP傳輸方式,如果協(xié)商成功,則語音通話建立成功,并使用SRTP傳輸語音流;如果協(xié)商失敗,則通話建立失敗。標志SRTP加密的參數(shù)位于終端發(fā)起的INVITE消息所攜帶SDP里的m行標記。如果該m行標記為RTP/SAVP,則要求使用srtp傳輸,后續(xù)RTP會進行加密傳輸;如果m行標記為RTP/AVP,則要求使用RTP傳輸,不進行語音加密。總的網(wǎng)絡拓撲圖如圖2所示:

圖2 SIP+SRTP網(wǎng)絡拓撲圖
(1)假設終端上使用UDP傳輸,并請求使用 SRTP 加密傳輸語音流:
終端上需設置如下:

?
(2)Asterisk上設置如下:
Asterisk上UDP端口默認為開,SRTP開關默認為關。登陸到Asterisk 配置管理WEB上,需要手動將srtp開關打開,并進行如下設置:

之后重啟終端,終端注冊成功后,打一路基本通話,并用wireshark抓取SIP協(xié)議網(wǎng)絡報文。通過SIP Invite消息里面有RTP/SAVP表示終端請求使用SRTP,加密方式為crypto-suite,如圖3所示。Asterisk回復200 OK表示協(xié)商成功,之后發(fā)送的RTP均為加密模式,即SRTP,如圖4所示:
如果采用TCP傳輸,則終端和Asterisk SIP Server上同時需要修改SIPTransportMode以及SIPServerPort。

圖3 SIP INVITE報文請求和Asterisk建立SRTP

圖4 SIP協(xié)議SRTP協(xié)商流程圖
隨著VOIP網(wǎng)絡的普及,VOIP網(wǎng)絡上的數(shù)據(jù)越來越多地遭受到竊聽和攻擊,數(shù)據(jù)安全性問題越來越引起人們的重視。通過對語音流使用SRTP進行語音加密傳輸,可以更好地降低網(wǎng)絡竊聽和攻擊,保護用戶數(shù)據(jù)安全,是局域網(wǎng)特別是企業(yè)網(wǎng)上經(jīng)常使用的方式。