国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于過(guò)濾驅(qū)動(dòng)的文件保護(hù)系統(tǒng)

2011-06-12 08:55王川
關(guān)鍵詞:私鑰驅(qū)動(dòng)程序訪問(wèn)控制

王川

長(zhǎng)沙學(xué)院教務(wù)處 湖南 410003

0 引言

數(shù)據(jù)加密是計(jì)算機(jī)數(shù)據(jù)的安全常用的保護(hù)手段,它使用各種加密算法對(duì)重要文件進(jìn)行加密,使盜竊者無(wú)法獲得真實(shí)的數(shù)據(jù)內(nèi)容。市場(chǎng)上很多加密軟件是基于應(yīng)用層開發(fā),由于其沒有與操作系統(tǒng)集成,用戶使用加密文件時(shí)每次使用都要輸入密碼,使用起來(lái)不方便。雖然微軟提供的EFS系統(tǒng)的加/解密處理過(guò)程位于操作系統(tǒng)內(nèi)核,得到系統(tǒng)內(nèi)核的保護(hù),可以進(jìn)行文件透明加/解密,使用起來(lái)也很方便,但是它的缺點(diǎn)也是很多:安全控制需要在NTFS文件系統(tǒng)上使用;加密算法的安全性相對(duì)較低,且不能夠更改;EFS只能針對(duì)指定文件和文件夾進(jìn)行加密,而不能對(duì)某一類型的文件進(jìn)行加密,靈活性不夠。

文件系統(tǒng)過(guò)濾驅(qū)動(dòng)技術(shù)可以使文件保護(hù)與 Windows系統(tǒng)緊密結(jié)合,在內(nèi)核級(jí)實(shí)現(xiàn)了實(shí)時(shí)安全的文件加/解密,可以進(jìn)行實(shí)時(shí)的文件訪問(wèn)控制,適用于Windows 2003/XP系統(tǒng)下的多種文件系統(tǒng)格式,不依賴于具體的應(yīng)用程序。

1 文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序工作原理

Windows驅(qū)動(dòng)模型(WDM)采用的是分層的結(jié)構(gòu)。應(yīng)用程序發(fā)出對(duì)磁盤設(shè)備的操作請(qǐng)求后,由I/O管理器構(gòu)造相應(yīng)的IRP,發(fā)往下層的文件系統(tǒng)驅(qū)動(dòng)程序,文件系統(tǒng)驅(qū)動(dòng)程序則把相對(duì)應(yīng)于文件系統(tǒng)的操作轉(zhuǎn)換為相對(duì)應(yīng)于磁盤設(shè)備的操作,并通過(guò)I/O管理器來(lái)調(diào)用磁盤驅(qū)動(dòng)程序。

根據(jù)WDM的特點(diǎn),可以構(gòu)造一個(gè)位于文件系統(tǒng)驅(qū)動(dòng)程序之上的一種特殊的中間層驅(qū)動(dòng)程序,我們稱為文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序,文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序的位置如圖1所示。有了文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序后,I/O管理器構(gòu)造的IRP則會(huì)先送給文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序,然后再由文件過(guò)濾驅(qū)動(dòng)程序在I/O管理器的幫助下將IRP傳給下層的文件系統(tǒng)驅(qū)動(dòng)程序。

因此,我們可以在文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序這一層實(shí)現(xiàn)對(duì)文件系統(tǒng)操作的截取、監(jiān)控甚至替換工作,由此實(shí)現(xiàn)許多新功能:①防病毒引擎。在系統(tǒng)讀寫文件時(shí),捕獲讀寫的數(shù)據(jù)內(nèi)容,對(duì)內(nèi)容檢測(cè)是否含有病毒代碼。②對(duì)用戶透明的文件加解密。在文件寫過(guò)程時(shí)對(duì)數(shù)據(jù)進(jìn)行加密,在讀文件的過(guò)程中進(jìn)行解密。③對(duì)數(shù)據(jù)的讀寫進(jìn)行訪問(wèn)控制??梢苑乐箰阂膺M(jìn)程對(duì)受保護(hù)文件的進(jìn)行破壞。

