亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于用戶空間文件系統(tǒng)的文件加密系統(tǒng)的制作方法

文檔序號:9826382閱讀:1008來源:國知局
一種基于用戶空間文件系統(tǒng)的文件加密系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明屬于信息安全技術領域,特別是一種基于用戶空間文件系統(tǒng)的文件加密系統(tǒng)。
【背景技術】
[0002]透明文件加密系統(tǒng)能在不改變用戶使用習慣的情況下自動實現(xiàn)文件的加密和解密,是保證數據安全的重要技術手段。在透明文件加密中,對加密文件進行文件I/O操作的程序進程分為受信進程和非受信進程,受信進程被允許獲取加密文件的明文數據,而非受信進程則不被允許。在目前的計算機文件系統(tǒng)中,為了提高文件I/O操作的效率,文件I/O操作大多是采用緩存方式,即文件系統(tǒng)在計算機內存中緩存程序進程讀取和/或存寫的數據,且不同程序進程對同一個文件進行文件I/o操作時它們在內存中的數據緩存是共享的。帶緩存的文件I/o給透明文件加密帶來了額外的問題:當受信進程和非受信進程同時對一個加密文件進行文件I/o操作時,特別是交替進行文件數據讀取、存寫操作時,緩存中會交替出現(xiàn)明文數據和密文數據,這樣會帶來如下問題:一是非受信進程有可能讀取到明文數據,造成數據泄密,二是導致程序進程不能正確處理數據,比如受信進程讀取的是密文數據而無法正常處理。為了解決這一問題,人們常用的解決方案是:在受信進程和非受信進程交替對同一個文件進行文件I/o操作時,不斷地刷寫(flush)、清空(clear)緩存數據。這種方案的問題是:一是要頻繁的刷寫、清空緩存,導致出現(xiàn)所謂暴力刷緩存、清緩存的問題,二是在受信進程和非受信進程交替讀取、存寫數據時,要正確處理緩存刷寫、清空是非常困難的。
[0003]針對透明文件加密存在的以上問題,本發(fā)明的申請人在其專利申請“一種基于橋文件系統(tǒng)的文件加密系統(tǒng)”(申請?zhí)?201510614005.8)中提出了一種以用戶空間文件系統(tǒng)作為受信進程進行文件I/O操作的橋梁的透明文件加密方案,但此方案也存在如下不足:
[0004]首先,存在冗余數據緩存及緩存數據不一致的問題,當一個受信進程以緩存文件I/o的方式打開或創(chuàng)建計算機文件系統(tǒng)中的一個安全文件盤或安全文件目錄中的一個文件時,會存在兩個數據緩存:一是受信進程在用戶空間文件系統(tǒng)中打開或創(chuàng)建的文件的數據緩存,二是FUSE用戶空間程序的程序進程在計算機文件系統(tǒng)中打開或創(chuàng)建的、受信進程在安全文件盤或安全文件目錄中原本要打開或創(chuàng)建的文件的數據緩存;這種冗余的數據緩存不僅占用了較多的內存資源,特別是內核內存資源,而且會出現(xiàn)緩存數據不一致的情況:若非受信進程與受信進程打開或創(chuàng)建計算機文件系統(tǒng)中的一個安全文件盤或安全文件目錄中的同一個文件,而非受信進程進行了數據存寫操作,則非受信進程在計算機文件系統(tǒng)中打開或創(chuàng)建的文件的數據緩存與受信進程在用戶空間文件系統(tǒng)打開或創(chuàng)建的文件的數據緩存中的數據會出現(xiàn)不一致的情況;
[0005]其次,當一個非受信進程對全文件盤或安全文件目錄中的一個文件進行數據存寫操作時,文件加密過濾器驅動要判斷存寫的文件數據是明文還是密文,若是明文則要將數據加密后再進行存寫,而在內核層進行這種判斷和數據加密也是比較麻煩的,特別地,當一個非受信進程以內存映射方式打開或創(chuàng)建文件并存寫明文數據時,文件加密過濾器驅動要及時進行加密處理更加困難;
[0006]再有,當一個程序進程打開或創(chuàng)建安全文件盤或安全文件目錄中的一個加密文件時,文件加密過濾器驅動要判斷打開或創(chuàng)建文件的程序進程是受信進程還是非受信進程,并據此進行文件打開或創(chuàng)建操作重定向處理,而在內核層進行這種判斷通常是比較麻煩的。
[0007]另外,本發(fā)明的申請人在專利申請“一種基于多像文件的加密文件系統(tǒng)”(申請?zhí)?201510917010.6)的實施案例二中也描述了一種借助用戶空間文件系統(tǒng)對安全文件盤或安全文件目錄中的文件自動進行加密、解密的方案,這個方案存在的問題是:
[0008]—是,要在用戶空間文件系統(tǒng)構建一個多像文件系統(tǒng),這比較麻煩;
[0009]二是,存在冗余數據緩存,當受信進程和非受信進程打開或創(chuàng)建計算機文件系統(tǒng)中一個安全文件盤或安全文件目錄中的同一個文件時,對同一個文件會存在多個數據緩存:文件在用戶空間文件系統(tǒng)中被打開或創(chuàng)建的每個A像文件和B像文件都有自己的數據緩存,F(xiàn)USE用戶空間進程在計算機文件系統(tǒng)中打開或換件文件有數據緩存,進一步地,若A像文件有多個,則多個A像文件有多個數據緩存,這么多的數據緩存會造成內存資源的浪費,特別是內核內存資源的浪費;
[0010]三是,要進行緩存數據同步,由于存在多個數據緩存,因此在出現(xiàn)文件信息修改和/或數據存寫操作時,需要進行緩存數據的同步操作;
[0011 ]四是,當一個程序進程打開或創(chuàng)建安全文件盤或安全文件目錄中的一個加密文件時,文件重定向過濾器驅動要判斷打開或創(chuàng)建文件的程序進程是受信進程還是非受信進程,并據此進行文件重定向處理,而在內核層進行這種判斷通常是比較麻煩的。
[0012]但是,我們可以注意到如下事實:一是,當將用戶空間文件系統(tǒng)作為文件加密、解密的橋梁或工具時,在用戶空間文件系統(tǒng)的文件數據緩存其實是沒必要的,因為,程序進程要打開或創(chuàng)建的文件在計算機文件系統(tǒng)中已有數據緩存,二是,若在用戶空間文件系統(tǒng)進行受信進程和非受信進程判別以及數據加密、解密處理,相應的技術實施將變得簡單得多,本發(fā)明正是基于這兩個事實。

