【正文】
ncreasingly popular. VoIP(Voice over IP)technology has bee one of the fastest growing technologies in Inter field. However, as the VoIP transmission medium, IP work currently exists a variety of security risks. It is that IP data packets on the work is very likely being stolen by hackers, resulting in a serious consequence the part of voice is lost or tapped. Therefore, the secure transmission of VoIP is a very important issue and bees a hot spot of research and application. In order to protect the security of VoIP transmission, encryption for voice data is necessary. However, encryption is usually a large amount of putation, so we choose a stream cipher RC4 symmetric encryption algorithm to achieve encryption. This article first detailed several important protocols related to the VoIP applications, including SIP(Session Initiation Protocol)、 SDP(Session Description Protocol)、 RTP(Realtime Transport Protocol)、 RTCP(RTP Control Protocol), then expounds how these protocols synergies for the VoIP. After analysis of the prospects of Android and VoIP application, I use the open source SIP stack SIPDroid to design a SIPbased embedded Android voice terminal. On this basis, I rewrote the UDP protocol stack transceiver function, use the RC4 algorithm java package to achieve the encryption. At last, I set up the test platform to make a function test. Keywords:VoIP。secret voice terminal 中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論文 6 第一章 緒論 第一節(jié) 研究背景 隨著網(wǎng)絡(luò)技術(shù)向著綜合化、數(shù)字化、智能化、個(gè)人化的方向發(fā)展, Inter越來(lái)越走進(jìn)人們的生活,在單一的網(wǎng)絡(luò)平臺(tái)上實(shí)現(xiàn)語(yǔ)音、數(shù)據(jù)、圖像等多媒體綜合業(yè)務(wù)已經(jīng)乘務(wù)網(wǎng)絡(luò)發(fā)展的目標(biāo)和趨勢(shì)。這些利用 Inter為彼此通訊的雙方提供實(shí)時(shí)信息交互的技術(shù),隨著網(wǎng)絡(luò)應(yīng)用的進(jìn)一步普及,成為人們利用網(wǎng)絡(luò)相互聯(lián)系的重要手段, VoIP技術(shù)就是在這種情況下發(fā)展起來(lái)的。如同針對(duì) TCP的控制包攻擊一樣,黑客可以通過(guò)發(fā)起針對(duì) VoIP協(xié)議的 DoS攻擊,使 VoIP設(shè)備被大量請(qǐng)求阻塞,導(dǎo)致語(yǔ)音呼叫服務(wù)中斷或處于虛假繁忙狀態(tài)。 話音從 源端到達(dá)目的端的基本過(guò) 程是: :將聲波轉(zhuǎn)換為電信號(hào) 中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論文 7 :將模擬信號(hào)按照某種采樣方法轉(zhuǎn)換成數(shù)字信號(hào) :將一定時(shí)長(zhǎng)的數(shù)字化之后的語(yǔ)音信號(hào)組合為一幀,封裝到一個(gè) RTP報(bào)文中,并被進(jìn)一步封裝到 UDP報(bào)文和 IP報(bào)文中。在基于 SIP協(xié)議的應(yīng)用中,每一個(gè)會(huì)話可以是各種不同的數(shù)據(jù),可以是普通的文本數(shù)據(jù),也可以是經(jīng)過(guò)數(shù)字化處理的音頻、視頻數(shù)據(jù),還可以是諸如游戲等應(yīng)用的數(shù)據(jù),具有巨大的靈活性。對(duì)稱式加密就是加密和解密使用同一個(gè)密鑰,這種加密技術(shù)目前被廣泛采用。 第二節(jié) 本文主要研究工作 本文的目的是 智能手機(jī)安卓系統(tǒng)秘密語(yǔ)音通信軟件設(shè)計(jì)。 第三節(jié) 本文組織結(jié)構(gòu) 本文共分為七個(gè)章節(jié): 第一章首先介紹了課題的研究背景,并對(duì) VoIP、 SIP協(xié)議、數(shù)據(jù)加密做了簡(jiǎn)單的介紹。第二章和第三章共同構(gòu)成本文的理論基礎(chǔ)。 第七章是對(duì)本文研究與開(kāi)發(fā)工作的總結(jié)和對(duì)今后進(jìn)一步研究方向的展望。 VoIP技術(shù)的出現(xiàn),使語(yǔ)音業(yè)務(wù)在數(shù)據(jù)網(wǎng)上實(shí)現(xiàn)連續(xù)而高效的傳輸成為可能。分組交換技術(shù)使得 IP電話在有信息時(shí)才傳送數(shù)據(jù),無(wú)信息時(shí)不傳輸數(shù)據(jù),并且在使用壓縮技術(shù)后,能使用遠(yuǎn)低于傳統(tǒng)電話所需的網(wǎng)絡(luò)帶寬來(lái)實(shí)現(xiàn)傳輸,傳統(tǒng)電話技術(shù)通常需要 64kbit/s以上的帶寬,而分組語(yǔ)音需要的帶寬往往不到 10kbit/s。目前在 VoIP中使用較多的是音視頻協(xié)議 、信令控制協(xié)議 SIP、及媒體網(wǎng)關(guān)控制協(xié)議 MGCP這三種主流協(xié)議,下表列出了這三種協(xié)議的簡(jiǎn)單比較 中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論文 10 表 21 VoIP主流協(xié)議比較 SIP MGCP 擬定組織 ITUT IETF IETF 架構(gòu) P2P P2P 主從式 設(shè)計(jì)對(duì)象 ISDN及 ATM Inter Gateway 復(fù)雜度 高 低 中 擴(kuò)展性 低 高 中 編碼方式 二進(jìn)制編碼 基于文本編碼 基于文本編碼 在本文中,基于 Android的 VoIP語(yǔ)音通信客戶端的實(shí)現(xiàn)是基于 SIP協(xié)議的。關(guān)鍵是分組語(yǔ) 音應(yīng)用要求某地的呼叫者連接至同樣使用其撥號(hào)標(biāo)準(zhǔn)的語(yǔ)音代理,并將呼叫轉(zhuǎn)發(fā)到可以訪問(wèn)其它語(yǔ)音代理的用戶組,這就需要信令技術(shù) —— 一項(xiàng)鑒別呼叫方所要呼叫的對(duì)象和定位呼叫方在網(wǎng)絡(luò)中的位置的技術(shù)。另一種信令在語(yǔ)音代理之間傳輸,稱為內(nèi)部信令。呼叫處理(或狀態(tài)信息)信令在語(yǔ)音代理之間發(fā)送呼叫狀態(tài),如振鈴、忙音等。但網(wǎng)絡(luò)中往往存在多種語(yǔ)音代理,連接種類的多樣性使得語(yǔ)音代理無(wú)法為每個(gè)語(yǔ)音業(yè)務(wù)建立通道。 在 IP分組語(yǔ)音網(wǎng)絡(luò)中采 用的內(nèi)部信令(包括連接和呼叫處理)標(biāo)準(zhǔn)主要有兩種,即 ITUT提出的 IETF制訂的 SIP協(xié)議。 二、 SIP起源與發(fā)展 SIP最早是由 Henning Schulzrinne 和 Mark handley于 1996年所設(shè)計(jì),當(dāng)初設(shè)計(jì)的目標(biāo)之一是實(shí)現(xiàn)類似 PSTN中提供呼叫處理功能的擴(kuò)展集,來(lái)完成類似普通電話的各種操作:撥號(hào)、振鈴、回鈴音等。 1999年 3月, IETF的多方多媒體會(huì)晤控制工作組( mmusic)提出了 RFC2543建議。而 3GPP使用了 SIP標(biāo)準(zhǔn)來(lái)支持語(yǔ)音中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論文 13 和數(shù)據(jù), SIP協(xié)議得到了進(jìn)一步的發(fā)展。 用戶能力:檢查媒體的參數(shù)。但是基本的 SIP協(xié)議的功能組件并不依賴于這些協(xié)議。 第二節(jié) SIP基本原理分析 一、 SIP協(xié)議要素 SIP定義的要素是邏輯上的要素,不是物理要素。 ( User Agent Server):收到 SIP請(qǐng)求后負(fù)責(zé)與用戶聯(lián)系并代表用戶回送響應(yīng)的服務(wù)程序。用戶的 SIP請(qǐng)求和響應(yīng)可以直接被代中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論文 14 理服務(wù)器處理或遵循相應(yīng)網(wǎng)絡(luò)策略轉(zhuǎn)發(fā)給對(duì)應(yīng)的服務(wù)器,并根據(jù)收到的應(yīng)答對(duì)用戶做出響應(yīng)。而位于網(wǎng)絡(luò)邊緣的有狀態(tài)代理服務(wù)器,處理局部有限數(shù)量的用戶呼叫,負(fù)責(zé)對(duì)每個(gè)會(huì)話進(jìn)行管理和計(jì)費(fèi),需要追蹤一個(gè)會(huì)話的全過(guò)程。它接收用戶代理的 SIP呼叫請(qǐng)求,通過(guò)服務(wù)器中配置的策略和對(duì)定位服務(wù)器的查詢將其地址映射成新地址返回給用戶,以指示用戶代理將呼叫重定向到其它目的地,來(lái)實(shí)現(xiàn)對(duì)呼叫的靈活控制。 常與代理或重定向服務(wù)器在同一位置,可以提供定位服務(wù)。 定位服務(wù)( Location Service): SIP重定位服務(wù)器或代理服務(wù)器用來(lái)獲得被叫位置的一種服務(wù),可由定位服務(wù)器提供。它定義了一個(gè)客戶端如何發(fā)送請(qǐng)求和接收應(yīng)答,以及一個(gè)服務(wù)器如何接收請(qǐng)求和發(fā)送應(yīng)答。一個(gè)事務(wù)指的是從客戶機(jī)發(fā)送請(qǐng)求到一個(gè)服務(wù)器開(kāi)始,直到服務(wù)器的所有對(duì)該請(qǐng)求的應(yīng)答發(fā)送回客戶端為止的整個(gè)過(guò)程。用戶代理和有狀態(tài)代理服務(wù)器均包含一個(gè)事務(wù)層,無(wú)狀態(tài)代理服務(wù)器則不包含事務(wù)層。事務(wù)用戶 既能創(chuàng)建事務(wù),也能取消事務(wù)。因此一個(gè)要素”包含”某一個(gè)層,指的是這個(gè)要素要符合這個(gè)層定義的規(guī)則,而非每個(gè)要素都一定包含每一個(gè)層。SIP URL也可以嵌入 WEB頁(yè)面或其它超鏈接表示某個(gè)用戶或服務(wù)可以使用 SIP服務(wù)器訪問(wèn)。 SIP最強(qiáng)大之處就是用戶定位功能。 SIP的核心通信機(jī)制就是請(qǐng)求響應(yīng)。 SIP請(qǐng)求消息以 RequestLine為起始行,以此區(qū)別于其他消息。 INVITE消息中有一種消息體稱為消息描述符,描述符符合 SDP協(xié)議標(biāo)準(zhǔn)。 OPTIONS請(qǐng)求消息用于查詢代理服務(wù)器支持的方法和會(huì)話描述協(xié)議。 CANCEL請(qǐng)求必須與被取消的消息具有相同的 CALLID, FROM, TO,Cseq標(biāo)題字段。不過(guò)注冊(cè)記錄有有效期的,因此 UAC要定時(shí)發(fā)送 REGISTER請(qǐng)求刷新自己的位置信息。接下來(lái)是請(qǐng)求頭域集合。 Call_ID包含一個(gè)全局標(biāo)志,用來(lái)唯一標(biāo)識(shí)這個(gè)呼叫。 VIA域告訴其 他元素請(qǐng)求將發(fā)送到哪里并且應(yīng)答到哪里, Contract域則表明將來(lái)的請(qǐng)求將發(fā)送到哪里。 StatusLine是由協(xié)議版本號(hào)、響應(yīng)狀態(tài)碼和相關(guān)協(xié)議分析組成,各部分之間用空格字符隔開(kāi)。表 32列出了不同類型的 SIP響應(yīng)消息狀態(tài)。received= To: Bob sip:。 Bob的SIP電話增加了一個(gè) TAG參數(shù)。INVITE請(qǐng)求可以被代理服務(wù)器轉(zhuǎn)發(fā),并最終到達(dá)可接受請(qǐng)求的 UAS。 UAS可以在發(fā)送最終響應(yīng)之前發(fā)送臨時(shí)響應(yīng)通知 UAC進(jìn)度。事務(wù)遵循同一套規(guī)則來(lái)完成 300和 699之間的最終響應(yīng),而針對(duì)2xx響應(yīng)的 ACK則由 UAC發(fā)出。 圖 34 終端到注冊(cè)服務(wù)器注冊(cè)的過(guò)程 SIP協(xié)議呼叫方式有三種:由主叫 UAC直接向被叫 UAS呼叫,由代理服務(wù)器代表主叫 UAC向被叫 UAS發(fā)起呼叫和由主叫 UAC在重定向服務(wù)器的輔助下進(jìn)行重定向呼叫。收到成功響應(yīng)后,中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論文 21 主叫 UAC發(fā)送 ACK確認(rèn)請(qǐng)求。對(duì)方收到后,釋放相關(guān)資源,并回送一個(gè)成功響應(yīng),通知當(dāng)前呼叫已經(jīng)終止。服務(wù)器收到后,在頭部字段 Via棧中壓入自己的地址,再將請(qǐng)求轉(zhuǎn)發(fā),這個(gè)過(guò)程可能經(jīng)過(guò)多個(gè)代理服務(wù)器。收到重定向響應(yīng)消息后, UAC向新的目標(biāo)地址一一發(fā)送 INVITE請(qǐng)求,直至收到成功響應(yīng)并建立呼叫,如圖 37所示 user agent client(A) proxy server user agent server(B) INVITE 200 OK ACK 圖 36通過(guò)代理服務(wù)器轉(zhuǎn)發(fā)信令,建立會(huì)話的過(guò)程 INVITE wangwork 200 OK (search location server) ACK 中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論文 23 user agent client(A) redirect server user agent server(B) INVITE 302 ACK INVITE 200 OK ACK 圖 37 重定向呼叫過(guò)程 (search location server) 中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論文 24 第四節(jié) 其它與 SIP相結(jié)合的協(xié)議 一、 SIP與其他協(xié)議的協(xié)作 SIP僅涉及會(huì)話信令部分,因此需要結(jié)合其它 IETF協(xié)議來(lái)建立完善的多媒體結(jié)構(gòu)。 二、傳輸協(xié)議 (RTP) 實(shí)時(shí)傳輸協(xié)議( RTP)是最典型、最廣泛的服務(wù)于流媒體的傳輸層協(xié)議, VoIP系統(tǒng)普遍采用 RTP協(xié)議。此外,部分傳輸層協(xié)議功能(比如流量控制)被上移到應(yīng)用層完成,既能簡(jiǎn)化處理又能提高效率。 SDP協(xié)議定義了會(huì)話描述的統(tǒng)一格式,告之某會(huì)話的存在,并給出參與該會(huì)話所必須的信息,但是并不分配多播地址,也不協(xié)商編碼方案商,而是由下層協(xié)議來(lái)實(shí)現(xiàn)這些功能。功能基本相同,也都是基于 RTP實(shí)現(xiàn)媒體傳輸,但設(shè)計(jì)風(fēng)格截然不同, 國(guó)際電聯(lián)提出來(lái)的,初衷是把 IP電話當(dāng)作傳統(tǒng)電話的升級(jí),只是傳輸方式由電路交換變成了分組交換。 , SIP協(xié)議采用基于文本的 UTF8編碼方式,易于用 Java等語(yǔ)言實(shí)現(xiàn)并且 易于調(diào)試,具有良好的擴(kuò)展性和靈活性;而 用基于 規(guī)則的二進(jìn)制方法表示其消息。而 SIP只要充分利用和簡(jiǎn)單擴(kuò)展已定義的頭域,就能支持補(bǔ)充業(yè)務(wù)。盡管便于管理,但是、 制功能的多點(diǎn)控制單元在控制大型電話會(huì)議時(shí)很可能成為瓶頸。相信在不久的將來(lái), SIP必將伴隨軟交換機(jī)( SoftSwitch)等技術(shù)的發(fā)展取代 IP領(lǐng)域內(nèi)運(yùn)用最廣泛的信令控制協(xié)議, 中國(guó)科學(xué)技術(shù)大學(xué)本科畢業(yè)論