朱航宇20112878網(wǎng)絡(luò)安全綜合設(shè)計報告_第1頁
朱航宇20112878網(wǎng)絡(luò)安全綜合設(shè)計報告_第2頁
朱航宇20112878網(wǎng)絡(luò)安全綜合設(shè)計報告_第3頁
朱航宇20112878網(wǎng)絡(luò)安全綜合設(shè)計報告_第4頁
朱航宇20112878網(wǎng)絡(luò)安全綜合設(shè)計報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、網(wǎng)絡(luò)安全綜合設(shè)計 課題名稱:面向HTML的信息隱藏系統(tǒng) 專業(yè)班級:信安11-1 指導教師: 蘇兆品 姓 名:朱航宇 學 號:20112878一 問題描述:摘要:本程序采用B/S架構(gòu),信息隱藏者與信息提取者采用同一套代碼即可完成信息的隱藏和提取。通過仔細分析HTML標簽的各種性質(zhì),提出了一種基于HTML的隱藏信息的常用方法的改進版方法(該方法的安全性頗高)。該方法具有隱藏容量高、隱蔽性和安全性較好,使得在滿足容量的前提下,盡量提高隱蔽性和安全性。11HTML文件結(jié)構(gòu)簡介 超文本文檔分文檔頭和文檔體兩部分。其基本結(jié)構(gòu)是: HTMLHEAD頭部信息/HEADBODY文檔主體,正文部分/BODY/HT

2、ML 超文本文件不同于一般的純文本文件,它是由標簽和數(shù)據(jù)兩部分組成。標簽是用于控制數(shù)據(jù)顯示格式和效果的,由瀏覽器解析執(zhí)行的命令,相當于程序的指令;數(shù)據(jù)即是文件中包含的能夠在瀏覽器上顯示出來的文字、圖片和動畫等多媒體資料。標簽用“”和“”括起來,有單標簽和雙標簽兩種類型。單標簽只需單獨使用,格式是:標簽名稱,如BR標簽表示換行的意思;雙標簽必須是起始標簽和結(jié)束標簽成對出現(xiàn),格式是:標簽內(nèi)容/標簽,如HTML/HTML標簽。大部分標簽還可以具有屬性和屬性值,帶屬性的標簽的格式是:標簽名稱 屬性名稱“屬性值”。12基于HTML文件的信息隱藏方法 根據(jù)超文本文件的結(jié)構(gòu)便知道,在超文本文件中隱藏信息主要

3、有兩種策略,即在數(shù)據(jù)元素中隱藏信息和在標簽中隱藏信息。在數(shù)據(jù)元素中隱藏信息的方法依賴于數(shù)據(jù)的類型是文字、圖像、聲音、腳本語言程序等而不同。如果元素類型是文本的話,則可應(yīng)用基于普通純文本的隱藏方法,如替換法。標簽雖然是純文本,但由于是程序指令,有固定的諸多語法規(guī)則和約束,不能隨便照搬基于普通純文本的隱藏方法,而是需要特殊考慮。標簽只是控制數(shù)據(jù)在瀏覽器上的表現(xiàn)形式,而不會顯示出來。如果能夠基于標簽隱藏信息,其隱蔽性將會比較好。 目前已提出的基于超文本文件的隱藏方法有: 網(wǎng)頁結(jié)束標記/HTML后或者在每行的行尾插入空格或Tab鍵隱藏信息,插入一個空格代表0,插入一個Tab代表1。像著名的水印軟件Wb

4、stego、Stegano、Invisible Secret等都是利用這種方法。之所以可以這樣隱藏信息,是因為瀏覽器會對HTML文件中多余的空格忽略掉,從而插入空格或Tab后不改變顯示的結(jié)果??梢酝ㄟ^連續(xù)插入任意多個符號使得隱藏的容量可以任意大,這是其優(yōu)點;其缺點是每插入一個字節(jié)的信息,文件大小需增加八個字節(jié);另外,雖然隱藏信息后的文件瀏覽的結(jié)果不會改變,用記事本這樣的編輯軟件打開也不容易看出差別(但仔細看還是能看出這些不必要的空白符號的存在),但是當文件以二進制格式打開時其多余的空格符號一覽無遺,同時,這種方法也經(jīng)不起“網(wǎng)頁減肥茶”之類的軟件處理。故本程序也采用這種方法,但是為了提高安全性,