【發(fā)明內容】

[0013]本發(fā)明的目的是提出一種基于用戶空間文件系統(tǒng)的文件加密系統(tǒng),以克服現(xiàn)有技術方案的不足。
[0014]為了實現(xiàn)本發(fā)明的目的,本發(fā)明所提出的技術方案是:一種基于用戶空間文件系統(tǒng)的文件加密系統(tǒng),具體如下。
[0015]所述文件加密系統(tǒng)是一個對用戶計算機文件系統(tǒng)中的安全文件盤(磁盤邏輯分區(qū))或安全文件目錄中的文件自動進行加密和解密處理的系統(tǒng);所述安全文件盤或安全文件目錄是用戶計算機文件系統(tǒng)中的一個文件盤或文件目錄,存放在此文件盤或文件目錄中的文件被所述文件加密系統(tǒng)加密成為加密文件;對所述安全文件盤或安全文件目錄中的加密文件進行文件I/o操作的程序進程包括受信進程、非受信進程以及操作系統(tǒng)輔助文件I/O操作的系統(tǒng)進程(如Windows System進程);所述受信進程是操作系統(tǒng)輔助文件I/O操作的系統(tǒng)進程以外的被允許獲取加密文件的明文數據的程序進程;所述非受信進程是操作系統(tǒng)輔助文件I/O操作的系統(tǒng)進程以外的不被允許取加密文件的明文數據的程序進程;受信進程和非受信進程針對文件類型而設定(如Word程序的運行進程是Word文檔的受信進程,而Internet Explorer的運行進程則不是);操作系統(tǒng)輔助文件I/O操作的系統(tǒng)進程不屬于任一種文件類型的受信進程和非受信進程;當操作系統(tǒng)輔助文件I/O操作的系統(tǒng)進程輔助一個非受信進程對一個加密文件進行文件I/O操作時,操作系統(tǒng)輔助文件I/O操作的系統(tǒng)進程不被允許獲取加密文件的明文數據;當操作系統(tǒng)輔助文件I/O操作的系統(tǒng)進程輔助一個受信進程對一個加密文件進行文件I/O操作時,操作系統(tǒng)輔助文件I/O操作的系統(tǒng)進程被允許獲取加密文件的明文數據(操作系統(tǒng)輔助文件I/o操作的系統(tǒng)進程輔助一個程序進程所進行的文件I/o操作是被輔助的程序進程所進行的文件I/O操作的人一部分);
[0016]對所述安全文件盤(磁盤邏輯分區(qū))或安全文件目錄中的文件自動進行加密和解密處理的所述文件加密系統(tǒng)又包括用戶空間文件系統(tǒng)和文件重定向過濾器驅動,其中:
[0017]用戶空間文件系統(tǒng):一個采用用戶空間文件系統(tǒng)(UserSpace File System,FUSE)技術開發(fā)、用于對安全文件盤或安全文件目錄中的文件進行加密和解密處理的系統(tǒng);所述用戶空間文件系統(tǒng)在用戶計算機系統(tǒng)中對應一個文件盤或文件目錄,即表現(xiàn)為一個文件盤或文件目錄;所述用戶空間文件系統(tǒng)對應的文件盤或文件目錄稱為虛擬文件盤或虛擬文件目錄;所述虛擬文件盤或虛擬文件目錄中的文件稱為虛擬文件(這里的用戶空間文件系統(tǒng)并不是用于存儲管理文件的,僅是作為一個文件加密和解密的工具,因此,用戶空間文件系統(tǒng)對應的文件盤或文件目錄及其中“出現(xiàn)”的文件被分別稱為虛擬文件盤或虛擬文件目錄及虛擬文件);所述用戶空間文件系統(tǒng)又包括FUSE文件驅動、FUSE用戶空間程序,其中,F(xiàn)USE文件驅動是所述用戶空間文件系統(tǒng)的文件驅動,F(xiàn)USE用戶空間程序是用戶空間文件系統(tǒng)中對文件I/O操作請求進行處理的用戶空間程序;FUSE用戶空間程序的程序進程(即運行進程)稱為FUSE用戶空間進程;當一個程序進程請求以緩存I/O方式打開或創(chuàng)建虛擬文件盤或虛擬文件目錄中的一個虛擬文件時,所述用戶空間文件系統(tǒng)的FUSE文件驅動不為打開或創(chuàng)建的虛擬文件在內存中創(chuàng)建數據緩存,即:即便程序進程請求以緩存I/O方式打開或創(chuàng)建虛擬文件,F(xiàn)USE文件驅動也不為打開或創(chuàng)建的虛擬文件創(chuàng)建數據緩存;對于程序進程針對被打開或創(chuàng)建的虛擬文件進行的所有文件I/O操作,所述用戶空間文件系統(tǒng)的FUSE文件驅動按非緩存I/O的方式進行響應處理,S卩:FUSE文件驅動將針對虛擬文件的所有文件I/O操作請求,包括數據讀取和存寫、文件信息設置和查詢,都提交到FUSE用戶空間進程進行處理(比如,在Windows下,即便是以緩存I/O方式打開的虛擬文件,F(xiàn)USE文件驅動也將針對虛擬文件
當前第1頁1 2 3 4 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1