宋 坤,胡 凱
(1.武警部隊參謀部辦公室,北京 100089;2.武警部隊政治工作部軍事人力資源保障中心信息服務室,北京 100089)
目前,黨政、軍隊以及很多重要部門和團體已建立了自己的私有IP網(wǎng)絡,利用了所有的IP技術,部分單位在語音通信領域引入了SIP技術,構(gòu)建了SIP電話系統(tǒng)。SIP電話系統(tǒng)[1]包括IP網(wǎng)絡和SIP電話終端,由于本身技術機制問題,SIP電話系統(tǒng)面臨著兩個方面的安全威脅,主要包括:一是對IP網(wǎng)絡的攻擊,二是對SIP電話終端的攻擊。
基于IP技術的下一代網(wǎng)絡(NGN,Next Generation Network),提出了開放的網(wǎng)絡架構(gòu),使得網(wǎng)絡極易受到威脅??赡苊媾R如下攻擊:非授權訪問、拒絕服務攻擊、偷聽、偽裝。
SIP是一種基于文本的協(xié)議,以文本形式表達消息,很容易被攻擊者模仿、篡改和非法利用。可能面臨以下攻擊:注冊攻擊、重放攻擊、拒絕服務、偽裝與欺詐、消息篡改、會話終止。
到目前為止,SIP電話系統(tǒng)還沒有一種成型的技術體制能夠全面應對上述兩方面的安全威脅。為進一步提升SIP電話的安全性能,亟需提出SIP電話系統(tǒng)的綜合性安全保密措施。
綜合來看,SIP電話的通信安全需要從以下五個方面尋求重點突破,主要包括:訪問控制、身份認證、機密性、完整性和不可否認性。目前,成型的密碼技術恰恰能夠解決上述安全需求。從SIP電話通信機制(包括三個流程,即呼叫、建立鏈接、通話)來看,需要從安全認證、信令安全、媒體流安全三個方面采取有效的措施,全方位的保障SIP話音通信的安全性。[1]
主要采用密碼學技術,從兩個方面引入安全認證措施。
2.1.1 安全接入
安全接入是指用于SIP電話終端接入到SIP網(wǎng)絡前,需要通過接入網(wǎng)絡完[2]成對SIP電話終端的接入控制,使得合法的用戶終端可以接入到網(wǎng)絡,而拒絕非法接入的用戶終端。結(jié)合系統(tǒng)特點,借鑒基于MD5密碼算法的IEEE 802.1x認證方式[3,4]設計一套適用于SIP電話系統(tǒng)的網(wǎng)絡接入機制是實現(xiàn)SIP電話的接入認證的很好選擇。
2.1.2 身份認證
在實際運用過程中,SIP電話的身份認證是指在SIP電話通信前,必須確認雙方身份,只有合法的設備可進行通信。在該系統(tǒng)中,安全認證機制包含兩部分:SIP電話終端間的業(yè)務認證、終端與管理中心的管理認證。采用基于密碼學數(shù)字證書PKI系統(tǒng)的認證方式可以實現(xiàn)SIP電話管理中心對SIP電話終端、以及SIP電話終端間的身份認證。流程如下:
(1)管理認證
管理中心CA給各密碼設備下發(fā)管理設備證書(根公鑰RPK)、加密設備公鑰PK(每個設備存儲自己的私鑰SK)。管理中心用根私鑰進行加密并對其進行簽名。假如下發(fā)給A相關的RPK、PKA,此時A用根公鑰RPK驗簽名。如果驗證正確,說明管理中心是可信方。
(2)業(yè)務認證
與管理認證一樣,包括證書交換和認證兩部分。
證書交換:A、B雙方,交換公鑰證書;
驗證:A用自己的私鑰SKA加密數(shù)據(jù)SKA(data),B用A發(fā)過來的公鑰證書CertA進行驗證。同樣,B用自己的私鑰SKB加密數(shù)據(jù)SKB(data),A用B發(fā)過來的公鑰證書CertB進行驗證。
信令安全分析:信令保護是防止呼叫服務被盜、避免合法呼叫中斷或竊聽的關鍵。信令消息的安全性[5,6]主要包含4個方面:完整性、機密性、可用性和真實性。SIP信令安全性分析如表1所示。
表1 SIP信令安全性分析
主要采用密碼學技術,從兩個方面引入信令安全措施。
2.2.1 傳輸層安全(TLS)保護
基于密碼算法的TLS在網(wǎng)絡傳輸層提供了端點身份認證與通訊保密,其基礎是公鑰基礎設施(PKI)。建立TCP鏈接后,TLS客戶端發(fā)送ClientHello以發(fā)起握手,TLS服務器端以ServerHello響應。這里,確定通信所需算法,然后發(fā)送證書??蛻舳耸盏较⒑?,生成一條秘密消息,使用TLS服務器的公鑰對其進行加密,并將其傳遞。TLS服務器端用自己的私鑰解密后,會話密鑰協(xié)商結(jié)果,雙方即可以通信。
2.2.2 HTTP摘要身份認證
SIP信令采用基于HTTP的質(zhì)詢/響應機制,即僅接受有證書的請求,對沒有證書的請求,可用401/407請求另一方重新發(fā)送包含認證信息的請求。
HTTP摘要認證是服務器端通過基于MD5密碼算法發(fā)送摘要信息取代直接發(fā)送明文密碼。同時,為防止重放攻擊的發(fā)送,服務器向客戶端發(fā)送一個隨機數(shù),這個數(shù)值時刻發(fā)生變化,使得摘要信息每次都不相同,從而來完成HTTP的安全認證方式。引入此認證方式后,SIP服務器具備了對SIP電話終端的單向認證能力。
除SIP信令需要保護外,傳輸?shù)脑捯魳I(yè)務也需要保護。目前,SIP網(wǎng)絡中使用的多媒體傳輸協(xié)議是實時傳輸協(xié)議(RTP)和實時傳輸控制協(xié)議協(xié)議(RTCP)。IEEE擴展了RTP協(xié)議,并提出了安全實時傳輸協(xié)議(SRTP),該協(xié)議采用密碼技術,增強了安全性,并定義了數(shù)據(jù)加密、消息認證、完整性保護和重放攻擊保護的安全措施,以彌補RTP和RTCP協(xié)議的安全性不足。
SIP媒體流加密可以采用序列算法加密或分組算法序列化加密方式。只要通信雙方能夠產(chǎn)生對稱密鑰,并采用約定的加密算法對RTP和RTCP數(shù)據(jù)進行安全保護,即可以有效的保護媒體流。問題的核心是如何動態(tài)的協(xié)商通信雙方的會話密鑰。
2.3.1 密鑰協(xié)商
Mikey協(xié)議[7,8]中給出了三種協(xié)商兩個通話終端之間密鑰的方式。
第一種:預分配密鑰。兩個通話終端中預分配一個主密鑰,通過協(xié)議交互參數(shù),并使用主密鑰和參數(shù)來產(chǎn)生媒體的加密密鑰和驗證密鑰。在這種方式下,網(wǎng)絡擴展性問題很大,只能在一些預分配密鑰的終端之間通話。另外,一旦有一個終端淪陷,則整個網(wǎng)絡的通話安全無法保證。
第二種:公私鑰和證書機制。發(fā)送方使用通話接收端的公鑰來加密發(fā)送會話密鑰。這種方式下,安全性得到了保障。這種方式下,使用非對稱加解密方法,對于價格低廉計算能力較差的電話終端很難實現(xiàn)計算要求。
第三種:Diffie-Hellman密鑰交換算法。發(fā)送方產(chǎn)生隨機數(shù),通過計算得到RandA,發(fā)送給接收方B。同時,對協(xié)商報文進行完整性、可認證性保護,傳遞給接收方B。接收方B驗證RandA的有效性,然后進行協(xié)商報文的完整性、可認證性驗證。最后,雙方通過計算協(xié)商出本次通信的密鑰WKAB和WKBA。
根據(jù)SIP通信的特點,選擇第二種、第三種方式結(jié)合的方法,實現(xiàn)密鑰協(xié)商,能夠規(guī)避單一密鑰協(xié)商算法的劣勢,提高整個密鑰協(xié)商過程的可靠性。
2.3.2 媒體流加密
通信雙方協(xié)商得到會話密鑰后,就可以采用加密傳輸協(xié)議進行加密封裝。SRTP加密傳輸協(xié)議基于標準RTP協(xié)議,對協(xié)議進行適當改造,增加對多媒體業(yè)務的防重放和完整性保護。加密傳輸協(xié)議沿用標準RTP頭部定義,數(shù)據(jù)域攜帶密碼信息、加密業(yè)務數(shù)據(jù)信息和校驗數(shù)據(jù)。[9]數(shù)據(jù)包格式定義如圖1所示。
圖1 加密傳輸協(xié)議數(shù)據(jù)包格式
對于第1節(jié)中,提到的SIP存在諸如注冊欺騙、冒充服務器、篡改消息體等的方面安全問題,本文提到的安全認證措施和信令安全措施提供了SIP管理中心對電話終端之間的單向認證,解決了注冊欺騙和冒充服務器的問題。此外,媒體流安全措施對發(fā)送的整個媒體流進行加密,解決了竊聽和篡改消息的問題。
媒體流加密用的工作密鑰通過公鑰算法協(xié)商產(chǎn)生,敵方難以通過對協(xié)商過程的攻擊獲得共享的秘密數(shù)據(jù)。由于攻擊者無法獲取A或B的私鑰,因此無法生成有效的數(shù)字簽名。并且,即使攻擊者截取該消息然后使用他的公鑰而不是合法通信者的公鑰,并用他的私鑰對該消息進行簽名,接收者也可以檢測到。
在業(yè)務處理層采用適合于高速過濾處理的認證加密算法,通過高性能硬件處理,抵御大范圍高強度的業(yè)務層攻擊;在密鑰管理層,通過挑戰(zhàn)應答機制緩和大運算量的響應處理,避免了對密碼服務的攻擊。
由于攻擊者無法生成有效簽名,因此接收者將會發(fā)現(xiàn)對信息中關鍵部分的任何改動。攻擊者可以修改信息頭via中的內(nèi)容,將自身插入到信息的轉(zhuǎn)發(fā)路徑并監(jiān)聽。但,對于媒體流又做了加密處理,因此即使被監(jiān)聽,也不會產(chǎn)生嚴重后果。
在呼叫建立過程中,BYE消息進行認證,即消息只接受從會話另一方發(fā)送的BYE消息。如果保證會話的隱私性,則攻擊者無法獲取消息參數(shù),也就無法偽造BYE消息。
目前,IP網(wǎng)絡已經(jīng)逐步取代PSTN網(wǎng)絡,成為通信的骨干網(wǎng)絡,在部署方便、應用靈活的同時,帶來了嚴重的安全問題。
SIP話音通信存在各種安全隱患,包括注冊攻擊、消息篡改等最常見的攻擊方式。SIP電話系統(tǒng)設計時,應該充分應用密碼技術,并進行部署實施,才能保證通信的安全性。本文從安全認證、信令安全、媒體流安全等方面,提出并論證了SIP電話的安全威脅、安全機制以及應采取的安全措施,保證了SIP電話系統(tǒng)的安全性。