5、加強本程序所隱藏信息之后被攻擊者破解的能力,我又在現(xiàn)有的常規(guī)的方法的基礎(chǔ)上加以改進,運用了偽隨機序列產(chǎn)生器產(chǎn)生的隨機數(shù)的序列不變的特性(只要所給種子相同即可,這里的種子就是本程序的秘鑰,不可泄露),使隨機數(shù)產(chǎn)生器產(chǎn)生110之間的隨機數(shù)(考慮到嵌入信息量的大小與所要隱藏信息安全性被破解大小的程度,隨機數(shù)產(chǎn)生的范圍在1-10之間較為合適),將所要隱藏的信息轉(zhuǎn)換成0,1序列之后,0,1分別代表空格和TAB鍵,并且該序列是按照隨機數(shù)產(chǎn)生器的序列進行隱藏的,故只要破解者拿不到秘鑰(種子),破解者則絕對不可能通過任何轉(zhuǎn)換器得到我所要隱藏的信息。 改標記名稱字符的大小寫,用大寫表示1,小寫表示0來隱藏信息。

6、但此方法缺點頗多,信息隱藏量不大且隱蔽性不強,故本程序沒有采用此方法。智能掃描出二 基本要求:本程序完成了面向HTML的信息隱藏系統(tǒng)所要求的基本功能,并提高安全性,加強本程序所隱藏信息之后被攻擊者破解的能力,運用了偽隨機序列產(chǎn)生器產(chǎn)生的隨機數(shù)的序列不變的特性(只要所給種子相同即可,這里的種子就是本程序的秘鑰,不可泄露),使隨機數(shù)產(chǎn)生器產(chǎn)生110之間的隨機數(shù)(考慮到嵌入信息量的大小與所要隱藏信息安全性被破解大小的程度,隨機數(shù)產(chǎn)生的范圍在1-10之間較為合適),將所要隱藏的信息轉(zhuǎn)換成0,1序列之后,0,1分別代表空格和TAB鍵,并且該序列是按照隨機數(shù)產(chǎn)生器的序列進行隱藏的,故只要破解者拿不到秘鑰(

7、種子),破解者則絕對不可能通過任何轉(zhuǎn)換器得到我所要隱藏的信息。但本程序座位課程設(shè)計,由于時間的有限原因,只完成了,由全部Ansi碼表組成的全部任意組合字符序列,若稍加改進則可將本程序改進為可將unicode字符集和聲音,圖片的可投入市場運行的程序(java具有可以執(zhí)行強的的特點),因為原理沒變,都是最后對0,1序列的處理。三 測試數(shù)據(jù):Zhuhangyu20112878We will be gather in the school ground at 10:00.四 算法思想:本程序首先對所要隱藏的HTML網(wǎng)頁導入并進行評估該HTML文件最多可隱藏的信息量反饋給隱藏著,由隱藏者在程序內(nèi)輸入想要

8、隱藏的信息,既可手動輸入,也可調(diào)入本地文件,用戶見面十分友好與智能化。隱藏的具體方法是:由程序智能掃描出該文件每一行有多少空格以及每行文本之后最大填充量,再有程序?qū)λ贸绦驅(qū)λ[藏信息進行智能分析,排版確定出最隱蔽的每行嵌入量,將所要隱藏的字符轉(zhuǎn)化為0,1二進制序列,使用偽隨機數(shù)產(chǎn)生器,將隱藏信息的0,1序列轉(zhuǎn)化為空格與tab鍵,并按照偽隨機序列的順序進行依次嵌入,例如A的anci碼為45對應(yīng)的二進制序列為:101101,偽隨機序列為:856219,則嵌入的方式為:Tab鍵,隔八個空格在遷入一個空格(此空格載有信息量),在隔開5個空格嵌入tab鍵,在隔開6個空格再嵌入一個tab鍵,以此類推,

9、不再詳述。解密時只需按照偽隨機序列依次提取空格與TAB字符轉(zhuǎn)化為二進制序列,再轉(zhuǎn)化為字符即可得到隱藏的信息。五 模塊劃分:本程序采用面向?qū)ο蟮膉ava語言(java在網(wǎng)絡(luò)編程中屬于無冕之王),運用軟件工程中的敏捷程序快速開發(fā)的思維,具有良好的架構(gòu):l 該模塊主要用于界面的布局以及一些界面用戶輸入的邏輯控制與安全性控制: (省略具體見工程附件)l 該文件用于HTML以及隱藏文件的IO流:package com.zhuhangyu55.www.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.i

