專利名稱:一種適于VoIP媒體傳輸?shù)募咏饷芊椒?br>
技術(shù)領(lǐng)域:
本發(fā)明涉及一禾中用在VoIP (Voice over Internet Protocol)系 統(tǒng)中,對(duì)發(fā)話端與受話端之間傳輸?shù)腞TP包進(jìn)行加解密的方法,屬于 因特網(wǎng)語音通信技術(shù)領(lǐng)域。
背景技術(shù):
VoIP是一種使用互聯(lián)網(wǎng)協(xié)議和呼叫信令在互聯(lián)網(wǎng)上傳輸話音的技 術(shù)。它的實(shí)現(xiàn)過程大致包括如下步驟首先是將發(fā)話端的模擬語音信 息進(jìn)行語音編碼;接下來是將語音數(shù)據(jù)封包加以壓縮,并同時(shí)添加地 址及控制信息;然后,通過互聯(lián)網(wǎng)傳輸封裝好的RTP包,并根據(jù)RTP 包上的地址在互聯(lián)網(wǎng)中尋找到傳送的目的端。到了目的端之后,對(duì)RTP 包進(jìn)行譯碼和還原的工作,將其轉(zhuǎn)換成受話端能夠播放的聲音信號(hào)。
在上述實(shí)現(xiàn)語音通信的過程中,沒有經(jīng)過加密的RTP包在互聯(lián)網(wǎng) 上傳輸時(shí)很容易被捕獲、竊聽甚至被語音檢測(cè)系統(tǒng)屏蔽,因此對(duì)該RTP 包實(shí)施加密顯得尤為重要。
在VoIP系統(tǒng)的數(shù)據(jù)傳輸中,RTP包有顯著的特點(diǎn)包長較小、長 度一定、發(fā)包間隔小、數(shù)量大。因此,現(xiàn)階段使用的RTP包加密方法 主要分為兩大類 一類是更改上層協(xié)議頭,即在原來RTP包外再封裝 一個(gè)偽頭部,或直接更改RTP頭,使協(xié)議分析系統(tǒng)無法判斷或判斷成 非RTP協(xié)議類型;另一類是對(duì)整個(gè)RTP包進(jìn)行加密,使用某種偽隨機(jī) 序列生成算法生成一段偽隨機(jī)序列,或直接使用定制的密碼表對(duì)RTP 包進(jìn)行加密。
但是,實(shí)施加解密的雙方都采用同樣的加解密算法對(duì)大量RTP包 進(jìn)行加解密操作會(huì)導(dǎo)致兩個(gè)問題其一,由于RTP包的大小都是相同 的,加密后的RTP包的大小依然不變;其二, RTP包中會(huì)存在大量的 靜音包,在經(jīng)過加密后所產(chǎn)生的密文內(nèi)容也會(huì)有一定的規(guī)律性,不能 很好地隱藏RTP流的特征。語音檢測(cè)系統(tǒng)能根據(jù)該RTP流的特征檢測(cè) 到語音通道,并能對(duì)其進(jìn)行屏蔽。
在張冬玲發(fā)表的《VoIP加密方案BEEO的加密算法原理及實(shí)現(xiàn)》一文中,介紹了一種適應(yīng)于加密在Internet上傳輸?shù)腎P電話相關(guān)業(yè) 務(wù)的較高強(qiáng)度的加密方法一BEEO。該方法適應(yīng)的信令標(biāo)準(zhǔn)包括SIP、 MGCP、 H.323,適應(yīng)的媒體傳輸方式為RTP,適應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)包括客戶 服務(wù)器模式和端到端模式。具體實(shí)施步驟是這樣的在發(fā)送端,把輸 入內(nèi)容按數(shù)據(jù)位排列成矩陣,按照協(xié)商的方式和密鑰形成一個(gè)列加密 矩陣、行加密矩陣和加擾矩陣,用列加密矩陣對(duì)輸入數(shù)據(jù)的列進(jìn)行數(shù) 據(jù)位交換,用行加密矩陣對(duì)輸入數(shù)據(jù)的行進(jìn)行數(shù)據(jù)位交換,用加擾矩 陣對(duì)數(shù)據(jù)塊按字節(jié)進(jìn)行異或操作,從而達(dá)到加密的目的。在接收端, 使用同樣三個(gè)矩陣的逆矩陣順序進(jìn)行去擾、行恢復(fù)和列恢復(fù),還原出 原始數(shù)據(jù)。該方法雖然具有實(shí)現(xiàn)簡單、速度快的優(yōu)點(diǎn),但沒有改變RTP 包長度一定的這一特性,而且對(duì)同樣的數(shù)據(jù)加密后的密文是一樣的, 因此容易被語音檢測(cè)系統(tǒng)定位并屏蔽RTP流。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種在VoIP系統(tǒng)中對(duì)發(fā)話端與受話端之間 傳輸?shù)腞TP包進(jìn)行加解密的方法。利用該方法,可以使加密后的包長 可變,并使每次加密的密鑰不同,因此破解方很難利用RTP包原有的 特征去捕獲RTP包,定位語音通道。
為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案-一種適于VoIP媒體傳輸?shù)募咏饷芊椒?,其特征在?br>
(1) 準(zhǔn)備密鑰表和公鑰;
(2) 在發(fā)話端,首先取得一個(gè)隨機(jī)數(shù),然后用所述隨機(jī)數(shù)對(duì)所述公 鑰取余,獲得余數(shù);
(3) 按照所述余數(shù)的順序從所述密鑰表中取出對(duì)應(yīng)密鑰,對(duì)明文進(jìn) 行加密;
(4) 生成密文數(shù)據(jù),所述密文數(shù)據(jù)依次為所述隨機(jī)數(shù)、按照所述
余數(shù)確定的長度填入的隨機(jī)數(shù)據(jù)、用所述密鑰對(duì)所述明文加密后的數(shù) 據(jù);
(5) 在受話端,從所述密文數(shù)據(jù)的頭端獲得所述隨機(jī)數(shù),用所述隨 機(jī)數(shù)對(duì)所述公鑰取余,獲得所述余數(shù);
(6) 根據(jù)所述余數(shù)確定的偏移量從所述密文數(shù)據(jù)中取出所述加密 后的數(shù)據(jù);
(7) 按照所述余數(shù)的順序從所述密鑰表中取出對(duì)應(yīng)密鑰,對(duì)所述加密后的數(shù)據(jù)進(jìn)行解密,獲得所述明文。
其中,所述密文數(shù)據(jù)以RTP數(shù)據(jù)包的形式在所述發(fā)話端與所述受 話端之間傳輸。
所述加密和所述解密均采用異或運(yùn)算。
本發(fā)明在傳統(tǒng)分組密碼的基礎(chǔ)上針對(duì)語音加密特征進(jìn)行了擴(kuò)展, 因此可以實(shí)現(xiàn)如下的技術(shù)效果
1. 通過攜帶隨機(jī)數(shù),使解密方容易得到密鑰,避免了使用序列密 碼帶來的密鑰同步問題;
2. 增加了隨機(jī)數(shù)據(jù)段,而且隨機(jī)數(shù)據(jù)的長度在一定范圍內(nèi)也是隨 機(jī)的,如此可使加密后的密文長度具有一定的隨機(jī)性;
3. 由于加密時(shí)選取密鑰的序列號(hào)是隨機(jī)生成的,即使對(duì)同樣的數(shù) 據(jù)進(jìn)行加密也會(huì)得到不同的密文,使密文失去了規(guī)律性,難以被破解。
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的說明。 圖1為具有加解密功能的VoIP系統(tǒng)實(shí)現(xiàn)基本傳輸?shù)氖疽鈭D; 圖2為加解密流程的邏輯示意圖; 圖3為密文包的組成示意圖。
具體實(shí)施例方式
圖1顯示了一個(gè)具有加解密功能的基本VoIP系統(tǒng)。在該系統(tǒng)中, 發(fā)話端的電話機(jī)連接一個(gè)VoIP終端,在該VoIP終端中完成語音數(shù)據(jù)
的加密工作之后,將加密后的RTP包傳送給VoIP平臺(tái),并通過該VoIP 平臺(tái)傳送給受話端的VoIP終端,在該VoIP終端中完成解密工作之后, 由受話端的電話機(jī)播放解密的語音信號(hào)。
下面詳細(xì)說明本發(fā)明所提供的適于VoIP媒體傳輸?shù)募咏饷芊椒?的具體實(shí)施步驟。
本加解密方法在實(shí)施之前,加解密的兩端要擁有一個(gè)共同的Key (公鑰)和密鑰表,且此表要盡量大。在此條件下,參見圖2所示, 發(fā)送方在發(fā)話端取得一個(gè)隨機(jī)數(shù)M,用此隨機(jī)數(shù)M對(duì)一個(gè)固定的Key 值取余,按照取余后的余數(shù)從密鑰表中選取對(duì)應(yīng)的密鑰作為本次加密 的密鑰E。同時(shí),將取余后的余數(shù)作為RTP包隨機(jī)增加的數(shù)據(jù)長度。 然后構(gòu)造如圖3所示的密文數(shù)據(jù),即依次填入隨機(jī)數(shù)M、按照隨機(jī) 數(shù)據(jù)長度填入隨機(jī)數(shù)據(jù)、用密鑰E對(duì)原明文加密后的數(shù)據(jù)。現(xiàn)以一段明文"0100 0101 1101 1011 1100 1010 1000 0010"為 例加以說明。假設(shè)固定的Key二 128,密鑰表中有1000個(gè)密鑰。 取得隨機(jī)數(shù)M二 339,以4個(gè)字節(jié)計(jì)。 用339對(duì)Key取余,339%key = 83。
得至'J第83條密鑰,假設(shè)為"1001 1011 0100 0100 0001 1101 001 1 0001',。
用該密鑰對(duì)明文進(jìn)行加密0100 0101 1 101 101 1 1100 1010 1000 0010 1001 101 1 0100 0100 0001 1101 001 1 0001 = 1 101 1 1 10 1001
mi iioi om iou ooii。
然后依次在密文包中填入隨機(jī)數(shù)M、長度為83的隨機(jī)數(shù)據(jù)、加
密后的密文。
解密方可以從密文數(shù)據(jù)的頭端獲得隨機(jī)數(shù)M,根據(jù)密鑰表找到對(duì) 應(yīng)于M的密鑰E,用M對(duì)相同的Key值取余得到隨機(jī)數(shù)據(jù)區(qū)的長度, 然后計(jì)算偏移量以取得原文的密文,用對(duì)應(yīng)的密鑰E進(jìn)行解密。
仍以上述的加密明文為例進(jìn)行說明。在接受方收到密文后,解析 得到隨機(jī)數(shù)M二 339,并對(duì)key取余得到83。
根據(jù)隨機(jī)數(shù)的長度知道密文的偏移量為83 + 4 = 87,可得到密文
數(shù)據(jù)
1101 1110 1001 1111 1101 0111 1011 0011
取得第339個(gè)密鑰,并與密文進(jìn)行模2加運(yùn)算得到明文
1101 11 10 1001 111 1 1101 0111 101 1 001 1 @ 1001 1011 0100 0100
0001 1101 0011 0001=0100 0101 1101 1011 1100 1010 1000 0010。 由于上述加密和解密過程中使用的密鑰表以及固定的Key值是相
同的,因此加解密的運(yùn)算都是異或運(yùn)算,這就保證了最小程度的運(yùn)算
開銷,減少對(duì)語音的延遲。
另外,由于對(duì)RTP包加密使用的密鑰是隨機(jī)的,隱藏了對(duì)靜音包
加密時(shí)加密后數(shù)據(jù)相同的特征,加之加密后的RTP包的長度是隨機(jī)的,
能夠有效隱藏使用密碼表加密后出現(xiàn)的長度一致的特征,因此可以有
效防止檢測(cè)系統(tǒng)根據(jù)語音流特征檢測(cè)并屏蔽該RTP包。
上面雖然通過實(shí)施例描繪了本發(fā)明,但本領(lǐng)域普通技術(shù)人員知道,
本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,所附的權(quán)利要求將
包括這些變形和變化。
權(quán)利要求
1. 一種適于VoIP媒體傳輸?shù)募咏饷芊椒?,其特征在?1)準(zhǔn)備密鑰表和一個(gè)公鑰;(2)在發(fā)話端,首先取得一個(gè)隨機(jī)數(shù),然后用所述隨機(jī)數(shù)對(duì)所述公鑰取余,獲得余數(shù);(3)按照所述余數(shù)的順序從所述密鑰表中取出對(duì)應(yīng)密鑰,對(duì)明文進(jìn)行加密;(4)生成密文數(shù)據(jù),所述密文數(shù)據(jù)依次為所述隨機(jī)數(shù)、按照所述余數(shù)確定的長度填入的隨機(jī)數(shù)據(jù)、用所述密鑰對(duì)所述明文加密后的數(shù)據(jù);(5)在受話端,從所述密文數(shù)據(jù)的頭端獲得所述隨機(jī)數(shù),用所述隨機(jī)數(shù)對(duì)所述公鑰取余,獲得所述余數(shù);(6)根據(jù)所述余數(shù)確定的偏移量從所述密文數(shù)據(jù)中取出所述加密后的數(shù)據(jù);(7)按照所述余數(shù)的順序從所述密鑰表中取出對(duì)應(yīng)密鑰,對(duì)所述加密后的數(shù)據(jù)進(jìn)行解密,獲得所述明文。
2. 如權(quán)利要求1所述的適于VoIP 征在于所述密文數(shù)據(jù)以RTP數(shù)據(jù)包的形式 間傳輸。
3. 如權(quán)利要求1所述的適于VoIP 征在于所述加密和所述解密均采用異或運(yùn)算。媒體傳輸?shù)募咏饷芊椒?,其?在所述發(fā)話端與所述受話端之 媒體傳輸?shù)募咏饷芊椒ǎ涮?br>
全文摘要
本發(fā)明提供了一種適于VoIP媒體傳輸?shù)募咏饷芊椒?。在該方法中,首先在發(fā)話端取得一個(gè)隨機(jī)數(shù)M,用此隨機(jī)數(shù)M對(duì)一個(gè)固定的Key值取余,按照取余后的余數(shù)從密鑰表中選取對(duì)應(yīng)的密鑰作為加密的密鑰E。同時(shí),將取余后的余數(shù)作為隨機(jī)增加的數(shù)據(jù)長度。依次填入隨機(jī)數(shù)M、按照隨機(jī)增加的數(shù)據(jù)長度填入隨機(jī)數(shù)據(jù)、用密鑰E對(duì)原明文加密后的數(shù)據(jù)作為密文數(shù)據(jù)。本發(fā)明所提供的方法一方面可以有效保證語音通信的保密性,另一方面又對(duì)RTP包的特征進(jìn)行了隱藏,可以有效防止檢測(cè)系統(tǒng)根據(jù)語音流特征檢測(cè)并屏蔽該RTP包。
文檔編號(hào)H04L9/18GK101471769SQ20071030459
公開日2009年7月1日 申請(qǐng)日期2007年12月28日 優(yōu)先權(quán)日2007年12月28日
發(fā)明者林鯤鵬, 王允升, 郭建立 申請(qǐng)人:北京大唐高鴻數(shù)據(jù)網(wǎng)絡(luò)技術(shù)有限公司