午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

針對BitTorrent協(xié)議中基于矩陣編碼的Bitfield消息隱蔽通信檢測方法與流程

文檔序號:11253685閱讀:669來源:國知局
針對BitTorrent協(xié)議中基于矩陣編碼的Bitfield消息隱蔽通信檢測方法與流程

本發(fā)明涉及網(wǎng)絡(luò)與信息安全技術(shù),具體涉及一種針對bittorrent協(xié)議中基于矩陣編碼的bitfield消息隱蔽通信檢測方法。



背景技術(shù):

網(wǎng)絡(luò)隱寫作為一種隱蔽通信方式,利用合法的數(shù)據(jù)流作為載體在網(wǎng)絡(luò)中傳遞秘密信息。該技術(shù)若被不法組織和個人利用以傳遞有害信息,將對公眾安全造成極大威脅。網(wǎng)絡(luò)隱寫檢測是實(shí)現(xiàn)網(wǎng)絡(luò)可管可控的重要技術(shù)手段,越來越多的研究人員開始致力于該技術(shù)的研究,并取得了諸多有意義的研究成果。

bittorrent網(wǎng)絡(luò)是目前被廣大網(wǎng)絡(luò)用戶普遍使用的文件傳輸共享方式,是一種p2p技術(shù)的具體應(yīng)用、擴(kuò)展。近年來p2p技術(shù)飛速發(fā)展,基于p2p以及bittorrent的隱蔽通信方法也應(yīng)運(yùn)而生。

由于p2p系統(tǒng)的高度動態(tài)性,某一節(jié)點(diǎn)(例如種子)不可能一直在線,如果某節(jié)點(diǎn)離線,那么節(jié)點(diǎn)原來能提供的數(shù)據(jù)就不再有效,能否在其他節(jié)點(diǎn)中找到這些數(shù)據(jù),跟這些數(shù)據(jù)塊備份的多少有關(guān)。在bittorrent中,通過bitfield消息和have消息,每個節(jié)點(diǎn)保存有它們鄰居的數(shù)據(jù)分布圖,用這些信息,節(jié)點(diǎn)決定下載某一塊數(shù)據(jù),試圖盡可能保持文件下載的持續(xù)性,防止某些節(jié)點(diǎn)離開之后某些數(shù)據(jù)塊丟失。因此,bitfield消息的主要作用是保存鄰居節(jié)點(diǎn)的數(shù)據(jù)分布圖,為bittorrent的文件片斷選擇策略提供依據(jù)。

根據(jù)bittorrent協(xié)議對bitfield消息的規(guī)定,bitfield消息的負(fù)載描述了該節(jié)點(diǎn)已有的數(shù)據(jù),第一個字節(jié)的最高位表示第一塊數(shù)據(jù),也就是編號為0的數(shù)據(jù)塊,后面每一位表示下一塊數(shù)據(jù)。如果某一位為0,表示節(jié)點(diǎn)沒有對應(yīng)的數(shù)據(jù)塊,如果某一位為1,表示節(jié)點(diǎn)己經(jīng)有對應(yīng)的數(shù)據(jù)塊。如果最后的字節(jié)不滿8位,剩下的位用0填充。根據(jù)規(guī)定,如果文件所分片斷數(shù)不是8的倍數(shù)的話,最后的字節(jié)應(yīng)該用0補(bǔ)齊。基于矩陣編碼的bitfield消息隱蔽通信正是利用了這一冗余來隱藏信息。

在傳統(tǒng)隱蔽通信算法中,每個二進(jìn)制數(shù)據(jù)的修改可以平均嵌入2比特秘密信息?;赽itfield的隱蔽通信引入了矩陣編碼技術(shù),在提高信息嵌入效率的同時,減少由于修改數(shù)據(jù)對bittorrent性能造成的影響。矩陣編碼的目的就是提高嵌入效率,使每個數(shù)據(jù)修改可以嵌入更多的秘密比特,即在2k-1個原始數(shù)據(jù)中最多改動1比特達(dá)到嵌入k比特秘密信息的效果。算法僅修改bitfield消息中的1比特信息,從而在2k-1個原始數(shù)據(jù)中嵌入k比特秘密信息。

矩陣編碼的示例如下,當(dāng)k=2時(k=1時即為lsb密寫),設(shè)x1,x2是要嵌入的秘密比特,a1、a2、a3是三個載體數(shù)據(jù),將載體數(shù)據(jù)通過公式轉(zhuǎn)換后與x1、x2作對比,如果則不改變原始數(shù)據(jù);如果則改變a1的數(shù)據(jù);如果則改變a2的數(shù)據(jù);如果則改變a3的數(shù)據(jù),其中表示異或運(yùn)算。