圖1 文件系統(tǒng)過(guò)濾驅(qū)動(dòng)層次結(jié)構(gòu)

2 文件保護(hù)系統(tǒng)設(shè)計(jì)

2.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

文件保護(hù)系統(tǒng)的功能主要由文件系統(tǒng)過(guò)濾驅(qū)動(dòng)、密鑰管理、加/解密處理、配置程序和訪問(wèn)控制組成。各模塊之間的關(guān)系如圖2所示。文件系統(tǒng)過(guò)濾驅(qū)動(dòng)是系統(tǒng)的核心,利用它實(shí)現(xiàn)對(duì)文件操作的截獲,與系統(tǒng)中的其它模塊進(jìn)行交互,控制整個(gè)系統(tǒng)。密鑰管理負(fù)責(zé)密鑰的產(chǎn)生、分配、更換和銷毀等方面管理工作。加/解密處理使用密鑰對(duì)文件進(jìn)行加/解密運(yùn)算,也是對(duì)用戶透明動(dòng)態(tài)加/解密的實(shí)現(xiàn)部分。配置程序是用戶用來(lái)定制和修改策略文件的模塊。訪問(wèn)控制根據(jù)配置程序生成的策略配置文件對(duì)受保護(hù)的文件進(jìn)行加/解密前的處理,包括安全目錄識(shí)別、用戶身份識(shí)別、安全目錄訪問(wèn)控制、密鑰文件訪問(wèn)控制和共享目錄訪問(wèn)控制等,有利于提高文件保護(hù)系統(tǒng)的安全性和效率。

圖2 文件安全保護(hù)系統(tǒng)結(jié)構(gòu)

2.2 文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序的實(shí)現(xiàn)

(1)構(gòu)造文件系統(tǒng)過(guò)濾驅(qū)動(dòng)對(duì)象,并附著在要過(guò)濾的文件系統(tǒng)對(duì)象之上。

(2)創(chuàng)建文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序所需的分派例程,用于對(duì)IRP進(jìn)行預(yù)處理。分派例程是用來(lái)響應(yīng)應(yīng)用程序的打開、讀、寫、關(guān)閉等I/O請(qǐng)求的一組回調(diào)函數(shù),這些函數(shù)由系統(tǒng)在相應(yīng)情況下調(diào)用。

(3)取消對(duì)目標(biāo)設(shè)備的綁定過(guò)濾。

實(shí)現(xiàn)文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序除了上述三個(gè)必要方面外,還有一些功能需要加入進(jìn)來(lái)。如:實(shí)現(xiàn)文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序與上層應(yīng)用程序通信。實(shí)現(xiàn)過(guò)濾驅(qū)動(dòng)的動(dòng)態(tài)附著,以便能夠過(guò)濾新加載的文件系統(tǒng)。

2.3 密鑰管理

密鑰管理負(fù)責(zé)密鑰的產(chǎn)生、分配、更換和銷毀等方面管理工作。文件保護(hù)系統(tǒng)采用兩類加/解密算法,在保證安全性的同時(shí)保證了加密效率。對(duì)稱加密算法的加密速度較快,但安全性較低,適合對(duì)文件內(nèi)容進(jìn)行加密。非對(duì)稱加密算法安全性較高,但加密速度較慢。適合用來(lái)對(duì)加密密鑰進(jìn)行加密,這樣有助于提高密鑰的安全性,也方便文件共享。

