本發(fā)明涉及一種基于離散小波變換的時(shí)間式網(wǎng)絡(luò)隱信道構(gòu)建方法,屬于網(wǎng)絡(luò)信息安全技術(shù)領(lǐng)域。
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展為信息的共享和傳輸帶來(lái)了極大便利,但與此同時(shí),信息泄露、網(wǎng)絡(luò)攻擊等安全問(wèn)題也日趨顯著。秘密消息(如涉及國(guó)家、軍事機(jī)密、商業(yè)秘密、個(gè)人隱私等)的通信過(guò)程面臨著極大的安全威脅和隱患。傳統(tǒng)的解決方法利用密碼學(xué)技術(shù)對(duì)信息進(jìn)行加密,使攻擊方無(wú)法獲取其內(nèi)容,但雜亂無(wú)章的密文足以提供有利證據(jù)。
網(wǎng)絡(luò)隱信道作為隱寫(xiě)技術(shù)的一種,是將正常網(wǎng)絡(luò)通信數(shù)據(jù)流作為載體,采用各種方式將秘密消息調(diào)制到其中的一種隱蔽通信技術(shù),旨在隱藏通信行為的存在性。相比于利用圖片、音頻、視頻和文本等作為信息隱藏載體的靜態(tài)多媒體隱寫(xiě),網(wǎng)絡(luò)隱信道可隱藏在兼具隨機(jī)性和動(dòng)態(tài)性的海量網(wǎng)絡(luò)數(shù)據(jù)流中,并且能夠繞開(kāi)防火墻、入侵檢測(cè)等安全監(jiān)測(cè)設(shè)備,具有較強(qiáng)的隱蔽性。因此,網(wǎng)絡(luò)隱信道成為了繼密寫(xiě)術(shù)之后的另一種更優(yōu)越的安全通信方式。
按照信息隱藏的不同方式,網(wǎng)絡(luò)隱信道可分為存儲(chǔ)式和時(shí)間式隱信道兩大類。存儲(chǔ)式隱信道利用tcp/ip各層協(xié)議的冗余字段或通信行為方式來(lái)傳遞秘密消息,此類方法簡(jiǎn)單易于實(shí)現(xiàn),但由于對(duì)tcp/ip協(xié)議的全面解析和算法公開(kāi),現(xiàn)有的隱信道對(duì)抗技術(shù)已能對(duì)其進(jìn)行有效檢測(cè)。時(shí)間式隱信道則是將秘密消息調(diào)制到與網(wǎng)絡(luò)數(shù)據(jù)流傳輸時(shí)間相關(guān)的行為中,較存儲(chǔ)式隱信道隱蔽性更佳。通常時(shí)間式隱信道方法包含三類:on-off隱信道、基于包間時(shí)延的隱蔽信道,以及基于包排序或組合的隱蔽信道。其中,基于包間時(shí)延的隱蔽信道是目前的研究熱點(diǎn)之一,受到了廣泛關(guān)注。但現(xiàn)有的此類算法大多會(huì)產(chǎn)生異常數(shù)據(jù)流或特征,其原因在于秘密消息的嵌入改變了正常載體數(shù)據(jù)流的固有通信時(shí)間屬性,增加了被攻擊方檢測(cè)分析的概率。此外,在時(shí)間式隱信道中,通信雙方的同步較為困難,因其易受不穩(wěn)定網(wǎng)絡(luò)環(huán)境的影響,比如延時(shí)、抖動(dòng)等噪聲干擾。為了保證通信可靠性,目前一般采用類似tcpacks的確認(rèn)機(jī)制或糾錯(cuò)編碼,但這些同步機(jī)制的引入往往會(huì)增加算法的復(fù)雜性和傳輸開(kāi)銷,降低隱信道帶寬。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明主要解決的技術(shù)問(wèn)題:為了克服現(xiàn)有基于包間時(shí)延隱信道算法的不足,提高通信隱蔽性,本發(fā)明提供了一種基于離散小波變換(discretewavelettransform,dwt)的時(shí)間式隱信道方法。不同于以往算法直接在時(shí)域修改載體數(shù)據(jù)流,本發(fā)明將秘密消息嵌入正常包間時(shí)延(inter-packetdelay,ipd)序列的小波域系數(shù)中,并通過(guò)控制嵌入位置和強(qiáng)度,盡可能減小對(duì)原始載體及其特性的時(shí)域改動(dòng),使產(chǎn)生的隱蔽通信數(shù)據(jù)流具備正常的規(guī)律和特征,以提高其抗檢測(cè)性;同時(shí),采用奇偶量化方法將秘密消息比特嵌入小波分解的部分近似系數(shù)中,在不引入額外同步開(kāi)銷的基礎(chǔ)上,本發(fā)明能夠抵抗一定程度的網(wǎng)絡(luò)噪聲干擾。
為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案是:
本發(fā)明的隱蔽通信模型如附圖1所示。秘密消息的編碼過(guò)程如下,見(jiàn)附圖2:
步驟1:首先,采集正常網(wǎng)絡(luò)通信數(shù)據(jù)流樣本,通過(guò)時(shí)間戳提取并計(jì)算相鄰數(shù)據(jù)包的時(shí)間間隔(包間時(shí)延ipd)。其次,將正常ipd序列劃分為多個(gè)分段用于后續(xù)處理。定義δt為一個(gè)ipd序列分段δt={δt1,δt2,···,δtl},l代表其大小。秘密消息se為二進(jìn)制編碼的數(shù)據(jù)流。
步驟2:對(duì)原始載體數(shù)據(jù)流δt(正常包間時(shí)延序列)進(jìn)行三級(jí)小波分解。分解結(jié)果可用公式(1)表示,其中ca3代表其三級(jí)小波分解的近似系數(shù),定義ca3={ca3(1),ca3(2),···,ca3(n)}(n=l/23),n為近似系數(shù)個(gè)數(shù);cd1、cd2和cd3分別對(duì)應(yīng)一級(jí)、二級(jí)和三級(jí)小波分解的細(xì)節(jié)系數(shù)。
便于更好理解,附圖4給出了本發(fā)明中一個(gè)較佳的實(shí)施例結(jié)果——正常網(wǎng)絡(luò)數(shù)據(jù)流的三級(jí)小波分解結(jié)果。該例中選用了一種常見(jiàn)的p2p語(yǔ)音通訊應(yīng)用——yy語(yǔ)音(yy-audio)作為隱蔽通信載體,并且將l設(shè)置為500。從圖中可直觀的看出,分解后的近似系數(shù)ca3明顯大于其他頻段系數(shù)。因此可知,正常網(wǎng)絡(luò)通信數(shù)據(jù)流的能量主要集中于低頻區(qū)域,我們將其選擇為秘密消息的嵌入位置。
步驟3:將秘密消息se劃分為若干個(gè)大小為m的比特串,其中m≤n,se為其中一個(gè)秘密比特。采用奇偶量化法將秘密消息比特se調(diào)制到三級(jí)小波分解的近似系數(shù)ca3中,此過(guò)程如公式(2)表示:
其中,fencode為編碼函數(shù),ca3′代表修改后的近似系數(shù);[·]表明四舍五入運(yùn)算函數(shù);此外,參數(shù)m用于減小對(duì)載體的修改,當(dāng)ca3(i)小于[ca3(i)]時(shí),將m置為1,否則m設(shè)置為0。
步驟4:對(duì)修改后的小波系數(shù)進(jìn)行逆變換,以重構(gòu)得到含秘?cái)?shù)據(jù)流δts,如公式(3)所示:
隱蔽通信一方按照新的含秘ipd發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包。接收方根據(jù)以下步驟解碼獲取秘密消息,如附圖3所示:
步驟1:根據(jù)所收到數(shù)據(jù)包的時(shí)間戳提取ipd信息,定義其中一個(gè)序列為δtr(考慮網(wǎng)絡(luò)噪聲的干擾,δtr與δts長(zhǎng)度相等,但數(shù)值并不一定完全等同)。
步驟2:根據(jù)公式(1)和(2)對(duì)隱信道時(shí)延序列δtr進(jìn)行三級(jí)小波分解,結(jié)果如公式(4)所示:
其中,
步驟3:對(duì)近似系數(shù)
不同于以往方法直接在時(shí)域修改載體數(shù)據(jù)流,本發(fā)明將秘密消息嵌入正常ipd序列的小波域系數(shù)中,并通過(guò)控制嵌入位置和強(qiáng)度,盡可能減小對(duì)原始載體及其特性的時(shí)域改動(dòng);所產(chǎn)生的隱蔽通信數(shù)據(jù)流具備正常的規(guī)律和特征,具有更好的抗檢測(cè)性(隱蔽性)。同時(shí),采用奇偶量化方法將秘密消息比特嵌入小波分解的部分近似系數(shù)中,在不引入額外同步開(kāi)銷的基礎(chǔ)上,本發(fā)明能夠抵抗一定程度的網(wǎng)絡(luò)噪聲干擾,具有較好的魯棒性。
附圖說(shuō)明
圖1為本發(fā)明的基于離散小波變換(dwt)的時(shí)間式隱信道模型;
圖2為本發(fā)明的編碼算法流程圖;
圖3為本發(fā)明的解碼算法流程圖;
圖4為本發(fā)明的實(shí)施例中正常ipd序列的三級(jí)小波分解結(jié)果;
圖5為本發(fā)明的實(shí)施例中本發(fā)明和jitterbug方法的誤碼率(ber)對(duì)比圖。
具體實(shí)施方式
實(shí)施例1
(1)隱蔽通信實(shí)施過(guò)程
利用本發(fā)明所提出的一種基于離散小波變換(dwt)的時(shí)間式隱信道方法,雙方具體的隱蔽通信過(guò)程如下:
①隱蔽通信發(fā)送方
步驟1:在windows7操作系統(tǒng)下,利用winpcap和visualc++6.0軟件搭建基于ipd的隱信道通信平臺(tái),捕獲正常網(wǎng)絡(luò)通信數(shù)據(jù)流。在本實(shí)施例中,選取目前占據(jù)主要數(shù)據(jù)流量的p2p網(wǎng)絡(luò)應(yīng)用——yy語(yǔ)音,作為隱信道的載體應(yīng)用。在不同的實(shí)施例中,可根據(jù)具體情況選取其他合適載體。
步驟2:通過(guò)時(shí)間戳提取正常包間時(shí)延ipd,并將該序列劃分為多個(gè)長(zhǎng)度l為500分段,記其中一個(gè)ipd分段為δt={δt1,δt2,···,δt500}。
步驟3:對(duì)δt進(jìn)行三級(jí)小波分解,得到其三級(jí)小波分解的近似系數(shù)ca3。其中ca3={ca3(1),ca3(2),···,ca3(62)},具體分解結(jié)果如附圖4所示。
步驟4:將秘密消息se劃分為若干個(gè)大小為60的比特串,se為其中一個(gè)秘密比特。采用奇偶量化法,如公式(2)所示,將秘密消息比特se調(diào)制到三級(jí)小波分解的近似系數(shù)ca3中。
步驟5:利用編碼函數(shù),如公式(3)所示,對(duì)修改后的系數(shù)(ca3′、cd3、cd2、cd1)進(jìn)行小波逆變換,以重構(gòu)得到新的含秘ipd——δts。
步驟6:根據(jù)含秘ipd,利用winpcap設(shè)計(jì)網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送程序,發(fā)送至接收方ip及對(duì)應(yīng)端口。
②隱蔽通信接收方
步驟1:根據(jù)所收到數(shù)據(jù)包的時(shí)間戳提取ipd信息,定義其中一個(gè)序列為δtr(考慮網(wǎng)絡(luò)噪聲的干擾,δtr與δts長(zhǎng)度相等,但數(shù)值并不一定完全等同)。
步驟2:根據(jù)公式(1)和(2)對(duì)隱信道時(shí)延序列δtr進(jìn)行三級(jí)小波分解,結(jié)果如公式(4)所示:
其中,
步驟3:對(duì)近似系數(shù)
(2)實(shí)施效果
為了驗(yàn)證本發(fā)明的有效性,在具體實(shí)施例中與兩種現(xiàn)有典型方法(jitterbug和ctcdm)進(jìn)行了性能對(duì)比實(shí)驗(yàn),主要對(duì)隱信道的魯棒性和隱蔽性(抗檢測(cè)性)進(jìn)行了定量評(píng)價(jià)。
在實(shí)驗(yàn)中,正常網(wǎng)絡(luò)通信的載體數(shù)據(jù)流采集于校園網(wǎng)中的核心路由器,為兩臺(tái)局域網(wǎng)內(nèi)主機(jī)進(jìn)行yy語(yǔ)音通訊的數(shù)據(jù)。本發(fā)明的隱信道數(shù)據(jù)流來(lái)源于上述隱蔽通信過(guò)程,jitterbug和ctcdm隱信道數(shù)據(jù)流為在本實(shí)驗(yàn)條件下,還原其算法后所生成的數(shù)據(jù)。
①魯棒性對(duì)比
實(shí)驗(yàn)中,向隱信道數(shù)據(jù)流中分別注入了不同功率的噪聲,所選加性高斯白噪聲用于模擬正常網(wǎng)絡(luò)信道噪聲。而噪聲功率則用信號(hào)-噪聲比(signal-to-noiseratio,snr)來(lái)衡量(信號(hào)功率值固定)。附圖5對(duì)比了本發(fā)明和jitterbug隱信道數(shù)據(jù)流在不同信噪比下的誤碼率,其中,信噪比的變化范圍在0至70分貝(db)之間。從結(jié)果中可以看出,當(dāng)信噪比在40db以上時(shí),本發(fā)明所提方法可抵抗噪聲引起的畸變而完全正確解碼秘密消息;并且當(dāng)信噪比在30db以上時(shí),同樣可以較為準(zhǔn)確地提取信息,誤碼率控制在10%以下。當(dāng)信噪比在50db以下時(shí),jitterbug的誤碼率明顯大于本發(fā)明;而當(dāng)信噪比降低至35db以下時(shí),jitterbug徹底喪失了解碼能力,誤碼率在50%左右,與隨機(jī)猜測(cè)無(wú)異。因此,這就表明當(dāng)噪聲功率小于10-4倍信號(hào)功率時(shí),本發(fā)明可抵抗噪聲干擾而準(zhǔn)確、可靠地傳輸秘密消息,相比jitterbug具有更好的魯棒性。
②隱蔽性對(duì)比
實(shí)驗(yàn)中使用了一種目前主流的隱信道檢測(cè)方法——k-s(kolmogorov-smirnov)檢測(cè),對(duì)本發(fā)明及jitterbug、ctcdm隱信道分別進(jìn)行測(cè)試。該方法旨在區(qū)分隱信道數(shù)據(jù)流的異常統(tǒng)計(jì)分布特征。k-s(kolmogorov-smirnov)檢測(cè)用于衡量?jī)蓚€(gè)不同分布之間的最大距離,較小的距離表明兩分布相互接近。k-s檢測(cè)值的計(jì)算方法如公式(6)所示:對(duì)于所有x,求出兩個(gè)經(jīng)驗(yàn)分布之間絕對(duì)差的最大值。
kstest=sup|s1(x)-s2(x)|(6)
其中,s1(x)和s1(x)是指兩個(gè)樣本的經(jīng)驗(yàn)分布函數(shù)。據(jù)此,本實(shí)施例中分別按照500和1000的窗口大小對(duì)100個(gè)隱信道數(shù)據(jù)流進(jìn)行檢測(cè),具體檢測(cè)結(jié)果在表1中給出。觀察發(fā)現(xiàn),正常數(shù)據(jù)流的虛警率隨閾值增高而上升。在不同閾值設(shè)置下,該方法能夠完全檢測(cè)ctcdm隱信道數(shù)據(jù)流,并且對(duì)jitterbug數(shù)據(jù)流窗口的檢測(cè)率高達(dá)0.9以上;但對(duì)本發(fā)明隱信道窗口的檢測(cè)率卻不足0.06,這就表明k-s方法無(wú)法有效檢測(cè)本發(fā)明產(chǎn)生的隱信道數(shù)據(jù)流。
通過(guò)本實(shí)施例中的實(shí)驗(yàn)結(jié)果,表明本發(fā)明具有更好地隱蔽性和魯棒性,提供了一種有效的隱蔽通信方法。
表1在不同閾值下隱信道數(shù)據(jù)流的k-s檢測(cè)結(jié)果
雖然本發(fā)明已以較佳實(shí)施例公開(kāi)如上,但其并非用以限定本發(fā)明,任何熟悉此技術(shù)的人,在不脫離本發(fā)明的精神和范圍內(nèi),都可做各種的改動(dòng)與修飾,因此本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書(shū)所界定的為準(zhǔn)。