當(dāng)k>2時,首先利用公式(1)將原始數(shù)據(jù)的序號按二進(jìn)制編碼,得到bi,j,其中bi,j的取值為0或1。

i=(bi,kbi,k-1...bi,1)21≤i≤2k-1

(1)

進(jìn)一步,利用式公式(2)計算cj,這里,表示對多個量連續(xù)作異或運(yùn)算,ai為bitfield消息負(fù)載的第i位,x1、x2...xk是欲嵌入的秘密信息。

最后,利用公式(3)計算c的值,如果c=0,則不作任何改動;否則改動ac。

提取秘密信息非常簡單,只需按公式(4)計算即可得到嵌入的秘密信息xj

為了增加含密信息的嵌入量,基于bitfield的隱蔽通信將bitfield數(shù)據(jù)分割成大小為7比特的若干小塊,選擇k=3進(jìn)行信息嵌入。

基于bitfield消息隱蔽通信的基本策略是:結(jié)合矩陣編碼技術(shù),通過修改1比特的信息嵌入多比特秘密信息,目的是盡可能少的修改原始數(shù)據(jù),將數(shù)據(jù)修改對bittorrent性能的影響降到最低點(diǎn),嵌入效率高,從而提高了該方法的隱蔽性。由此可知,該方法具有嵌入率高、隱蔽性強(qiáng)的特點(diǎn)。

但是,目前尚無公開文獻(xiàn)給出其相應(yīng)的檢測方法。



技術(shù)實(shí)現(xiàn)要素:

發(fā)明目的:本發(fā)明的目的在于解決現(xiàn)有技術(shù)中存在的不足,提供一種針對bittorrent協(xié)議中基于矩陣編碼的bitfield消息隱蔽通信檢測方法。

技術(shù)方案:本發(fā)明一種針對bittorrent協(xié)議中基于矩陣編碼的bitfield消息隱蔽通信檢測方法,依次包括以下步驟:(1)建立正常通信的bitfield模型;(2)利用bitfield模型進(jìn)行檢測;

其中,所述步驟(1)的具體流程為:

(1.1)、設(shè)置數(shù)據(jù)捕獲器:使用bt客戶端進(jìn)行主機(jī)之間的通信,捕獲數(shù)據(jù)包并在捕獲的數(shù)據(jù)包中篩選出包含bitfield消息的數(shù)據(jù)包,捕獲的bitfield數(shù)據(jù)依次記為a1,a2,…,an;

(1.2)、設(shè)置數(shù)據(jù)處理器:利用數(shù)據(jù)處理器對步驟(1.1)中捕獲的若干組數(shù)據(jù)進(jìn)行處理,即先將每組bitfield消息中的十六進(jìn)制數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制數(shù)據(jù),然后對相鄰時間捕獲到的兩組數(shù)組求差,即an-an-1,可得到一個包含-1、0、1的一維數(shù)組,數(shù)組中含有n個數(shù)據(jù);

(1.3)、設(shè)置窗口分割器:窗口分割器將處理后的一維數(shù)組分為大小為w的窗口,共可分為l個窗口;

(1.4)、設(shè)置markov轉(zhuǎn)移矩陣求取器:將各個窗口內(nèi)的數(shù)據(jù)均視作一個markov鏈,設(shè)-1到-1的轉(zhuǎn)移概率為p11,-1到1的轉(zhuǎn)移概率為p13,0到-1的轉(zhuǎn)移概率為p21,0到0的轉(zhuǎn)移概率為p22,0到1的轉(zhuǎn)移概率為p23,1到-1的轉(zhuǎn)移概率為p31,1到0的轉(zhuǎn)移概率為p32,1到1的轉(zhuǎn)移概率為p33;

其中,-1到0的轉(zhuǎn)移概率為p12=num(xn=-1|xn+1=0)/(n-1);

num(xn=-1|xn+1=0)即馬爾科夫鏈中當(dāng)前狀態(tài)為-1且下一個狀態(tài)為0的情況總數(shù),然后依次計算出p11、p12、p13、p21、p22、p23、p31、p32和p33,然后組成markov轉(zhuǎn)移矩陣m,求得各個窗口的markov轉(zhuǎn)移矩陣m1、m2、...ml;

