• 沒有找到結果。

三、 系統設計與實作

3.2 系統架構

依據 3.1 節的架構為雛型討論,要達成研究最終目的,設計重點將是中 介軟體的開發與設計。而要如何有效保護使用者資料、隱藏檔案資訊,防 止一般駭客及管理者的檔案窺視及竊取將是此中介軟體所應扮演的角色。

其功能必須能完善的進行檔案的加解密、資訊的隱藏以及一般性的維護功 能(包括上傳、下載、刪除)。

第二章的相關研究中曾提及檔案系統的架構;對於檔案的操作,共有三 種模式,分別是:循序存取、隨機存取及索引存取。其中透過循序存取的 檔案系統可以快速的獲得檔案,透過索引存取的方式可以藉由索引快速取 得檔案的位置;其存取架構分別為圖 15、圖 16。本研究的設計將會同時運 用這兩種存取模式,嘗試使設計的磁碟效能提昇。另外,NTFS 架構中提及,

檔案資訊是利用檔案配置表(MFT)進行儲存。藉由上述特色,發展一個 簡單、快速的虛擬檔案磁碟,名為 Simple Virtual Disk(以下簡稱 SVD)。

此架構的概念以一個副檔名為.svd 的檔案格式呈現於任何遠端的儲存服務 空間;使用者於本機建置一個 svd 的檔案結構,並將其放至遠端的空間,對 於使用者、管理者或是其他第三方而言,僅能看到此檔案的存在,檔案的 擁有者則直接對此檔案進行資料存取,所有的文件將置入於此檔案結構中 以受到資訊隱藏的保護。

圖 15:檔案循序存取架構圖

圖 16:檔案索引存取架構圖

SVD 結構如圖所示,共分為三個區塊,分別為 Capacity Configuration、

Encrypted File Collection、Metadata Configuration。以下進行各區塊說明。

圖 17:Simple Virtual Disk 架構

Capacity Configuration Block 位於 SVD 的開頭。SVD 中,實際存放檔案 的大小由使用者所訂定,又 Metadata 因檔案的多寡而增減,故其長度是變 動的。因此為取得檔案區塊的實際長度,設定一個固定長度的區塊,以 MB 為單位定義 SVD 容量的大小。

圖 18:Capacity Configuration Block Architecture

Encrypted File Collection Block 緊接 Capacity Configuration Block 之後,

以位元組為單位進行實體檔案的儲存。因文字檔案容易由位元組進行 ASCII 的轉換而取得文字內容導致文件暴露風險。為考慮檔案的安全性,此區塊 不僅將檔案進行存放,並進行檔案的加密,再將加密後的檔案存放於此區 間。以循序存取方式為主,將已加密的檔案依序進行存放作業。

圖 19:Encrypted File Collection Block Architecture

Metadata Configuration Block 為 SVD 的最後一個區塊,以索引及 NTFS 的 MFT 概念進行設計;此區塊負責紀錄檔案的重要資訊,包括 SVD 磁碟 資訊、檔案名稱、類型、長度及位置等。此區塊以 XML 形式儲存,所有的 檔案操作都會先透過讀取此 XML 的內容,獲取其資訊後再進行實際的檔案 存取。由於 XML 格式內容也可能有被竊取的可能性,所以在進行檔案操作 時,仍會先將其進行加密動作,其格式還原如下圖。

圖 20:Metadata Configuration 實際內容

(1) SVDInfo:定義 SVD 資訊;紀錄磁碟建立時間(CreationDate)、磁碟 容量(Capacity)。

(2) FileInfo:定義檔案資訊,每個檔案皆會產生一筆 Info 的 Record。檔 案資訊包括開始位置(Start)、結束位置(End)、檔案大小(Length)、

檔案名稱(FileName)、檔案資料夾路徑(DirName)。

(3) PositionInfo:紀錄目前可用空間區塊,每個可用區間都會有一筆 Info 紀錄。位置資訊主要紀錄可用空間的起始位置(Start)及結束位置

檔案的上傳、下載、刪除。SVD 建置流程主要分為三個部份:Metadata 的

相關文件