一種基于隱寫術的載體文件庫可擴充的隱蔽文件系統的制作方法
【技術領域】
[0001] 本發明設及隱寫技術領域,具體是一種基于隱寫術的載體文件庫可擴充的隱蔽文 件系統。
【背景技術】
[0002] 目前已經出現用于存儲數據的各種存儲裝置或者系統,同時存儲數據的安全問題 越來越受到重視。一種常用的數據安全方法是對數據進行加密,并且將密鑰存儲在存儲裝 置或主機裝置中。該方法的缺點在于只要獲得密鑰,就可W破譯所有數據。
[0003] 一種改進的技術是將存儲裝置中的數據隱藏起來,從而保護數據的安全。目前實 現該技術的主流方法是截獲系統對文件訪問的指令,并對用戶指定的敏感文件進行過濾從 而達到隱藏文件的效果。該方法的缺陷在于數據是通過"過濾"來實現隱藏,數據還是被直 接存儲在硬件之中,如果得到該硬件則可能恢復出被隱藏的文件。
[0004] 隱寫術作為信息隱藏的一個分支,可W將消息或者文件嵌入載體文件(圖片、文 檔、視頻、語音等)中,所W直接存儲在硬件中的是載體文件而非用戶的數據,達到了隱藏 文件的目的,而且即使硬件被竊取,竊取者也只能恢復得到載體文件而不能得到隱藏其中 的數據,從而保護了用戶的數據安全。
[0005] 通過隱寫技術,載體文件可W提供一定量的存儲空間,但是單個載體文件可W提 供的嵌入容量很小(例如1M的bmp格式的圖片可W提供0. 3M的存儲容量),因此,每個文 件的隱寫就需要大量載體文件,載體文件庫的龐大勢必帶來隱蔽文件查找效率低的問題, 同時龐大載體文件庫的管理也將是很棘手的問題。
【發明內容】
[0006] 本發明的目的在于提供一種基于隱寫術的載體文件庫可擴充的隱蔽文件系統,該 系統利用索引的方式有效管理載體文件庫,同時提高文件的查找效率。
[0007] 本發明的技術方案為;
[000引一種基于隱寫術的載體文件庫可擴充的隱蔽文件系統,該系統包括文件管理單元 和文件操作單元;
[0009] 所述文件管理單元,用于生成文件索引和目錄索引,所述文件索引用于唯一定位 文件在系統中的虛擬位置,包括文件名、文件類型、文件大小、文件關鍵值、文件安全等級、 文件索引表張數和最后一張文件索引表中文件分塊關鍵值個數,所述目錄索引用于記錄文 件索引信息;
[0010] 所述文件操作單元,用于根據文件索引信息對文件進行操作,包括將待上傳文件 從用戶操作系統分塊寫入載體文件庫對應的載體文件中、將待下載文件從載體文件庫對應 的載體文件中分塊讀出并恢復到用戶操作系統W及將待刪除文件的文件索引信息從系統 中刪除。
[0011] 所述的基于隱寫術的載體文件庫可擴充的隱蔽文件系統,所述文件管理單元包括 文件分塊關鍵值個數計算單元、文件索引表張數計算單元、最后一張文件索引表中文件分 塊關鍵值個數計算單元;
[0012]所述文件分塊關鍵值個數計算單元,用于采用W下公式對文件分塊關鍵值個數進 行計算:
[001 引
[0014] 其中,keyNum表示文件分塊關鍵值個數也即文件分塊個數,FileLen表示文件大 小,FileSecurity表示文件安全等級,BasicBlockLen表示系統預設的基本分塊大小;
[0015] 所述文件索引表張數計算單元,用于采用W下公式對文件索引表張數進行計算:
[0016]
[0017] 其中,IndexNum表不文件索引表張數,keyLen表不系統預設的文件分塊關鍵值長 度;
[0018] 所述最后一張文件索引表中文件分塊關鍵值個數計算單元,用于采用W下公式對 最后一張文件索引表中文件分塊關鍵值個數進行計算:
[0019]
[0020] 其中,LastIndexNum表示最后一張文件索引表中文件分塊關鍵值個數,mod表示 取模運算。
[0021] 所述的基于隱寫術的載體文件庫可擴充的隱蔽文件系統,所述文件操作單元包括 文件上傳單元、文件下載單元和文件刪除單元;
[0022] 所述文件上傳單元,用于在文件管理單元生成待上傳文件的文件索引并將其添加 到目錄索引后,對待上傳文件進行加密,并根據待上傳文件的文件安全等級將加密文件分 塊隱寫進載體文件中,同時將文件分塊關鍵值W及與該文件分塊一一對應的載體文件信息 寫入文件索引表,所有文件分塊上傳完成后,將文件索引表隱寫進載體文件中;
[0023] 所述文件下載單元,用于在文件管理單元通過目錄索引查找到待下載文件的文件 索引后,根據文件索引中的文件關鍵值,從對應的載體文件中下載文件索引表,遍歷文件索 引表,根據文件分塊關鍵值從對應的載體文件中下載文件分塊,所有文件分塊下載完成后, 對得到的加密文件進行解密并恢復到用戶操作系統;
[0024] 所述文件刪除單元,用于在文件管理單元通過目錄索引查找到待刪除文件的文件 索引后,根據文件索引中的文件關鍵值,從對應的載體文件中下載文件索引表,遍歷文件索 引表,擦除文件分塊關鍵值和對應載體文件信息,遍歷結束后,刪除文件索引表并通知文件 管理單元將文件索引從目錄索引中刪除。
[0025] 本發明的有益效果為;
[0026] (1)提供了一種更安全的數據存儲方式:即將數據隱藏在載體文件庫中,可W為 數據提供更強的保護;
[0027] (2)對用戶透明;本發明的系統建立在用戶操作系統之上,用戶可W像使用平常 的文件管理系統一樣使用本發明的系統,方便操作.
[002引 (3)移植性強;本發明的系統并不依賴于某個操作系統,可W在任意一個操作系 統上應用;
[0029] (4)文件查找效率高:采用索引的方式管理文件本身就具有高效率,附加文件關 鍵值可W唯一標識一個文件,使得在載體文件庫中查找載密的載體文件效率大大提高;
[0030] (5)載體文件庫的可擴充性;本發明并不依賴固定的載體文件庫,充分用戶可定 審IJ,只要用戶將符合要求的載體文件放入載體文件庫,系統即可正常運行。
【附圖說明】
[0031]圖1是本發明的系統結構示意圖;
[0032] 圖2是本發明的系統與載體文件庫交互示意圖;
[0033] 圖3是文件上傳過程流程圖;
[0034] 圖4是文件下載過程流程圖;
[0035] 圖5是文件刪除過程流程圖。
【具體實施方式】
[0036] 下面結合附圖和具體實施例進一步說明本發明。
[0037] 如圖1所示,一種基于隱寫術的載體文件庫可擴充的隱蔽文件系統,包括文件管 理單元1和文件操作單元2。
[003引文件管理單元1,用于生成文件索引和目錄索引,文件索引用于唯一定位文件在系 統中的虛擬位置,包括文件名、文件類型、文件大小、文件關鍵值、文件安全等級、文件索引 表張數和最后一張文件索引表中文件分塊關鍵值個數,目錄索引用于記錄文件索引信息。
[0039] 文件操作單元2,用于根據文件索引信息對文件進行操作,包括將待上傳文件從用 戶操作系統分塊寫入載體文件庫對應的載體文件中、將待下載文件從載體文件庫對應的載 體文件中分塊讀出并恢復到用戶操作系統W及將待刪除文件的文件索引信息從系統中刪 除。
[0040] 如圖2所示,隱蔽文件系統與可擴充載體文件庫交互過程,可擴充載體文件庫用 于提供載體文件并存儲載密的載體文件,分為第一載體文件庫和第二載體文件庫,第一載 體文件庫是充分用戶可定制的,根據用戶需求自己擴充,理論上是容量無限的;第二載體文 件庫用于存儲載密的載體文件。
[0041] 當需要上傳文件或文件夾時,從第一載體文件庫獲取相應數量的載體文件,經過 隱寫嵌入,將載密的載體文件上傳到第二載體文件庫;當需要下載文件時,從第二載體文件 庫提取相應的載體文件,進行隱寫提取,待下載文件恢復到用戶操作系統。
[0042] 文件操作單元2包括文件上傳單元21、文件下載單元22和文件刪除單元23。
[00創如圖3所示,文件上傳單元21的工作過程如下;
[0044] 本發明所描述的隱蔽文件系統的上傳操作需要接收兩個參數;(1)待上傳文件在 隱蔽文件系統下的虛擬路徑;(2)待上傳文件在用戶操作系統(如windows)下的絕對路 徑。兩個路徑都需要包含文件名和文件類型,例如windows下的絕對路徑為;CAexample. txt,隱蔽文件系統下的虛擬路徑就應為;.\\index/example.txt。
[0045] 文件管理單元1會根據待上傳文件在用戶操作系統下的絕對路徑獲取文件信息, 產生相應的文件索引即數據頭,用于唯一定位文件在隱蔽文件系統中的位置,包括文件名、 文件類型、文件大小、文件關鍵值、文件安全等級、文件索引表張數、最后一張文件索引表中 文件分塊關鍵值個數。
[0046] 文件名、文件類型、文件大小由待上傳文件確定,用于在隱蔽文件系統中顯示文件 信息。
[0047] 文件關鍵值,用于唯一定位隱蔽文件系統中的文件,由待上傳文件的文件名、文件 類型W及待上傳文件在隱蔽文件系統下的虛擬路徑經過MD5生成,像身份證一樣可W唯一 標識一個文件。
[0048] 文件安全等級,用于確定嵌入隱寫算法的嵌入率,決定了每個載體文件的隱寫容 量;文件安全等級是由用戶設定的,不同的安全等級對應的文件的嵌入率不同,即文件分塊 的大小不同,文件安全等級越高,文件分塊越小,也就意味著文件將被分成更多個分塊,由 于文件分塊與載體文件是一一對應的關系,也就意味著將需要更多個載體文件。