白蕓潔 穆維新 劉潤杰 申金媛
摘 要:SIP正逐步取代H.323協(xié)議成為VoIP網(wǎng)絡(luò)的核心信令控制協(xié)議。綜述了SIP協(xié)議的功能、實體、消息結(jié)構(gòu),分析了SIP面臨的主要安全問題,介紹了IPSec,TLS,HTTP摘要認(rèn)證和S/MIME等目前流行的SIP安全機(jī)制,通過比較分析,指出各種安全措施的主要優(yōu)缺點。最后對SIP安全問題進(jìn)行了總結(jié),并指出下一步解決SIP安全問題的研究方向。
關(guān)鍵詞:會話發(fā)起協(xié)議;安全;超文本傳輸摘要認(rèn)證;安全/多用途郵件擴(kuò)展協(xié)議
中圖分類號:TN915文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2009)05-072-03
Analysis and Research of SIP Protocol and Its Security
BAI Yunjie,MU Weixin,LIU Runjie,SHEN Jinyuan
(Information Engineering College,Zhengzhou University,Zhengzhou,450001,China)
Abstract:Session Initial Protocol(SIP)is currently replacing H.323 to be the promising signaling protocol for VoIP network.In this paper,the function,structure and work flow of SIP protocol are reviewed.Then the security problems faced by SIP,the security mechanisms of SIP,such as IPSec,TLS,HTTP-Digest,S/MIME and so on are analysed and introduced,the virtues and shortcomings of all kinds of security mechanisms are pointed out by comparasion.At last,a conclusion of SIP security and security improvement direction for the future research work is given.
Keywords:session initial protocol;security;HTTP-Digest;secure/multi-purpose Interned mail extesion protocol
0 引 言
SIP(Session Initial Protocol)是一種應(yīng)用層協(xié)議,采用Client/Sever結(jié)構(gòu)的消息機(jī)制,分布式控制模式,呼叫建立過程簡單。使用SIP作為VoIP(Voice over IP)網(wǎng)絡(luò)的核心信令控制協(xié)議,已成為未來發(fā)展趨勢。
SIP的設(shè)計充分考慮了協(xié)議的易用性和靈活性,卻在安全性方面存在缺陷。本文分析了基于
SIP網(wǎng)絡(luò)的安全問題,并提出改進(jìn)措施。
1 SIP介紹及其安全威脅
1.1 SIP簡介
SIP是由IETF (Internet Engineering Task Force)的MMUSIC(Multiparty Multimedia Session Control)工作組于1999年提出的應(yīng)用層控制協(xié)議[1]。SIP用來創(chuàng)建、修改和終結(jié)兩個或多個參與者參加的會話。參與會話的成員可以通過組播方式、單播聯(lián)網(wǎng)或者兩者結(jié)合的形式進(jìn)行通信。
SIP實體主要由四部分組成[2]:用戶代理(User Agent,UA)、代理服務(wù)器 (Proxy Sever)、 重定向服務(wù)器 (Redirect Sever) 和注冊服務(wù)器(Register)。
有兩種類型SIP消息:請求消息和響應(yīng)消息。請求消息包含一個請求行、幾個消息頭(header)、一個空行和一個消息體。如:INVITE SIP:bob@biloxi.eomSIP/2.0。響應(yīng)消息包含狀態(tài)行、消息頭、空行和消息體。狀態(tài)行的格式為:版本號、狀態(tài)碼和原因短語,如:SlP/2.0 180 Ringing[3]。圖1是SIP的會話建立流程。
1.2 SIP安全問題
SIP協(xié)議采用文本形式表示消息的詞法和語法,易于實現(xiàn),但也因此使得SIP容易被攻擊者加以模仿、篡改,加以非法利用。另外SIP用戶廣泛分布于IP網(wǎng)絡(luò)上,所有影響數(shù)據(jù)網(wǎng)絡(luò)的攻擊都可能會影響到SIP的安全。具體來說,SIP的安全隱患有以下幾方面:
(1) 注冊攻擊(Registration Hijacking)
SIP允許第三方代表用戶注冊聯(lián)系信息,這就使攻擊者惡意注冊成為可能。攻擊者為一個URI的所有Contact地址,這樣所有到用戶的呼叫就全部被轉(zhuǎn)向攻擊者的設(shè)備。
(2) 偽裝服務(wù)器(Impersonating a Sever)
呼叫請求的目的域是在Request-URI中指定的。UA直接向域中的服務(wù)器發(fā)出呼叫請求,這就給攻擊者機(jī)會來偽裝成SIP服務(wù)器。
(3) 篡改消息體(Tampering with Message Bodies)
SIP的UA通過信任的Proxy來呼叫路由,UA通過SIP消息體來傳送體來傳送媒體會話加密的密鑰時,惡意的Proxy就可以改動消息體,或者作為中間人,或者直接改寫會話加密的安全特性。攻擊者可以改動消息的SDP部分,將RTP媒體流指向分線設(shè)備,對通信進(jìn)行搭線竊聽。
(4) 終止會話(Tearing Down Sessions)
當(dāng)會話建立以后,通過發(fā)送消息可以修改通話狀態(tài)。例如會話被第三方截獲,獲得To,F(xiàn)rom內(nèi)容,然后在消息中插入BYE請求,用戶的正常會話就終止。
(5) 拒絕服務(wù)(Denial of Service,DoS)
DoS是指特定的網(wǎng)絡(luò)接口發(fā)送大量的信息而使系統(tǒng)破壞或暫時不可用。攻擊者要想攻擊網(wǎng)絡(luò)中的某臺主機(jī),可以通過偽造一條看似來自這臺主機(jī)的SIP消息,然后將這條消息發(fā)往大量的SIP服務(wù)器,通過SIP服務(wù)器,向要攻擊的目的主機(jī)發(fā)送大量的SIP應(yīng)答消息,從而使目的主機(jī)遭受拒絕服務(wù)攻擊。
2 SIP安全策略
防止攻擊的最好方法是保證信息的私密性和完整性,防止重放攻擊和信息欺騙,提供會話的驗證和信息保密,防止拒絕服務(wù)攻擊。理論上,信息的完全加密可以為信令的機(jī)密性提供最好的保護(hù),但SIP請求和響應(yīng)不能在端到端的用戶之間完全加密,因為消息頭域(如Request-URI和Via)對服務(wù)器來說必須是可見的,同時Proxy需要修改消息的某些參數(shù)(如增加Via頭域值)。
SIP協(xié)議支持兩種加密方式。第一種是端到端(End to End)加密,針對一些不需要中間代理服務(wù)器處理且包含用戶信息的SIP消息頭和消息體可以進(jìn)行端到端的加密。另一種方法是逐跳(Hop by Hop)加密。這種加密方式可以通過SIP外部的安全機(jī)制來實現(xiàn)。
2.1 網(wǎng)絡(luò)層IPSec協(xié)議
IPSec(Internet Protocol Security,Internet協(xié)議安全)是一種逐跳加密機(jī)制[4],IPSec安全協(xié)議工作在網(wǎng)絡(luò)層,運行在它上面的所有網(wǎng)絡(luò)通道都是加密的。IPSec為信息加密和鑒定提供許多選項,如訪問控制,數(shù)據(jù)源認(rèn)證和抗重播等。它可以創(chuàng)建安全隧道來通過不信任的網(wǎng)絡(luò),從虛擬專用網(wǎng)VPN中進(jìn)行連接。一個加密的VPN隧道使得通信數(shù)據(jù)只能被通信雙方理解,因此可以有效的防止竊聽和其他攻擊。圖2為IPSec體系結(jié)構(gòu)。
IPSec的缺點是網(wǎng)絡(luò)實施復(fù)雜,實現(xiàn)代價較高,而且存在擴(kuò)展性的問題,對于遍布在公網(wǎng)上的SIP終端來說建立IPSec通道是不現(xiàn)實的。
2.2 傳輸層TLS協(xié)議
TLS(Transport Layer Security,傳輸層安全)提供的是面向連接的傳輸層安全服務(wù)[5]。它是另一種逐跳加密機(jī)制。該協(xié)議分為兩層:TLS握手協(xié)議和TLS記錄協(xié)議。前者用于協(xié)商安全機(jī)制,后者具體執(zhí)行該安全機(jī)制。
TLS的工作流程如圖3所示。在SIP網(wǎng)絡(luò)中應(yīng)用TLS可以為需要逐條之間安全通信的主機(jī)提供安全服務(wù),保證會話的安全。它也為SIP實體提供對臨近服務(wù)器的鑒別服務(wù)。TLS的優(yōu)點是高層協(xié)議可以透明地建立在TLS協(xié)議層之上,而且不依賴于低層的傳輸協(xié)議,可以建立在任何能夠提供可靠連接的協(xié)議之上。其缺點是必須運行在TCP之上,對于通常運行在UDP之上的SIP服務(wù)器,同時維持大量的TLS連接會負(fù)荷較重。
2.3 PGP加密簽名
PGP(Pretty Good Privacy)是一種端到端的加密簽名算法[6]。SIP消息體和部分信息頭可以通過PGP進(jìn)行加密。PGP加密系統(tǒng)使用一對數(shù)學(xué)上相關(guān)的密鑰,其中一個(公鑰)用來加密信息,另一個(私鑰)用來解密信息。PGP采用的傳統(tǒng)加密技術(shù)部分所使用的密鑰稱為“會話密鑰”(SEK)。每次使用時,PGP都隨機(jī)產(chǎn)生一個128 b的IDEA會話密鑰,用來加密報文。PGP的主要步驟如圖4所示。
PGP的缺點是加密機(jī)制實現(xiàn)較為復(fù)雜,缺少有效的密鑰分發(fā)和管理機(jī)制。
2.4 S/MIME
S/MIME(Secure/Multipurpose Internet Mail Extensions,安全/多用途Internet郵件擴(kuò)展)[7]協(xié)議的一般功能和PGP相似,它提供電子郵件消息的數(shù)字簽名和加密功能。
SIP消息可以攜帶MIME消息內(nèi)容,也采用S/MIME安全機(jī)制為MIME消息內(nèi)容提供安全保護(hù)。采用S/MIME可以為端到端的SIP消息內(nèi)容提供機(jī)密性和完整性服務(wù)。當(dāng)UAS接到含有S/MIME的請求時,首先對其數(shù)字簽名進(jìn)行驗證,驗證通過后將X.509簽名證書加入本地公鑰圈進(jìn)行保存。圖5為S/MIME在SIP中的基本流程。
S/MIME的一個缺陷是缺乏有效的公鑰基礎(chǔ)設(shè)施,另一個缺陷是使用Tunneling SIP 時將產(chǎn)生非常長的消息,此時雖然可以采用TCP 作為傳輸層協(xié)議,但是從網(wǎng)絡(luò)的利用率來講,還是不理想。
2.5 HTTP-Digest摘要認(rèn)證
HTTP摘要認(rèn)證[8]是SIP協(xié)議的基本認(rèn)證方式,它基于一種挑戰(zhàn)/響應(yīng)(challenge/response)模式,為SIP實體提供身份認(rèn)證。在SIP網(wǎng)絡(luò)中,HTTP摘要認(rèn)證方式可以被用于用戶到用戶(User-to-User)的認(rèn)證和代理服務(wù)器到用戶(Proxy-to-User)的認(rèn)證。圖6是SIP注冊用戶鑒權(quán)過程。用戶到用戶的認(rèn)證是指UAS、注冊服務(wù)器或重定向服務(wù)器對于UAC的認(rèn)證,使用401響應(yīng)狀態(tài)碼,代理服務(wù)器到用戶的認(rèn)證是指代理服務(wù)器對于UAC的認(rèn)證,使用407響應(yīng)狀態(tài)碼。
目前,HTTP摘要認(rèn)證僅能實現(xiàn)Server對本域內(nèi)
UA的認(rèn)證,無法實現(xiàn)UA對Server的認(rèn)證、Proxy對
Proxy的認(rèn)證和Proxy對域外UA的認(rèn)證。
3 結(jié) 語
隨著多媒體會議,VoIP,IMS等領(lǐng)域采用SIP協(xié)議為核心層信令控制協(xié)議,SIP成為一個應(yīng)用廣
泛、逐漸走向成熟的協(xié)議。
SIP協(xié)議雖然有開放、簡易、可擴(kuò)充等優(yōu)點,但其自身并沒有制定相應(yīng)安全策略,現(xiàn)有的安全機(jī)制還有不完善的地方。許多人正在研究新的方法來提高SIP安全,例如在S/MIME的框架下,采用SigComp[9,10] (信號壓縮)技術(shù),選擇合適的壓縮算法(如基于字典模型的LZW或LZSS)壓縮SIP/SDP消息體,然后有選擇地加密部分消息體,這樣可以提高SIP消息傳輸?shù)挠行院桶踩浴_@也是作者下一步的研究方向。
參考文獻(xiàn)
[1]IETF.RFC 3261.SIP:Session Initiation Protocol.2002.
[2]白建軍,彭暉.SIP揭秘[M].北京:人民郵電出版社,2003.
[3]司端鋒,韓心慧,龍勤,等.SIP標(biāo)準(zhǔn)中的核心技術(shù)與研究進(jìn)展[J].軟件學(xué)報,2005,16(2):239-250.
[4]Kent S,Atkinson R.Security Architecture for the Internet Protolol.RFC2401.1999.
[5]Dierks T,Allen C.TLS Protocol Version.RFC 2246, 1999.
[6]Zimmermann PR.The Official PGP User′s Guide.MIT Press,1995.
[7]Ramsdell B.S/MIME Version 3 Message Specification.RFC 2633,1999.
[8]Franks J,Hallam-Baker P,Hostetler J,et al.HTTP Authentication:Basic and Digest Access Authentication.Request for Comments 2617.Internet Engineering Task Force,1999:94-112.
[9]IETF.Signaling Compression (SigComp).RFC 3220,2003.
[10]IETF.The Session Initiation Protocol(SIP) and Session Description Protocol(SDP) Static Dictionary for Signaling Compression(SigComp).RFC 3485,2003.
作者簡介 白蕓潔 女,1981年出生,河南鄭州人,碩士研究生。主要研究領(lǐng)域為下一代網(wǎng)絡(luò)、信息安全。
穆維新 男,高級工程師,教授。主要研究領(lǐng)域為軟交換、網(wǎng)絡(luò)安全。
劉潤杰 男,博士,副教授。主要研究領(lǐng)域為通信網(wǎng)流量、軟交換。
申金媛 博士后,研究生導(dǎo)師。主要研究方向為神經(jīng)網(wǎng)絡(luò),通信網(wǎng)絡(luò)。