在安全目錄中對(duì)每一個(gè)文件都隨機(jī)分配一個(gè)不同的文件密鑰(文件密鑰可以通過(guò)合理增加密鑰長(zhǎng)度提高破解密鑰的難度,在保證一定加密速度的情況下適當(dāng)?shù)卦鰪?qiáng)安全性),該目錄下的所有文件密鑰(不包括子文件夾)被存放在該目錄下的同一個(gè)密鑰文件中。密鑰文件中存放著多條文件密鑰信息,文件密鑰信息的主要結(jié)構(gòu)是:被加密的文件名、所有者、共享者、加密密鑰等內(nèi)容。密鑰文件存放在安全目錄中,每一個(gè)目錄(包括子目錄)都有一個(gè)。密鑰文件是在安全目錄創(chuàng)建時(shí)有密鑰管理模塊自動(dòng)生成,刪除安全目錄及子目錄時(shí)刪除密鑰文件。

對(duì)密鑰文件我們采取兩類保護(hù)措施:一是對(duì)密鑰文件中的文件密鑰信息使用文件所有者的公鑰進(jìn)行加密,這里不是對(duì)整個(gè)密鑰文件整體用公鑰加密,而是對(duì)每個(gè)文件密鑰單獨(dú)加密。而創(chuàng)建、修改或刪除文件密鑰都需要文件所有者插入私鑰U盤才能進(jìn)行。二是通過(guò)文件保護(hù)系統(tǒng)的訪問(wèn)控制模塊對(duì)密鑰文件進(jìn)行保護(hù),不準(zhǔn)非授權(quán)程序進(jìn)行創(chuàng)建、修改或者刪除。通過(guò)這兩類措施,大大提高了文件密鑰安全性。

2.4 加/解密處理

加/解密處理模塊是位于內(nèi)核模式中實(shí)現(xiàn)的,這樣可以利用操作系統(tǒng)來(lái)提高加/解密過(guò)程的安全。在文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序的讀寫處理中實(shí)現(xiàn)對(duì)文件的加密和解密。對(duì)攔截上層發(fā)送的讀寫 IRP,通過(guò)訪問(wèn)控制檢查判斷是否為合法訪問(wèn),如是非法訪問(wèn)將阻止訪問(wèn)繼續(xù),對(duì)于合法訪問(wèn)還要判斷是否為共享訪問(wèn),共享訪問(wèn)不進(jìn)行加解密,直接采用默認(rèn)的處理。對(duì)于合法的非共享訪問(wèn),按以下的流程進(jìn)行訪問(wèn),流程如圖3所示。

應(yīng)用程序?qū)懖僮鲿r(shí),文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序從I/O管理器截獲IRP中的明文后,若該文件是已建文件,從密鑰文件中取出文件密鑰,從文件所有者私鑰U盤中讀出私鑰,用私鑰解密文件密鑰,再用文件密鑰加密明文并將其向下層驅(qū)動(dòng)程序傳遞,在完成方法中恢復(fù)緩沖區(qū)的明文;若該文件是新建文件,首先由密鑰管理模塊生成文件密鑰,用文件密鑰加密明文的同時(shí),還利用文件所有者公鑰加密文件密鑰并保存在密鑰文件中。

應(yīng)用程序讀操作時(shí),文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序從文件驅(qū)動(dòng)程序截獲密文后,從密鑰文件中讀取文件對(duì)應(yīng)的文件密鑰,從文件所有者私鑰U盤中讀出私鑰,用私鑰解密文件密鑰,在完成方法中用文件密鑰解密密文并向上層傳送明文至應(yīng)用程序。

圖3 加/解密處理流程

2.5 訪問(wèn)控制

用戶使用配置程序?qū)⑴渲煤玫牟呗陨刹呗晕募约用艿男问酱娣旁诓僮飨到y(tǒng)下。系統(tǒng)的訪問(wèn)控制模塊可以直接讀取并解密策略文件,然后根據(jù)策略文件對(duì)保護(hù)文件進(jìn)行加解密前的處理。訪問(wèn)控制功能主要有以下幾個(gè)方面。

密鑰訪問(wèn)控制:由于密鑰的特殊性,除密鑰管理模塊外,不允許任何進(jìn)程直接創(chuàng)建、修改、刪除或讀取該文件,密鑰只允許過(guò)濾驅(qū)動(dòng)程序通過(guò)密鑰管理模塊訪問(wèn)。用戶訪問(wèn)控制:對(duì)于能提供私鑰的文件所有者用戶和合法的共享用戶可以訪問(wèn)文件。安全文件識(shí)別:為提高工作效率,文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序只處理訪問(wèn)安全文件的 IRP,不處理訪問(wèn)非安全文件的IRP。

