張 慶
(內(nèi)江職業(yè)技術(shù)學(xué)院,四川內(nèi)江,641100)
基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)是一種通過(guò)不同方式對(duì)系統(tǒng)重要文件進(jìn)行加密和解密的系統(tǒng)。在這一過(guò)程中操作系統(tǒng)會(huì)對(duì)Windows 中的文件系統(tǒng)和用戶模式通過(guò)相關(guān)應(yīng)用程序和具體操作請(qǐng)求來(lái)進(jìn)行加密和解密,并且能夠在此基礎(chǔ)上進(jìn)行表述了文件系統(tǒng)驅(qū)動(dòng)與文件系統(tǒng)過(guò)濾驅(qū)動(dòng)之間的關(guān)系,即通過(guò)對(duì)文件系統(tǒng)對(duì)用戶模式進(jìn)行相應(yīng)的方式來(lái)對(duì)應(yīng)用程序操作請(qǐng)求的原理進(jìn)行分析,從而在此基礎(chǔ)上進(jìn)行相關(guān)的驅(qū)動(dòng)工作和通信工作。
隨著Windows 系統(tǒng)的操作越來(lái)越人性化和舒適化,這一系列的操作系統(tǒng)正在受到越來(lái)越多的PC 使用者的青睞。但是與此同時(shí)Windows 的系統(tǒng)操作安全問(wèn)題也受到了越來(lái)越多的重視?;跒V驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)的應(yīng)用能夠?qū)⒉僮飨到y(tǒng)的整體安全性進(jìn)行有效提升并且能夠在此基礎(chǔ)上實(shí)現(xiàn)對(duì)關(guān)鍵文檔資料的加密,例如對(duì)于PC 中一些涉及個(gè)人隱私、企業(yè)機(jī)密word 文件、PPT 文件、CAD 文件等文件基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)的應(yīng)用能夠進(jìn)行合理的監(jiān)控、透明加密、透明解密等重要的操作。目前國(guó)內(nèi)現(xiàn)有的文件密級(jí)管控系統(tǒng)的主要功能是針對(duì)重要文檔和文件的一些關(guān)鍵字的匹配情況進(jìn)行加密。這種加密方式仍然存在一定較為嚴(yán)重的缺陷。即這一文件密級(jí)管控系統(tǒng)只是一個(gè)對(duì)信息進(jìn)行管理的非智能化管理手段并且這一管理手段的應(yīng)用還需要PC 使用者進(jìn)行參與,但是其并不能保證密級(jí)標(biāo)識(shí)和信息主體的不可分離、不可篡改、不會(huì)泄露。在這一情況下這一技術(shù)的應(yīng)用可以有效的解決上述缺陷的存在。例如這一系統(tǒng)的應(yīng)用能夠提升信息主體的完整性并且減少這些文件收到篡改的可能性。這在某種程度上很好的提升了重要文件的安全性和隱秘性。基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)的應(yīng)用能夠有效確保信息驗(yàn)證的完整性與此同時(shí)做到不會(huì)否認(rèn)基本的驗(yàn)證功能。與此同時(shí)。在文件加密工作大致完成之后,工作人員可以通過(guò)低級(jí)終端和高級(jí)終端之間的有效切換并且設(shè)置單邊信息訪問(wèn)要求,能夠促進(jìn)其安全性的有效提升。除此之外,在本地文檔的加密和解密過(guò)程中可以通過(guò)用戶身份鑒證這一方式來(lái)有效提升其安全性,即只有通過(guò)身份鑒證飛用戶才能對(duì)經(jīng)過(guò)設(shè)置的本地文檔進(jìn)行瀏覽和操作,從而在此基礎(chǔ)上有效保證本地文檔的安全性。另外,與此相對(duì)應(yīng)的是,權(quán)限設(shè)置這一方法雖然存在一定的缺陷性但是依舊有著較好的應(yīng)用。例如PC 使用者可以按照自己文檔管理的目的和需要對(duì)文檔設(shè)定相應(yīng)的閱讀權(quán)限和操作權(quán)限,在此基礎(chǔ)上通過(guò)對(duì)其進(jìn)行細(xì)化和分類可以對(duì)這一方法進(jìn)行較為靈活的使用。綜上所述,基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)應(yīng)用的最主要思路在于通過(guò)相應(yīng)的過(guò)濾驅(qū)動(dòng)程序?qū)C中的重要文件進(jìn)行有效的加密和解密工作,從而提升這些文件的安全性。當(dāng)PC 用戶打開(kāi)這些文件時(shí),系統(tǒng)能夠自動(dòng)進(jìn)行解密操作,即在保證加密操作和解密操作對(duì)于用戶是絕對(duì)透明的前提下促進(jìn)其整體安全性的有效提升。
一般而言現(xiàn)有的文件加密方法在存在自身優(yōu)越性的前提下也存在其固有缺陷,這主要體現(xiàn)在硬件層加密方式、調(diào)用驅(qū)動(dòng)層、系統(tǒng)調(diào)用層、用戶層加密方式等加密方法上。以下從幾個(gè)方面出發(fā),對(duì)現(xiàn)有文件加密方法進(jìn)行了分析。
在這種加密方式中CPU 并不會(huì)參與信息和數(shù)據(jù)的加密、解密過(guò)程,其加密、解密過(guò)程主要是在硬件引擎中完成的。這種硬件層加密方法具有加密速度、解密速度較快的優(yōu)越性。但是同時(shí)存在著加密、解密成本較高的缺陷。
調(diào)用驅(qū)動(dòng)層加密屬于軟件加密方式。其加密、解密的進(jìn)行實(shí)在PC 的操作系統(tǒng)內(nèi)核(如圖1)進(jìn)行的,因此這一加密方法的應(yīng)用可以有效得到系統(tǒng)內(nèi)核保護(hù),并且加密、解密流程較為簡(jiǎn)易。與此同時(shí)由于這一文件加密方法主要依賴中間層驅(qū)動(dòng)程 序因此受應(yīng)用層的影響較小。因此其相關(guān)工作能夠在后臺(tái)進(jìn)行自動(dòng)完成。但是這一加密方法也存在加密效率、解密效率較低,開(kāi)發(fā)難度高等缺陷。
圖1
系統(tǒng)調(diào)用層加密是指通過(guò)使用插入技術(shù)來(lái)為PC 使用者的文件進(jìn)行加密的方法。這一加密方法的基礎(chǔ)是用戶空間和內(nèi)核空間的合理通信,即只有在這個(gè)通道內(nèi)相應(yīng)操作才會(huì)被處理。這種系統(tǒng)調(diào)用層加密方法的應(yīng)用具有對(duì)全部操作進(jìn)行加密的優(yōu)越性,但是同時(shí)存在加密成本較高的缺陷。
用戶層加密方式顧名思義即PC 用戶自己進(jìn)行加密的加密方法,這一加密方法具有易于實(shí)現(xiàn)的優(yōu)越性,但是由于這一加密方法是用戶自行進(jìn)行的加密,因此這一加密很容易受到其他程序的攔截。即這一加密、解密方法的安全性仍然有待提升。
通常來(lái)說(shuō)文件系統(tǒng)驅(qū)動(dòng)是在操作系統(tǒng)的子系統(tǒng)中的一個(gè)儲(chǔ)存組件。因此子系統(tǒng)管理器在接收到讀寫(xiě)磁盤(pán)操作請(qǐng)求時(shí)會(huì)優(yōu)先對(duì)緩存中的數(shù)據(jù)進(jìn)行有效的檢查。如果緩存中存在請(qǐng)求的數(shù)據(jù)則子系統(tǒng)管理器會(huì)構(gòu)造相應(yīng)的請(qǐng)求包并且從緩存中進(jìn)行數(shù)據(jù)的直接存取。但是如果當(dāng)緩存中不存在相應(yīng)的請(qǐng)求數(shù)據(jù)則子系統(tǒng)會(huì)進(jìn)行IRP 的有效構(gòu)造并且將其發(fā)往文件系統(tǒng)驅(qū)動(dòng),并且在這一過(guò)程中緩存管理器會(huì)對(duì)整個(gè)流程進(jìn)行相應(yīng)的記錄。因此對(duì)這兩組函數(shù)進(jìn)行編寫(xiě)也是編寫(xiě)這兩組函數(shù)也是基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)的重要任務(wù)。
文件密級(jí)標(biāo)識(shí)系統(tǒng)設(shè)計(jì)是基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)的應(yīng)用關(guān)鍵部分。這主要體現(xiàn)在用戶模式應(yīng)用程序、文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序、回調(diào)函數(shù)入口指針等環(huán)節(jié)。以下從幾個(gè)方面出發(fā),對(duì)文件密級(jí)標(biāo)識(shí)系統(tǒng)設(shè)計(jì)進(jìn)行了分析。
用戶模式應(yīng)用程序是依靠用戶操作為主的加密程序,這一程序的有效應(yīng)用可以將PC 用戶進(jìn)行過(guò)設(shè)置的信息進(jìn)行更為安全的傳遞和傳輸,并且在此基礎(chǔ)上將其傳遞給文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序。用戶模式應(yīng)用程序的使用可以針對(duì)不同的加密需求和加密條件對(duì)文件和數(shù)據(jù)選擇不同的加密、解密操作,從而有效達(dá)到防治文件、數(shù)據(jù)泄露的目的。(如圖2)
圖2
文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序的應(yīng)用能夠以輪巡方式讀出文件內(nèi)的數(shù)據(jù)和信息,并且通過(guò)之前內(nèi)核中記憶的數(shù)據(jù)和信息進(jìn)行對(duì)比,從而判定這些數(shù)據(jù)和文件是否具有完整性,如果具有完整性則在對(duì)其進(jìn)行過(guò)濾后進(jìn)行加密的程序。文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序的應(yīng)用能夠較好地保持文件和數(shù)據(jù)的完整性并且能夠?qū)τ诒淮鄹牡臄?shù)據(jù)、信息進(jìn)行一定程度上的修正和恢復(fù),并且具有占用系統(tǒng)資源較小,運(yùn)算速度較快等優(yōu)越性,因此有著較為廣泛的應(yīng)用。
PC 使用者在回調(diào)函數(shù)入口指針的應(yīng)用過(guò)程中可以采用分發(fā)例程處理,從而在此基礎(chǔ)上對(duì)文件系統(tǒng)過(guò)濾驅(qū)動(dòng)進(jìn)行定義并且這一定義并不要求對(duì)IRP 進(jìn)行處理。即回調(diào)函數(shù)入口指針的應(yīng)用能夠?qū)⒄?qǐng)求直接發(fā)往下層驅(qū)動(dòng)同時(shí)不需要進(jìn)任何處理。與此同時(shí),在回調(diào)函數(shù)入口指針的應(yīng)用過(guò)程中PC 使用者可以在不改變自身基本應(yīng)用習(xí)慣的前提下對(duì)系統(tǒng)中重要的數(shù)據(jù)、信息、文件進(jìn)行加密,對(duì)不需要保護(hù)的文件則進(jìn) 行條件控制,適當(dāng)?shù)剡M(jìn)行加密或不加密處理。
入口函數(shù)的編寫(xiě)是基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)的重要組成部分。這主要體現(xiàn)在請(qǐng)求響應(yīng)函數(shù)編寫(xiě)、WRITE 分發(fā)函數(shù)編寫(xiě)、READ 分發(fā)函數(shù)編寫(xiě)等環(huán)節(jié)。以下從幾個(gè)方面出發(fā),對(duì)入口函數(shù)編寫(xiě)進(jìn)行了分析。
請(qǐng)求響應(yīng)函數(shù)的編寫(xiě)是入口函數(shù)編寫(xiě)的重要組成部分。通常來(lái)說(shuō)相應(yīng)函數(shù)的添加需要PC 使用者手動(dòng)添加同時(shí)建立一個(gè)單文檔程序,并且當(dāng)原函數(shù)沒(méi)有參數(shù)時(shí),PC 使用者應(yīng)當(dāng)增加相應(yīng)的參數(shù),同時(shí)進(jìn)行代碼的寫(xiě)入。另外,在請(qǐng)求響應(yīng)函數(shù)的編寫(xiě)過(guò)程中其數(shù)據(jù)自身應(yīng)當(dāng)也是可以進(jìn)行加密和解密的,這雖然則加了其相應(yīng)的編寫(xiě)難度,但是與此同時(shí)也增加了其編寫(xiě)性能和編寫(xiě)安全性。從而在此基礎(chǔ)上更好地降低請(qǐng)求響應(yīng)函數(shù)的編寫(xiě)難度何其對(duì)PC 整體性能的影響。
在WRITE 分發(fā)函數(shù)的編寫(xiě)過(guò)程中如果這些文件并不需要PC使用者進(jìn)行加密則會(huì)直接向下層驅(qū)動(dòng)傳遞該操作請(qǐng)求。除此之外,在WRITE 分發(fā)函數(shù)編寫(xiě)過(guò)程中PC 使用者應(yīng)當(dāng)從文件路徑名中將文件后綴名進(jìn)行取出并且將其與需要加密的文件的后綴名進(jìn)行比較。從而促進(jìn)基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)應(yīng)用水平的有效提升。
READ 分發(fā)函數(shù)的編寫(xiě)能夠?qū)崿F(xiàn)以下功能,首先能夠獲取需要加密的文件的路徑名并且在此基礎(chǔ)上判斷這一文件是否是需要進(jìn)行加密的文件。如果是需要加密的文件則會(huì)自動(dòng)對(duì)齊進(jìn)行解密。除此之外,在READ 分發(fā)函數(shù)的編寫(xiě)過(guò)程中關(guān)于文件路徑名的獲取與上述方法類似,在這之后系統(tǒng)也會(huì)對(duì)文件的后綴名進(jìn)行判斷。如果是需要進(jìn)行加密的文件、信息和數(shù)據(jù)則系統(tǒng)會(huì)對(duì)加密過(guò)的文件、信息和數(shù)據(jù)進(jìn)行有效的解密。另外,在.READ 分發(fā)函數(shù)的編寫(xiě)過(guò)程中PC 使用者應(yīng)當(dāng)注重確保需要進(jìn)行解密的文件的數(shù)據(jù)結(jié)構(gòu),但是與此同時(shí)應(yīng)當(dāng)注意,這一方法與上述方法存在一定的不一致,即其解密過(guò)程是在系統(tǒng)內(nèi)核完成的,因此其操作具有較為復(fù)雜的特性。
文件系統(tǒng)過(guò)濾驅(qū)動(dòng)通信是為了在PC 使用者在完善操作系統(tǒng)的過(guò)程中提供更高的的安全值的通信方式,由于文件系統(tǒng)過(guò)濾驅(qū)動(dòng)在本質(zhì)上而言是一種內(nèi)核模式驅(qū)動(dòng),因此這一驅(qū)動(dòng)模式的進(jìn)行較為依靠于已存在的內(nèi)核驅(qū)動(dòng)請(qǐng)求,并且在這些請(qǐng)求的基礎(chǔ)上提供新的功能文件系統(tǒng)過(guò)濾驅(qū)動(dòng),同時(shí)其戶模式、應(yīng)用程序、信息通信都是基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)應(yīng)用的具體環(huán)節(jié)下的。在文件系統(tǒng)過(guò)濾驅(qū)動(dòng)通信的基本過(guò)程中PC 使用者應(yīng)當(dāng)注重按照相應(yīng)步驟來(lái)進(jìn)行相關(guān)工作。例如PC 使用者可以將文件系統(tǒng)過(guò)濾驅(qū)動(dòng)綁定到相關(guān)的目標(biāo)設(shè)備對(duì)象上,從而當(dāng)其信息、數(shù)據(jù)發(fā)生變化時(shí)可以通過(guò)這些綁定設(shè)備對(duì)其進(jìn)行有效的攔截,因此其整體安全性將會(huì)得到有效提升。接下來(lái)PC 使用者可以通過(guò)獲得一個(gè)指向目標(biāo)設(shè)備對(duì)象的指針來(lái)創(chuàng)建一個(gè)驅(qū)動(dòng)設(shè)備對(duì)象,從而在此基礎(chǔ)上確保文件系統(tǒng)過(guò)濾驅(qū)動(dòng)通信的各種域的設(shè)定是正確的,即其各種域的設(shè)定對(duì)于調(diào)用目標(biāo)的驅(qū)動(dòng)服務(wù)并不會(huì)產(chǎn)生較大影響同時(shí)不會(huì)影響到PC 的整體處理速度。在上述工作完成之后PC 使用者就可以進(jìn)行文件系統(tǒng)過(guò)濾驅(qū)動(dòng)通信,在進(jìn)行加密、解密通信時(shí)需要對(duì)管理器進(jìn)行有效設(shè)置,因此在信息的傳遞過(guò)程中文件系統(tǒng)的過(guò)濾驅(qū)動(dòng)應(yīng)當(dāng)能夠區(qū)分哪些操作請(qǐng)求是需要文件系統(tǒng)過(guò)濾驅(qū)動(dòng)進(jìn)行處理的。并且當(dāng)之前的綁定操作完成之后,新設(shè)置的管理器會(huì)將文件中的信息和數(shù)據(jù)發(fā)往過(guò)濾驅(qū)動(dòng)。除此之外,在文件系統(tǒng)過(guò)濾驅(qū)動(dòng)通信過(guò)程中PC 使用者應(yīng)當(dāng)注重新IPR 的有效創(chuàng)建。即依靠之前設(shè)定的管理器對(duì)IRP 進(jìn)行的合理創(chuàng)建并且對(duì)這些IPR 輸入打開(kāi)請(qǐng)求,子系統(tǒng)管理器會(huì)根據(jù)IRP 的具體情況對(duì)這些信息進(jìn)行判定,如果符合判斷則將其發(fā)給最高層設(shè)備對(duì)象,如果不符合判斷則發(fā)給相應(yīng)的邏輯設(shè)備進(jìn)行再判斷,直到確定不符合之前的管理器要求。通常來(lái)說(shuō)當(dāng)管理器進(jìn)行初始化時(shí)對(duì)其適應(yīng)值進(jìn)行重新確認(rèn)有著較為重要的意義。但是這需要PC 使用者將最開(kāi)始進(jìn)行的綁定進(jìn)行解除,并且在部分情況下需要從被綁定的驅(qū)動(dòng)上進(jìn)行綁定解除但是有時(shí)也需要過(guò)濾驅(qū)動(dòng)從目標(biāo)設(shè)備上進(jìn)行綁定解除。在這一過(guò)程中PC 使用者應(yīng)當(dāng)明晰在初始化中其參數(shù)值存在一個(gè)并且其該函數(shù)只有一個(gè)參數(shù)目標(biāo)設(shè)備對(duì)象指針也只有一個(gè)。因此在對(duì)其進(jìn)行初始化是PC 使用者應(yīng)當(dāng)格外謹(jǐn)慎。另外,對(duì)這一攔截問(wèn)題進(jìn)行解決方法是在進(jìn)行驅(qū)動(dòng)時(shí)用相應(yīng)驅(qū)動(dòng)軟件創(chuàng)建一個(gè)命名控制設(shè)備的對(duì)象并且在這一設(shè)備對(duì)象中擴(kuò)展驅(qū)動(dòng)中定義設(shè)備類型。例如當(dāng)PC使用者需要對(duì)修改控制設(shè)備的對(duì)象設(shè)備的擴(kuò)展類型進(jìn)行判定并且在系統(tǒng)攔截操作請(qǐng)求后,通過(guò)對(duì)設(shè)備的擴(kuò)展類型進(jìn)行檢查。即通過(guò)得知該操作請(qǐng)求是系統(tǒng)發(fā)送的還是用戶通過(guò)應(yīng)用程序進(jìn)行發(fā)送的。并且在這之后對(duì)子系統(tǒng)控制碼和網(wǎng)絡(luò)文件系統(tǒng)控制碼以及文件系統(tǒng)控制碼等進(jìn)行定義,從而獲得文件系統(tǒng)過(guò)濾驅(qū)動(dòng)的版本號(hào)。從而在此基礎(chǔ)上促進(jìn)信息更加有效的進(jìn)行加密、解密和傳遞。
在Windows 操作系統(tǒng)應(yīng)用越來(lái)越多的今天,系統(tǒng)安全性提升的重要性也被越來(lái)越多的人認(rèn)識(shí)到。PC 使用者在文件的加密和解密過(guò)程中應(yīng)當(dāng)對(duì)基于濾驅(qū)動(dòng)技術(shù)的文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)有著清晰的了解,并在此基礎(chǔ)上通過(guò)研究與實(shí)踐的進(jìn)行促進(jìn)Windows 安全性整體水平不斷提升。
[1] 王文宇,陳尚義.電子文件密級(jí)管理系統(tǒng)的關(guān)鍵技術(shù)與設(shè)計(jì)[J].信息安全與通信保密,2009(10)
[2] 邊力,陳性元,汪永偉.基于多維標(biāo)識(shí)的文件分級(jí)保護(hù)模型[J].計(jì)算機(jī)工程,2011(13)
[3] 武越,劉向東,石兆軍.文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013(10)