前言:本站為你精心整理了信息隱藏模型范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。
摘要:通過仔細(xì)分析HTML標(biāo)簽的各種性質(zhì),提出了幾種新的基于標(biāo)簽的隱藏信息的方法。在此基礎(chǔ)上,提出并實(shí)現(xiàn)了一個(gè)基于HTML標(biāo)簽的信息隱藏模型。該模型具有隱藏容量高、隱蔽性、魯棒性和安全性較好,并且具有彈性,能自動(dòng)調(diào)節(jié)隱藏算法的參數(shù),使得在滿足容量的前提下,盡量提高隱蔽性。
關(guān)鍵詞:超文本標(biāo)記語言;信息隱藏;數(shù)字水??;模型;標(biāo)簽;文本
隨著電子圖書版權(quán)保護(hù)、電子商務(wù)和電子政務(wù)中對(duì)電子公文的認(rèn)證和保護(hù)的迫切需求,在文本中嵌入信息或水印的研究正受到重視。根據(jù)文本的作用,文本可分為:普通文本,如.txt文檔、Word文檔或PDF文檔等;特殊文本,如HTML中的標(biāo)簽、C語言源程序的語句。這些文本其作用是供瀏覽器解析或CPU執(zhí)行的。目前針對(duì)Word、PDF等普通文本,提出了很多隱藏信息或水印的方法,主要有:①替換法[1,2],如字符替換、單詞替換、句子結(jié)構(gòu)替換;②改變格式法[3~5],通過改變格式特征如字體、字號(hào)、顏色、字間距或行間距等進(jìn)行信息隱藏;③基于語義的方法[6];④基于二值圖像的方法[7];⑤插入空白符合法[8]等。利用WWW訪問HTML網(wǎng)頁是一種非常方便的獲取信息的手段,而利用HTML網(wǎng)頁隱藏信息進(jìn)行秘密通信,或?qū)TML網(wǎng)頁嵌入水印用于保護(hù)網(wǎng)頁的知識(shí)版權(quán)或網(wǎng)站的認(rèn)證,這方面的研究卻很少見[10]。
1基于HTML超文本的信息隱藏方法
1.1HTML文件結(jié)構(gòu)簡(jiǎn)介
超文本文檔分文檔頭和文檔體兩部分。其基本結(jié)構(gòu)是:
HTMLHEAD頭部信息/HEADBODY文檔主體,正文部分/BODY/HTML
超文本文件不同于一般的純文本文件,它是由標(biāo)簽和數(shù)據(jù)兩部分組成。標(biāo)簽是用于控制數(shù)據(jù)顯示格式和效果的,由瀏覽器解析執(zhí)行的命令,相當(dāng)于程序的指令;數(shù)據(jù)即是文件中包含的能夠在瀏覽器上顯示出來的文字、圖片和動(dòng)畫等多媒體資料。標(biāo)簽用“”和“”括起來,有單標(biāo)簽和雙標(biāo)簽兩種類型。單標(biāo)簽只需單獨(dú)使用,格式是:標(biāo)簽名稱,如BR標(biāo)簽表示換行的意思;雙標(biāo)簽必須是起始標(biāo)簽和結(jié)束標(biāo)簽成對(duì)出現(xiàn),格式是:標(biāo)簽內(nèi)容/標(biāo)簽,如HTML——/HTML標(biāo)簽。大部分標(biāo)簽還可以具有屬性和屬性值,帶屬性的標(biāo)簽的格式是:標(biāo)簽名稱屬性名稱=“屬性值”。
1.2基于HTML文件的信息隱藏方法
根據(jù)超文本文件的結(jié)構(gòu)便知道,在超文本文件中隱藏信息主要有兩種策略,即在數(shù)據(jù)元素中隱藏信息和在標(biāo)簽中隱藏信息。在數(shù)據(jù)元素中隱藏信息的方法依賴于數(shù)據(jù)的類型是文字、圖像、聲音、腳本語言程序等而不同。如果元素類型是文本的話,則可應(yīng)用基于普通純文本的隱藏方法,如替換法。標(biāo)簽雖然是純文本,但由于是程序指令,有固定的諸多語法規(guī)則和約束,不能隨便照搬基于普通純文本的隱藏方法,而是需要特殊考慮。標(biāo)簽只是控制數(shù)據(jù)在瀏覽器上的表現(xiàn)形式,而不會(huì)顯示出來。如果能夠基于標(biāo)簽隱藏信息,其隱蔽性將會(huì)比較好。
目前已提出的基于超文本文件的隱藏方法有[9,10]:①在網(wǎng)頁結(jié)束標(biāo)記/HTML后或者在每行的行尾插入空格或Tab鍵隱藏信息,插入一個(gè)空格代表0,插入一個(gè)Tab代表1。像著名的水印軟件Wbstego、Stegano、InvisibleSecret等都是利用這種方法。之所以可以這樣隱藏信息,是因?yàn)闉g覽器會(huì)對(duì)HTML文件中多余的空格忽略掉,從而插入空格或Tab后不改變顯示的結(jié)果??梢酝ㄟ^連續(xù)插入任意多個(gè)符號(hào)使得隱藏的容量可以任意大,這是其優(yōu)點(diǎn);其缺點(diǎn)是每插入一個(gè)字節(jié)的信息,文件大小需增加八個(gè)字節(jié);另外,雖然隱藏信息后的文件瀏覽的結(jié)果不會(huì)改變,用記事本這樣的編輯軟件打開也不容易看出差別(但仔細(xì)看還是能看出這些不必要的空白符號(hào)的存在),但是當(dāng)文件以二進(jìn)制格式打開時(shí)其多余的空格符號(hào)一覽無遺,同時(shí),這種方法也經(jīng)不起“網(wǎng)頁減肥茶”之類的軟件處理[12]。②修改標(biāo)記名稱字符的大小寫,用大寫表示1,小寫表示0來隱藏信息。例如以大寫標(biāo)記名稱HTML代表1,以小寫的標(biāo)記名稱html代表0。這樣,一個(gè)標(biāo)記可隱藏1bit信息。方法2克服了方法1的缺點(diǎn),具有較好的隱蔽性和抗攻擊性[10]。
2幾種新的基于超文本的信息隱藏方法
2.1隱藏方法
前面的基于修改標(biāo)簽名稱字母大小寫的方法雖然克服了方法①的缺點(diǎn),具有較好的隱蔽性和抗攻擊性。但是,其隱藏容量比較小,不能滿足隱藏長(zhǎng)文本,特別是隱藏圖像的需求。
通過仔細(xì)分析HTML超文本標(biāo)記語言的語法規(guī)則后,發(fā)現(xiàn)還有以下一些資源可以用于隱藏信息。
(1)標(biāo)記屬性名稱像標(biāo)記名稱一樣對(duì)字母大小寫不敏感??梢酝ㄟ^修改標(biāo)記屬性名稱的大小寫來隱藏信息。比如,用標(biāo)記屬性名稱字母全部大寫代表1,全部小寫代表0。例如divALIGN="center"代表1,divalign="center"代表0。這樣,一個(gè)屬性名稱可隱藏1bit信息。
(2)標(biāo)記屬性可以賦值,而屬性的值是用“”括起來的字符串,屬性值字符串中的字母對(duì)大小寫不敏感??梢酝ㄟ^修改屬性值字符串的大小寫來隱藏信息。比如用屬性值字母的全部大寫代表1,全部小寫代表0。例如divalign="center"代表0,divalign="CENTER"代表1。這樣,一個(gè)字符串屬性值可隱藏1bit信息。
(3)HTML中,屬性值默認(rèn)是用雙引號(hào)括起來的,但是也可以用單引號(hào)括起來??梢詫傩灾低饷娴碾p引號(hào)“”用單引號(hào)‘’替換來隱藏信息。比如,用雙引號(hào)時(shí)代表1,單引號(hào)時(shí)代表0。例如divalign="center"代表1,而divalign=′center′代表0。這樣,一對(duì)屬性值引號(hào)可隱藏1bit信息。2.2隱藏性能分析
3.1信息隱藏模型
前面可以看到,基于HTML標(biāo)簽的隱藏方法,單一的隱藏方法容量是比較小的,只能隱藏少量的字符信息。為了滿足實(shí)際的信息隱藏的需要,必須考慮綜合采用多種隱藏方法,并采取其他一些措施在安全性、容量、隱蔽性和魯棒性之間取得折中?;诖耍疚慕⒘艘粋€(gè)基于HTML標(biāo)簽的信息隱藏模型,如圖1所示。該模型包括秘密信息的嵌入和秘密信息的提取兩部分,考慮了隱蔽性、魯棒性、安全性和容量要求。
信息在嵌入之前必須進(jìn)行預(yù)處理,預(yù)處理的主要目的是進(jìn)行壓縮、加密和糾錯(cuò)編碼處理。
這里,筆者采用的是無損壓縮方法。一種廣泛運(yùn)用的無損壓縮方法是Huffman編碼,它是基于信源字符統(tǒng)計(jì)分布的不均勻性,對(duì)出現(xiàn)概率大的字符分配較短的碼字,而對(duì)很少出現(xiàn)的字符給較長(zhǎng)的碼字,從而實(shí)現(xiàn)平均碼字較短。已經(jīng)證明,Huffman碼是一種最優(yōu)前綴碼[11]。如果隱藏的信息是英語片段,則可以根據(jù)26個(gè)字母的概率分布,對(duì)各字符進(jìn)行Huffman編碼;如果嵌入的是圖像則進(jìn)行JPEG壓縮處理;對(duì)于有些秘密信息,如中文字符串或已經(jīng)壓縮的圖像,則不進(jìn)行壓縮預(yù)處理。
保證只有合法接收者能夠提取隱藏信息是非常重要的,采取的措施是對(duì)壓縮后的數(shù)據(jù)進(jìn)行加密處理,可以根據(jù)安全性的需求選用經(jīng)典的或目前廣泛使用的加密技術(shù)。在該實(shí)驗(yàn)中,選用的是32位密鑰長(zhǎng)度的DES加密。密鑰必須通過另外的安全信道傳遞給接收方。
本文原文
為了具有一定的魯棒性,模型中對(duì)加密后的數(shù)據(jù)要進(jìn)行糾錯(cuò)編碼,以防即使一部分?jǐn)?shù)據(jù)受到攻擊也能提取出隱藏的信息。如果嵌入的是短文本,則可以使用簡(jiǎn)單的三次重復(fù)編碼,例如,要嵌入的信息是01011,則重復(fù)編碼的結(jié)果是000111000111111;但是如果嵌入的文本較長(zhǎng),則可以采用(7,4)漢明碼以便有足夠的嵌入空間;如果嵌入的是圖像,則可以不進(jìn)行糾錯(cuò)編碼,因?yàn)閳D像中即使有部分?jǐn)?shù)據(jù)錯(cuò)誤也不會(huì)有太大關(guān)系。如果容量夠的話,在嵌入之前,要對(duì)糾錯(cuò)編碼后的數(shù)據(jù)復(fù)制一份,即使得最后嵌入的數(shù)據(jù)是兩份。在嵌入數(shù)據(jù)之前,還要分析載體網(wǎng)頁的隱藏容量,并與嵌入信息的容量進(jìn)行對(duì)比,以便確定合適的隱藏算法參數(shù)。接下來,可以根據(jù)嵌入的位置逐位地進(jìn)行嵌入。
3.2模型性能分析
首先,在提高隱藏容量方面,模型采用了三方面的措施:①對(duì)隱藏信息進(jìn)行壓縮預(yù)處理;②綜合采用前面的多種隱藏方法;③修改隱藏算法的參數(shù)。
通過壓縮預(yù)處理,可以使隱藏容量大大提高。例如,普通英文文本,采用ASCII碼,每個(gè)字符需要8bits表示;如果采用Huffman碼壓縮,則可能作到平均每字符2bits左右。
幾種主要的隱藏方法的隱藏比是差不多的,因此,通過綜合運(yùn)用多種隱藏方法可以大大提高隱藏容量。例如綜合運(yùn)用方法1和2是單獨(dú)使用方法1或2的容量的兩倍左右。綜合運(yùn)用所有方法的隱藏容量是隱藏容量最高的方法的四倍以上。
修改隱藏算法的容量參數(shù)也是提高隱藏容量的好辦法。對(duì)于字母大小寫替換法,如果平均每個(gè)標(biāo)志符的長(zhǎng)度為n,則采用每個(gè)字母的大小寫均修改的辦法,可以將隱藏容量提高到原來的n倍。
在提高隱蔽性方面,模型使用兩種策略:①仔細(xì)選用隱藏算法的參數(shù),在滿足隱藏容量的要求下,調(diào)整隱藏參數(shù),以增強(qiáng)隱蔽性,如盡量使插入的空格數(shù)少,盡量使字母的大小寫變換的頻度減少。②隨機(jī)選擇嵌入位置,而不是從頭至尾連續(xù)嵌入。嵌入位置是通過隨機(jī)發(fā)生器產(chǎn)生。這里的隨機(jī)種子就是加密密鑰。
在魯棒性方面,模型采用了兩種策略,即對(duì)小信息嵌入時(shí)進(jìn)行重復(fù)嵌入和進(jìn)行糾錯(cuò)編碼。
在安全性方面,本文使用了加密策略,即在對(duì)隱藏的信息進(jìn)行壓縮后進(jìn)行加密處理,加密的結(jié)果再送到糾錯(cuò)編碼模塊。
4系統(tǒng)實(shí)現(xiàn)
本文對(duì)待隱藏的信息封裝成幀。格式如下:
(10)使用基本的算法容量參數(shù),逐個(gè)使用表1中方法在(9)所確定的標(biāo)簽中,按順序隱藏?cái)?shù)據(jù)幀中的幀頭;隱藏完幀頭后,按照(6)中確定的算法容量參數(shù),逐個(gè)使用表1中方法在(9)所確定的標(biāo)簽中,按順序隱藏?cái)?shù)據(jù)幀中的數(shù)據(jù)比特流。
(11)如果數(shù)據(jù)幀中尚有未隱藏的bit,則重復(fù)上面的(9)和(10),直到隱藏完為止。
從網(wǎng)頁中提取隱藏信息的過程正好相反。為了使得接受方在收到幀頭前,能夠使用合適的算法容量參數(shù)解隱藏,故約定對(duì)幀頭采用基本的容量參數(shù)進(jìn)行隱藏和解隱藏。對(duì)幀頭采用基本容量參數(shù)也可
提高幀頭的隱蔽性,以防攻擊。
圖2(a)是載體網(wǎng)頁——廣東水電學(xué)院的首頁,右上是使用模型隱藏了文字“HappyNewYear”后的HTML片段??梢钥闯龃藭r(shí)的隱蔽性很好,幾乎看不出HTML文本有什么特別。圖2(b)是秘密信息Lena圖像,大小是2KB,即16000bits,由于隱藏的數(shù)據(jù)量較大,故需要將所有隱藏方法的容量參數(shù)調(diào)節(jié)到最大,并且不進(jìn)行重復(fù)隱藏。右邊是隱藏Lena圖像后的HTML代碼片段,可以看出,此時(shí)的隱秘性下降。
實(shí)驗(yàn)證實(shí),對(duì)于局部的HTML代碼使用刪除空格或標(biāo)簽字符大小寫隨機(jī)替換的攻擊,有較好的抗攻擊性能。這是由于,對(duì)于小信息量的隱藏采用了糾錯(cuò)和重復(fù)隱藏措施并且隱藏的位置是隨機(jī)的;而對(duì)于圖像隱藏,則由于圖像本身具有一定的容錯(cuò)性。
5結(jié)束語
本文首先介紹利用HTML隱藏信息的研究情況;然后提出一些新的可行的基于HTML標(biāo)簽的信息隱藏方法,并在此基礎(chǔ)上給出一個(gè)基于HTML標(biāo)簽的信息隱藏模型。該模型由于是基于標(biāo)簽,其隱蔽性較好。該模型綜合了基于標(biāo)簽的多種隱藏方法,具有較大的隱藏容量;同時(shí),該模型還具有糾錯(cuò)、加密等容錯(cuò)和安全措施。該模型是一個(gè)基于HTML信息隱藏的較好的解決方案。基于文本的信息隱藏算法的一個(gè)很難克服的問題是魯棒性不如圖像等載體,不過,信息隱藏更關(guān)心的是容量、隱蔽性和安全性,而且HTML網(wǎng)頁是保存在服務(wù)器上并通過網(wǎng)絡(luò)傳遞到用戶的瀏覽器的,敵手要改變網(wǎng)頁還需要克服其他安全屏障。該基于HTML標(biāo)簽的算法和模型還是很有實(shí)用價(jià)值的。
參考文獻(xiàn):
[1]肖湘蓉,孫星明.基于內(nèi)容的英文文本數(shù)字水印算法設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2005,31(22):29-31.[2]眭新光,羅慧.一種安全的基于文本的信息隱藏技術(shù)[J].計(jì)算機(jī)工程,2004,30(19):104-105.
[3]曹衛(wèi)兵,戴冠中,夏煜,等.基于文本的信息隱藏技術(shù)[J].計(jì)算機(jī)應(yīng)用研究,2003,20(10):39-41.
[4]劉豪,孫星明,劉晉飚.基于字體顏色的文本數(shù)字水印算法[J].計(jì)算機(jī)工程,2005,31(5):129-131.
[5]劉玉玲,孫星明.通過改變文字大小在Word文檔中加載數(shù)字水印的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2005(12):110-112.
[6]MIKHAILATALLAHJ,VICTORR,CHRISTIANFH.Naturallanguagewatermarkingandtamperproofing:proc.ofthe5thInternationalInformationHidingWorkshop[C].Berlin:[s.n.],2002:196-212.
[7]王欣,張旭東.一種針對(duì)漢字文本圖像的數(shù)字水印技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2005(25):57-60.
[8]白劍,徐迎暉,楊榆.利用文本載體的信息隱藏算法研究[J].計(jì)算機(jī)應(yīng)用研究,2004,21(12):147-148.
[9]ERICC.Hidinginplainsight:steganographyandtheartofcovertcommunication[M].[S.l.]:WileyPublishingInc,2003.
[10]眭新光,羅慧.一種新的基于超文本的信息隱藏方法[J].計(jì)算機(jī)工程,2005,31(12):136-138.[11]LONGD,JIAW,LIMing.Optimalmaximalandmaximalprefixcodesequivalenttohuffmancodes:proceedingsof2002IEEEInternationalConferenceonAcoustics,Speech,andSignalProcessing(ICASSP)[C].[S.l.]:[s.n.],2002:2525-2528.
信息化工作意見 信息技術(shù) 信息技術(shù)教育 信息化建設(shè) 信息管理 信息素養(yǎng) 信息泄露論文 信息披露制度 信息安全保護(hù) 信息碩士論文 紀(jì)律教育問題 新時(shí)代教育價(jià)值觀