(1.5)、設(shè)置k-l散度求取器:k-l散度求取公式為其中p、q為兩個n維矩陣,pij為矩陣p中i行j列的元素,qij為矩陣q中i行j列的元素,由該公式可求取m2、m3、...ml與m1的k-l散度dl;

(1.6)、訓(xùn)練模型:重復(fù)(1.2)-(1.5)由多組數(shù)據(jù)可得到多組k-l散度值,對數(shù)據(jù)進(jìn)行分析訓(xùn)練,求得k-l散度的均值m、方差v和檢測閾值th=m+αv,其中α為自定義的常量函數(shù),用于調(diào)整檢測閾值;

其中,所述步驟(2)即是利用k-l散度建立模型庫進(jìn)行檢測,具體包括如下步驟:

(2.1)、設(shè)置數(shù)據(jù)捕獲器:使用bt客戶端進(jìn)行主機(jī)之間的通信,在通信的同時通過數(shù)據(jù)捕獲器捕獲兩次數(shù)據(jù)包,并在捕獲的數(shù)據(jù)包中通過wireshark內(nèi)置過濾器篩選出包含bitfield消息的數(shù)據(jù)包;

(2.2)、設(shè)置數(shù)據(jù)處理器:先利用數(shù)據(jù)處理器對捕獲的兩個數(shù)據(jù)包分別進(jìn)行處理,將bitfield消息中的十六進(jìn)制數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制數(shù)據(jù),接著將處理完成的倆兩個數(shù)據(jù)包合并成一個一維數(shù)組,對捕獲到的兩個數(shù)組求差;

(2.3)、設(shè)置窗口分割器:窗口分割器將處理后的一維數(shù)組分為大小為w的窗口,共可分為l個窗口;

(2.4)、設(shè)置markov轉(zhuǎn)移矩陣求取器:將一個窗口內(nèi)的數(shù)據(jù)視作一個markov鏈,根據(jù)步驟(1.4)中公式求取markov轉(zhuǎn)移矩陣,求得各窗口的markov轉(zhuǎn)移矩陣

(2.5)、設(shè)置k-l散度求取器:根據(jù)步驟(1.5)中公式求取與m1的k-l散度;

(2.6)、判斷檢測結(jié)果:將所得k-l散度值與閾值th做比較,若大于th可知待測數(shù)據(jù)為含密數(shù)據(jù),若小于th可知待測數(shù)據(jù)為正常數(shù)據(jù)。

進(jìn)一步的,步驟(1.1)中所述的數(shù)據(jù)捕獲器即wireshark。

進(jìn)一步的,步驟(1.2)中所述的數(shù)據(jù)處理器即matlab。

進(jìn)一步的,步驟(1.6)中所述k-l散度即相對熵,是描述兩個概率分布p和q差異的一種方法。

進(jìn)一步的,步驟(1.6)中所述多組k-l散度值,即多組數(shù)據(jù)相對于第一組數(shù)據(jù)第一個窗口轉(zhuǎn)移矩陣的k-l散度值。

有益效果:本發(fā)明首先捕獲若干正常通信的bitfield數(shù)據(jù),對前后兩組數(shù)據(jù)二進(jìn)制化后求差,將所得一維數(shù)組看做一個markov鏈,得到三種狀態(tài):-1、0、1,求得該markov鏈的轉(zhuǎn)移矩陣,并建立正常通信的k-l散度模型,之后對待測數(shù)據(jù)進(jìn)行同樣操作,求出待測數(shù)據(jù)相對于正常數(shù)據(jù)的k-l散度,通過比較待測數(shù)據(jù)與正常數(shù)據(jù)k-l散度的差異,判斷待檢測數(shù)據(jù)是否為含密數(shù)據(jù)。本發(fā)明在求出數(shù)據(jù)markov轉(zhuǎn)移矩陣的基礎(chǔ)上,與k-l散度的計算相結(jié)合,從而提高了檢測效果,可以得到可靠的檢測結(jié)果。

附圖說明

圖1為實(shí)施例中建立正常通信的bitfield模型流程圖;

圖2為實(shí)施例中利用bitfield模型進(jìn)行檢測流程圖;

圖3為實(shí)施例中觀測窗口w=200時的實(shí)驗(yàn)效果圖。

具體實(shí)施方式

下面對本發(fā)明技術(shù)方案進(jìn)行詳細(xì)說明,但是本發(fā)明的保護(hù)范圍不局限于所述實(shí)施例。

