專利名稱:基于時頻分析的Skype語音流提取方法
技術領域:
本發(fā)明涉及一種基于時頻分析的Skype語音流提取方法。
背景技術:
計算機對等網絡P2P,作為目前改變現(xiàn)有Internet應用模式的主要技術之一,成為新一代互聯(lián)網技術研究的熱點問題?;诘谌鶳2P技術,Skype以其優(yōu)質的語音質量和低廉的通話費用吸引著越來越多的用戶。它的出現(xiàn)給傳統(tǒng)的VoIP業(yè)務帶來了巨大的沖擊,其潛在顛覆性影響不容忽視。因此,準確描述Skype流量特征、構建相應的流量模型不僅可以提供有效的QoS調度策略,也對Skype應用的流量管理和控制提供依據。 早期研究的幾種傳統(tǒng)識別P2P流量的方法有(I) IP地址識別,可以判斷出集中式P2P中的目錄服務器以及混合式P2P中的超級節(jié)點;(2) TCP/UDP端口識別,可以分類出采用固定端口的P2P應用,但是現(xiàn)有很多P2P軟件使用了基于動態(tài)端口,如Skype ; (3)數(shù)據包深度檢測,由于P2P軟件引入了動態(tài)端口,只能通過掃描高層協(xié)議來探知P2P數(shù)據包,雖然該方法對某些P2P軟件的識別準確度很高,但是卻無法識別加密的P2P數(shù)據流;(4)基于會話的分類,TCP/UDP端口存在于任何一個數(shù)據包中,而高層協(xié)議的特征代碼卻只能存在于一個會話包的頭幾個數(shù)據報中,因此,當在一個會話包的第一個數(shù)據報中發(fā)現(xiàn)包含有P2P的特征代碼時,便可判斷為P2P數(shù)據報,但無法判斷是哪種P2P應用;(5)流統(tǒng)計狀態(tài)和靜荷統(tǒng)計特征的識別,在IP層通過統(tǒng)計流量特征的方式可以識別P2P流,P2P流具有長時間固定連接的特點,因此理論上基于流狀態(tài)的統(tǒng)計識別方式可以識別所有大規(guī)模的P2P流量,但是此方法無法精確判斷出該IP數(shù)據流所采用的P2P協(xié)議類型。這些傳統(tǒng)方法對基于P2P的Skype而言,檢測其流量的效果并不理想。這是因為Skype使用了高強度的加密算法和專用通信協(xié)議系統(tǒng)。面對這種技術挑戰(zhàn),許多網絡專家都希望找到一種實時、有效地識別其流量的方法。通過深入研究Skype通信機制及信令特點,以達到提高網絡管理和防止其可能造成的網絡安全,網絡性能等各方面問題的目的。首先,文獻“Traffic identification and overlay measurement of Skype,,(Proc of IEEE International Conference on Computational Intelligence andSecurity. Guangzhou, China, 2006:1043-1048)通過分析Skype使用的通訊協(xié)議及其重要功能進行全面的解析,指出在呼叫建立階段采用TCP協(xié)議;語音傳輸階段則多采用UDP協(xié)議,并給出了部分Skype協(xié)議的靜態(tài)載荷特征碼。在此基礎上,文獻“Silverneedle in the Skype” (Black Hat Europe' 06.Amsterdam, The Netherlands, 2006, 1:25-47)分析了 Skype報文在應用層的協(xié)議特征字和端口的某些規(guī)律,揭示了 Skype不僅可以通過UDP和TCP進行通信而且通信端口不固定,指出其登陸過程可以分為UDP探測、TCP握手和TCP認證三個部分,分析了各個過程中存在的應用層特征字,提出了一種根據Skype用戶和超級節(jié)點連接的特征字和報文長度、順序來識別Skype的方法。文獻“Analysisand signature of Skype VoIP session traffic”( [TechnicalReport :NGNI-SKYPE-06b] 2006)研究了使用UDP的Skype報文結構,發(fā)現(xiàn)部分未加密的功能字段的特征,這為準確識別基于UDP的Skype流量提供了一種可能。雖然Skype在語音傳輸上首選是Μ)Ρ協(xié)議,但是當UDP受限時,Skype還是會選擇TCP協(xié)議,該方法對TCP協(xié)議的Skype流沒有識別作用,這是局限所在。文獻“Skype security evaluation”(CA USA : AnagramLaboratorie,ALR-2005-031,2005)提出了一種獨特的模型來量化VoIP用戶滿意度,其中使用了兩階段過濾方法來識別Skype VoIP會話,即先用一種啟發(fā)式算法過濾出可能的Skype流量并存儲在磁盤,再用離線識別算法提取Skype通信流量,該離線方法計算復雜度較聞。從Skype流量識別的方法演進過程可以看到,雖然Skype運用了私有協(xié)議和加密傳輸,但我們仍然能夠找到一些Skype流的特征,把這些特征作為切入點,便可以準確識別出Skype流。對于Skype流的特征提取,前面已經介紹了很多提取出的各種Skype流的特征,但由于各種局限性導致了效果并不明顯。目前比較顯著的Skype流特征主要集中在 Skype數(shù)據包大小、數(shù)據包到達時間間隔以及數(shù)據包比率等的統(tǒng)計特征,并結合P2P的數(shù)據流特征,如流的源/目的端口號、流大小以及流持續(xù)時間。與本發(fā)明相關的現(xiàn)有技術包括在對Skype的特征分析的研究中,發(fā)現(xiàn)雖然Skype使用專用的通信協(xié)議并用高強度手段加密負載,但是仍然可以找到一些Skype特有的性質。Dario Bonfglio等人在文獻“Revealing Skype Traffic:ffhen Randomness Playswith You” (presented at SIGC0MM’07,Kyoto, Japan.,2007)通過對 Skype 語音信號的建立模型的研究,發(fā)現(xiàn)語音源先通過語音編碼器將語音的PCM (脈沖編碼調制)樣值編碼成少量的比特(幀),在幀被創(chuàng)建好之前會加入一些頭部,存檔器和加密功能是通過一些算法對數(shù)據進行壓縮和加密,最后幀在被發(fā)送出去之前在其頭部會加上未加密的開始信息特殊字段 SoM。他們利用未加密的開始信息特殊字段SoM,提出了一種Chi-Square分類器,此方法是首次被提出運用在流量識別領域。Chi-Square分類器主要通過分析信息包幀結構,而不是從語音特點的角度去識別。當TCP協(xié)議被用作傳輸層的協(xié)議時,整個Skype信息的內容都是加密的,所以信息比特都是隨機分布的。當傳輸層使用UDP協(xié)議時,信息的一些固定部分是隨機分布的,而其他部分的信息展現(xiàn)了確定數(shù)據的統(tǒng)計特性?;谶@個特征就可以通過Skype客戶端從其他的語音信號中分離出Skype信息。此方法思路簡單、計算復雜度低。局限性在于=Chi-Square分類器并沒有從語音流的特點來識別,導致了將Skype的信令流,以及文件傳輸流等誤判為Skype的語音流。為了彌補上述方法帶來的問題,該文獻還提出了另外一種基于樸素貝葉斯分類器的算法。該算法主要針對語音編碼特有的特性,根據數(shù)據包長度和數(shù)據包平均到達時間間隔,結合開發(fā)者的語音編碼進行分離。該算法對每條流進行分窗處理,考慮一段窗口中ω個數(shù)據包,然后對數(shù)據包大小X=[S1,S2,…,sj,這里Si是窗口中ω個信息第i個數(shù)據包的長度,做可信度分析,可信度公式
/y.((')==—V]0g/ (V jc)
W ι=1結合考慮數(shù)據包平均到達時間間隔,對每個窗口中的第一個數(shù)據包到第ω個數(shù)據包的時間間隔估計為l/ω總時間的倍數(shù)。即y=h] = [ (H1Vco ],得到數(shù)據包平均到達時間間隔的可信度Bτ (C)=Iog Ρ( τ |C)最后對每個窗口中的可信度進行比較得到可信度較小值,與統(tǒng)計得到的Skype流的閾值進行比較,從而判定是否為Skype流。算法可以有效地排除掉Chi-Square分離器誤判的信令流和文件傳輸流等Skype的非語音流。但是由于貝葉斯分離器沒有考慮Skype的P2P特征,很多非P2P的流可能導致 了貝葉斯分離器的誤判率,并且從實驗分析的Skype語音流發(fā)現(xiàn),包大小和包平均到達時間間隔在開始的前1000個包并不滿足貝葉斯分類器的判定規(guī)則,因為前面有很多信令包,從而影響判定結果。從上述文獻中受到啟發(fā),發(fā)現(xiàn)Skype數(shù)據包大小呈現(xiàn)一定平穩(wěn)性,包大小在一個非常小的范圍內波動,并且發(fā)現(xiàn)Skype數(shù)據包到達時間間隔也有一定的穩(wěn)定性。于是閱讀了 Ingrid Daubechies 關于小波處理的文章 “Ten Lectures on Wavelets” (Copyright1992 by the Society for Industrial Applied Mathematics),發(fā)現(xiàn)對 Skype 的這一特點確實可以用小波處理,得到直觀的頻域信息來有效區(qū)分Skype流。從數(shù)學中的函數(shù)逼近角度來看,小波本質上可以看成為在某個函數(shù)空間內的函數(shù)按照小波基函數(shù)展開與逼近,與三角基函數(shù)構成的傅里葉變換相比,小波基函數(shù)具有快速衰減、充分光滑、能量主要集中在一個局部區(qū)域的特性。因此,我們可以利用小波分析理論對信號實施時頻分析,由于同時具有時間和頻率的局部特性以及多分辨分析特性,使得該方法對非平穩(wěn)信號和平穩(wěn)信號具有良好的區(qū)分度。信息熵能有效地表現(xiàn)出同一屬性上對應數(shù)據的集中和分散情況,熵是熱力學中微觀狀態(tài)多樣性或均勻性的一種度量,反映了系統(tǒng)微觀狀態(tài)的分布幾率,信息源可視為一組隨機事件的集合,該集合所具有的隨機性、不確定度與熱力學中微觀態(tài)的混亂度是類同的,將熱力學幾率擴展到系統(tǒng)各個信息源信號出現(xiàn)的幾率就形成了信息熵。信息熵是信息論中用于度量信息量的一個概念,一個系統(tǒng)越有序,信息熵越低;反之,一個系統(tǒng)越混亂,信息熵越高。用信息熵來描述網絡流量的表征信息,可以對網絡流量進行分類。綜上所述,對Skype流的未加密開始信息特殊字段的檢測屬于啟發(fā)式方法,而貝葉斯分類器的對深層數(shù)據分析屬于精確匹配方法?,F(xiàn)有的對Skype流量識別的方法研究大多集中在協(xié)議分析、會話建立過程分析、負載分析或是流量分析上,這些分析結果雖然能夠幫助識別Skype流,但是其過程復雜,識別準確率低。而且現(xiàn)有方法大多較為片面,沒有完全考慮Skype同時作為P2P應用和VoIP應用所具有的多重特征。針對這些現(xiàn)有的識別方法中存在的準確性不高、效率低的問題,目前較行之有效的方法是數(shù)據挖掘技術。數(shù)據挖掘技術就是從大量的、不完全的、有噪音的實際應用數(shù)據中提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程,簡而言之就是一類深層次的數(shù)據分析方法。比如,對Skype的數(shù)據包特征和數(shù)據流特征進行提取,數(shù)據包特征主要統(tǒng)計單個流內數(shù)據包大小、數(shù)據包到達的間隔時間、數(shù)據包比率(單位時間內傳輸數(shù)據包的個數(shù))等。數(shù)據流特征主要包括流的源/目的端口號、流大小、流持續(xù)時間以及標志位(FIN, SYN, RST, PUSH, ACK, URG)被設置的TCP數(shù)據包數(shù)目等等。
發(fā)明內容
為了克服現(xiàn)有技術的上述缺點,本發(fā)明提供了一種基于時頻特性和隨機特性的Skype語音流提取方法對頻域特征的提取,主要是用基于小波變換的頻域特征提取方法,根據P2P應用節(jié)點的上行流量與下行流量基本對稱的特征,以及Skype的數(shù)據包特征,對Skype的包大小和包到達時間間隔進行小波變換得到頻域下的小波參數(shù)值,以此來提取Skype流;對時域特征的提取,主要是運用貝葉斯分離器對Skype語音流的包大小和包到達時間間隔的可信度進行分析,以此對Skype流識別;另外,根據Skype加密技術使得應用層數(shù)據全部或部分具有隨機性的特征,而采用X2統(tǒng)計算法對已識別出的P2P流中的Skype流進行提取,該算法思想新穎且復雜度低,對Skype流的識別有相當高的準確度。本發(fā)明提出的從時域和頻域角度出發(fā),結合Skype數(shù)據傳輸?shù)碾S機性特點,可以準確提取出Skype語音流。本發(fā)明解決其技術問題所采用的技術方案是一種基于時頻分析的Skype語音流提取方法,包括如下步驟步驟一、流分類對每個到達網絡鏈路的數(shù)據包按照五元組原則進行流分類,若該五元組與已有記錄的流的五元組不一致,則創(chuàng)建新的流;若該五元組的流已經存在,并且沒有判斷結果,則進入步驟二;步驟二、頻域特征的提取( I)對每條流上的數(shù)據包大小做小波變換;
(2)對每條流上的包到達時間間隔做小波變換;步驟三、采用X2統(tǒng)計算法對步驟二識別出的P2P流中的Skype流進行提??;步驟四、時域特征的提取求得Skype語音流的數(shù)據包大小和數(shù)據包平均到達時間間隔的可信度,根據貝葉斯分離器得到最后的判斷結果。與現(xiàn)有技術相比,本發(fā)明的積極效果是從頻域分析、時域分析、隨機性分析三個角度,對Skype語音流進行了全面解析,能有效提取網絡流量中的Skype語音流,具體表現(xiàn)如下(I)從頻率角度對包大小和包到達時間間隔做小波變換,以此提取Skype語音流的實驗結果,不會受網絡環(huán)境的影響而改變,具有一定的穩(wěn)定性。(2)針對Skype語音通信模型,對Skype的隨機性進行解密,既降低了算法的復雜度,又能準確區(qū)分Skype與非Skype流。(3)運用貝葉斯分類器,針對Skype的VoIP特點,能有效區(qū)分Skype語音流和Skype文件傳輸?shù)确钦Z音流,提高了算法的準確度。
本發(fā)明將通過例子并參照附圖的方式說明,其中
圖I是本發(fā)明方法的流程圖。
具體實施例方式—種基于時頻分析的Skype語音流提取方法,如圖I所示,包括如下步驟步驟一、流分類首先對每個到達網絡鏈路的數(shù)據包按照五元組原則{源IP地址,目的IP地址,源端口號,目的端口號,傳輸層協(xié)議}進行流分類,若該五元組與已有記錄的流的五元組不一致,則創(chuàng)建新的流;若該五元組的流已經存在,并且沒有判斷結果,則進入步驟二。步驟二、頻域特征的提取對每條流上的數(shù)據包大小和數(shù)據包到達時間間隔做小波變換,得到不同尺度下的 一系列小波系數(shù)。小波變換的基本思想是用一組小波函數(shù)或者基函數(shù)表示一個函數(shù)或者信號,以此進行小波多分辨分析,即把流信號的數(shù)據分割成不同頻率的成分,然后再用分解的方法去研究對應尺度下的信號頻域特征。關于小波函數(shù)的選取,本文采用Haar小波,其小波函數(shù)和尺度函數(shù)如下
權利要求
1.一種基于時頻分析的Skype語音流提取方法,其特征在于包括如下步驟 步驟一、流分類 對每個到達網絡鏈路的數(shù)據包按照五元組原則進行流分類,若該五元組與已有記錄的流的五元組不一致,則創(chuàng)建新的流;若該五元組的流已經存在,并且沒有判斷結果,則進入步驟二; 步驟二、頻域特征的提取 (1)對每條流上的數(shù)據包大小做小波變換; (2)對每條流上的包到達時間間隔做小波變換; 步驟三、采用X2統(tǒng)計算法對步驟二識別出的P2P流中的Skype流進行提取; 步驟四、時域特征的提取求得Skype語音流的數(shù)據包大小和數(shù)據包平均到達時間間隔的可信度,根據貝葉斯分離器得到最后的判斷結果。
2.根據權利要求I所述的基于時頻分析的Skype語音流提取方法,其特征在于所述五元組包括源IP地址、目的IP地址、源端口號、目的端口號和傳輸層協(xié)議。
3.根據權利要求I所述的基于時頻分析的Skype語音流提取方法,其特征在于所述對每條流上的數(shù)據包大小做小波變換的方法為將流上的每個信息包大小作為離散小波變換函數(shù)的輸入信號,根據系數(shù)求解公式得到最后一層的小波尺度系數(shù)和每層的小波細節(jié)系數(shù),并以此作為小波輸入參數(shù),求得該信號流上小波尺度系數(shù)和細節(jié)系數(shù)的最小值、最大值、均值和方差。
4.根據權利要求I所述的基于時頻分析的Skype語音流提取方法,其特征在于所述對每條流上的包到達時間間隔做小波變換的方法為將每條流上的數(shù)據包到達時間間隔作為離散小波變換函數(shù)的輸入信號,得到每一層的小波細節(jié)系數(shù)和小波尺度系數(shù),通過計算數(shù)據包到達時間間隔的小波方差值來分離Skype流。
5.根據權利要求I所述的基于時頻分析的Skype語音流提取方法,其特征在于步驟三所述的采用X2統(tǒng)計算法對P2P流中的Skype流進行提取的方法為 (1)對于運用UDP協(xié)議傳輸?shù)腅2E:干擾信號的第三個字節(jié)是透明的,其余字節(jié)是加密的,相應的比特出現(xiàn)是隨機的; (2)對于運用UDP協(xié)議傳輸?shù)腅20:干擾信號的前四個字節(jié)均是透明的,其余字節(jié)全是加密的; (3)對于運用TCP傳輸?shù)腟kype流整個信息都是加密的,整個信息的出現(xiàn)全是隨機的。
全文摘要
本發(fā)明公開了一種基于時頻分析的Skype語音流提取方法:從頻率角度對包大小和包到達時間間隔做小波變換,以此提取Skype語音流的實驗結果,不會受網絡環(huán)境的影響而改變,具有一定的穩(wěn)定性;針對Skype語音通信模型,對Skype的隨機性進行解密,既降低了算法的復雜度,又能準確區(qū)分Skype與非Skype流;運用貝葉斯分類器,針對Skype的VoIP特點,能有效區(qū)分Skype語音流和Skype文件傳輸?shù)确钦Z音流,提高了算法的準確度。
文檔編號H04L29/06GK102833255SQ201210316839
公開日2012年12月19日 申請日期2012年8月31日 優(yōu)先權日2012年8月31日
發(fā)明者于富財, 蘇薇, 蔣晴, 胡光岷 申請人:電子科技大學