欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于分層模型的流媒體隱蔽通信方法

文檔序號(hào):7693688閱讀:241來源:國知局

專利名稱::基于分層模型的流媒體隱蔽通信方法基于分層模型的流媒體隱蔽通信方法
技術(shù)領(lǐng)域
屬于流媒體的信息隱藏領(lǐng)域。
背景技術(shù)
:信息隱藏是信息安全領(lǐng)域中的新興技術(shù),它與加密技術(shù)相區(qū)別,正引起越來越多的研究者的關(guān)注。信息隱藏技術(shù)在國際上已有公認(rèn)的定義如下待隱藏的機(jī)密信息稱為嵌入對(duì)象,用于隱藏嵌入對(duì)象的公開信息稱為掩護(hù)對(duì)象,通常也稱載體。通過特定的嵌入算法,將嵌入對(duì)象隱藏到掩護(hù)對(duì)象中,從而生成隱藏對(duì)象,這一過程稱為嵌入過程。相反地,使用特定的提取算法從隱藏對(duì)象中提取出嵌入對(duì)象的過程則稱為提取過程。嵌入過程和提取過程的執(zhí)行者分別被稱為嵌入者和提取者。嵌入過程和提取過程采用相同的密鑰,這樣的信息隱藏技術(shù)稱為對(duì)稱信息隱藏技術(shù)?,F(xiàn)有的信息隱藏技術(shù)和方法基本都集中在圖像領(lǐng)域,基于音頻的信息隱藏方法并不多,其中最為成熟的也是應(yīng)用最為廣泛的方法就是替換方法?;镜奶鎿Q方法,就是試圖用秘密信息比特替換掉偽裝載體中不重要的部分,以達(dá)到對(duì)秘密信息進(jìn)行編碼,如果接收者知道秘密信息嵌入的位置,就能提取出秘密信息。最低有效位替換算法,LSB(LeastSignificantBit)替換方法就是在為了實(shí)現(xiàn)這個(gè)目的所采用的一種隱藏方法。計(jì)算機(jī)的數(shù)據(jù)文件都用二進(jìn)制來表示,以圖像文件為例,假設(shè)每一個(gè)象素用8位比特表示,最低位的比特的改變對(duì)象素值的影響是所有比特位中最小的,簡(jiǎn)單LSB替換法就是基于這種思想,將最低位替換成待隱藏的消息,在不引起注意的情況下達(dá)到隱藏秘密消息的目的。目前基于音頻的最低有效位替換方法的信息隱藏方法并不多見。美國某民間組織曾在一個(gè)信息隱藏會(huì)議上介紹過一種隱藏方法,他們將一段大小為8kB的音頻壓縮編碼文件作為待隱藏的機(jī)密信息,將一段大小為64kB的音頻壓縮編碼文件作為載體。將8kB的機(jī)密信息用最低有效位替換算法嵌入到64kB的載體文件中;成功嵌入之后,再用與嵌入過程完全相反的提取過程把8kB的音頻文件完整的提取出來。此種隱藏方法成功的將最低有效位替換算法應(yīng)用到基于壓縮語音編碼的信息隱藏領(lǐng)域,但是,這種方法類似基于圖像的隱藏方法,缺乏實(shí)時(shí)性,另外這種隱藏方法對(duì)隱藏載體要求很苛刻,只能是某種特定的壓縮語音編碼,這就大大降低了此種方法的實(shí)用性。如果將基于圖像等文件實(shí)現(xiàn)信息隱藏稱為靜態(tài)隱藏,那么基于流媒體的信息隱藏技術(shù)就可以稱為動(dòng)態(tài)隱藏。流媒體是指采用流式傳輸?shù)姆绞皆贗nternet播放的媒體格式。流媒體又叫流式媒體,它是指商家把視頻節(jié)目當(dāng)成數(shù)據(jù)包發(fā)出,傳送到網(wǎng)絡(luò)上。近來,隨著互聯(lián)網(wǎng)飛速發(fā)展,流媒體技術(shù)被越來越廣泛的應(yīng)用到網(wǎng)絡(luò)上,網(wǎng)絡(luò)流媒體應(yīng)用日益普及,采用流媒體作為信息隱藏載體有著不可比擬的優(yōu)點(diǎn)。流媒體信息隱藏已有不少研究成果被報(bào)道。這些成果提出了相應(yīng)的隱藏算法和初步的傳輸方案,但傳輸方案與具體的載體相關(guān),不便于基于各種載體的隱蔽通信系統(tǒng)間的互操作;而且缺少對(duì)數(shù)據(jù)傳輸完整性的保證,對(duì)隱蔽通信系統(tǒng)實(shí)際支持的應(yīng)用也未作考慮。
發(fā)明內(nèi)容本發(fā)明針上述問題,提出一種分層的流媒體隱蔽傳輸系統(tǒng)模型,保證了數(shù)據(jù)傳輸?shù)目煽啃裕疫m應(yīng)隱藏算法,隱蔽應(yīng)用,網(wǎng)絡(luò)環(huán)境等的多樣性。該系統(tǒng)模型對(duì)流媒體隱蔽通信系統(tǒng)的設(shè)計(jì)開發(fā)具有指導(dǎo)意義。所述方法是在兩臺(tái)用網(wǎng)絡(luò)設(shè)備連接的電腦終端上依次按以下步驟實(shí)現(xiàn)的步驟(1),初始化在源電腦終端上,設(shè)立音頻輸入模塊,機(jī)密信息嵌入模塊,流媒體傳輸模塊,以及流媒體傳輸初始化模塊,在目的電腦終端上,設(shè)立音頻輸出模塊,機(jī)密信息提取模塊,流媒體傳輸模塊,以及流媒體傳輸初始化模塊,所述流媒體傳輸初始化模塊,設(shè)有流媒體傳輸?shù)哪康慕K端的網(wǎng)絡(luò)地址輸入窗口以及流媒體的文件格式輸入窗口,以及為所選兩臺(tái)電腦終端進(jìn)行流媒體傳輸所用的會(huì)話初始化協(xié)議,相應(yīng)的,向流媒體傳輸模塊輸出所選目的終端的網(wǎng)絡(luò)地址和流媒體的文件格式,所述音頻輸入模塊,用音頻采集設(shè)備采集濟(jì)源市語音數(shù)據(jù),依次經(jīng)過編碼、封裝后形成待發(fā)送的語音編碼數(shù)據(jù)包,再向隱蔽通信嵌入模塊輸出,所述音頻輸出模塊,輸入端與所述流媒體傳輸模塊的輸出端相連,把收到的被封裝的語音編碼數(shù)據(jù)包解碼,大額到原始語音數(shù)據(jù),再通過音頻輸出設(shè)備播放出來,所述流媒體傳輸模塊,利用設(shè)定的網(wǎng)絡(luò)傳輸協(xié)議來準(zhǔn)確無誤的完成封裝好的語音編碼數(shù)據(jù)包的傳輸工作,及時(shí)的從源電腦終端送達(dá)目的電腦終端,所述機(jī)密信息嵌入模塊,設(shè)有待隱藏的機(jī)密信息輸入端口,以及來自所述音頻輸入模塊的語音編碼數(shù)據(jù)包的輸入端口,輸出為送往源電腦終端的流媒體傳輸模塊的已經(jīng)嵌入機(jī)密信息的語音編碼數(shù)據(jù)包,所述機(jī)密信息提取模塊,輸入為來自目的電腦終端流媒體傳輸模塊的已經(jīng)嵌入機(jī)密信息的語音編碼數(shù)據(jù)包,輸出為機(jī)密信息,以及送往音頻輸出模塊的語音編碼數(shù)據(jù)包,訴述機(jī)密信息嵌入模塊和機(jī)密信息提取模塊組成一個(gè)隱藏通信模塊,含有隱蔽通信應(yīng)用層SIA、隱蔽傳輸管理層STM和隱蔽通信適配和執(zhí)行層SAE,其中隱蔽通信應(yīng)用層SIA,輸入端與所述音頻輸入模塊的語音編碼數(shù)據(jù)包的輸出端相連,同時(shí)提供人機(jī)接口,輸入用戶待傳輸?shù)臋C(jī)密信息,把該機(jī)密信息復(fù)制到隱蔽傳輸管理層STM的相應(yīng)的發(fā)送緩沖區(qū),同時(shí),還在Windows平臺(tái)上采用微軟基本類程序庫MFC提供的SIA層的數(shù)據(jù)結(jié)構(gòu)處理輸入數(shù)據(jù),記錄機(jī)密信息的長(zhǎng)度及接收文件的總長(zhǎng)度;隱蔽傳輸管理層STM,其中定義了以下原語SEND,表示完成不定長(zhǎng)度的機(jī)密數(shù)據(jù)的可靠發(fā)送,RECEIVE,該原語完成機(jī)密數(shù)據(jù)的可靠接收,CONNECT,該原語負(fù)責(zé)初始化STM對(duì)等端,為同步序列號(hào),DISCONNECT,該原語負(fù)責(zé)中斷STM傳輸,LISTEN,該原語的功能是監(jiān)聽來自對(duì)等端的請(qǐng)求,同時(shí),定義了以下數(shù)據(jù)結(jié)構(gòu),SIA層數(shù)據(jù)發(fā)送緩存、SIA層數(shù)據(jù)接收緩存,當(dāng)前待發(fā)送幀緩存,當(dāng)前接收幀緩存,當(dāng)前連接狀態(tài),當(dāng)前序列號(hào),最后收到的確認(rèn)號(hào),最后收到的序列號(hào),超時(shí)門限,此外,又定義了以下STM層的8比特的幀格式,其中包括SYN,l比特,位于第0比特位,用于建立連接,聲明起始序列號(hào),ACK,1比特,位于第1比特位,確認(rèn)標(biāo)志域,表示確認(rèn)序列號(hào)有效,F(xiàn)IN,l比特,位于第2比特位,結(jié)束標(biāo)志域,用于結(jié)束一個(gè)連接,LENGTH,5比特,位于第3-7比特位,表示除了頭部以外的STM層幀攜帶的數(shù)據(jù)長(zhǎng)度,SEQ,3比特,位于第0-2比特位,為STM層幀序列號(hào),ANN,3比特,位于第3-5比特位,表示STM層幀攜帶的確認(rèn)序列號(hào),TYPE,2比特,位于第6、第7比特位,為應(yīng)用類型標(biāo)志,根據(jù)應(yīng)用類型向SIA層提交數(shù)據(jù),其中,應(yīng)用類型包括即時(shí)消息和文件兩種,針對(duì)兩種不同應(yīng)用類型,系統(tǒng)分別采用相應(yīng)的處理函數(shù),DATA,0-31字節(jié),為STM層幀攜帶的數(shù)據(jù)凈荷;所述一個(gè)STM幀構(gòu)成了一個(gè)面向STM的隱蔽傳輸管理層數(shù)據(jù)單元STMDU,在所述STM層還設(shè)立了下屬各連接狀態(tài)IDLE,表示系統(tǒng)處于連接空閑狀態(tài),等待連接到達(dá),已被發(fā)送或接收,SYN-SENT,表示已經(jīng)發(fā)送SYN,等待接收SYN+ACK,"+"號(hào)表示"與"SYN-CONF,表示已經(jīng)接收SYN+ACK,準(zhǔn)備發(fā)送ACK,SYN-RECV,已經(jīng)接收SYN,準(zhǔn)備發(fā)送SYN+ACK,SYN-REPL,表示已經(jīng)發(fā)送SYN+ACK,等待接收ACK,ESTAB,適時(shí)發(fā)送FIN,并準(zhǔn)備接收FIN,F(xiàn)IN-RECV,表示已經(jīng)接收FIN,準(zhǔn)備發(fā)送ACK.或ACK+FIN,WAIT,表示已經(jīng)發(fā)送FIN,等待接收ACK或ACK+FIN,CLOSING,表示已經(jīng)接收ACK,等待接收FIN,LAST-ACK,表示已經(jīng)接收FIN,準(zhǔn)備發(fā)送ACK,PERSIST,表示已經(jīng)發(fā)送ACK,準(zhǔn)備發(fā)送FIN,OVER,表示已經(jīng)發(fā)送FIN,等待接收ACK,所述STM層分別在發(fā)送過程和接收過程中為隱蔽通信應(yīng)用層SIA和隱蔽通信適配和執(zhí)行層SAE提供機(jī)密信息的可靠隱蔽傳輸服務(wù),隱蔽通信適配和執(zhí)行層,設(shè)有下列數(shù)據(jù)結(jié)構(gòu)大小為一個(gè)STMDU的發(fā)送緩沖區(qū),大小為一個(gè)STMDU加一個(gè)隱蔽通信適配和執(zhí)行數(shù)據(jù)單元SAEDU的接收緩沖區(qū),發(fā)送緩沖區(qū)讀指針,接收緩沖區(qū)寫指針,用以判斷是否發(fā)送完一個(gè)STMDU的發(fā)送緩沖區(qū)剩余數(shù)據(jù)長(zhǎng)度,實(shí)時(shí)傳輸協(xié)議RTP序列號(hào)緩存,接收標(biāo)志和丟包標(biāo)志,隱蔽通信適配和執(zhí)行層SAE,依次按以下步驟把上層STM派發(fā)的數(shù)據(jù)單元STMDU嵌入到流媒體載體中,以及提取流媒體載體中攜帶的STMDU,其步驟如下-第l步STMDU和標(biāo)志位的提取和嵌入,所述標(biāo)志位包括同步為SYN,表明源方的初始序列號(hào),確認(rèn)序號(hào)有效位ACK,對(duì)方的序列號(hào),結(jié)束位FIN,第2步根據(jù)設(shè)定的隱蔽通信的最大傳輸單元MTU把數(shù)據(jù)單元STMDU分散為隱蔽通信適配和執(zhí)行層數(shù)據(jù)單元SAEDU,提取時(shí)依據(jù)數(shù)據(jù)到達(dá)的先后順序形成完整的STMDU,第3步,用實(shí)時(shí)傳輸協(xié)議的序列號(hào)實(shí)現(xiàn)STMDU的丟包檢測(cè),第4步,標(biāo)記一個(gè)流媒體分組中是否帶有機(jī)密信息,步驟(2),依次按以下步驟進(jìn)行隱蔽通信步驟(2.1)源終端用戶輸入目的終端網(wǎng)絡(luò)地址,向目的端用戶發(fā)送流媒體傳輸請(qǐng)求,步驟(2.2)目的端用戶作出收到請(qǐng)求的應(yīng)答,啟動(dòng)音頻輸入和音頻輸出模塊,步驟(2.3)源端用戶在收到應(yīng)答后啟動(dòng)音頻輸入和音頻輸出模塊,步驟(2.4)依次按以下步驟進(jìn)行隱蔽通信發(fā)送步驟(2.4.1)源端用戶在所述SIA層輸入待傳輸?shù)臋C(jī)密信息,在SIA層將機(jī)密相信發(fā)送到相應(yīng)的發(fā)送緩沖區(qū),并記錄數(shù)據(jù)長(zhǎng)度,步驟(2.4.2)所述STM層依次按下述步驟進(jìn)行傳輸?shù)?步在超時(shí)門限未超過預(yù)設(shè)的上限時(shí),對(duì)發(fā)送緩存表中的所有幀,定時(shí)器加1,第2步:在發(fā)送標(biāo)志被重置時(shí),執(zhí)行下一步驟,第3步在有收到新幀時(shí)把超時(shí)門限重置為最低門限,或重新計(jì)時(shí),第4步釋放發(fā)送緩存表中等待時(shí)間最長(zhǎng)的一個(gè)幀,一旦發(fā)送窗口被填滿,則返回,第5步準(zhǔn)備制作新幀,隱蔽通信適配和執(zhí)行層SAE,依次按下述步驟把上層隱蔽傳輸管理層STM待發(fā)的數(shù)據(jù)單元STMDU嵌入到流媒體載體中步驟(2.5)依次按以下步驟進(jìn)行隱蔽通信接收步驟(2.5.1)SAE層依次提取并判斷是否有隱藏信息標(biāo)志,釋放有后續(xù)分段標(biāo)志,實(shí)時(shí)傳輸協(xié)議RTP序列號(hào)是否聯(lián)系的標(biāo)志以及是否發(fā)現(xiàn)丟包的標(biāo)志,步驟(2.5.2)記錄當(dāng)前RTP包的序號(hào),步驟(2.5.3)計(jì)算局部變量Key,AT^y=CW/柳ex1000+£>^/ex100+T^/w6x10+其中,Continue,表示RTP包是否連續(xù),不連續(xù)為1,連續(xù)為0,Enable,表示是否有隱藏信息,有隱藏信息為0,無隱藏信息為l,Perturb,表示是否有丟包,丟包則為1,否則為0,F(xiàn)ollow表示是否有后續(xù)分段,有后續(xù)分段就為l,無后續(xù)分段則為0,步驟(2.5.4)判斷Key的值若Zej;21000,表示RTP不連續(xù),清空SAE的接收緩存,設(shè)置Perturb標(biāo)志,返回,若/^>^100或者/:^=10,表示沒有隱藏或者有丟包,重置Perturb標(biāo)志,返回,若《^<10,表示有隱藏信息,且有后續(xù)分段,提取當(dāng)前RTP包中的隱蔽信息,保存到接收緩沖區(qū),若/^少=0,表示有隱藏信息,無后續(xù)分段,則提取當(dāng)前RTP包中的隱藏信息,設(shè)置接收標(biāo)志,重置接收緩沖區(qū)指針,返回;步驟(2.5.5)在STM層,按以下步驟處理步驟(2.5.5.1)檢査接收標(biāo)志,判斷SAE層是否收到完整新幀,步驟(2.5.5.2)在SAE層收到完整新幀后,把SAE層的接收緩存復(fù)制到STM層的接收緩沖區(qū),清空SAE層的接收緩存,重置接收標(biāo)志,步驟(2.5.5.3)根據(jù)當(dāng)前連接狀態(tài),調(diào)用不同的處理函數(shù),對(duì)所收到的幀進(jìn)行處理;步驟(2.5.6)有新的STMDU到達(dá)時(shí),SIA層取走機(jī)密信息。本發(fā)明有以下優(yōu)點(diǎn)1.該隱蔽系統(tǒng)具有適應(yīng)性。與現(xiàn)有的流媒體信息信息隱藏方法相比,此種分層方法能屏蔽由載體不同對(duì)隱藏方法和傳輸方法的限制。2.隱蔽通信的應(yīng)用的設(shè)計(jì)與通信系統(tǒng)是分開的,同時(shí)與隱藏算法也是分開的,通信系統(tǒng)對(duì)隱蔽應(yīng)用提供統(tǒng)一的可靠傳輸服務(wù)。圖l.系統(tǒng)運(yùn)行示意圖。圖2.系統(tǒng)模塊圖。圖3.隱藏模塊分層示意圖。圖4.STM層連接狀態(tài)轉(zhuǎn)移圖。圖5.系統(tǒng)運(yùn)行示意圖。具體實(shí)施方式硬件環(huán)境兩臺(tái)用網(wǎng)絡(luò)設(shè)備鏈接好的電腦終端,電腦終端上均具有音頻采集設(shè)備(如麥克風(fēng))和音頻輸出設(shè)備(如耳機(jī))。系統(tǒng)的模塊劃分流媒體傳輸初始化模塊、音頻輸入模塊、音頻輸出模塊、隱蔽通信嵌入模塊、隱蔽通信提取模塊、流媒體傳輸模塊。系統(tǒng)模塊示意圖見附圖2。1.流媒體傳輸初始化模塊該模塊的主要功能是,為兩臺(tái)電腦終端進(jìn)行流媒體傳輸建立傳輸通道,例如用會(huì)話初始化協(xié)議(SessionInitiationProtocolSIP)來完成會(huì)話建立即流媒體傳輸?shù)某跏蓟ぷ?。該模塊的初始化工作包括流媒體傳輸?shù)哪康慕K端的網(wǎng)絡(luò)地址,流媒體的文件格式。2.音頻輸入模塊該模塊的主要功能是在流媒體傳輸初始化完成后,通過電腦終端的音頻采集設(shè)備(如話筒)采集語音數(shù)據(jù),并將原始的語音數(shù)據(jù)通過特定的編碼方式轉(zhuǎn)換成語音編碼,并把這些編碼之后得到的文件封裝成待發(fā)送的數(shù)據(jù)包。該模塊的初始化工作是在流媒體傳輸初始化完成之后才開始進(jìn)行,包括檢査音頻采集設(shè)備是否運(yùn)轉(zhuǎn)正常,音頻數(shù)據(jù)接收端口以及發(fā)送端口是否被占用。該模塊的輸入是由音頻釆集設(shè)備采集到的原始的沒有經(jīng)過任何編碼處理的語音數(shù)據(jù),輸出是經(jīng)過封裝的語音編碼數(shù)據(jù)包。3.音頻輸出模塊該模塊的功能是在電腦終端接收到流媒體文件后,將這些被封裝的語音編碼數(shù)據(jù)包通過特定的解碼方式轉(zhuǎn)換成原始的語音數(shù)據(jù),并把這些語音數(shù)據(jù)通過音頻輸出設(shè)備(如耳機(jī))播放出來。該模塊的初始化工作是在流媒體傳輸初始化完成之后才開始進(jìn)行,檢査音頻輸出設(shè)備是否正常。該模塊的輸入是經(jīng)過封裝的語音編碼數(shù)據(jù)包,輸出是原始的語音數(shù)據(jù)。4.機(jī)密信息嵌入模塊該模塊的功能是將機(jī)密信息嵌入到已經(jīng)封裝好的語音編碼數(shù)據(jù)包中。初始化工作包括,各緩沖區(qū)清零,確定待嵌入的機(jī)密信息和隱藏載體。該模塊的輸入為待隱藏的機(jī)密信息和作為隱藏載體的己經(jīng)封裝好的語音編碼數(shù)據(jù);輸出為已經(jīng)嵌入機(jī)密信息的語音編碼數(shù)據(jù)包即隱藏對(duì)象。5.機(jī)密信息提取模塊該模塊的功能是將機(jī)密信息從封裝好的語音編碼數(shù)據(jù)包中提取出機(jī)密信息。初始化工作包括,清空整個(gè)緩沖區(qū)。該模塊的輸入為已經(jīng)嵌入機(jī)密信息的語音編碼數(shù)據(jù)包即隱藏對(duì)象;輸出為機(jī)密信息和語音編碼數(shù)據(jù)包。6.流媒體傳輸模塊該模塊的功能是,利用現(xiàn)有的網(wǎng)絡(luò)傳輸協(xié)議來完成流媒體文件即封裝好的語音數(shù)據(jù)包的傳輸工作,并能保證所有數(shù)據(jù)能準(zhǔn)確無誤的、及時(shí)的從源電腦終端到達(dá)目的電腦終端。該模塊的初始化工作包括,檢査流媒體傳輸信道是否已經(jīng)成功建立,待傳輸?shù)臄?shù)據(jù)包是否準(zhǔn)備完畢。由于該模塊的功能是將數(shù)據(jù)從一個(gè)電腦終端傳輸?shù)搅硪粋€(gè)電腦終端,所以該模塊的輸入和輸出都是封裝好的語音編碼數(shù)據(jù)包。隱蔽通信模塊分層模型機(jī)密信息的提取實(shí)際上是機(jī)密信息嵌入過程的逆過程,兩個(gè)模塊的工作原理基本一樣,只是對(duì)數(shù)據(jù)的處理順序是相反的,因此機(jī)密信息的嵌入和提取兩個(gè)模塊也可以合成一個(gè)模塊即隱蔽通信模塊。隱蔽通信分層模型的核心思想是層次分工。隱藏算法、隱蔽應(yīng)用都是多樣的,這就要求隱蔽通信系統(tǒng)具有適應(yīng)性首先通信系統(tǒng)的設(shè)計(jì)應(yīng)當(dāng)與隱藏算法分開,使得隱藏算法只需要針對(duì)無差別的語音編碼數(shù)據(jù),而不必關(guān)心這些編碼的具體意義。其次隱蔽應(yīng)用的設(shè)計(jì)應(yīng)當(dāng)與通信系統(tǒng)分開,同時(shí)也與隱藏算法分開,通信系統(tǒng)對(duì)隱蔽應(yīng)用提供統(tǒng)一的可靠傳輸服務(wù)。經(jīng)上述分析可見,隱蔽通信系統(tǒng)應(yīng)當(dāng)分成至少3個(gè)層次,最上層是隱蔽應(yīng)用,它的作用對(duì)象是機(jī)密信息;最下層是隱藏算法,它的作用對(duì)象是一般化的碼流;而在這兩層之間必定要有一層,對(duì)上提供可靠的傳輸服務(wù),對(duì)下組織一般化的碼流,同時(shí)通過一定的機(jī)制保證信息傳遞的同步以及克服傳輸中的差錯(cuò)。流媒體隱蔽通信由3個(gè)獨(dú)立的邏輯層次構(gòu)成,將隱蔽通信模型劃分為3個(gè)獨(dú)立的邏輯層次,艮卩隱蔽M/(言適酉己禾口執(zhí)fi"層(SAE,SteganographicAdaptation&Executionlayer),隱蔽傳輸管理層(STM,SteganographicTransmissionManagementlayer)禾口隱蔽信息應(yīng)用層(SIA,Steganographicinformationapplicationlayer)。隱蔽通信分層示意圖見附圖3。1.隱蔽通信適配和執(zhí)行層(SAE)這一層負(fù)責(zé)將上層STM派發(fā)的數(shù)據(jù)單元STMDU嵌入到流媒體載體中,以及提取流媒體載體中攜帶的STMDU。因?yàn)榱髅襟w載體不同,使用隱藏算法不同,其隱藏容量也就不同。SAE層需要屏蔽這些差異,對(duì)上層提供一致信息隱藏接口,實(shí)現(xiàn)透明的STMDU傳輸服務(wù)。SAE層內(nèi)部定義的操作包括以下內(nèi)容。第一,STMDU和標(biāo)志位的嵌入和提取,這是自然的。第二,根據(jù)隱藏算法支持的最大傳輸單元(MTU)將STMDU分段為SAEDU,以及將收到的SAEDU重組,形成完整的STMDU,完成"適配"操作,需要維護(hù)是否還有后續(xù)分組的標(biāo)記。第三,借助流媒體通信提供的相關(guān)信息(例如RTP的序列號(hào)),實(shí)現(xiàn)SAEDU的丟包檢驗(yàn)。一個(gè)SAEDU的丟失意味著整個(gè)STMDU不能正確接收,已經(jīng)接收的不完整的STMDU也被丟棄,等待對(duì)方重傳。第四,標(biāo)記或識(shí)別一個(gè)流媒體分組中是否攜帶有機(jī)密信息。綜上所述,SAE對(duì)STM提供的服務(wù)是實(shí)現(xiàn)STMDU的透明發(fā)送和接收,通過下面2個(gè)接口原語來實(shí)現(xiàn)。(1)Embed;該原語將STMDU嵌入到相應(yīng)流媒體載體中。(2)Extract;該原語將接收到SAEDU重組,向STM提交STMDU。SAE層數(shù)據(jù)結(jié)構(gòu)及說明見表1。2.隱蔽傳輸管理層(STM)STM定義的功能是提供機(jī)密信息的可靠隱蔽傳輸服務(wù),包括同步控制、差錯(cuò)檢測(cè)和流量控制。第一,同步控制和差錯(cuò)檢測(cè)采用序號(hào)確認(rèn)機(jī)制實(shí)現(xiàn),類似于TCP協(xié)議中的同步和重傳。所不同的是在隱蔽通信模型中采用面向STMDU而非面向字節(jié)的序號(hào)。STMDU中不可避免要攜帶分組長(zhǎng)度。SAE出于隱藏容量的限制并沒有提供數(shù)據(jù)的長(zhǎng)度,機(jī)密信息提取算法只能提取所有可能的隱蔽數(shù)據(jù),但并不清楚這些數(shù)據(jù)是否都是機(jī)密數(shù)據(jù)。當(dāng)STMDU中攜帶了長(zhǎng)度,一個(gè)STMDU的確認(rèn)就等價(jià)于這個(gè)長(zhǎng)度的數(shù)據(jù)也被確認(rèn)。第二,隱蔽通信系統(tǒng)需要維護(hù)一個(gè)有限狀態(tài)機(jī)。需要說明,狀態(tài)設(shè)置要考慮到流媒體發(fā)送接收可能是異步的,而不由STM決定,在每一個(gè)狀態(tài)中響應(yīng)行為要么發(fā)送,要么接收,而不能兼有。狀態(tài)的維護(hù)需要若干標(biāo)志位,例如同步位SYN,確認(rèn)序號(hào)有效位ACK,結(jié)束位FIN。設(shè)置SYN的意義在于聲明本方的初始序列號(hào),ACK位的意義在于確認(rèn)對(duì)方的序列號(hào)。這一位通常只在第一幀中不被設(shè)置,因?yàn)榇藭r(shí)還沒有確認(rèn)對(duì)方的初始序列號(hào)。第三,STM包含應(yīng)用類型的標(biāo)志域,使得不同的隱蔽應(yīng)用可以同時(shí)通過一條隱蔽信道傳輸,可以對(duì)應(yīng)用類型定義優(yōu)先級(jí)以保證緊急任務(wù)先被執(zhí)行。第四,流量控制采用滑動(dòng)窗口機(jī)制實(shí)現(xiàn)??紤]到流媒體本身就是周期性的,而且存在網(wǎng)絡(luò)延時(shí),因此從一個(gè)分組的發(fā)送到被確認(rèn)之間的時(shí)間不可忽略?;瑒?dòng)窗口協(xié)議可以提高信道的利用率,具體的窗口長(zhǎng)度和協(xié)議需要根據(jù)流媒體應(yīng)用、隱藏容量、網(wǎng)絡(luò)環(huán)境等因素綜合考慮??梢?,STM提供可靠的機(jī)密信息隱蔽傳輸服務(wù)。因此,我們?cè)赟TM定義了如下原語。(1)SEND;該原語完成不定長(zhǎng)度的機(jī)密數(shù)據(jù)的可靠發(fā)送。(2)RECEIVE;該原語完成機(jī)密數(shù)據(jù)的可靠接收。(3)C0NNECT;該原語負(fù)責(zé)初始化STM對(duì)等端,同步序列號(hào)。("DISCONNECT;該原語負(fù)責(zé)中斷STM傳輸。(5)LISTEN;該原語的功能是監(jiān)聽來自對(duì)等端的請(qǐng)求。STM層的數(shù)據(jù)結(jié)構(gòu)及介紹見表2。'同步控制和差錯(cuò)檢測(cè)是采用序號(hào)確認(rèn)機(jī)制來實(shí)現(xiàn)。這種機(jī)制類似于TCP協(xié)議中的同步和重傳。不過,所不同的是TCP通過面向字節(jié)的序列號(hào)保證可靠提交,但在隱蔽通信模型中,一個(gè)面向STMDU的序號(hào)機(jī)制可能會(huì)更好。第一,STMDU中不可避免要攜帶分組長(zhǎng)度。SAE層出于隱藏容量的限制并沒有提供數(shù)據(jù)的長(zhǎng)度,隱藏算法只能提取所有可能的隱藏?cái)?shù)據(jù),即一個(gè)MTU的數(shù)據(jù),但并不清楚這些數(shù)據(jù)是否都是機(jī)密數(shù)據(jù)。當(dāng)STMDU中攜帶了長(zhǎng)度,一個(gè)STMDU的確認(rèn)就等價(jià)于這個(gè)長(zhǎng)度的數(shù)據(jù)也被確認(rèn)。第二,一個(gè)長(zhǎng)度域和一個(gè)面向分組的序號(hào)域相加大致相當(dāng)于一個(gè)面向字節(jié)的序號(hào)域,與兩個(gè)面向字節(jié)的序號(hào)域相比,采用兩個(gè)面向分組的序號(hào)和一個(gè)長(zhǎng)度,可以相當(dāng)于節(jié)省一個(gè)長(zhǎng)度域。STM層的流量控制采用滑動(dòng)窗口機(jī)制實(shí)現(xiàn)??紤]到流媒體本身就是周期性的,而且存在網(wǎng)絡(luò)延時(shí),因此從一個(gè)分組的發(fā)送到被確認(rèn)之間的時(shí)間不可忽略?;瑒?dòng)窗口協(xié)議可以提高信道的利用率,具體的窗口長(zhǎng)度和協(xié)議需要根據(jù)流媒體應(yīng)用、隱藏容量、網(wǎng)絡(luò)環(huán)境等因素綜合考慮。STM層的幀格式見表3,其中各個(gè)域的涵義見表4。STM層的連接狀態(tài)定義見表5。連接狀態(tài)轉(zhuǎn)移示意圖見附圖4。3.信息隱藏應(yīng)用層(SIA)SIA完成人機(jī)接口,適應(yīng)多種交互模式,例如即時(shí)消息和存儲(chǔ)文件。SIA向STM屏蔽應(yīng)用類型的差異,提供統(tǒng)一的機(jī)密信息數(shù)據(jù)凈荷。在SIA上看傳輸帶寬受隱藏容量和實(shí)際網(wǎng)絡(luò)環(huán)境的限制,STM可能阻塞SIA的發(fā)送。在接收方STM向SIA提交數(shù)據(jù)凈荷,SIA根據(jù)接收到的應(yīng)用類型,采用相應(yīng)交互方式和用戶接口來進(jìn)行隱蔽通信。SIA層的數(shù)據(jù)結(jié)構(gòu)和操作系統(tǒng)相關(guān),我們?cè)赪indows平臺(tái)上采用了MFC提供的控件,見表6。在此我們對(duì)部分非核心的控件略去不提。隱蔽通信的整個(gè)步驟如下步驟l:用戶l輸入目的地網(wǎng)絡(luò)地址,系統(tǒng)往用戶2終端發(fā)送流媒體傳輸請(qǐng)求;步驟2:用戶2在收到請(qǐng)求之后作出應(yīng)答,同意進(jìn)行流媒體文件傳輸,同時(shí)啟動(dòng)語音采集和音頻輸出模塊;步驟3:用戶l在收到應(yīng)答之后啟動(dòng)音頻輸入和音頻輸出模塊;步驟4:用戶1和用戶2開始進(jìn)行流媒體傳輸;下面開始是隱蔽通信發(fā)送段的步驟SIA層步驟5.1:用戶1在SIA層提供的人機(jī)接口輸入待傳輸?shù)臋C(jī)密信息,機(jī)密信息被復(fù)制到STM層的相應(yīng)的發(fā)送緩沖區(qū),并記錄數(shù)據(jù)長(zhǎng)度;STM層步驟5.2.1:檢查超時(shí)門限是否已經(jīng)超過預(yù)設(shè)的上限,如果沒有超過則繼續(xù),如果超過超時(shí)門限上限,則重傳,步驟5.2.2;如果超過了則返回錯(cuò)誤,通知應(yīng)用程序;步驟5.2.2:對(duì)發(fā)送緩存表中所有的幀,定時(shí)器加l;步驟5.2.3:檢査發(fā)送標(biāo)志,如果沒有被重置,說明SIA層還在繼續(xù)發(fā)送,STM層不能繼續(xù)操作,就此返回。如果被重置,說明SIA層空閑,此時(shí)可以繼續(xù)下一個(gè)步驟;步驟5.2.4:如果有新收到的幀,則將超時(shí)門限重置為最低門限,或重新計(jì)算超時(shí)門限。判斷方法是檢查最后收到的確認(rèn)號(hào)前一個(gè)序號(hào)的幀是否還在緩存;步驟5.2.5:釋放已經(jīng)被確認(rèn)的緩存幀;步驟5.2.6:首先在發(fā)送緩存表中查找一個(gè)等待時(shí)間最長(zhǎng)的幀,然后比較這一幀的等待時(shí)間是否超過了超時(shí)門限上限,如果超時(shí)則重傳這一幀;步驟5.2.7:如果發(fā)送窗口已經(jīng)被填滿,那么不能繼續(xù)發(fā)送新幀,就此返回;步驟5.2.8:準(zhǔn)備制作新的一幀,根據(jù)當(dāng)前連接狀態(tài),調(diào)用不同的處理函數(shù),決定是否有新幀要發(fā)送以及新幀的內(nèi)容。SAE層步驟5.3.1:如果當(dāng)前發(fā)送幀緩沖區(qū)長(zhǎng)度為0,且STM層設(shè)置了發(fā)送標(biāo)志,則復(fù)制STM層的當(dāng)前幀到SAE層的發(fā)送幀緩沖區(qū),記錄幀的總長(zhǎng)度,重置發(fā)送標(biāo)志;步驟5.3.2:如果經(jīng)過步驟l后,當(dāng)前發(fā)送幀緩沖區(qū)長(zhǎng)度不為0,則執(zhí)行步驟3,否則轉(zhuǎn)到步驟5.3.4;步驟5.3.3:根據(jù)隱藏容量和剩余待發(fā)送數(shù)據(jù)的長(zhǎng)度取適當(dāng)?shù)拈L(zhǎng)度執(zhí)行嵌入,并嵌入隱蔽信息標(biāo)志,如果此時(shí)待發(fā)送數(shù)據(jù)長(zhǎng)度不為0,則嵌入有后續(xù)分段標(biāo)志,否則嵌入無后續(xù)分段標(biāo)志,返回;步驟5.3.4:嵌入不含有隱蔽信息標(biāo)志;下面是隱蔽通信接收端的步驟SAE層步驟6.1.1:提取是否有隱蔽信息標(biāo)志到局部變量Enable,無隱蔽信息時(shí)為l,有隱蔽信息時(shí)為O;提取是否有后續(xù)分段標(biāo)志到局部變量Follow,有后續(xù)分段時(shí)為l,無后續(xù)分段時(shí)為0;檢查RTP序列號(hào)是否連續(xù),記錄到局部變量Continue,不連續(xù)為1,連續(xù)為0。此外還有SAE層的成員變量Perturb,之前有丟包時(shí)為1,沒有發(fā)生丟包為0;步驟6.1.2:記錄當(dāng)前RTP包的序號(hào)。計(jì)算局部變量二Co油'"i/ex1000+£>7"Z/ex100+T^tw/^x10+Fo〃cw步驟6.1.3:如果A^21000,清空SAE的接收緩存,設(shè)置Perturb標(biāo)志,返回;步驟6.1.4:如果/^>^100或者&>;=10,重置Perturb標(biāo)志,返回;步驟6.1.5:如果7^少<10,提取當(dāng)前RTP包中的隱蔽信息,保存到接收緩沖區(qū);步驟6.1.6:如果/^>;=0,設(shè)置接收標(biāo)志,重置接收緩沖區(qū)指針,返回;STM層步驟6.2.1:檢查接收標(biāo)志,如果沒有被設(shè)置說明SAE層還未收到完整新幀,就此返回;步驟6.2.2:將SAE層的接收緩存復(fù)制到STM層的接收緩沖區(qū),清空SAE層的緩存,重置接收標(biāo)志;步驟6.2.3:根據(jù)當(dāng)前連接狀態(tài)調(diào)用不同的處理函數(shù),對(duì)新收到的幀做處理;SIA層步驟6.3:當(dāng)有新的STMDU到達(dá),都會(huì)通知應(yīng)用層試圖取走數(shù)據(jù)。應(yīng)用層會(huì)在接收緩沖區(qū)中查找到字符串結(jié)束符,找到結(jié)束符后便取走數(shù)據(jù)清空緩沖區(qū)。運(yùn)行實(shí)例用戶1終端的網(wǎng)絡(luò)地址設(shè)為192.168.1.2,用戶2終端的網(wǎng)絡(luò)地址設(shè)為192.168.1.3,語音壓縮編碼方式選擇為G.711u。用戶1在系統(tǒng)界面上輸入目的終端用戶2的網(wǎng)絡(luò)地址,向用戶2發(fā)送流媒體傳輸請(qǐng)求。用戶2在收到來自用戶1的流媒體傳輸請(qǐng)求之后,用戶2同意流媒體傳輸,并向用戶1發(fā)送一個(gè)同意的請(qǐng)求。用戶1收到來自用戶2同意流媒體傳輸?shù)南⒑?,給用戶2回復(fù)一個(gè)確認(rèn)消息,同時(shí),用戶1終端的麥克風(fēng)開始采集語音,并把這些采集到的語音數(shù)據(jù)壓縮成G.711編碼文件,編碼文件被封裝成RTP數(shù)據(jù)包,通過網(wǎng)絡(luò)發(fā)送給目的終端用戶2。用戶2在收到來自用戶1的確認(rèn)消息后也開始在采集語音,將語音數(shù)據(jù)壓縮編碼,封裝成RTP數(shù)據(jù)包,把數(shù)據(jù)包發(fā)往目的終端用戶1。用戶1和用戶2之間的流媒體傳輸開始之后,用戶1就可以與用戶2進(jìn)行隱蔽通信了。用戶1在系統(tǒng)界面上輸入要傳輸?shù)臋C(jī)密信息,輸入框中的字符串被復(fù)制到STM層的相應(yīng)的發(fā)送緩沖區(qū),并記錄數(shù)據(jù)長(zhǎng)度。STM層從發(fā)送緩沖區(qū)取出數(shù)據(jù),在此數(shù)據(jù)編碼之前添加一些特定的比特位,組成機(jī)密信息數(shù)據(jù)幀,并將此數(shù)據(jù)幀送往SAE層。在SAE層從上層送來的數(shù)據(jù)幀被嵌入到封裝好的RTP包中。G711u編碼下的LSB嵌入方法比較固定,這種編碼方式的最低有效位是沒個(gè)語音幀的最后一個(gè)比特位,在SAE層每個(gè)封裝好的RTP包中的語音幀中的最后一個(gè)比特?cái)?shù)據(jù)將被替換在STM層形成的成機(jī)密信息數(shù)據(jù)幀的其中一個(gè)比特?cái)?shù)據(jù)。用戶2終端在收到RTP數(shù)據(jù)包之后,對(duì)各個(gè)STM數(shù)據(jù)幀各標(biāo)志位逐個(gè)査看,再査看RTP序列號(hào)是否連續(xù),通過計(jì)算公式計(jì)算出數(shù)據(jù),在根據(jù)數(shù)據(jù)判斷該RTP包是否含有機(jī)密信息。如果含有機(jī)密信息,則將該數(shù)據(jù)包放入相應(yīng)的緩沖區(qū),等待STM層對(duì)其進(jìn)行處理。STM層對(duì)含有機(jī)密信息的數(shù)據(jù)包進(jìn)行逐層解包,去掉系統(tǒng)添加的各個(gè)標(biāo)志位,將機(jī)密信息提取出來并重組成完整的機(jī)密信息。最后由SIA層將機(jī)密信息呈現(xiàn)給用戶2。系統(tǒng)運(yùn)行示意圖見附圖5。表lSAE層的數(shù)據(jù)結(jié)構(gòu)<table>tableseeoriginaldocumentpage0</column></row><table>表2STM層的通用數(shù)據(jù)結(jié)構(gòu)<table>tableseeoriginaldocumentpage0</column></row><table>表3STM層的幀格式<table>tableseeoriginaldocumentpage0</column></row><table>表4STM層幀格式的各個(gè)域的涵義<table>tableseeoriginaldocumentpage0</column></row><table>表5STM層上的連接狀態(tài)<table>tableseeoriginaldocumentpage0</column></row><table>表6SIA層的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)說明即時(shí)消息編輯窗口使用CEdit控件,用戶在此編輯即時(shí)消息即時(shí)消息顯示窗口使用CRichEdit控件,通信雙方發(fā)送的即時(shí)消息和系統(tǒng)提示信息都會(huì)顯示在這個(gè)窗口發(fā)送文件的路徑保存將要發(fā)送的文件路徑,由"打開文件"的通用對(duì)話框得到接收文件的文件名保存此文件名以緩存文件,并顯示在"保存文件"的通用對(duì)話框中發(fā)送文件對(duì)象CFile對(duì)象,用以操作發(fā)送文件接收文件對(duì)象CFile對(duì)象,用以操作接收緩存文件接收文件的總長(zhǎng)度用以判斷文件是否接收完成,并用來計(jì)算接收進(jìn)度當(dāng)前接收的文件長(zhǎng)度累加量,記錄當(dāng)前已經(jīng)接收的文件長(zhǎng)度發(fā)送文件步驟標(biāo)記表示現(xiàn)在已經(jīng)進(jìn)行到發(fā)送文件過程的第幾個(gè)步驟接收文件步驟標(biāo)記表示現(xiàn)在已經(jīng)進(jìn)行到接收文件過程的第幾個(gè)步驟權(quán)利要求1.基于分層模型的流媒體隱蔽通信方法,其特征在于所述方法是在兩臺(tái)用網(wǎng)絡(luò)設(shè)備連接的電腦終端上依次按以下步驟實(shí)現(xiàn)的步驟(1)初始化在源電腦終端上,設(shè)立音頻輸入模塊,機(jī)密信息嵌入模塊,流媒體傳輸模塊,以及流媒體傳輸初始化模塊,在目的電腦終端上,設(shè)立音頻輸出模塊,機(jī)密信息提取模塊,流媒體傳輸模塊,以及流媒體傳輸初始化模塊,所述流媒體傳輸初始化模塊,設(shè)有流媒體傳輸?shù)哪康慕K端的網(wǎng)絡(luò)地址輸入窗口以及流媒體的文件格式輸入窗口,以及為所選兩臺(tái)電腦終端進(jìn)行流媒體傳輸所用的會(huì)話初始化協(xié)議,相應(yīng)的,向流媒體傳輸模塊輸出所選目的終端的網(wǎng)絡(luò)地址和流媒體的文件格式,所述音頻輸入模塊,用音頻采集設(shè)備采集濟(jì)源市語音數(shù)據(jù),依次經(jīng)過編碼、封裝后形成待發(fā)送的語音編碼數(shù)據(jù)包,再向隱蔽通信嵌入模塊輸出,所述音頻輸出模塊,輸入端與所述流媒體傳輸模塊的輸出端相連,把收到的被封裝的語音編碼數(shù)據(jù)包解碼,大額到原始語音數(shù)據(jù),再通過音頻輸出設(shè)備播放出來,所述流媒體傳輸模塊,利用設(shè)定的網(wǎng)絡(luò)傳輸協(xié)議來準(zhǔn)確無誤的完成封裝好的語音編碼數(shù)據(jù)包的傳輸工作,及時(shí)的從源電腦終端送達(dá)目的電腦終端,所述機(jī)密信息嵌入模塊,設(shè)有待隱藏的機(jī)密信息輸入端口,以及來自所述音頻輸入模塊的語音編碼數(shù)據(jù)包的輸入端口,輸出為送往源電腦終端的流媒體傳輸模塊的已經(jīng)嵌入機(jī)密信息的語音編碼數(shù)據(jù)包,所述機(jī)密信息提取模塊,輸入為來自目的電腦終端流媒體傳輸模塊的已經(jīng)嵌入機(jī)密信息的語音編碼數(shù)據(jù)包,輸出為機(jī)密信息,以及送往音頻輸出模塊的語音編碼數(shù)據(jù)包,訴述機(jī)密信息嵌入模塊和機(jī)密信息提取模塊組成一個(gè)隱藏通信模塊,含有隱蔽通信應(yīng)用層SIA、隱蔽傳輸管理層STM和隱蔽通信適配和執(zhí)行層SAE,其中隱蔽通信應(yīng)用層SIA,輸入端與所述音頻輸入模塊的語音編碼數(shù)據(jù)包的輸出端相連,同時(shí)提供人機(jī)接口,輸入用戶待傳輸?shù)臋C(jī)密信息,把該機(jī)密信息復(fù)制到隱蔽傳輸管理層STM的相應(yīng)的發(fā)送緩沖區(qū),同時(shí),還在Windows平臺(tái)上采用微軟基本類程序庫MFC提供的SIA層的數(shù)據(jù)結(jié)構(gòu)處理輸入數(shù)據(jù),記錄機(jī)密信息的長(zhǎng)度及接收文件的總長(zhǎng)度;隱蔽傳輸管理層STM,其中定義了以下原語SEND,表示完成不定長(zhǎng)度的機(jī)密數(shù)據(jù)的可靠發(fā)送,RECEIVE,該原語完成機(jī)密數(shù)據(jù)的可靠接收,CONNECT,該原語負(fù)責(zé)初始化STM對(duì)等端,為同步序列號(hào),DISCONNECT,該原語負(fù)責(zé)中斷STM傳輸,LISTEN,該原語的功能是監(jiān)聽來自對(duì)等端的請(qǐng)求,同時(shí),定義了以下數(shù)據(jù)結(jié)構(gòu),SIA層數(shù)據(jù)發(fā)送緩存、SIA層數(shù)據(jù)接收緩存,當(dāng)前待發(fā)送幀緩存,當(dāng)前接收幀緩存,當(dāng)前連接狀態(tài),當(dāng)前序列號(hào),最后收到的確認(rèn)號(hào),最后收到的序列號(hào),超時(shí)門限,此外,又定義了以下STM層的8比特的幀格式,其中包括SYN,1比特,位于第0比特位,用于建立連接,聲明起始序列號(hào),ACK,1比特,位于第1比特位,確認(rèn)標(biāo)志域,表示確認(rèn)序列號(hào)有效,F(xiàn)IN,1比特,位于第2比特位,結(jié)束標(biāo)志域,用于結(jié)束一個(gè)連接,LENGTH,5比特,位于第3-7比特位,表示除了頭部以外的STM層幀攜帶的數(shù)據(jù)長(zhǎng)度,SEQ,3比特,位于第0-2比特位,為STM層幀序列號(hào),ANN,3比特,位于第3-5比特位,表示STM層幀攜帶的確認(rèn)序列號(hào),TYPE,2比特,位于第6、第7比特位,為應(yīng)用類型標(biāo)志,根據(jù)應(yīng)用類型向SIA層提交數(shù)據(jù),其中,應(yīng)用類型包括即時(shí)消息和文件兩種,針對(duì)兩種不同應(yīng)用類型,系統(tǒng)分別采用相應(yīng)的處理函數(shù),DATA,0-31字節(jié),為STM層幀攜帶的數(shù)據(jù)凈荷;所述一個(gè)STM幀構(gòu)成了一個(gè)面向STM的隱蔽傳輸管理層數(shù)據(jù)單元STMDU,在所述STM層還設(shè)立了下屬各連接狀態(tài)IDLE,表示系統(tǒng)處于連接空閑狀態(tài),等待連接到達(dá),已被發(fā)送或接收,SYN-SENT,表示已經(jīng)發(fā)送SYN,等待接收SYN+ACK,“+”號(hào)表示“與”SYN-CONF,表示已經(jīng)接收SYN+ACK,準(zhǔn)備發(fā)送ACK,SYN-RECV,已經(jīng)接收SYN,準(zhǔn)備發(fā)送SYN+ACK,SYN-REPL,表示已經(jīng)發(fā)送SYN+ACK,等待接收ACK,ESTAB,適時(shí)發(fā)送FIN,并準(zhǔn)備接收FIN,F(xiàn)IN-RECV,表示已經(jīng)接收FIN,準(zhǔn)備發(fā)送ACK或ACK+FIN,WAIT,表示已經(jīng)發(fā)送FIN,等待接收ACK或ACK+FIN,CLOSING,表示已經(jīng)接收ACK,等待接收FIN,LAST-ACK,表示已經(jīng)接收FIN,準(zhǔn)備發(fā)送ACK,PERSIST,表示已經(jīng)發(fā)送ACK,準(zhǔn)備發(fā)送FIN,OVER,表示已經(jīng)發(fā)送FIN,等待接收ACK,所述STM層分別在發(fā)送過程和接收過程中為隱蔽通信應(yīng)用層SIA和隱蔽通信適配和執(zhí)行層SAE提供機(jī)密信息的可靠隱蔽傳輸服務(wù),隱蔽通信適配和執(zhí)行層,設(shè)有下列數(shù)據(jù)結(jié)構(gòu)大小為一個(gè)STMDU的發(fā)送緩沖區(qū),大小為一個(gè)STMDU加一個(gè)隱蔽通信適配和執(zhí)行數(shù)據(jù)單元SAEDU的接收緩沖區(qū),發(fā)送緩沖區(qū)讀指針,接收緩沖區(qū)寫指針,用以判斷是否發(fā)送完一個(gè)STMDU的發(fā)送緩沖區(qū)剩余數(shù)據(jù)長(zhǎng)度,實(shí)時(shí)傳輸協(xié)議RTP序列號(hào)緩存,接收標(biāo)志和丟包標(biāo)志,隱蔽通信適配和執(zhí)行層SAE,依次按以下步驟把上層STM派發(fā)的數(shù)據(jù)單元STMDU嵌入到流媒體載體中,以及提取流媒體載體中攜帶的STMDU,其步驟如下第1步STMDU和標(biāo)志位的提取和嵌入,所述標(biāo)志位包括同步為SYN,表明源方的初始序列號(hào),確認(rèn)序號(hào)有效位ACK,對(duì)方的序列號(hào),結(jié)束位FIN,第2步根據(jù)設(shè)定的隱蔽通信的最大傳輸單元MTU把數(shù)據(jù)單元STMDU分散為隱蔽通信適配和執(zhí)行層數(shù)據(jù)單元SAEDU,提取時(shí)依據(jù)數(shù)據(jù)到達(dá)的先后順序形成完整的STMDU,第3步,用實(shí)時(shí)傳輸協(xié)議的序列號(hào)實(shí)現(xiàn)STMDU的丟包檢測(cè),第4步,標(biāo)記一個(gè)流媒體分組中是否帶有機(jī)密信息,步驟(2),依次按以下步驟進(jìn)行隱蔽通信步驟(2.1)源終端用戶輸入目的終端網(wǎng)絡(luò)地址,向目的端用戶發(fā)送流媒體傳輸請(qǐng)求,步驟(2.2)目的端用戶作出收到請(qǐng)求的應(yīng)答,啟動(dòng)音頻采集和音頻輸出模塊,步驟(2.3)源端用戶在收到應(yīng)答后啟動(dòng)音頻采集和音頻輸出模塊,步驟(2.4)依次按以下步驟進(jìn)行隱蔽通信發(fā)送步驟(2.4.1)源端用戶在所述SIA層輸入待傳輸?shù)臋C(jī)密信息,在SIA層將機(jī)密相信發(fā)送到相應(yīng)的發(fā)送緩沖區(qū),并記錄數(shù)據(jù)長(zhǎng)度,步驟(2.4.2)所述STM層依次按下述步驟進(jìn)行傳輸?shù)?步在超時(shí)門限未超過預(yù)設(shè)的上限時(shí),對(duì)發(fā)送緩存表中的所有幀,定時(shí)器加1,第2步在發(fā)送標(biāo)志被重置時(shí),執(zhí)行下一步驟,第3步在有收到新幀時(shí)把超時(shí)門限重置為最低門限,或重新計(jì)時(shí),第4步釋放發(fā)送緩存表中等待時(shí)間最長(zhǎng)的一個(gè)幀,一旦發(fā)送窗口被填滿,則返回,第5步準(zhǔn)備制作新幀,隱蔽通信適配和執(zhí)行層SAE,依次按下述步驟把上層隱蔽傳輸管理層STM待發(fā)的數(shù)據(jù)單元STMDU嵌入到流媒體載體中步驟(2.5)依次按以下步驟進(jìn)行隱蔽通信接收步驟(2.5.1)SAE層依次提取并判斷是否有隱藏信息標(biāo)志,釋放有后續(xù)分段標(biāo)志,實(shí)時(shí)傳輸協(xié)議RTP序列號(hào)是否聯(lián)系的標(biāo)志以及是否發(fā)現(xiàn)丟包的標(biāo)志,步驟(2.5.2)記錄當(dāng)前RTP包的序號(hào),步驟(2.5.3)計(jì)算局部變量Key,Key=Continue×1000+Enable×100+Perturb×10+Follow其中,Continue,表示RTP包是否連續(xù),不連續(xù)為1,連續(xù)為0,Enable,表示是否有隱藏信息,有隱藏信息為0,無隱藏信息為1,Perturb,表示是否有丟包,丟包則為1,否則為0,F(xiàn)ollow表示是否有后續(xù)分段,有后續(xù)分段就為1,無后續(xù)分段則為0,步驟(2.5.4)判斷Key的值若Key≥1000,表示RTP不連續(xù),清空SAE的接收緩存,設(shè)置Perturb標(biāo)志,返回,若Key≥100或者Key=10,表示沒有隱藏或者有丟包,重置Perturb標(biāo)志,返回,若Key<10,表示有隱藏信息,且有后續(xù)分段,提取當(dāng)前RTP包中的隱蔽信息,保存到接收緩沖區(qū),若Key=0,表示有隱藏信息,無后續(xù)分段,則提取當(dāng)前RTP包中的隱藏信息,設(shè)置接收標(biāo)志,重置接收緩沖區(qū)指針,返回;步驟(2.5.5)在STM層,按以下步驟處理步驟(2.5.5.1)檢查接收標(biāo)志,判斷SAE層是否收到完整新幀,步驟(2.5.5.2)在SAE層收到完整新幀后,把SAE層的接收緩存復(fù)制到STM層的接收緩沖區(qū),清空SAE層的接收緩存,重置接收標(biāo)志,步驟(2.5.5.3)根據(jù)當(dāng)前連接狀態(tài),調(diào)用不同的處理函數(shù),對(duì)所收到的幀進(jìn)行處理;步驟(2.5.6)有新的STMDU到達(dá)時(shí),SIA層取走機(jī)密信息。全文摘要基于分層模型的流媒體隱蔽通信方法屬于流媒體信息隱藏領(lǐng)域,其特征在于,在源端進(jìn)入互聯(lián)網(wǎng)傳輸之前、在目的端自互聯(lián)網(wǎng)輸出后分別設(shè)立了機(jī)密信息嵌入、機(jī)密信息提取模塊,共同組成了隱蔽通信模塊,該模塊依次由隱蔽應(yīng)用層、隱蔽傳輸管理層以及隱蔽傳輸適配和執(zhí)行層組成。分別執(zhí)行機(jī)密信息輸入、機(jī)密信息可靠且隱蔽的傳輸以及機(jī)密信息嵌入和提取操作,在傳輸管理層同步控制和差錯(cuò)控制均采用了序列號(hào)機(jī)制。采用了一個(gè)設(shè)定了狀態(tài)標(biāo)志位的有限狀態(tài)機(jī)來確定每一個(gè)狀態(tài)下的響應(yīng)行為,采用滑動(dòng)窗口進(jìn)行流量控制,采用一個(gè)應(yīng)用類型標(biāo)志來實(shí)現(xiàn)不同的隱蔽應(yīng)用在同一條傳輸信道上按優(yōu)先級(jí)進(jìn)行傳輸。本發(fā)明具有適應(yīng)性廣、傳輸可靠的優(yōu)點(diǎn)。文檔編號(hào)H04L29/06GK101267293SQ20081010440公開日2008年9月17日申請(qǐng)日期2008年4月18日優(yōu)先權(quán)日2008年4月18日發(fā)明者磊熊,博肖,黃永峰申請(qǐng)人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
康乐县| 松江区| 江口县| 沁阳市| 休宁县| 张家界市| 湾仔区| 怀远县| 泌阳县| 安顺市| 清水县| 天镇县| 临澧县| 太仓市| 吴江市| 太和县| 黑河市| 城固县| 灌南县| 永修县| 扎赉特旗| 民权县| 体育| 南郑县| 福建省| 连平县| 墨玉县| 和硕县| 翁牛特旗| 科技| 来安县| 凉城县| 卢湾区| 棋牌| 鹤庆县| 永州市| 扬中市| 巢湖市| 新建县| 禹城市| 阿拉善左旗|