3 結(jié)束語(yǔ)

本文提出的文件保護(hù)系統(tǒng)適用于Windows XP/2003操作系統(tǒng),屬于操作系統(tǒng)內(nèi)核程序,系統(tǒng)的安全性得到操作系統(tǒng)的安全保障。系統(tǒng)采用了雙密鑰體系增強(qiáng)了文件系統(tǒng)的安全性,經(jīng)測(cè)試表明,使用雙密鑰體系的文件加/解密與文件直接明文讀取在效率上差距不大,具有較好的實(shí)用性。加密算法可以靈活采用并且不公開,提高了加密的安全性。系統(tǒng)也存在一定風(fēng)險(xiǎn)性,文件密鑰保存在密鑰文件里,如果該文件損壞或丟失將會(huì)導(dǎo)致密文無(wú)法解密。今后的研究重點(diǎn)放在密鑰文件的安全保護(hù)和高效訪問(wèn)方面。

[1]胡宏銀,姚峰,何成萬(wàn).一種基于文件過(guò)濾驅(qū)動(dòng)的Windows文件安全保護(hù)方案[J].計(jì)算機(jī)應(yīng)用.2009.

[2]于飛,胡平.基于文件過(guò)濾驅(qū)動(dòng)的局域網(wǎng)安全系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì).2008.

[3]沈瑋,王雷,陳佳捷.基于文件系統(tǒng)過(guò)濾驅(qū)動(dòng)的加密系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程.2009.

[4]王全民,周清,劉宇明,朱二夫.文件透明加密技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展.2010.

[5]王德明,劉淳,邱俊山.基于過(guò)濾器驅(qū)動(dòng)程序的文件保護(hù)系統(tǒng)軟件設(shè)計(jì)[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版).2006.

[6]Chris Cant.Windows WDM設(shè)備驅(qū)動(dòng)程序開發(fā)指南[M].北京:機(jī)械工業(yè)出版社.2005.

[7]鄭玉彤,王志娟.Windows驅(qū)動(dòng)程序開發(fā)[M].北京:中央名族大學(xué)出版社.2006.

猜你喜歡
私鑰驅(qū)動(dòng)程序訪問(wèn)控制
清掃機(jī)器人避障系統(tǒng)區(qū)塊鏈私鑰分片存儲(chǔ)方法
比特幣的安全性到底有多高
基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
阻止Windows Update更新驅(qū)動(dòng)程序
計(jì)算機(jī)硬件設(shè)備驅(qū)動(dòng)程序分析
一種基于虛擬私鑰的OpenSSL與CSP交互方案
ONVIF的全新主張:一致性及最訪問(wèn)控制的Profile A
動(dòng)態(tài)自適應(yīng)訪問(wèn)控制模型
淺析云計(jì)算環(huán)境下等級(jí)保護(hù)訪問(wèn)控制測(cè)評(píng)技術(shù)
大數(shù)據(jù)平臺(tái)訪問(wèn)控制方法的設(shè)計(jì)與實(shí)現(xiàn)
凌云县| 日喀则市| 高雄县| 芷江| 张家界市| 宁都县| 西安市| 大田县| 长武县| 黄骅市| 宁德市| 牟定县| 灵丘县| 万载县| 绵阳市| 三原县| 蕉岭县| 舞阳县| 舞钢市| 桐城市| 陈巴尔虎旗| 洛宁县| 十堰市| 巴林左旗| 鄂温| 陆川县| 苏尼特左旗| 循化| 宜州市| 永德县| 临颍县| 彰化市| 云和县| 岑溪市| 尚义县| 黔西县| 阿城市| 朝阳县| 北票市| 娄烦县| 碌曲县|