高 斌,翟江濤,戴躍偉
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
(*通信作者電子郵箱jiangtaozhai@gmail.com)
基于BitTorrent協(xié)議Have消息的信息隱藏方法
高 斌,翟江濤*,戴躍偉
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
(*通信作者電子郵箱jiangtaozhai@gmail.com)
針對(duì)以比特流(BitTorrent)協(xié)議消息為載體的信息隱藏算法在隱蔽性和嵌入容量上所存在的問(wèn)題,提出一種以Have消息序列為載體的信息隱藏方法。首先,在秘密信息嵌入前設(shè)置容量分析模塊,判斷信息嵌入量是否超出信息隱藏容量上限;其次,在信息嵌入時(shí)使用改進(jìn)的奇偶映射信息編碼方式,將秘密信息嵌入到Have消息的排序中;最后,在信息提取時(shí)引入循環(huán)冗余校驗(yàn)(CRC)方法,驗(yàn)證秘密信息是否傳輸正確。實(shí)驗(yàn)結(jié)果表明,相比原有的奇偶映射編碼方式,所提方法的嵌入容量明顯提高,且通過(guò)對(duì)Have序列統(tǒng)計(jì)特性的分析,所提方法對(duì)Have序列統(tǒng)計(jì)特性的影響較小,隱蔽性較強(qiáng)。
信息隱藏技術(shù);信息隱藏載體;信息編碼方式;隱蔽通信;數(shù)據(jù)校驗(yàn)
信息隱藏技術(shù)[1-3]是將秘密信息隱藏于近似正常的信息中,掩蓋秘密信息“正在傳輸”的事實(shí),以迷惑攻擊者。近年來(lái),隨著計(jì)算機(jī)網(wǎng)絡(luò)的高速發(fā)展,以網(wǎng)絡(luò)通信協(xié)議數(shù)據(jù)流為載體的信息隱藏技術(shù)逐漸成為研究熱點(diǎn)。然而目前,關(guān)于網(wǎng)絡(luò)信息隱藏技術(shù)的研究主要集中在使用傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP)的Internet等網(wǎng)絡(luò),涉及對(duì)等(Peer to Peer,P2P)網(wǎng)絡(luò)[4-6]則相對(duì)較少。
P2P網(wǎng)絡(luò),又稱為對(duì)等網(wǎng)絡(luò),以計(jì)算機(jī)間資源共享和系統(tǒng)間直接交換服務(wù)技術(shù)受到廣大用戶的青睞。目前,P2P網(wǎng)絡(luò)主要分為三大類:比特流(BitTorrent,BT)網(wǎng)絡(luò)[7-9]、Gnutella網(wǎng)絡(luò)和eDonkey網(wǎng)絡(luò),其中,BT網(wǎng)絡(luò)是一種運(yùn)行BT協(xié)議且應(yīng)用最為廣泛的P2P網(wǎng)絡(luò)。在BT網(wǎng)絡(luò)中,服務(wù)器的作用被弱化,僅用于輔助對(duì)等節(jié)點(diǎn)之間建立連接,一旦連接成功,對(duì)等節(jié)點(diǎn)之間可直接進(jìn)行通信。因此,BT網(wǎng)絡(luò)中數(shù)據(jù)流量大,傳輸速率快,非常適合作為網(wǎng)絡(luò)信息隱藏的載體,因而引起了研究者的關(guān)注。
文獻(xiàn)[10]以Torrent種子文件為載體,提出兩種信息隱藏方法:第一種是基于Announce等統(tǒng)一資源定位符(Uniform Resource Locator,URL)字段的首字母大小寫不敏感特性;第二種是基于Comment等空閑字段的可選域復(fù)用特性。這兩種方法雖然成功避過(guò)Torrent文件格式的檢測(cè),但是分別改變了URL字段默認(rèn)小寫的特性和空閑字段正常信息顯示的特性,因而隱蔽性弱。
文獻(xiàn)[11-12]以BitTorrent Tracker協(xié)議的超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)的Get消息為載體來(lái)實(shí)施信息隱藏。其中,文獻(xiàn)[11]利用Get消息的標(biāo)識(shí)碼(Peer_id)字段的后12 B空間的冗余性,文獻(xiàn)[12]則是基于Get消息的校驗(yàn)值(Info_hash)字段20 B空間的復(fù)用性。第一種方法充分利用了Peer_id字段信息的隨機(jī)性,隱蔽性較強(qiáng),但同時(shí)也局限于這12 B空間,嵌入容量較??;第二種方法在數(shù)據(jù)校驗(yàn)時(shí)會(huì)出錯(cuò),因而隱蔽性較弱。
文獻(xiàn)[13,15]以BitTorrent Peer Wire協(xié)議的各種BT消息為載體來(lái)完成隱蔽通信。文獻(xiàn)[13]提出了兩種信息隱藏方法,第一種是基于Bitfield消息負(fù)載的冗余性,該方法引入矩陣編碼方式[14],隱蔽性較強(qiáng),但嵌入容量較?。坏诙N是利用Piece消息負(fù)載的16 KB空間的復(fù)用性,直接嵌入16個(gè)Piece的秘密信息,該方法嵌入容量大,但會(huì)導(dǎo)致數(shù)據(jù)校驗(yàn)出錯(cuò)而引發(fā)異常,因而隱蔽性弱。文獻(xiàn)[15]提出了基于Request消息排序的信息隱藏方法,以每個(gè)Request消息中索引號(hào)(Index)大小作為排序基準(zhǔn),引入階乘編碼方式,嵌入容量大,但是該方法未考慮BT網(wǎng)絡(luò)中Request消息序列排序的統(tǒng)計(jì)特性,強(qiáng)行調(diào)整各序列之間的順序,因而隱蔽性較弱。
針對(duì)現(xiàn)有算法所存在的弱隱蔽性和低嵌入容量的問(wèn)題,本文從BitTorrent Peer Wire協(xié)議中發(fā)掘出一種適合作為信息隱藏載體的BT消息,它具備向已連接客戶端節(jié)點(diǎn)宣稱自己擁有某個(gè)數(shù)據(jù)塊的功能,稱之為Have消息。因此,本文針對(duì)Have消息序列的自身特性,分別從隱蔽性和嵌入容量這兩方面著手,提出一種基于BitTorrent協(xié)議Have消息的信息隱藏方法。
本文選取的信息隱藏載體即為Have消息,而每個(gè)Have消息的負(fù)載都是一個(gè)整型數(shù),稱之為索引號(hào)(Index),其消息格式如圖1所示。
圖1 Have消息格式
Fig.1 Format of Have message
圖2為BT網(wǎng)絡(luò)中兩節(jié)點(diǎn)的通信時(shí)序。兩個(gè)客戶端節(jié)點(diǎn)(Peer)建立連接之后,首先會(huì)通過(guò)Handshake握手消息開(kāi)啟BT通信;接著節(jié)點(diǎn)雙方互換Bitfield位圖消息,獲知對(duì)方當(dāng)前所擁有資源情況;然后節(jié)點(diǎn)雙方會(huì)互發(fā)Request請(qǐng)求消息,向?qū)Ψ秸?qǐng)求己方所沒(méi)有的數(shù)據(jù)塊資源;接著各節(jié)點(diǎn)會(huì)響應(yīng)請(qǐng)求消息,向?qū)Ψ桨l(fā)送Piece數(shù)據(jù)片消息,m個(gè)數(shù)據(jù)片構(gòu)成一個(gè)完整的數(shù)據(jù)塊資源;之后雙方所需數(shù)據(jù)塊資源下載完畢后,會(huì)互發(fā)Have消息,宣稱已擁有某一編號(hào)的數(shù)據(jù)塊資源;最終節(jié)點(diǎn)雙方會(huì)在Request-Piece-Have的消息循環(huán)中進(jìn)行共享資源的數(shù)據(jù)交互,直至下載完畢。
由此可得,數(shù)據(jù)塊與Have消息的個(gè)數(shù)相等,若共享文件大小為F,數(shù)據(jù)塊切分大小為P,則數(shù)據(jù)塊數(shù)目N為:
(1)
若以索引號(hào)為基準(zhǔn),整個(gè)Have消息序列即類似于一個(gè)整型隨機(jī)數(shù)組:
H={h1,h2,…,hi,…,hN}
(2)
其中,hi∈[0,N-1]且1≤i≤N。
實(shí)際上,為了提高通信效率,現(xiàn)有的BT協(xié)議都在原有基礎(chǔ)上進(jìn)行了改進(jìn),比如本文所選Vuze客戶端使用了擴(kuò)展BT協(xié)議,因而在實(shí)際傳輸過(guò)程中,發(fā)送方會(huì)將Have序列打包成K組AZHave消息向外發(fā)送。圖3即為Wireshark截獲所得BT通信過(guò)程中AZHave消息數(shù)據(jù)包的內(nèi)容片段。
因此,整個(gè)傳輸過(guò)程中,Have序列會(huì)被隨機(jī)切分成K個(gè)子序列,相當(dāng)于一個(gè)整型數(shù)組H被切分成K個(gè)子數(shù)組,即
H={a1,a2,…,aj,…,aK}
(3)
其中,aj?H,1≤j≤K且K值不固定。
圖2 BT網(wǎng)絡(luò)中兩節(jié)點(diǎn)的通信時(shí)序
圖3 Wireshark截獲所得AZHave消息數(shù)據(jù)包內(nèi)容
為了尋找設(shè)計(jì)信息編碼方式的參考依據(jù),本文在兩個(gè)正常Vuze客戶端通信過(guò)程中,分析10 000個(gè)Have序列構(gòu)成的K組AZHave消息里序列的排序特性。對(duì)比發(fā)現(xiàn),K組Have序列的排序特性基本一致,所以隨機(jī)選取5組AZHave消息作為分析對(duì)象,如圖4所示。
圖4 正常Have序列排列特性
觀察圖4中5組序列的分布狀況,總結(jié)正常Have序列的排列特性如下:1)正常AZHave消息中的Have序列數(shù)目隨機(jī);2)AZHave消息包之間序列號(hào)不連續(xù);3)每組AZHave中的Have序列都是隨機(jī)間隔排列,總體呈遞增分布,偶爾出現(xiàn)個(gè)別降序反常。
2.1 信息編碼方式改進(jìn)
信息隱藏技術(shù)的兩大要素:一是隱藏載體,另一個(gè)就是隱藏算法,而隱藏算法的核心則是信息編碼方式。顧名思義,信息編碼是對(duì)原始信息符號(hào)按一定的數(shù)學(xué)規(guī)則所進(jìn)行的變換,即在信息基本單位與不同代碼之間建立一一對(duì)應(yīng)關(guān)系。而在計(jì)算機(jī)語(yǔ)言的數(shù)據(jù)流當(dāng)中,基本單位當(dāng)屬‘0’和‘1’這兩個(gè)二進(jìn)制碼元,這種簡(jiǎn)單的“互逆”屬性,在自然數(shù)的基本屬性當(dāng)中也有體現(xiàn),例如“大小”和“奇偶”,若是在它們之間建立一一對(duì)應(yīng)關(guān)系,即可形成相應(yīng)的差值映射信息編碼和奇偶映射信息編碼,映射關(guān)系如表1所示。
表1 信息編碼的映射規(guī)則
結(jié)合Have序列的排列特性,對(duì)比這兩種編碼方式可得:1)這兩種編碼隨意地改變Have序列排序,增大了降序反常頻率,與正常Have序列的排序特性沖突,容易引發(fā)攻擊者的關(guān)注;2)由于差值編碼參考值的存在,映射K個(gè)整型數(shù)組,差值編碼的嵌入容量上限比奇偶編碼要低Kb;3)正常Have序列值中奇偶數(shù)目基本等于N/2,因而使用這兩種編碼所得的可嵌入二進(jìn)制碼元‘0/1’數(shù)目也都基本等于N/2,即利用N個(gè)原始數(shù)據(jù)負(fù)載了N/2 b的秘密信息,則其載體利用率R1為:
R1=(N/2)/N×100%=50%
(4)
因此,通過(guò)比較分析,本文選擇改進(jìn)奇偶映射信息編碼方式來(lái)提高信息隱藏算法的性能。原有奇偶映射的前提是不改變子數(shù)組中各元素的值,僅依靠元素自身的奇偶性和排序來(lái)實(shí)施編碼。改進(jìn)后的奇偶映射編碼則要打破這個(gè)前提,它會(huì)利用“加1或減1”的方式改變部分元素的奇偶性,以此來(lái)提高載體利用率,即利用N個(gè)原始數(shù)據(jù)負(fù)載了Nb的秘密信息,則改進(jìn)后的載體利用率R2為:
R2=N/N×100%=100%
(5)
這種方式雖然改變了子數(shù)組中部分元素值,但改變后的元素值依然屬于整個(gè)數(shù)組集合,并不會(huì)發(fā)生異常,其效果相當(dāng)于是在整個(gè)數(shù)組集合中改變各元素的順序。
基于改進(jìn)后的奇偶映射信息編碼方式,若待嵌入的比特流信息集合為:
B={b1,b2,…,bi,…,bN}
(6)
其中,bi=‘0’或bi=‘1’且1≤i≤N,并結(jié)合式(2)的Have消息序列,編碼所得新序列值為:
(7)
2.2 信息嵌入容量分析
信息隱藏方法的載體和編碼方式確定后,即可分析其嵌入容量上限,其影響因素分別是載體空間和載體利用率。采用改進(jìn)后的奇偶映射信息編碼方式后,載體利用率最大化,達(dá)到100%,則信息嵌入容量上限需依托于載體空間的大小。本文所選取的信息隱藏載體為Have消息序列,由式(1)可得數(shù)據(jù)塊數(shù)目為N,則Have消息數(shù)目為N,那么采用改進(jìn)后的奇偶映射編碼所得的信息嵌入容量上限也為Nb。
由式(1)可得,若要提高信息嵌入容量上限,即增大N的值,具備兩種方案:1)提高F的值,即增大共享文件的大小。經(jīng)調(diào)研發(fā)現(xiàn),BT網(wǎng)絡(luò)中最常出現(xiàn)的當(dāng)屬2 GB左右的視頻文件,所以為了避免引起攻擊者的關(guān)注,本文確定F=2 GB。2)降低P的值,即減小數(shù)據(jù)塊切分大小。經(jīng)調(diào)研發(fā)現(xiàn),BT網(wǎng)絡(luò)中的Piece消息負(fù)載為16 KB,一個(gè)數(shù)據(jù)塊至少要包含兩個(gè)Piece塊,所以BT客戶端軟件默認(rèn)可選擇的最小切分大小為32 KB,所以本文確定P=32 KB。綜上可得,本文信息嵌入容量上限N=65 536 b。
在此分析信息嵌入容量的目的,是因?yàn)榭紤]到秘密信息大小超過(guò)信息嵌入容量上限的問(wèn)題,所以本文所提方法會(huì)在秘密信息嵌入前,添加容量分析模塊,即待嵌入秘密信息大小不得超過(guò)65 536 b,以此來(lái)避免信息隱藏出錯(cuò)。
2.3 隱蔽通信原理
本文基于所提方法,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于Have消息的隱蔽通信系統(tǒng),發(fā)送方利用隱藏算法實(shí)施秘密信息的嵌入,接收方利用解析算法實(shí)現(xiàn)秘密信息的提取,共同配合完成了BT網(wǎng)絡(luò)中的隱蔽通信。
2.3.1 隱藏算法
規(guī)則1 首先,在信息嵌入前計(jì)算待嵌入信息S的比特容量X和信息S的CRC16校驗(yàn)值Z,并以〈X,S,Z〉這個(gè)三元組信息替代信息S;接著,對(duì)信息〈X,S,Z〉進(jìn)行格式轉(zhuǎn)換處理,將其從字符串形式轉(zhuǎn)換為二進(jìn)制比特流形式〈Xb,Sb,Zb〉;最后,用式(7)完成信息〈Xb,Sb,Zb〉的嵌入。
假設(shè),加密函數(shù)Encrypt()對(duì)秘密信息明文M進(jìn)行加密處理生成密文S,計(jì)算函數(shù)Size()求得密文S的比特容量X,計(jì)算函數(shù)CRC16()求得密文S的校驗(yàn)值Z,字符串轉(zhuǎn)二進(jìn)制格式轉(zhuǎn)換函數(shù)S2D()得出信息〈Xb,Sb,Zb〉,嵌入函數(shù)Embed()按照規(guī)則1將信息〈Xb,Sb,Zb〉嵌入到載體Have序列H中,則隱藏算法偽代碼如下所示。
算法1 隱藏算法。
輸入:Have序列H,秘密信息M,密鑰C。 輸出:隱藏信息后的Have序列H*。Steps: 1)S=Encrypt(M,C); 2)X=Size(S) andZ=CRC16(S); 3)IfX>N,Output“Embeddingfailure”; 4)Else〈Xb,Sb,Zb〉=S2D(〈X,S,Z〉); 5)H*=Embed(〈Xb,Sb,Zb〉,H); 6)OutputH*
2.3.2 解析算法
規(guī)則2 首先,在提取信息時(shí)利用表1的映射規(guī)則,從Have序列H*中提取出信息容量Xb;接著,以X為解碼結(jié)束條件,繼續(xù)提取出隱藏信息〈Sb,Zb〉;最后,對(duì)隱藏信息〈Sb,Zb〉進(jìn)行格式轉(zhuǎn)換處理,得出嵌入信息S和其校驗(yàn)值Z。
假設(shè),提取函數(shù)Extract()按照規(guī)則2從載體Have序列H*中提取出隱藏信息〈Sb,Zb〉,二進(jìn)制轉(zhuǎn)字符串格式轉(zhuǎn)換函數(shù)D2S()得出密文S和其校驗(yàn)值Z,計(jì)算函數(shù)CRC16()求得密文S的校驗(yàn)值Z*,解密函數(shù)Decrypt()對(duì)密文S進(jìn)行解密處理得出秘密信息明文M,則解析算法偽代碼如下所示。
算法2 解析算法。
輸入:待解析的Have序列H*,密鑰C。 輸出:隱藏的秘密信息M。Steps: 1) 〈Xb,Sb,Zb〉=Extract(H*); 2) 〈X,S,Z〉=S2D(〈Xb,Sb,Zb〉); 3)Z*=CRC16(S); 4)IfZ≠Z*,Output“Informationerror”andchangethecovertchannel; 5)ElseM=Decrypt(S);
6)OutputM
綜上所述,一個(gè)基于Have消息的隱蔽通信系統(tǒng)大體包含三大模塊,分別是信道認(rèn)證模塊、信道隱藏模塊和信道解析模塊,具體結(jié)構(gòu)如圖5所示。
圖5 基于Have消息的隱蔽通信流程
由圖5可得,信道隱藏模塊又分為容量分析和信息嵌入子模塊,信道解析模塊又分為信息提取和數(shù)據(jù)校驗(yàn)子模塊。其中,信道認(rèn)證模塊,也是一個(gè)簡(jiǎn)易的信息隱藏方法,算法特性與文獻(xiàn)[16]類似。原載體為BT消息中Handshake消息標(biāo)識(shí)碼(Peer_id)字段中后12B的隨機(jī)空間,本文只選取隨機(jī)空間的后8B作為隱藏載體,并對(duì)其存儲(chǔ)格式進(jìn)行重構(gòu),如圖6所示。認(rèn)證碼由兩部分組成,分別是用戶碼(User_id)和密文碼(Ciphertext_id),各占4B的存儲(chǔ)空間。User_id是BT客戶端隨機(jī)生成的固定值,Ciphertext_id則是User_id經(jīng)過(guò)簡(jiǎn)易加密處理生成的密文值。因此,客戶端節(jié)點(diǎn)之間憑借認(rèn)證碼,即可具備身份認(rèn)證的功能。
圖6 隱蔽節(jié)點(diǎn)身份認(rèn)證碼格式
Fig.6Formatofauthenticationcodeofcovertpeers
綜上可得,隱蔽通信的具體流程如下。
1)身份認(rèn)證。隱蔽節(jié)點(diǎn)雙方交換Handshake消息,驗(yàn)證計(jì)算所得密文碼和接收所得密文碼是否一致:若均為是,則雙方互為隱蔽節(jié)點(diǎn),開(kāi)通隱蔽傳輸通道;反之,只要有一方為否,則確定對(duì)方為正常節(jié)點(diǎn),雙方只進(jìn)行正常數(shù)據(jù)傳輸。
2)容量分析。發(fā)送方計(jì)算待嵌入信息的比特容量,判斷其是否在信道嵌入容量上限范圍內(nèi):若是,則進(jìn)入正常嵌入環(huán)節(jié);反之則停止嵌入操作并報(bào)錯(cuò)。
3)信息嵌入和提取。借助于Have消息傳輸通道,按照相應(yīng)規(guī)則,確保秘密信息伴隨著Have消息序列正常傳輸。
4)數(shù)據(jù)校驗(yàn)。驗(yàn)證秘密信息是否傳輸正確:若是,則信息提取成功;反之則重新開(kāi)辟隱蔽通道,按照上述流程重新獲取正確的秘密信息。
本文針對(duì)客戶端Vuze5.6,在JavaEclipse運(yùn)行環(huán)境中編譯生成一款具備隱蔽通信功能的客戶端Vuze_H軟件。本章將利用實(shí)驗(yàn)驗(yàn)證所述Have消息隱蔽通信系統(tǒng)的可行性,并通過(guò)實(shí)驗(yàn)數(shù)據(jù)分析說(shuō)明所述信息隱藏算法的性能優(yōu)越性。
3.1 實(shí)驗(yàn)環(huán)境
本文基于實(shí)驗(yàn)室局域網(wǎng)搭建一個(gè)BT共享文件分發(fā)系統(tǒng)的通信平臺(tái),并在此基礎(chǔ)上構(gòu)建一個(gè)基于兩節(jié)點(diǎn)間Have消息的隱蔽通信系統(tǒng),具體硬件配置如表2所示。
表2 隱蔽節(jié)點(diǎn)硬件配置
本文所述隱蔽通信系統(tǒng)依托于BT共享文件分發(fā)系統(tǒng)的基礎(chǔ)平臺(tái),即本文所需實(shí)驗(yàn)環(huán)境,如圖7所示。由此可得,本文所述隱蔽通信方案的前期工作,具體實(shí)施步驟如下。
圖7 BT共享文件分發(fā)系統(tǒng)結(jié)構(gòu)
1)用戶Bob使用MyBTServer軟件,在本機(jī)搭建一個(gè)局域網(wǎng)Tracker服務(wù)器,用于記錄當(dāng)前下載同一共享文件的所有BT客戶端節(jié)點(diǎn)的IP和Port信息,該服務(wù)器的URL=http://192.168.58.33:6969/announce。
2)用戶Bob使用BT客戶端Vuze_H軟件,制作一個(gè)2GB視頻的種子文件“Movie2.0.torrent”,并選擇數(shù)據(jù)塊切分大小為32KB,以便在BT通信過(guò)程中獲取足夠多的Have消息。
3)用戶Bob將“Movie2.0.torrent”種子文件上傳到Tracker的Web服務(wù)器界面,并使用Vuze_H客戶端完成該視頻文件的做種操作,等待其他用戶來(lái)下載。
4)用戶Alice通過(guò)URL登錄訪問(wèn)Tracker的Web服務(wù)器界面,下載種子文件“Movie2.0.torrent”,并使用Vuze_H客戶端解析該種子文件,從而獲取用戶Bob節(jié)點(diǎn)的IP和Port信息,以便與其通信。
5)用戶Alice與用戶Bob建立連接之后,利用各自的Vuze_H客戶端進(jìn)行BT數(shù)據(jù)交流,完成共享文件的下載。
3.2 實(shí)驗(yàn)結(jié)果及分析
網(wǎng)絡(luò)信息隱藏方案優(yōu)先考慮隱蔽性和嵌入容量,其次是魯棒性,最后才是安全性和可靠性。本文方案中Have序列一經(jīng)丟失或亂序,秘密信息解析則會(huì)出錯(cuò),因而算法的魯棒性較差,但是因?yàn)樘砑恿藬?shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,DES)算法和循環(huán)冗余校驗(yàn)(CyclicalRedundancyCheck,CRC)環(huán)節(jié),確保了該算法的安全性和可靠性。因此,本文主要測(cè)試驗(yàn)證基于Have消息的信息隱藏方法的隱蔽性和嵌入容量。
3.2.1 隱蔽性
根據(jù)第1章的Have消息載體分析可知,Have序列是以AZHave消息的封裝格式被打包成K組向外發(fā)送,且每個(gè)AZHave消息中Have序列個(gè)數(shù)是隨機(jī)的。為盡可能地觀察編碼前后Have序列的排列特性變化,所需選取的AZHave消息的封裝容量越大越好。
因此,本文利用Wireshark截獲通信過(guò)程中所有AZHave消息數(shù)據(jù)包。通過(guò)對(duì)其數(shù)據(jù)包容量分析發(fā)現(xiàn),當(dāng)P=32 KB時(shí),AZHave消息的封裝容量最大值為163,所以本文選取容量為163的AZHave消息作為實(shí)驗(yàn)分析對(duì)象。
對(duì)比所有編碼前后AZHave消息發(fā)現(xiàn),包內(nèi)Have序列的排列特性變化一致,因此隨機(jī)選取一個(gè)容量為163的AZHave消息,觀察其Have序列的排列特性變化,如圖8所示。
圖8 編碼前后Have序列排列特性對(duì)比
分析圖8(a)可知,編碼前的正常Have序列和編碼后的隱蔽Have序列的分布圖基本重疊,整體排列特性一致,均是隨機(jī)間隔排列,總體呈遞增分布,偶爾出現(xiàn)個(gè)別降序反常。分析圖8(b)可知,編碼前后Have序列之間的誤差值e∈[0,1],且通過(guò)計(jì)算得知編碼前后Have序列的均值分別為20 308.2和20 307.7,標(biāo)準(zhǔn)差分別是12 489.2和12 489.1,差距很小。由此可得,引入改進(jìn)后的奇偶映射信息編碼方式,對(duì)于Have序列的排列特性未造成明顯的特征影響,算法的隱蔽性較強(qiáng)。
3.2.2 嵌入容量
根據(jù)2.2節(jié)的分析可知,當(dāng)共享文件大小F=2 GB且數(shù)據(jù)塊切分大小P=32 KB時(shí),信息嵌入容量上限N=65 536 b,又由3.2.1節(jié)的分析可知,本文信息隱藏方法的嵌入容量對(duì)于隱蔽性的影響較小。由此可確定,在不影響隱蔽性的前提下,本文所述Have消息信息隱藏方法的載體利用率可達(dá)100%,即方法的嵌入容量Capacity=65 536 b=64 KB。
表3為現(xiàn)有BT信息隱藏方法和本文所提方法的性能上限比較。對(duì)比分析表中數(shù)據(jù)可知,本文基于Have消息提出的一種改進(jìn)的信息隱藏方法,其隱蔽性較強(qiáng),性能位列這9種方法前三;其嵌入容量較大,性能在這9種方法中排名第三。除此以外,集中比較性能較好的前三種方法,可以得知:一方面,本文所提改進(jìn)法與文獻(xiàn)[11]的Peer_id字段算法以及文獻(xiàn)[13]的Bitfield消息算法在隱蔽性上等同,但是其嵌入容量較這兩種方法要大;另一方面,本文所提改進(jìn)法在嵌入容量上比文獻(xiàn)[13]的Piece消息算法以及文獻(xiàn)[15]的Request消息算法要小,但是其隱蔽性較這兩種方法要強(qiáng)。因此,綜合考慮兩方面因素,本文所提Have消息信息隱藏方法在隱蔽性和嵌入容量之間尋求了一個(gè)合適的平衡,算法性能優(yōu)越。
表3 現(xiàn)有BT信息隱藏方法性能上限比較
現(xiàn)有的BT信息隱藏算法無(wú)法滿足高隱蔽性且嵌入容量較大的隱蔽通信需要,本文提出一種基于BT協(xié)議Have消息的信息隱藏方法。該方法引入改進(jìn)后的奇偶映射信息編碼方式,充分利用Have序列的載體空間和排序特性,在BT網(wǎng)絡(luò)中實(shí)現(xiàn)了高效的隱蔽通信。本文在信息嵌入前經(jīng)過(guò)容量分析模塊的審核,在信息提取時(shí)經(jīng)過(guò)數(shù)據(jù)校驗(yàn)?zāi)K的檢查,確保了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和可靠性。然而本文的研究?jī)H限于局域網(wǎng),在互聯(lián)網(wǎng)的復(fù)雜環(huán)境下,如何提高所提方法的魯棒性,將是本研究下一步的工作。
References)
[1] RIOS R, ONIEVA J A, LOPEZ J.Covert communications through network configuration messages [J].Computers & Security, 2013, 39(4): 34-46.
[2] KIYAVASH N, KOUSHANFAR F, COLEMAN T P, et al.A timing channel spyware for the CSMA/CA protocol [J].IEEE Transactions on Information Forensics & Security, 2013, 8(3): 477-487.
[3] ELZBIETA Z, WOJCJECH M, KRZYSZTOF S, et al.Trends in steganography [J].Communications of the ACM, 2014, 57(3): 86-95.
[4] 呂曉鵬,王文東,龔向陽(yáng),等.混合網(wǎng)中的P2P資源共享機(jī)制[J].北京郵電大學(xué)學(xué)報(bào),2011,34(4):113-117.(LYU X P, WANG W D, GONG X Y, et al.A P2P resource sharing mechanism for hybrid network [J].Journal of Beijing University of Posts and Telecommunications, 2011, 34(4): 113-117.)
[5] 徐釩文.基于P2P的隱蔽匿名通信技術(shù)研究[D].北京:北京郵電大學(xué),2012:4-51.(XU F W.Research of anonymous communication technology based on P2P [D].Beijing: Beijing University of Posts and Telecommunications, 2012: 4-51.)
[6] 譚慶豐,方濱興,時(shí)金橋,等.StegoP2P:一種基于P2P網(wǎng)絡(luò)的隱蔽通信方法[J].計(jì)算機(jī)研究與發(fā)展,2014,51(8):1695-1703.(TAN Q F, FANG B X, SHI J Q, et al.StegoP2P: a hidden communication approach in P2P networks [J].Journal of Computer Research and Development, 2014, 51(8): 1695-1703.)
[7] 唐紅,胡容,朱輝云.BitTorrent網(wǎng)絡(luò)行為研究綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2012,33(9):2002-2007.(TANG H, HU R, ZHU H Y.Survey of BitTorrent network behavior studies [J].Journal of Chinese Computer Systems, 2012, 33(9): 2002-2007.)
[8] 聶榮,聶林,劉超慧,等.BitTorrent網(wǎng)絡(luò)特性的測(cè)量與研究[J].北京郵電大學(xué)學(xué)報(bào),2012,35(3):125-128.(NIE R, NIE L, LIU C H, et al.Measurement of the characteristics of the BitTorrent network [J].Journal of Beijing University of Posts and Telecommunications, 2012, 35(3): 125-128.)
[9] 鄢羽,唐紅.BitTorrent網(wǎng)絡(luò)節(jié)點(diǎn)間流量的數(shù)據(jù)采集和分析[J].計(jì)算機(jī)科學(xué),2014,41(6):75-78.(YAN Y, TANG H.Data collection and analysis of traffic flow between peers in BitTorrent network [J].Computer Science, 2014, 41(6): 75-78.)
[10] LI Z S, SUN X M, WANG BW, et al.A steganography scheme in P2P network [C]// IIHMSP 2008: Proceedings of the 2008 International Conference on Intelligent Information Hiding and Multimedia Signal Processing.Washington, DC: IEEE Computer Society, 2008: 20-24.
[11] DESIMONE J, JOHNSON D, YUAN B, et al.Covert channel in the BitTorrent tracker protocol [C]// SM 2012: Proceedings of the 2012 International Conference on Security and Management.New York: Rochester Institute of Technology, 2012: 223-226.
[12] CUNCHE M, KAAFAR M A, BORELI R.Asynchronous covert communication using BitTorrent trackers [C]// HPCC 2014: Proceedings of the 2014 International Conference on High Performance Computing and Communications.Piscataway, NJ: IEEE, 2014: 213-291.
[13] 李子帥.基于BitTorrent網(wǎng)絡(luò)的信息隱藏技術(shù)研究[D].長(zhǎng)沙:湖南大學(xué),2009:29-44.(LI Z S.Research of information hiding technology based on the BitTorrent network [D].Changsha: Hunan University, 2009: 29-44.)
[14] 陳立全,盧苗,胡愛(ài)群,等.基于二級(jí)定位的編碼信道信息隱藏算法[J].通信學(xué)報(bào),2013,34(12):120-130.(CHEN L Q, LU M, HU A Q, et al.An information hiding algorithm based on twice positioning in coding channel [J].Journal on Communications, 2013, 34 (12): 120-130.)
[15] EIDENBENZ R, LOCHER T, WATTENHOFER R.Hidden communication in P2P networks steganographic handshake and broadcast [C]// INFOCOM 2011: Proceedings of the 30th IEEE International Conference on Computer Communications, Joint Conference of the IEEE Computer and Communications Societies.Piscataway, NJ: IEEE, 2011: 954-962.
[16] 葉軍勝.基于狀態(tài)模擬的BT網(wǎng)絡(luò)隱信道研究[D].南京:南京理工大學(xué),2011:38-39.(YE J S.Research of state simulation based on the BT network covert channel [D].Nanjing: Nanjing University of Science and Technology, 2011: 38-39.)
This work is partially supported by the National Natural Science Foundation of China (61472188, 61602247), the Natural Science Foundation of Jiangsu Province (BK20150472, BK20160840), the CCF—Venustech "Hongyan" Science Foundation (2016011).
GAO Bin, born in 1992, M.S.candidate.His research interests include P2P network covert communication.
ZHAI Jiangtao, born in 1983, Ph.D., lecturer.His research interests include multimedia, network information security.
DAI Yuewei, born in 1962, Ph.D., professor.His research interests include information processing, information security.
Information hiding method based on Have messages in BitTorrent protocol
GAO Bin, ZHAI Jiangtao*, DAI Yuewei
(SchoolofElectronicsandInformation,JiangsuUniversityofScienceandTechnology,ZhenjiangJiangsu212003,China)
Concerning the problem in concealment performance and embedding capacity of the existing information hiding algorithm based on BitTorrent (BT) protocol messages, a new information hiding method based on Have message queues was proposed.Firstly, the capacity analysis module was set to judge whether the embedding capacity was beyond the limit of hiding capacity before embedding.Secondly, the improved parity mapping information coding method was used when the secret information was embedded into the sort of Have queues.Finally, the cyclical redundancy check method was introduced to verify whether the secret information was transmitted correctly when extracting.The experimental results show that, compared with the original parity mapping information coding method, the proposed method is able to increase the embedding capacity and improve the hiding performance of covert channel for its little influence on the statistical characteristics of Have queues.
information hiding technology; information hiding carrier; information coding method; covert communication; data verification
2016-07-04;
2016-09-07。 基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61472188, 61602247);江蘇省自然科學(xué)基金資助項(xiàng)目(BK20150472,BK20160840);CCF—啟明星辰“鴻雁”科研基金資助項(xiàng)目(2016011)。
高斌(1992—),男,江蘇高郵人,碩士研究生,主要研究方向:P2P網(wǎng)絡(luò)隱蔽通信; 翟江濤(1983—),男,河南三門峽人,講師,博士,CCF會(huì)員,主要研究方向:多媒體、網(wǎng)絡(luò)信息安全; 戴躍偉(1962—),男,江蘇鎮(zhèn)江人,教授,博士,主要研究方向:信息處理、信息安全。
1001-9081(2017)01-0200-06DOI:10.11772/j.issn.1001-9081.2017.01.0200
TP
A