本發(fā)明屬于文件透明加解密技術(shù)領(lǐng)域,特別是一種基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng)及方法。
背景技術(shù):
透明加密技術(shù)是數(shù)據(jù)泄漏防護(hù)系統(tǒng)解決方案中常用的一種技術(shù),所謂透明是指在不改變用戶(hù)使用習(xí)慣、計(jì)算機(jī)文件格式和應(yīng)用程序的情況下,采取透明加解密技術(shù),對(duì)指定類(lèi)型的文件進(jìn)行實(shí)時(shí)、強(qiáng)制、透明的加解密。即在正常使用時(shí),計(jì)算機(jī)內(nèi)存中的文件是以受保護(hù)的明文形式存放,但硬盤(pán)上保存的數(shù)據(jù)卻是加密狀態(tài),如果沒(méi)有合法的使用身份、訪(fǎng)問(wèn)權(quán)限、正確的安全通道,所有加密文件都是以密文狀態(tài)保存,所有通過(guò)非法途徑獲得的數(shù)據(jù),都以密文形式表現(xiàn)。
透明加密系統(tǒng)不但能夠支持加解密,而且還支持透明化功能,所謂透明化功能指的是,當(dāng)用戶(hù)使用加密文件時(shí),可以不進(jìn)行解密,而讓系統(tǒng)透明化地自動(dòng)支持它。透明化功能是在后臺(tái)自動(dòng)執(zhí)行的,但使用透明化功能時(shí)也要進(jìn)行密碼的核對(duì)或加密硬件的連接,透明化功能的具體實(shí)現(xiàn)過(guò)程都是在內(nèi)存中進(jìn)行的,而不是在磁盤(pán)上進(jìn)行,這一點(diǎn)保證了文件的安全性,使用透明化功能時(shí),盡管加密文件沒(méi)有被解密,但是操作系統(tǒng)和所有的應(yīng)用程序都以文件的原始內(nèi)容為標(biāo)準(zhǔn),這個(gè)過(guò)程對(duì)于操作系統(tǒng)和應(yīng)用程序是透明的,所以叫做透明化加密系統(tǒng)
傳統(tǒng)的實(shí)現(xiàn)文件加解密功能的技術(shù)方法通常有三種:
(1)通過(guò)硬件加解密引擎實(shí)現(xiàn)文件的加解密,即CPU將數(shù)據(jù)發(fā)送給硬件加密引擎,這樣就可以完成加密工作。這種技術(shù)的優(yōu)點(diǎn)是速度快,安全性高,但是實(shí)現(xiàn)成本高,交互性差。
(2)專(zhuān)用文件加解密系統(tǒng)。它是以特制文件系統(tǒng)來(lái)實(shí)現(xiàn)加密功能,常以單獨(dú)的磁盤(pán)分區(qū)形式存在,而需要被加密的文件存儲(chǔ)在該單獨(dú)的磁盤(pán)分區(qū)內(nèi),對(duì)文件加解密的限制要求較多。
(3)基于用戶(hù)模式的加解密軟件實(shí)現(xiàn)的,基于用戶(hù)模式的加解密軟件實(shí)現(xiàn)起來(lái)比較容易,但是由于它是用戶(hù)空間的程序,各種用戶(hù)進(jìn)程和內(nèi)核進(jìn)程都可以訪(fǎng)問(wèn)它的中間處理數(shù)據(jù),或在系統(tǒng)緩存中留下的明文文件。因此,明文信息容易被其它進(jìn)程攔截,安全性不高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于驅(qū)動(dòng)層的文件透明加解密方法,用于解決上述現(xiàn)有技術(shù)的問(wèn)題。
本發(fā)明一種基于驅(qū)動(dòng)層的文件透明加解密方法,其中,包括:加密過(guò)程包括:從應(yīng)用層產(chǎn)生明文文檔;將明文文檔和其屬性信息下發(fā)至內(nèi)核層,內(nèi)核層設(shè)備驅(qū)動(dòng)將明文數(shù)據(jù)和屬性信息組成結(jié)構(gòu)體,結(jié)構(gòu)體包括:標(biāo)簽頭、標(biāo)簽體、明文數(shù)據(jù)以及校驗(yàn);將結(jié)構(gòu)體放入外部的加密卡進(jìn)行加密,加密卡產(chǎn)生隨機(jī)數(shù),通過(guò)全網(wǎng)統(tǒng)一的加密密鑰,對(duì)標(biāo)簽體進(jìn)行加密,按照標(biāo)簽頭、加密后的標(biāo)簽體、密文數(shù)據(jù)以及校驗(yàn)組成標(biāo)簽文檔;解密過(guò)程包括:從內(nèi)核層讀取標(biāo)簽文檔,并發(fā)送給加密卡,加密卡根據(jù)設(shè)定的格式,從標(biāo)簽頭讀取到標(biāo)簽體,調(diào)用全網(wǎng)統(tǒng)一密鑰解密標(biāo)簽體,調(diào)用隨機(jī)數(shù)解密密文數(shù)據(jù),計(jì)算校驗(yàn)是否正確,如正確,將解密后的明文文檔發(fā)送到驅(qū)動(dòng)層。
根據(jù)本發(fā)明的基于驅(qū)動(dòng)層的文件透明加解密方法的一實(shí)施例,其中,隨機(jī)數(shù)為32字節(jié)隨機(jī)數(shù)。
根據(jù)本發(fā)明的基于驅(qū)動(dòng)層的文件透明加解密方法的一實(shí)施例,其中,外部的加密卡為USB加密設(shè)備。
根據(jù)本發(fā)明的基于驅(qū)動(dòng)層的文件透明加解密方法的一實(shí)施例,其中,標(biāo)簽體內(nèi)存儲(chǔ)有屬性信息。
根據(jù)本發(fā)明的基于驅(qū)動(dòng)層的文件透明加解密方法的一實(shí)施例,其中,全網(wǎng)統(tǒng)一密鑰為局域網(wǎng)內(nèi)統(tǒng)一密鑰。
根據(jù)本發(fā)明的基于驅(qū)動(dòng)層的文件透明加解密方法的一實(shí)施例,其中,將標(biāo)簽文檔重新傳回內(nèi)核層后,調(diào)用磁盤(pán)存儲(chǔ)接口進(jìn)行標(biāo)簽文檔存儲(chǔ)。
本發(fā)明的一種基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng),其中,包括:應(yīng)用層,用于產(chǎn)生明文文檔;內(nèi)核層,用于將明文文檔和其屬性信息組成結(jié)構(gòu)體,結(jié)構(gòu)體包括:標(biāo)簽頭、標(biāo)簽體、明文數(shù)據(jù)以及校驗(yàn);加密卡,用于將結(jié)構(gòu)體進(jìn)行加密,加密卡產(chǎn)生隨機(jī)數(shù),通過(guò)全網(wǎng)統(tǒng)一的加密密鑰,對(duì)標(biāo)簽體進(jìn)行加密,按照標(biāo)簽頭、加密后的標(biāo)簽體、密文數(shù)據(jù)以及校驗(yàn)組成標(biāo)簽文檔;根據(jù)設(shè)定的格式,從標(biāo)簽頭讀取到標(biāo)簽體,調(diào)用全網(wǎng)統(tǒng)一密鑰解密標(biāo)簽體,調(diào)用隨機(jī)數(shù)解密密文數(shù)據(jù),計(jì)算校驗(yàn)是否正確,如正確,將解密后的明文文檔發(fā)送到驅(qū)動(dòng)層。
根據(jù)本發(fā)明的基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng)的一實(shí)施例,其中,隨機(jī)數(shù)為32字節(jié)隨機(jī)數(shù)。
根據(jù)本發(fā)明的基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng)的一實(shí)施例,其中,外部的加密卡為USB加密設(shè)備。
根據(jù)本發(fā)明的基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng)的一實(shí)施例,其中,標(biāo)簽體內(nèi)存儲(chǔ)有屬性信息。
本發(fā)明基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng)及方法,在外設(shè)的加密卡中進(jìn)行文檔的加密和解密,并且設(shè)計(jì)了一種新型的加密文檔結(jié)構(gòu),能夠有效的提高文檔加密的安全性。
附圖說(shuō)明
圖1所示為基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng)的模塊圖;
圖2所示為本發(fā)明基于標(biāo)簽的內(nèi)核層文件透明加解密系統(tǒng)架構(gòu)圖;
圖3所示為加密后的文檔數(shù)據(jù)的結(jié)構(gòu)圖;
圖4所示為基于標(biāo)簽的內(nèi)核層文件透明加解密系統(tǒng)應(yīng)用場(chǎng)景示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、內(nèi)容、和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。
圖1所示為基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng)的模塊圖,如圖1所示,本發(fā)明的基于標(biāo)簽的內(nèi)核層文件透明加解密系統(tǒng)是基于系統(tǒng)內(nèi)核模式的方式實(shí)現(xiàn)的。文件透明加解密模塊以?xún)?nèi)核模塊的形式完成文件的過(guò)濾審查、文件的權(quán)限劃分和文件的加解密等功能。涉密文件是以密文的形式存儲(chǔ)在硬盤(pán)上,文件的密級(jí)、權(quán)限限制、流轉(zhuǎn)路徑、密鑰等信息以數(shù)字標(biāo)簽的形式存儲(chǔ)在涉密文件的頭部,透明加解密系統(tǒng)驅(qū)動(dòng)層完成文件標(biāo)簽的過(guò)濾、解析和驗(yàn)證。
如圖1所示,本發(fā)明基于標(biāo)簽的內(nèi)核層文件透明加解密系統(tǒng)模型從上到下依次分為五個(gè)部分:1、應(yīng)用軟件模塊,該模塊是文件透明加解密系統(tǒng)的人機(jī)交互界面,主要包括兩個(gè)部分,服務(wù)器端和客戶(hù)端,完成應(yīng)用軟件的基本功能。2、操作系統(tǒng)內(nèi)核模塊,該模塊主要完成文件I/O系統(tǒng)接口函數(shù)的調(diào)用,主要是對(duì)于文檔的增、刪、改、除等基本功能的調(diào)用。3、設(shè)備驅(qū)動(dòng)模塊,該模塊是整個(gè)文件透明加解密系統(tǒng)的核心部分,主要完成各個(gè)模塊的安全管控、資源調(diào)度、數(shù)據(jù)加載、文件的標(biāo)簽生成、標(biāo)簽的解析驗(yàn)證、與加密卡的數(shù)據(jù)交互等功能。4、數(shù)據(jù)加解密模塊,該模塊與設(shè)備驅(qū)動(dòng)層直接通信,主要完成涉密文件的加密和解密工作,設(shè)備形態(tài)為USB密碼卡。5、數(shù)據(jù)存儲(chǔ)介質(zhì),數(shù)據(jù)存儲(chǔ)介質(zhì)主要完成對(duì)經(jīng)過(guò)文件透明加解密系統(tǒng)的密文數(shù)據(jù)的存儲(chǔ)。
圖2所示為本發(fā)明基于標(biāo)簽的內(nèi)核層文件透明加解密系統(tǒng)架構(gòu)圖,如圖2所示,基于標(biāo)簽的內(nèi)核層文件透明加解密系統(tǒng)架構(gòu)分為三層:應(yīng)用層、內(nèi)核層、設(shè)備層。應(yīng)用層,包括文件透明加解密系統(tǒng)的客戶(hù)端程序、上層操作系統(tǒng)、NativeAPI接口。首客戶(hù)端程序主要完成用戶(hù)的身份認(rèn)證,對(duì)接后臺(tái)服務(wù)器程序,顯示、上傳文件透明加解密系統(tǒng)的操作日志和審計(jì)日證等相關(guān)信息。上層操作系統(tǒng)通過(guò)NativeAPI接口與操作系統(tǒng)底層I/O接口連接,實(shí)時(shí)監(jiān)控用戶(hù)有關(guān)文件的各種操作,并將操作指令下發(fā)給內(nèi)核層的驅(qū)動(dòng)程序。內(nèi)核層,包括操作系統(tǒng)底層I/O接口函數(shù)、設(shè)備驅(qū)動(dòng)程序、操作系統(tǒng)內(nèi)核。操作系統(tǒng)I/O接口函數(shù)監(jiān)測(cè)到上層應(yīng)用程序的有關(guān)文件操作的指令,就將指令傳遞給文件透明加解密的驅(qū)動(dòng)程序;驅(qū)動(dòng)程序的主要功能可以分為兩類(lèi),系統(tǒng)功能和業(yè)務(wù)功能。系統(tǒng)功能主要包括I/O管理、對(duì)象管理、進(jìn)程管理、內(nèi)存管理、配置管理等;業(yè)務(wù)功能主要包括給文件標(biāo)簽的添加、文件標(biāo)簽的刪除、涉密文件的標(biāo)簽體的解析驗(yàn)證、向加密卡發(fā)送和接收數(shù)據(jù)、記錄和更新審計(jì)、操作日志。操作系統(tǒng)內(nèi)核則主要完成具體的底層操作。設(shè)備層,包括數(shù)據(jù)存儲(chǔ)介質(zhì)和USB密碼卡。數(shù)據(jù)存儲(chǔ)介質(zhì)可以是固態(tài)硬盤(pán)、傳統(tǒng)硬盤(pán)、磁盤(pán)陣列等,主要完成加密后的文件存儲(chǔ)。USB密碼卡主要完成算法實(shí)現(xiàn),給驅(qū)動(dòng)層提供數(shù)據(jù)的加解密功能。
圖3所示為加密后的文檔數(shù)據(jù)的結(jié)構(gòu)圖,如圖3所示,加密后的文檔數(shù)據(jù)主要包括四部分;標(biāo)簽頭(未加密)、標(biāo)簽體(加密存儲(chǔ))、加密數(shù)據(jù)塊、密文校驗(yàn)。
標(biāo)簽頭,作為加密文檔的特征碼放在加密文檔的最前端,為固定數(shù)值和固定長(zhǎng)度。標(biāo)簽體,主要記錄和描述該涉密文檔的相關(guān)信息和屬性,包括文檔的密級(jí)、文檔的創(chuàng)建時(shí)間、文檔的創(chuàng)建用戶(hù)編號(hào)、文檔創(chuàng)建用戶(hù)的單位編號(hào)、文檔的解密密鑰明文、文檔流轉(zhuǎn)信息列表。其中標(biāo)簽體整個(gè)被加密存放在密文數(shù)據(jù)的第二部分,標(biāo)簽體的加密密鑰存放在USB加密卡中,服務(wù)器所在局域網(wǎng)內(nèi)統(tǒng)一。數(shù)據(jù)塊,主要是文檔的主題部分,分為兩小部分,加密文檔部分和密文校驗(yàn)部分,加密文檔部分是數(shù)據(jù)文檔的明文與明文的校驗(yàn)值整體加密存放在密文校驗(yàn)值的前面,密文校驗(yàn)值是對(duì)數(shù)據(jù)塊密文部分的校驗(yàn),確保密文數(shù)據(jù)的完整性。
圖4所示為基于標(biāo)簽的內(nèi)核層文件透明加解密系統(tǒng)應(yīng)用場(chǎng)景示意圖,如圖4所示,包括:后臺(tái)數(shù)據(jù)服務(wù)器1、客戶(hù)端2、客戶(hù)端3、加密卡4、加密卡5。其中,用戶(hù)A通過(guò)客戶(hù)端2和加密卡4對(duì)文檔加密,用戶(hù)B通過(guò)客戶(hù)端3和加密卡5對(duì)文檔加密。
如圖4所示,基于標(biāo)簽的內(nèi)核層文件透明加解密系統(tǒng)的應(yīng)用場(chǎng)景主要包括三個(gè)方面的內(nèi)容:帶標(biāo)簽加密文檔的生成、帶標(biāo)簽加密文檔的流轉(zhuǎn)、帶標(biāo)簽加密文檔操作信息的上報(bào)。帶標(biāo)簽的加密文檔由用戶(hù)產(chǎn)生,產(chǎn)生后加密存儲(chǔ)在存儲(chǔ)介質(zhì)中,用戶(hù)使用該文檔時(shí)與正常文檔的使用沒(méi)有區(qū)別,僅在文檔的圖標(biāo)上添加密級(jí)標(biāo)簽。帶標(biāo)簽的加密文檔在流轉(zhuǎn)過(guò)程中,文檔在解密過(guò)程會(huì)自動(dòng)在標(biāo)簽中添加流轉(zhuǎn)的相關(guān)信息。帶標(biāo)簽的加密文檔在客戶(hù)端的相關(guān)操作,包括文檔打開(kāi),標(biāo)簽的增加、刪除、修改,文檔的流轉(zhuǎn)等與加密文檔相關(guān)的操作都會(huì)通過(guò)客戶(hù)端程序發(fā)送到后臺(tái)服務(wù)作備份存儲(chǔ)。
如圖1至圖4所示,本發(fā)明基于驅(qū)動(dòng)層的文件透明加解密方法包括:
明文文檔從應(yīng)用層產(chǎn)生;
明文文檔和屬性信息下發(fā)至內(nèi)核層,內(nèi)核層設(shè)備驅(qū)動(dòng)(驅(qū)動(dòng)控制)將明文數(shù)據(jù)和文檔屬性信息組成結(jié)構(gòu)體,結(jié)構(gòu)體包括:標(biāo)簽頭、標(biāo)簽體(屬性信息)、明文數(shù)據(jù)以及校驗(yàn),結(jié)構(gòu)體放入加密模塊進(jìn)行加密,加密卡產(chǎn)生隨機(jī)數(shù)(32字節(jié)),對(duì)明文數(shù)據(jù)通過(guò)加密密鑰進(jìn)行加密。通過(guò)全網(wǎng)統(tǒng)一(局域網(wǎng)統(tǒng)一)的加密密鑰,對(duì)標(biāo)簽體進(jìn)行加密。按照標(biāo)簽頭、加密后的標(biāo)簽體、密文數(shù)據(jù)、校驗(yàn)組成標(biāo)簽文檔。
將標(biāo)簽文檔重新傳回內(nèi)核層,調(diào)用磁盤(pán)存儲(chǔ)接口進(jìn)行存儲(chǔ)。
解密過(guò)程包括:
內(nèi)核層讀取加密后的標(biāo)簽文檔,并發(fā)送給加密卡,加密卡根據(jù)設(shè)定的格式,從標(biāo)簽頭讀取到標(biāo)簽體,調(diào)用全網(wǎng)統(tǒng)一密鑰解密標(biāo)簽體,調(diào)用隨機(jī)數(shù)解密密文數(shù)據(jù)。計(jì)算校驗(yàn)是否正確,將解密后的明文文檔發(fā)送到驅(qū)動(dòng)層。
本發(fā)明基于驅(qū)動(dòng)層的文件透明加解密系統(tǒng)及方法,在外設(shè)的加密卡中進(jìn)行文檔的加密和解密,并且設(shè)計(jì)了一種新型的加密文檔結(jié)構(gòu),能夠有效的提高文檔加密的安全性。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。