一種文檔保護(hù)方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種文檔保護(hù)設(shè)備,駐留在客戶端上,該客戶端中具有操作系統(tǒng),該操作系統(tǒng)劃分為用戶空間層和內(nèi)核層,該文檔保護(hù)設(shè)備包括:加解密模塊,在用戶空間層運(yùn)行,監(jiān)控在客戶端上的應(yīng)用對文檔的操作,當(dāng)應(yīng)用讀取文檔內(nèi)容時,從客戶端中獲取加密的文檔內(nèi)容并進(jìn)行解密,將解密內(nèi)容放置在臨時存儲空間中以供應(yīng)用讀??;當(dāng)應(yīng)用存儲文檔內(nèi)容時,將臨時存儲空間中的內(nèi)容進(jìn)行加密,并存儲加密的文檔;以及自保護(hù)模塊,在內(nèi)核層中運(yùn)行,監(jiān)控臨時存儲空間,以防止除了該應(yīng)用以外的其他應(yīng)用訪問該臨時存儲空間。本發(fā)明還公開了一種包括該文檔保護(hù)設(shè)備的文檔保護(hù)系統(tǒng)和相對應(yīng)的文檔保護(hù)方法。
【專利說明】一種文檔保護(hù)方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)和互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種防止文檔被外泄的技術(shù)。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)技術(shù)的普及和發(fā)展,豐富的網(wǎng)絡(luò)數(shù)據(jù)資源為人們的生活帶來了極大的便利,同時也帶來了諸多的困惑,例如,在企業(yè)中,員工很容易地將一些涉及企業(yè)秘密的文件發(fā)送到企業(yè)之外,從而導(dǎo)致文件泄密。因此,需要一種能夠保護(hù)文檔以防止文檔內(nèi)容外傳的方案。
[0003]目前已經(jīng)提供了各種方案來防止計(jì)算設(shè)備上的文檔被泄密。一種方案是在計(jì)算設(shè)備上安裝專門的軟件來封堵硬件接口(如USB接口、紅外接口等)和關(guān)閉網(wǎng)絡(luò)協(xié)議(FTP、HTTP等)來阻止向外部傳輸電子文檔。然而,這種方案上存在技術(shù)上的不足之外。首先,該方案需要封堵硬件接口和關(guān)閉網(wǎng)絡(luò)協(xié)議,犧牲計(jì)算機(jī)的可用性。其次,隨著計(jì)算機(jī)技術(shù)不斷發(fā)展,新技術(shù)新協(xié)議不斷更新,此種方案很難在第一時間防止通過新的存儲介質(zhì)和傳輸協(xié)議的文檔泄密問題。
[0004]另外一種方案是在網(wǎng)絡(luò)中部署權(quán)限管理軟件,同時配置專用的閱讀器來讀取文檔,從而防止電子文檔被泄密。該方案可以設(shè)置用戶處理電子文檔的權(quán)限,這樣有的用戶只擁有讀取的權(quán)限,而有的用戶擁有讀取、修改、打印等多種權(quán)限。這樣既達(dá)到了防止文件被泄密,也達(dá)到了公司知識積累和文件的共享。管理者從使用者下載文檔操作開始控制使用者的讀取、存儲、復(fù)制、輸出等權(quán)限,使得每使用者只能接觸到自己業(yè)務(wù)范圍內(nèi)的有限文檔,防止使用者之間非法復(fù)制、拷貝、對外發(fā)行、光盤拷貝。這種方案雖然不會受存儲介質(zhì)和傳輸協(xié)議的影響,但該方式需要產(chǎn)生文件后將電子文檔手動轉(zhuǎn)換成專用閱讀器的文件格式,因此操作繁瑣。另外,這種方式由于需要使用者手動來轉(zhuǎn)換格式,因此并不能防止使用者主動泄密。
[0005]因此,需要的是一種可以解決上述問題、并且對用戶來說基本透明的文檔保護(hù)方案。
【發(fā)明內(nèi)容】
[0006]為此,本發(fā)明提供一種新的方案以力圖解決或者至少緩解上面存在的問題。
[0007]根據(jù)本發(fā)明的一個方面,提供了一種文檔保護(hù)設(shè)備,駐留在客戶端上。該客戶端中具有操作系統(tǒng),該操作系統(tǒng)劃分為用戶空間層和內(nèi)核層。該文檔保護(hù)設(shè)備包括:加解密模塊,在用戶空間層運(yùn)行,監(jiān)控在客戶端上的應(yīng)用對文檔的操作,當(dāng)應(yīng)用讀取文檔內(nèi)容時,從客戶端中獲取加密的文檔內(nèi)容并進(jìn)行解密,將解密內(nèi)容放置在臨時存儲空間中以供應(yīng)用讀?。划?dāng)應(yīng)用存儲文檔內(nèi)容時,將臨時存儲空間中的內(nèi)容進(jìn)行加密,并存儲加密的文檔;以及自保護(hù)模塊,在內(nèi)核層中運(yùn)行,監(jiān)控臨時存儲空間,以防止除了該應(yīng)用以外的其他應(yīng)用訪問該臨時存儲空間。
[0008]可選地,在根據(jù)本發(fā)明的文檔保護(hù)設(shè)備中,自保護(hù)模塊還對所述加解密模塊進(jìn)行監(jiān)控,當(dāng)加解密模塊停止工作時,所述自保護(hù)模塊就會清空所述臨時存儲空間中的解密內(nèi)容。
[0009]可選地,根據(jù)本發(fā)明的文檔保護(hù)設(shè)備還包括規(guī)則管理器,耦接到加解密模塊,該規(guī)則管理器包括各種應(yīng)用進(jìn)行各種文檔操作的規(guī)則;以及加解密模板在監(jiān)控到應(yīng)用對文檔的操作時,從規(guī)則管理器中獲取與該應(yīng)用相關(guān)聯(lián)的文檔操作規(guī)則,并確定該應(yīng)用是否可以進(jìn)行該文檔操作。
[0010]可選地,根據(jù)本發(fā)明的文檔保護(hù)設(shè)備還包括客戶端代理模塊,適于與文檔保護(hù)服務(wù)器進(jìn)行通信,并耦接到加解密模塊,以將加解密模塊所監(jiān)控到的文檔操作記錄發(fā)送到文檔保護(hù)服務(wù)器??蛻舳舜砟K還包括身份認(rèn)證部件,適于經(jīng)由和文檔保護(hù)服務(wù)器的通信來對客戶端進(jìn)行認(rèn)證,并且只允許認(rèn)證通過的客戶端啟動加解密模塊進(jìn)行文檔操作。
[0011]可選地,在根據(jù)本發(fā)明的文檔保護(hù)設(shè)備中,其中加解密模塊在和自保護(hù)模塊進(jìn)行通信時,將自身的校驗(yàn)信息添加到通信數(shù)據(jù)中,以便自保護(hù)模塊根據(jù)該信息確定加解密模塊的身份。
[0012]根據(jù)本發(fā)明的另一個方面,提供了一種文檔保護(hù)方法,適于在客戶端上運(yùn)行??蛻舳酥芯哂胁僮飨到y(tǒng),該操作系統(tǒng)劃分為用戶空間層和內(nèi)核層。該文檔保護(hù)方法包括步驟:在用戶空間層監(jiān)控在客戶端上的應(yīng)用對文檔的操作,當(dāng)應(yīng)用讀取文檔內(nèi)容時,從客戶端中獲取加密的文檔內(nèi)容并進(jìn)行解密,將解密內(nèi)容放置在臨時存儲空間中以供應(yīng)用讀??;當(dāng)應(yīng)用存儲文檔內(nèi)容時,將臨時存儲空間中的內(nèi)容進(jìn)行加密,并存儲加密的文檔;以及在內(nèi)核層中監(jiān)控臨時存儲空間,防止除了該應(yīng)用以外的其他應(yīng)用訪問該臨時存儲空間。
[0013]可選地,根據(jù)本發(fā)明的文檔保護(hù)方法還包括步驟:在內(nèi)核層監(jiān)控用戶空間層監(jiān)控應(yīng)用對文檔的操作的步驟,當(dāng)用戶空間層的監(jiān)控操作停止工作時,就會清空所述臨時存儲空間中的解密內(nèi)容。
[0014]可選地,在根據(jù)本發(fā)明的文檔保護(hù)方法中,在用戶空間層監(jiān)控在客戶端上的應(yīng)用對文檔的操作的步驟還包括:在監(jiān)控到應(yīng)用對文檔的操作時,獲取與該應(yīng)用相關(guān)聯(lián)的文檔操作規(guī)則,并確定該應(yīng)用是否可以進(jìn)行該文檔操作。
[0015]可選地,根據(jù)本發(fā)明的文檔保護(hù)方法還包括步驟:與文檔保護(hù)服務(wù)器進(jìn)行通信,以將在用戶空間層所監(jiān)控到的文檔操作記錄發(fā)送到文檔保護(hù)服務(wù)器;以及經(jīng)由和文檔保護(hù)服務(wù)器的通信來對客戶端進(jìn)行認(rèn)證,并且只允許認(rèn)證通過的客戶端啟動所述在用戶空間層監(jiān)控在客戶端上的應(yīng)用對文檔的操作的步驟。
[0016]根據(jù)本發(fā)明的還有一個方面,提供了一種文檔保護(hù)系統(tǒng),包括文檔保護(hù)服務(wù)器;以及一個或者多個客戶端,與文檔保護(hù)服務(wù)器通信連接,并且在客戶端中駐留有根據(jù)本發(fā)明的文檔保護(hù)設(shè)備。
[0017]根據(jù)本發(fā)明的文檔保護(hù)方案,文檔在計(jì)算設(shè)備的存儲器中以密文方式存儲,而在應(yīng)用進(jìn)行文檔操作時,才會在應(yīng)用層又加解密模塊解密成明文由應(yīng)用來操作,而當(dāng)應(yīng)用操作完成時,文檔內(nèi)容會在應(yīng)用層就完成加密,并以密文方式存儲到計(jì)算設(shè)備中。因此,在根據(jù)本發(fā)明的方案中,在文檔內(nèi)容在整個操作系統(tǒng)中的處理期間,加密最早而解密最晚,最大限度縮短明文信息在存儲空間中的可訪問路徑。另外,由于加解密模塊在應(yīng)用層利用應(yīng)用層的HOOK技術(shù)完成,與在內(nèi)核層進(jìn)行HOOK相比,降低了程序?qū)崿F(xiàn)的復(fù)雜性,避免了驅(qū)動層文件透明加解密的實(shí)現(xiàn)方案中,可能由于任何細(xì)節(jié)處理不當(dāng)而導(dǎo)致系統(tǒng)頻繁藍(lán)屏的現(xiàn)象發(fā)生。
[0018]另外,在根據(jù)本發(fā)明的文檔保護(hù)方案中,由在內(nèi)核層的自保護(hù)模塊來維護(hù)存儲解密后明文的臨時存儲空間,同時也由自保護(hù)模塊來確保用戶層的加解密模塊正常工作,從而可以防止臨時存儲空間的明文被惡意竊取,其安全性和純內(nèi)核層的加解密方案基本相同。
[0019]此外,在根據(jù)本發(fā)明的文檔保護(hù)方案中,會將在一個計(jì)算設(shè)備中的使用人員利用應(yīng)用操作文檔的記錄會上傳到本發(fā)明提供的文件保護(hù)服務(wù)器上,因此,管理人員可按要求生成報表來審計(jì)使用人員的文檔操作情況,這樣在文檔被泄密時,可以追溯到文檔泄密來源,從而進(jìn)一步確保了文檔的安全性。
【專利附圖】
【附圖說明】
[0020]為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實(shí)踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過結(jié)合附圖閱讀下面的詳細(xì)描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。遍及本公開,相同的附圖標(biāo)記通常指代相同的部件或元素。
[0021]圖I示出了根據(jù)本發(fā)明一個實(shí)施例的文檔保護(hù)系統(tǒng)的示意圖;
[0022]圖2示出了根據(jù)本發(fā)明一個實(shí)施例的文檔保護(hù)設(shè)備的示意圖;以及
[0023]圖3示出了根據(jù)本發(fā)明一個實(shí)施例的文檔保護(hù)方法的流程示意圖。
【具體實(shí)施方式】
[0024]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0025]圖I示出了根據(jù)本發(fā)明一個實(shí)施例的文檔保護(hù)系統(tǒng)100的示意圖。如圖I所示,文檔保護(hù)系統(tǒng)100包括文檔保護(hù)服務(wù)器110以及一個或者多個通過網(wǎng)絡(luò)與文檔保護(hù)服務(wù)器110通信相連的客戶端120-140。每個客戶端120-140中均駐留有文檔保護(hù)設(shè)備200??蛻舳?20-140可以是本領(lǐng)域任何可以處理電子數(shù)據(jù)的設(shè)備,包括但不限于桌面型計(jì)算機(jī)、筆記本式計(jì)算機(jī)、個人數(shù)字助理、智能移動終端、平板電腦等??蛻舳?10和120中通常運(yùn)行現(xiàn)代的操作系統(tǒng),利用操作系統(tǒng)來管理計(jì)算設(shè)備中的硬件資源。一般來說,現(xiàn)代的操作系統(tǒng)會劃分為用戶空間層和內(nèi)核層。內(nèi)核層處理和客戶端120-140中各個硬件部件的接口,從而向用戶空間層提供了一個統(tǒng)一的處理接口。一般而言,在內(nèi)核層,并不會關(guān)注用戶權(quán)限等問題,而是關(guān)注如何高效地和各種硬件進(jìn)行接口,例如收發(fā)網(wǎng)絡(luò)數(shù)據(jù)等。用戶空間層向客戶端的用戶或者應(yīng)用提供了例如用戶管理、進(jìn)程調(diào)度、和內(nèi)存管理等功能,從而方便各種應(yīng)用在客戶端120-140上運(yùn)行。文檔保護(hù)設(shè)備200不僅僅在用戶空間層運(yùn)行,而且其還有一部分部件在操作系統(tǒng)的內(nèi)核層中運(yùn)行。
[0026]文檔保護(hù)服務(wù)器110和各個客戶端120-140,尤其是客戶端中的文檔保護(hù)設(shè)備200進(jìn)行通信,從而可以確保在客戶端中的文檔不能在客戶端之外的其它設(shè)備上被查看、修改等。根據(jù)一個實(shí)施方式,未安裝有文檔保護(hù)設(shè)備200的客戶端不能打開文檔。另外,文檔保護(hù)服務(wù)器110還包括日志存儲器112。各個客戶端中文檔保護(hù)設(shè)備200所監(jiān)測到的、各個應(yīng)用對文檔的操作記錄都會發(fā)送到文檔保護(hù)服務(wù)器110并存儲到日志存儲器112中。這樣,當(dāng)發(fā)現(xiàn)某個文檔被外泄時,可以根據(jù)日志存儲器112中存儲的操作記錄來確定有可能是哪個客戶端發(fā)生了外泄。此外還可以通過對日志存儲器112中存儲的操作記錄進(jìn)行統(tǒng)計(jì)分析來確定文檔被外泄的風(fēng)險性。
[0027]可選地,文檔保護(hù)服務(wù)器110還包括身份認(rèn)證部件114,適于對各個客戶端處的用戶進(jìn)行身份認(rèn)證,從而確保只有認(rèn)證通過的用戶才可以使用客戶端來進(jìn)行文檔操作。
[0028]另外,文檔保護(hù)服務(wù)器110還可以包括規(guī)則存儲器116,其中存儲了不同用戶使用各種應(yīng)用來進(jìn)行文檔操作的規(guī)則,例如對于一般用戶來說,可以使用word字處理軟件來瀏覽和修改word文檔,但是不能打印文檔。而對于一般財(cái)務(wù)人員來說,則可以利用Exel表格處理軟件來打開、瀏覽財(cái)務(wù)文檔,但是不能瀏覽開發(fā)文檔。而對于公司的財(cái)務(wù)總監(jiān)來說,對于財(cái)務(wù)文檔具有全部權(quán)限。文檔保護(hù)服務(wù)器110可以根據(jù)需要更新規(guī)則存儲器116中存儲的規(guī)則,并發(fā)送給相應(yīng)的客戶端,以便文檔保護(hù)設(shè)備200可以根據(jù)該規(guī)則來確定文檔操作的權(quán)限等。
[0029]圖2示出了根據(jù)本發(fā)明一個實(shí)施例的文檔保護(hù)設(shè)備200的示意圖。如圖2所示,文檔保護(hù)設(shè)備200包括加解密模塊210和自保護(hù)模塊220。
[0030]加解密模塊210在客戶端120-140中的操作系統(tǒng)的用戶空間層中運(yùn)行,監(jiān)控在客戶端上的應(yīng)用對文檔的操作。當(dāng)應(yīng)用要讀取文檔內(nèi)容時,加解密模塊210從客戶端中、例如客戶端的存儲器中獲取加密的文檔內(nèi)容并進(jìn)行解密,將解密內(nèi)容放置在臨時存儲空間中以供應(yīng)用讀取。而當(dāng)應(yīng)用要存儲文檔內(nèi)容時,加解密模塊210將臨時存儲空間中的內(nèi)容進(jìn)行加密,并將加密的文檔存儲到客戶端的存儲器中。
[0031]加解密模塊210的加解密操作對于上層應(yīng)用來說是不可見的,或者說是透明的。當(dāng)應(yīng)用在打開或編輯指定文檔時,加解密模塊將自動對未加密的文件進(jìn)行加密,對已加密的文件自動解密。文檔在客戶端的永久存儲器上以密文方式存儲,而在應(yīng)用操作時,在臨時存儲空間中以明文方式存在。一旦該文檔離開文檔保護(hù)系統(tǒng)的環(huán)境,由于應(yīng)用無法獲得自動解密的服務(wù)而無法打開這些文檔,從而起到保護(hù)文檔內(nèi)容的效果。
[0032]加解密模塊210需要和操作系統(tǒng)緊密結(jié)合。一般來說,這種加解密技術(shù)可分為內(nèi)核級加密和應(yīng)用級加密兩類。內(nèi)核級通常采用文件過濾驅(qū)動技術(shù),應(yīng)用級通常采用應(yīng)用層API HOOK (俗稱鉤子)技術(shù),其理都是接管文件IO (讀寫)操作,通過監(jiān)視應(yīng)用的讀寫操作,對文檔進(jìn)行動態(tài)的加密和解密。由于這些操作都在底層自動完成,除了速度可能稍有降低夕卜,用戶在使用方式上與平時沒有差異。
[0033]加解密處理的一個基本原則是加密時機(jī)應(yīng)盡可能早,而解密時機(jī)應(yīng)盡可能晚。只有當(dāng)應(yīng)用剛產(chǎn)生機(jī)密數(shù)據(jù)的時候就立即加密,而直到應(yīng)用需要使用數(shù)據(jù)的前一刻才解密它,才能最大程度地降低機(jī)密信息被中途截取的可能。基于上述考慮,加解密模塊210在用戶空間層即應(yīng)用層中運(yùn)行,并采用應(yīng)用層ΑΡΙΗ00Κ技術(shù)。當(dāng)各種應(yīng)用對文檔進(jìn)行操作時,力口解密模塊210利用API HOOK在應(yīng)用層的系統(tǒng)API處可以提前截獲包括文檔修改、剪貼、截屏、打印等操作請求,從而可以提前完成文檔內(nèi)容的加解密處理。
[0034]根據(jù)本發(fā)明的一個實(shí)施例,加解密模塊210可以采用本領(lǐng)域的任何加解密技術(shù)來進(jìn)行文檔加解密操作,而不脫離本發(fā)明的保護(hù)范圍。
[0035]另外,在加解密模塊210內(nèi)部,加解密操作被設(shè)計(jì)成不可拆分,如果加密操作失效或者被惡意禁用,則解密操作也同時失效,從而確保了無法單獨(dú)繞過加密流程。由此可保證若能讀取加密文檔,則產(chǎn)生的所有文檔均強(qiáng)制被加密;若產(chǎn)生的文檔不加密,則無法讀取任何被加密的文檔。
[0036]自保護(hù)模塊220在操作系統(tǒng)的內(nèi)核層中運(yùn)行。每當(dāng)加解密模塊210監(jiān)測到應(yīng)用對文檔的操作時,就會將存儲文檔內(nèi)容明文的存儲空間位置通知給自保護(hù)模塊220,自保護(hù)模塊220會監(jiān)控該臨時存儲空間,以防止除了該應(yīng)用以外的其他應(yīng)用訪問該臨時存儲空間,從而確保臨時存儲空間中的明文不會被非法訪問。例如,當(dāng)非法用戶試圖通過非受保護(hù)應(yīng)用來訪問臨時存儲空間中的明文時,自我保護(hù)模塊216馬上判斷該應(yīng)用是否為受保護(hù)的應(yīng)用,如果是不是受保護(hù)的應(yīng)用就禁止該引用來訪問該臨時存儲空間。
[0037]另外,由于加解密模塊210處于用戶空間即應(yīng)用層中,因此難以保證自身的進(jìn)程或進(jìn)程內(nèi)線程不被強(qiáng)行終止,也難以保證自身模塊不被惡意用戶強(qiáng)行摘除或替換。這將導(dǎo)致惡意用戶有可能通過內(nèi)核驅(qū)動級的特殊工具,強(qiáng)行終止該模塊,降低加解密系統(tǒng)的抗攻擊強(qiáng)度。而內(nèi)核層的防護(hù)程序難以被繞過,抗攻擊強(qiáng)度遠(yuǎn)高于應(yīng)用層,因此根據(jù)本發(fā)明的一個實(shí)施例,還可以由自保護(hù)模塊220來對加解密模塊210進(jìn)行監(jiān)控,當(dāng)加解密模塊210由于各種原因,例如被強(qiáng)行刪除或者被強(qiáng)行終止停止工作時,自保護(hù)模塊220就會立即清空臨時存儲空間中的明文內(nèi)容,從而防止文檔外泄。
[0038]利用這種方式,由在內(nèi)核層的自保護(hù)模塊220和在用戶空間層的加解密模塊210之間的相互協(xié)作,既可以保證加解密處理的基本原則可以實(shí)現(xiàn),同時還可以保證這些模塊在操作系統(tǒng)中的安全性。
[0039]根據(jù)本發(fā)明的一個實(shí)施例,自保護(hù)模塊220由加解密模塊210啟動。加解密模塊210會將相關(guān)信息,例如臨時存儲空間位置等信息發(fā)送給自保護(hù)模塊220。為了確保自保護(hù)模塊220收到的信息是來自加解密模塊210的,可選地,加解密模塊210在和自保護(hù)模塊220進(jìn)行通信時,將自身的校驗(yàn)信息添加到通信數(shù)據(jù)中,以便自保護(hù)模塊220根據(jù)該信息確定加解密模塊210的身份,從而防止惡意用戶偽造加解密模塊的身份來對自保護(hù)模塊220進(jìn)行控制。
[0040]根據(jù)本發(fā)明的一個實(shí)施例,文檔保護(hù)設(shè)備200還可以包括規(guī)則管理器230。規(guī)則管理器230耦接到加解密模塊210,并且其中存儲有各種應(yīng)用進(jìn)行文檔操作的規(guī)則。例如規(guī)則管理器230可以維護(hù)一個受保護(hù)應(yīng)用列表,這樣加解密模塊210在監(jiān)測到應(yīng)用進(jìn)行文檔讀寫操作時,可以根據(jù)規(guī)則管理器230來確定該應(yīng)用是否在受保護(hù)應(yīng)用列表中,并僅僅在應(yīng)用在該受保護(hù)應(yīng)用列表中時,才允許該應(yīng)用進(jìn)行文檔操作。規(guī)則管理器230中還可以包括各應(yīng)用能進(jìn)行文檔操作的方式,例如,一些應(yīng)用只能打開文檔而不能編輯等。加解密模塊210可以根據(jù)規(guī)則管理器中的規(guī)則來控制應(yīng)用的文檔操作權(quán)限。
[0041]為了和文檔保護(hù)服務(wù)器110進(jìn)行通信,可選地,文檔保護(hù)設(shè)備200還包括客戶端代理模塊240。該代理模塊240耦接到加解密模塊210并且與文檔保護(hù)服務(wù)器110進(jìn)行通信,以便將加解密模塊210所監(jiān)控到的文檔操作記錄發(fā)送到文檔保護(hù)服務(wù)器110,例如存儲到日志存儲器112中,從而可以后續(xù)對該操作記錄進(jìn)行分析,來確定文檔泄密路徑和可能被泄密的文檔。[0042]規(guī)則管理器230也可以耦接到客戶端代理模塊240,從而從文檔保護(hù)服務(wù)器110,尤其是規(guī)則存儲器116獲取最新的應(yīng)用操作文檔的規(guī)則并對規(guī)則管理器230中的規(guī)則進(jìn)行更新。
[0043]客戶端代理模塊240還包括身份認(rèn)證部件242,其利用文檔保護(hù)服務(wù)器110中的身份認(rèn)證部件114進(jìn)行交互,從而對客戶端,尤其是客戶端上的用戶進(jìn)行認(rèn)證,并且只允許認(rèn)證通過的客戶端啟動加解密模塊210來進(jìn)行文檔操作。另外,規(guī)則管理器230還經(jīng)由客戶端代理模塊240從文檔保護(hù)服務(wù)器110獲取與認(rèn)證通過的用戶相關(guān)聯(lián)的應(yīng)用文檔操作規(guī)貝U。這樣,加解密模塊210在監(jiān)測到應(yīng)用的文檔操作時,可以首先確定客戶端上進(jìn)行操作的用戶,并根據(jù)規(guī)則管理器230中與該用戶有關(guān)的規(guī)則,來確定該文檔操作是否具有權(quán)限,如果沒有權(quán)限,則拒絕該操作。
[0044]根據(jù)本發(fā)明的文檔保護(hù)設(shè)備220,通過在操作系統(tǒng)的應(yīng)用層部署加解密模塊,而在內(nèi)核層部署自保護(hù)模塊來監(jiān)控加解密模塊和存放明文的臨時存儲空間,從而可以在確保明文數(shù)據(jù)在整個系統(tǒng)中存放的路徑最短的同時,還可以保證整個文檔保護(hù)設(shè)備的安全和可靠性。
[0045]圖3示出了根據(jù)本發(fā)明一個實(shí)施例的文檔保護(hù)方法300的流程示意圖。文檔保護(hù)方法300適于在圖I所述的客戶端中執(zhí)行,尤其適于在圖2所示的文檔保護(hù)設(shè)備200中執(zhí)行,從而可以保護(hù)在客戶端上的各種文檔以防止外泄。
[0046]文檔保護(hù)方法300始于步驟S310。在步驟S310中,在客戶端上運(yùn)行的操作系統(tǒng)的用戶空間層監(jiān)控在客戶端上的應(yīng)用對文檔的操作。當(dāng)應(yīng)用要讀取文檔內(nèi)容時,從客戶端中、例如客戶端的存儲器中獲取加密的文檔內(nèi)容并進(jìn)行解密,將解密內(nèi)容放置在臨時存儲空間中以供應(yīng)用讀取。而當(dāng)應(yīng)用要存儲文檔內(nèi)容時,將臨時存儲空間中的內(nèi)容進(jìn)行加密,并將加密的文檔存儲到客戶端的存儲器中。
[0047]步驟S310中的加解密操作對于上層應(yīng)用來說是不可見的,或者說是透明的。當(dāng)應(yīng)用在打開或編輯指定文檔時,將自動對未加密的文件進(jìn)行加密,對已加密的文件自動解密。文檔在客戶端的永久存儲器上以密文方式存儲,而在應(yīng)用操作時,在臨時存儲空間中以明文方式存在。一旦該文檔離開文檔保護(hù)系統(tǒng)的環(huán)境,由于應(yīng)用無法獲得自動解密的服務(wù)而無法打開這些文檔,從而起到保護(hù)文檔內(nèi)容的效果。
[0048]步驟S310中的加解密操作需要和操作系統(tǒng)緊密結(jié)合。一般來說,這種加解密技術(shù)可分為內(nèi)核級加密和應(yīng)用級加密兩類。內(nèi)核級通常采用文件過濾驅(qū)動技術(shù),應(yīng)用級通常采用應(yīng)用層API HOOK (俗稱鉤子)技術(shù),其理都是接管文件IO (讀寫)操作,通過監(jiān)視應(yīng)用的讀寫操作,對文檔進(jìn)行動態(tài)的加密和解密。由于這些操作都在底層自動完成,除了速度可能稍有降低外,用戶在使用方式上與平時沒有差異。
[0049]加解密處理的一個基本原則是加密時機(jī)應(yīng)盡可能早,而解密時機(jī)應(yīng)盡可能晚。只有當(dāng)應(yīng)用剛產(chǎn)生機(jī)密數(shù)據(jù)的時候就立即加密,而直到應(yīng)用需要使用數(shù)據(jù)的前一刻才解密它,才能最大程度地降低機(jī)密信息被中途截取的可能?;谏鲜隹紤],步驟S310在在用戶空間層即應(yīng)用層中運(yùn)行,并采用應(yīng)用層API HOOK技術(shù)。當(dāng)各種應(yīng)用對文檔進(jìn)行操作時,步驟S310可以利用API HOOK在應(yīng)用層的系統(tǒng)API處可以提前截獲包括文檔修改、剪貼、截屏、打印等操作請求,從而可以提前完成文檔內(nèi)容的加解密處理。
[0050]根據(jù)本發(fā)明的一個實(shí)施例,步驟S310可以采用本領(lǐng)域的任何加解密技術(shù)來進(jìn)行文檔加解密操作,而不脫離本發(fā)明的保護(hù)范圍。
[0051]另外,在步驟S310中,加解密操作被設(shè)計(jì)成不可拆分,如果加密操作失效或者被惡意禁用,則解密操作也同時失效,從而確保了無法單獨(dú)繞過加密流程。由此可保證若能讀取加密文檔,則產(chǎn)生的所有文檔均強(qiáng)制被加密;若產(chǎn)生的文檔不加密,則無法讀取任何被加密的文檔。
[0052]同時,在步驟S320中,在內(nèi)核層中監(jiān)控臨時存儲空間,防止除了該應(yīng)用以外的其他應(yīng)用訪問該臨時存儲空間。每當(dāng)在步驟S310中監(jiān)測到應(yīng)用對文檔的操作時,就會獲取存儲文檔內(nèi)容明文的存儲空間位置,在步驟S320中會監(jiān)控該臨時存儲空間,以防止除了該應(yīng)用以外的其他應(yīng)用訪問該臨時存儲空間,從而確保臨時存儲空間中的明文不會被非法訪問。例如,當(dāng)非法用戶試圖通過非受保護(hù)應(yīng)用來訪問臨時存儲空間中的明文時,在步驟S320中會馬上判斷該應(yīng)用是否為受保護(hù)的應(yīng)用,如果是不是受保護(hù)的應(yīng)用就禁止該引用來訪問該臨時存儲空間。
[0053]另外,由于步驟S310中的加解密操作在用戶空間即應(yīng)用層中進(jìn)行,因此難以保證自身的進(jìn)程或進(jìn)程內(nèi)線程不被強(qiáng)行終止,也難以保證該操作不被惡意用戶強(qiáng)行摘除或替換。這將導(dǎo)致惡意用戶有可能通過內(nèi)核驅(qū)動級的特殊工具,強(qiáng)行終止該操作。而內(nèi)核層的防護(hù)程序難以被繞過,抗攻擊強(qiáng)度遠(yuǎn)高于應(yīng)用層,因此根據(jù)本發(fā)明的一個實(shí)施例,還可以包括步驟330。在步驟S330中,在內(nèi)核層對所述步驟S310進(jìn)行監(jiān)控,當(dāng)步驟S310由于各種原因,例如被強(qiáng)行刪除或者被強(qiáng)行終止停止工作時,就會立即清空臨時存儲空間中的明文內(nèi)容,從而防止文檔外泄。
[0054]利用這種方式,內(nèi)核層的監(jiān)控機(jī)制和在用戶空間層的加解密操作之間的相互協(xié)作,既可以保證加解密處理的基本原則可以實(shí)現(xiàn),同時還可以保證這些模塊在操作系統(tǒng)中的安全性。
[0055]根據(jù)本發(fā)明的一個實(shí)施例,內(nèi)核層的監(jiān)控操作由步驟S310啟動。在步驟S310中,會將相關(guān)信息,例如臨時存儲空間位置等信息發(fā)送給內(nèi)核層。為了確保內(nèi)核層收到的信息是來自加解密操作的,可選地,在步驟S310中和內(nèi)核層進(jìn)行通信時,將自身的校驗(yàn)信息添加到通信數(shù)據(jù)中,以便內(nèi)核層根據(jù)該信息確定這些請求來自步驟S310,從而防止惡意用戶偽造加解密操作的身份來欺騙內(nèi)核層。
[0056]根據(jù)本發(fā)明的一個實(shí)施例,在步驟S310中在用戶空間層監(jiān)控在客戶端上的應(yīng)用對文檔的操作的步驟還包括,在監(jiān)控到應(yīng)用對文檔的操作時,獲取與該應(yīng)用相關(guān)聯(lián)的文檔操作規(guī)則,并確定該應(yīng)用是否可以進(jìn)行該文檔操作。在客戶端,尤其是文檔保護(hù)設(shè)備(尤其是圖2的規(guī)則管理器230)中存儲有各種應(yīng)用進(jìn)行文檔操作的規(guī)則。例如文檔保護(hù)設(shè)備可以維護(hù)一個受保護(hù)應(yīng)用列表,這樣在步驟S310中監(jiān)測到應(yīng)用進(jìn)行文檔讀寫操作時,可以確定該應(yīng)用是否在受保護(hù)應(yīng)用列表中,并僅僅在應(yīng)用在該受保護(hù)應(yīng)用列表中時,才允許該應(yīng)用進(jìn)行文檔操作。文檔保護(hù)設(shè)備中還可以包括各應(yīng)用能進(jìn)行文檔操作的方式,例如,一些應(yīng)用只能打開文檔而不能編輯等。在步驟S310中可以根據(jù)規(guī)則管理器中的規(guī)則來控制應(yīng)用的文檔操作權(quán)限。
[0057]為了和文檔保護(hù)服務(wù)器110進(jìn)行通信,可選地,文檔保護(hù)方法300還包括步驟S340,在步驟S340中,與文檔保護(hù)服務(wù)器進(jìn)行通信,以將在用戶空間層所監(jiān)控到的文檔操作記錄發(fā)送到文檔保護(hù)服務(wù)器,例如存儲到日志存儲器112中,從而可以后續(xù)對該操作記錄進(jìn)行分析,來確定文檔泄密路徑和可能被泄密的文檔。
[0058]此外,還可以從文檔保護(hù)服務(wù)器110,尤其是規(guī)則存儲器116獲取最新的應(yīng)用操作文檔的規(guī)則并對文檔保護(hù)設(shè)備中的規(guī)則進(jìn)行更新。
[0059]可選地,文檔保護(hù)方法300還包括步驟S350。在步驟S350中,經(jīng)由和文檔保護(hù)服務(wù)器的通信來對客戶端進(jìn)行認(rèn)證,并且只允許認(rèn)證通過的客戶端啟動步驟S310中的操作。在步驟S350中,與文檔保護(hù)服務(wù)器110中的身份認(rèn)證部件114進(jìn)行交互,從而對客戶端,尤其是客戶端上的用戶進(jìn)行認(rèn)證,并且只允許認(rèn)證通過的客戶端來進(jìn)行文檔操作。另外,還可以從文檔保護(hù)服務(wù)器110獲取與認(rèn)證通過的用戶相關(guān)聯(lián)的應(yīng)用文檔操作規(guī)則。這樣,在步驟S310中在監(jiān)測到應(yīng)用的文檔操作時,可以首先確定客戶端上進(jìn)行操作的用戶,并根據(jù)與該用戶有關(guān)的規(guī)則,來確定該文檔操作是否具有權(quán)限,如果沒有權(quán)限,則拒絕該操作。
[0060]根據(jù)本發(fā)明的文檔保護(hù)方法300,通過在操作系統(tǒng)的應(yīng)用層進(jìn)行加解密操作,而在內(nèi)核層監(jiān)控加解密操作和存放明文的臨時存儲空間,從而可以在確保明文數(shù)據(jù)在整個系統(tǒng)中存放的路徑最短的同時,還可以保證整個文檔保護(hù)設(shè)備的安全和可靠性。
[0061]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下被實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0062]BlO^n B8或者9所述的文檔保護(hù)方法,其中所述在用戶空間層監(jiān)控在客戶端上的應(yīng)用對文檔的操作的步驟還包括:在監(jiān)控到應(yīng)用對文檔的操作時,獲取與該應(yīng)用相關(guān)聯(lián)的文檔操作規(guī)則,并確定該應(yīng)用是否可以進(jìn)行該文檔操作。Bll^nBS-IO中任一個所述的文檔保護(hù)方法,還包括步驟:與文檔保護(hù)服務(wù)器進(jìn)行通信,以將在用戶空間層所監(jiān)控到的文檔操作記錄發(fā)送到文檔保護(hù) 服務(wù)器。B12、如Bll所述的文檔保護(hù)方法,還包括步驟:經(jīng)由和文檔保護(hù)服務(wù)器的通信來對客戶端進(jìn)行認(rèn)證,并且只允許認(rèn)證通過的客戶端啟動所述在用戶空間層監(jiān)控在客戶端上的應(yīng)用對文檔的操作的步驟。
[0063]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0064]本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開的示例中的設(shè)備的模塊或單元或組件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個或多個設(shè)備中。前述示例中的模塊可以組合為一個模塊或者此外可以分成多個子模塊。
[0065]本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0066]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0067]此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。
[0068]如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來描述普通對象僅僅表示涉及類似對象的不同實(shí)例,并且并不意圖暗示這樣被描述的對象必須具有時間上、空間上、排序方面或者以任意其它方式的給定順序。
[0069]盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本【技術(shù)領(lǐng)域】內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說明書中使用的語言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書的范圍和精神的情況下,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說許多修改和變更都是顯而易見的。對于本發(fā)明的范圍,對本發(fā)明所做的公開是說明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書限定。
【權(quán)利要求】
1.一種文檔保護(hù)設(shè)備,駐留在客戶端上,該客戶端中具有操作系統(tǒng),該操作系統(tǒng)劃分為用戶空間層和內(nèi)核層,該文檔保護(hù)設(shè)備包括: 加解密模塊,在用戶空間層運(yùn)行,監(jiān)控在客戶端上的應(yīng)用對文檔的操作,當(dāng)應(yīng)用讀取文檔內(nèi)容時,從客戶端中獲取加密的文檔內(nèi)容并進(jìn)行解密,將解密內(nèi)容放置在臨時存儲空間中以供應(yīng)用讀取;當(dāng)應(yīng)用存儲文檔內(nèi)容時,將臨時存儲空間中的內(nèi)容進(jìn)行加密,并存儲加密的文檔;以及 自保護(hù)模塊,在內(nèi)核層中運(yùn)行,監(jiān)控臨時存儲空間,以防止除了該應(yīng)用以外的其他應(yīng)用訪問該臨時存儲空間。
2.如權(quán)利要求1所述的文檔保護(hù)設(shè)備,其中所述自保護(hù)模塊還對所述加解密模塊進(jìn)行監(jiān)控,當(dāng)加解密模塊停止工作時,所述自保護(hù)模塊就會清空所述臨時存儲空間中的解密內(nèi)容。
3.如權(quán)利要求1或者2所述的文檔保護(hù)設(shè)備,還包括規(guī)則管理器,耦接到加解密模塊,并包括各種應(yīng)用進(jìn)行各種文檔操作的規(guī)則;以及 所述加解密模板在監(jiān)控到應(yīng)用對文檔的操作時,從所述規(guī)則管理器中獲取與該應(yīng)用相關(guān)聯(lián)的文檔操作規(guī)則,并確定該應(yīng)用是否可以進(jìn)行該文檔操作。
4.如權(quán)利要求1-3中任一個所述的文檔保護(hù)設(shè)備,還包括客戶端代理模塊,適于與文檔保護(hù)服務(wù)器進(jìn)行通信,并耦接到所述加解密模塊,以將所述加解密模塊所監(jiān)控到的文檔操作記錄發(fā)送到文檔保護(hù)服務(wù)器。
5.如權(quán)利要求4所述的文檔保護(hù)設(shè)備,所述客戶端代理模塊還包括身份認(rèn)證部件,適于經(jīng)由和文檔保護(hù)服務(wù)器的通信來對客戶端進(jìn)行認(rèn)證,并且只允許認(rèn)證通過的客戶端啟動加解密模塊進(jìn)行文檔操作。
6.如權(quán)利要求5所述的文檔保護(hù)設(shè)備,所述客戶端代理模塊還從所述文檔保護(hù)服務(wù)器獲取與該客戶端相關(guān)聯(lián)的文檔操作規(guī)則,并存儲到所述規(guī)則管理器。
7.如權(quán)利要求1-6中任一個所述的文檔保護(hù)設(shè)備,其中所述加解密模塊在和自保護(hù)模塊進(jìn)行通信時,將自身的校驗(yàn)信息添加到通信數(shù)據(jù)中,以便自保護(hù)模塊根據(jù)該信息確定加解密模塊的身份。
8.一種文檔保護(hù)方法,適于在客戶端上運(yùn)行,該客戶端中具有操作系統(tǒng),該操作系統(tǒng)劃分為用戶空間層和內(nèi)核層,該文檔保護(hù)方法包括步驟: 在用戶空間層監(jiān)控在客戶端上的應(yīng)用對文檔的操作,當(dāng)應(yīng)用讀取文檔內(nèi)容時,從客戶端中獲取加密的文檔內(nèi)容并進(jìn)行解密,將解密內(nèi)容放置在臨時存儲空間中以供應(yīng)用讀?。划?dāng)應(yīng)用存儲文檔內(nèi)容時,將臨時存儲空間中的內(nèi)容進(jìn)行加密,并存儲加密的文檔;以及在內(nèi)核層中監(jiān)控臨時存儲空間,防止除了該應(yīng)用以外的其他應(yīng)用訪問該臨時存儲空間。
9.如權(quán)利要求8所述的文檔保護(hù)方法,還包括步驟:在內(nèi)核層監(jiān)控所述用戶空間層監(jiān)控應(yīng)用對文檔的操作的步驟,當(dāng)所述用戶空間層的監(jiān)控操作停止工作時,就會清空所述臨時存儲空間中的解密內(nèi)容。
10.一種文檔保護(hù)系統(tǒng),包括 文檔保護(hù)服務(wù)器;以及 一個或者多個客戶端,與所述文檔保護(hù)服務(wù)器通信連接,并且在客戶端中駐留有如權(quán)利要求1-7中任一個所 述的文檔保護(hù)設(shè)備。
【文檔編號】G06F21/62GK103763313SQ201410004266
【公開日】2014年4月30日 申請日期:2014年1月3日 優(yōu)先權(quán)日:2014年1月3日
【發(fā)明者】黃鑫, 吳魯加 申請人:深圳市大成天下信息技術(shù)有限公司