實(shí)施例1:

本實(shí)施例中針對bittorrent協(xié)議中基于矩陣編碼的bitfield消息隱蔽通信檢測方法,包括下述過程:

1、建立正常通信的bitfield模型,如圖1所示,具體流程如下:

(1)設(shè)置數(shù)據(jù)捕獲器:使用正常bt軟件對一個大小1.5g的文件進(jìn)行下載,在下載的同時捕獲多組服務(wù)器端和客戶端之間的通信數(shù)據(jù),并從中篩選出bitfield數(shù)據(jù),下載同一個文件時所捕獲到的bitfield數(shù)據(jù)內(nèi)容不一定相同,但負(fù)載長度一致;

(2)設(shè)置數(shù)據(jù)處理器:對捕獲到的多組bitfield數(shù)據(jù)進(jìn)行處理,每組含816個十六進(jìn)制bitfield數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行二進(jìn)制轉(zhuǎn)換,可得3256個二進(jìn)制數(shù)據(jù),將這些數(shù)據(jù)視為一個一維數(shù)組,對相鄰兩個二進(jìn)制數(shù)組求差,可以得到一個包含-1、0、1的一維數(shù)組;

(3)設(shè)置窗口分割器:以觀測窗口200分割步驟(2)中求得的一維數(shù)組,可以得到16個觀測窗口;

(4)設(shè)置轉(zhuǎn)移矩陣求取器:將步驟(3)中所得一維數(shù)組視作一個markov鏈,求取各窗口的markov轉(zhuǎn)移矩陣,可以得到16個轉(zhuǎn)移矩陣,分別為m1、m2...m16;

(5)設(shè)置k-l散度求取器:分別求取m1與m2、m3...m16的k-l散度;

(6)建立模型:重復(fù)步驟(2)-(5),對其余相鄰二進(jìn)制數(shù)組求差、分割窗口、求取markov轉(zhuǎn)移矩陣、求取k-l散度,對求得的若干組k-l散度進(jìn)行處理,求得所有k-l散度的均值0.7757、方差0.0067和檢測閾值0.8092,其中α取5。

2、利用bitfield模型進(jìn)行檢測,如圖2所示,具體流程如下:

(a)設(shè)置數(shù)據(jù)捕獲器:使用數(shù)據(jù)捕獲器捕獲正在進(jìn)行bt下載的數(shù)據(jù)流,捕獲兩組數(shù)據(jù)并篩選出bitfield數(shù)據(jù);

(b)設(shè)置數(shù)據(jù)處理器:對捕獲到的兩組bitfield數(shù)據(jù)進(jìn)行處理,將各組的十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制,并將轉(zhuǎn)換后的二進(jìn)制數(shù)據(jù)視為一個一維數(shù)組,對兩個二進(jìn)制數(shù)組求差,可以得到一個包含-1、0、1的一維數(shù)組;

(c)以觀測窗口200分割(b)中求得的一維數(shù)組,可以得到16個觀測窗口,取其中的前15個窗口;

(d)設(shè)置轉(zhuǎn)移矩陣求取器:將(c)中所得數(shù)組視為一個markov鏈,求取各窗口的markov轉(zhuǎn)移矩陣,可以得到l個轉(zhuǎn)移矩陣

(e)設(shè)置k-l散度求取器:求取與m1的k-l散度;

(f)判斷檢測結(jié)果:將所得值與閾值0.8092做比較,若大于0.8092可知待測數(shù)據(jù)為含密數(shù)據(jù),若小于0.8092可知待測數(shù)據(jù)為正常數(shù)據(jù)。

如圖3所示,本實(shí)施例中bitfield負(fù)載長度3256(即bitfield中包含3256個二進(jìn)制數(shù)據(jù))時,觀測窗口w=200的實(shí)驗(yàn)效果圖,實(shí)線為正常數(shù)據(jù),虛線為含密數(shù)據(jù)。由圖3可見,應(yīng)用本發(fā)明可以很好的區(qū)分針對矩陣編碼的bitfield消息隱蔽通信中的正常數(shù)據(jù)和含密數(shù)據(jù)。使用不同文件進(jìn)行p2p通信時的bitfield負(fù)載長度有所差異,負(fù)載長度對k-l散度有一定影響,但使用本發(fā)明計算k-l散度時,正常數(shù)據(jù)與含密數(shù)據(jù)的差異十分明顯,負(fù)載長度的大小不會影響最終判定結(jié)果。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1