10、o.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import com.zhuhangyu55.www.embed.Embed;import com.zhuhangyu55.www.select.Select;public class ReadFile /* * 定義一個靜態(tài)函數(shù),該函數(shù)主要完成 * 1.讀取想要隱藏的信息HTML文件 * 2.將所要隱藏的信息寫入隱藏后的HTMl文件中 * param inPath * param outP

11、ath * param hideInformation */public static int inout(String inPath,String outPath,int needOriginalFileLine,String secert)int n = linesInOriginalFile(inPath);int inStrLength = secert.length();if(n >= inStrLength)try BufferedReader input = new BufferedReader(new FileReader(inPath);BufferedWriter o

12、utput = new BufferedWriter(new FileWriter(outPath,false);boolean c;char inchar = new charinStrLength;secert.getChars(0, inStrLength, inchar, 0);String secretSplite = null;for(int i = 0;i <= inStrLength -1;i+ )secretSplite = Character.toString(inchari);Embed embed = new Embed(secretSplite);String

13、hideInformation = embed.toEmbed();String str = input.readLine();str = str + hideInformation ;output.write(str);output.newLine();String str = null;while(str =input.readLine()!= null)output.write(str);output.newLine();output.flush();output.close();input.close(); catch ( IOException e) / TODO Auto-gene

14、rated catch blocke.printStackTrace();return 0;elseSystem.out.println("所加信息量超過HTML文件的承載量");return 1;/* * 該函數(shù)完成從載有秘密信息的HTML文件中提取出所要的秘密信息 * param hidingPath */public static String selectInformationFromHidingHTML(String hidingPath,int hidingFileLength)String originalStr = ""try Buffe

15、redReader selectHidingInformation = new BufferedReader(new FileReader(hidingPath);for(int j = 0;j <= hidingFileLength - 1;j+)String hidingStr = selectHidingInformation.readLine();System.out.println("hidingStr->"+hidingStr);int i = hidingStr.length();String hiding =hidingStr.substring

16、(i - 7), i);Select select = new Select(hiding); originalStr =originalStr + select.toSelect();System.out.println("originalStr->" + originalStr); catch (IOException e ) / TODO Auto-generated catch blocke.printStackTrace();return originalStr;public static int linesInOriginalFile(String inP

17、ath)int lines = 0;String s;try BufferedReader input = new BufferedReader(new FileReader(inPath);while(s =input.readLine()!= null)lines+;System.out.println("lines->"+lines+"文件最多添加"+lines+"個字符"); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(

18、);return lines;l 該模塊是程序運行的入口:package com.zhuhangyu55.www.main;import com.zhuhangyu55.www.Frame.HTMLInformationHidingFrame;public class Main /* * param args */public static void main(String args) / TODO Auto-generated method stubjava.awt.EventQueue.invokeLater(new Runnable() public void run() new HTM

19、LInformationHidingFrame().setVisible(true); );l 該模塊是隨機數(shù)產(chǎn)生器:(省略具體見工程附件)l 該模塊用于隱秘信息的嵌入:(省略具體見工程附件)l 該模塊用于隱秘信息的提?。海ㄊ÷跃唧w見工程附件)六 源程序:(省略具體見工程附件)七 測試截圖:圖1是運行程序前本地的無隱藏信息HTML文件圖1測試的HTML代碼:<HTML> <HEAD> <TITLE>合肥工業(yè)大學大學數(shù)字內(nèi)容研究中心</TITLE></HEAD> <BODY> <IMG src="images

20、/index.jpg" width="900" height="112" border="0" hspace="8" vspace="1"> <CENTER> <FONT face="宋體" size="小四" color="#FF0000">合肥工業(yè)大學大學數(shù)字內(nèi)容研究中心</FONT><BR><HR> </CENTER> <H1>中心

21、介紹</H1><BR> <FONT face="宋體" size="小四" color="#008000"> 合肥工業(yè)大學研究中心主要研究數(shù)字內(nèi)容的制作、處理、傳播、保護等,特別是數(shù)字內(nèi)容的版權(quán)管理,數(shù)字水印理論及其在版權(quán)保護中的應(yīng)用,所涉及的多媒體載體包括:圖像、音頻、視頻、文本等。 </FONT><BR> <H1>人才培養(yǎng)</H1><BR> <FONT face="宋體" size="小四" color="#008000">合肥工業(yè)大學以下三類人才:<BR> 理論研究的創(chuàng)新型人才:潛心研究尖端科學問題。胸懷大志,藐視急功近利,敢于攀登世界科學高峰。北

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論