專利名稱:一種數(shù)據(jù)訪問控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子信息領(lǐng)域,具體涉及一種保護電子數(shù)據(jù)的訪問控制方法。
背景技術(shù):
隨著手機、計算機等各種電子設(shè)備,各種電子外設(shè)包括移動存儲設(shè)備, 以及互聯(lián)網(wǎng)的發(fā)展,出現(xiàn)了大量的電子信息數(shù)據(jù),簡稱為數(shù)據(jù),其中分為 重要數(shù)據(jù)和非重要數(shù)據(jù)兩類。重要數(shù)據(jù)包括對于個人、組織、社會甚至國 家的隱私、財產(chǎn)、商業(yè)機密、電子資產(chǎn)、安全信息等數(shù)據(jù)。重要數(shù)據(jù)很容 易通過各種訪問方式泄密流失。如何防止重要數(shù)據(jù)泄密成為一個問題。
目前,電子設(shè)備(簡稱為設(shè)備)通常包括一操作系統(tǒng),數(shù)據(jù)在設(shè)備的 存儲設(shè)備中結(jié)構(gòu)化存儲,其形式通常包括數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)等(數(shù)據(jù) 庫在存儲設(shè)備中的存儲也往往表現(xiàn)為一個或若干文件的形式)。管理數(shù)據(jù) 的文件系統(tǒng)或數(shù)據(jù)庫系統(tǒng)通常采用針對用戶的訪問權(quán)限控制機制,控制到 訪問、讀、寫、刪除等操作的權(quán)限。而用戶一旦擁有了這些權(quán)限,則可以
不受限制地傳播和復(fù)制數(shù)據(jù),帶來主動泄密的可能性。
目前針對數(shù)據(jù)的訪問控制,已經(jīng)研究形成了一些解決方法,按其采用 的核心技術(shù)大致可分為以下幾類
外部設(shè)備及網(wǎng)絡(luò)協(xié)議控制。俗稱"防水墻",在設(shè)備上安裝終端代理 系統(tǒng),在設(shè)備級別監(jiān)控并禁用設(shè)備的U盤、刻錄機、紅夕卜、藍牙以及1394 等外部設(shè)備,并且對網(wǎng)絡(luò)進行嚴(yán)格的訪問控制,從"堵口"的角度防止數(shù) 據(jù)外泄。其缺點是須一直封堵所有的外部設(shè)備出口和網(wǎng)絡(luò)出口,在堵的 同時也造成了用戶無法正常使用設(shè)備,犧牲了可用性。
針對文件系統(tǒng)的進行文件格式轉(zhuǎn)換的控制。在設(shè)備上由文件作者將文 件手動加密成指定的文件格式,同時向文件添加相應(yīng)的訪問權(quán)限標(biāo)識,并上傳到指定的網(wǎng)絡(luò)文件服務(wù)器上與組織內(nèi)其它用戶共享。用戶將文件再下載到本地,利用專用的閱讀器讀取加密的文件并可以受到文件權(quán)限的控制。其缺點是需要將所有的涉密文件轉(zhuǎn)換格式,用戶需要通過專門的工具來進行轉(zhuǎn)換和閱讀,對用戶使用習(xí)慣有較大改變。
針對文件系統(tǒng)的進行特定類型文件加密的控制。通過對企業(yè)的涉及重要數(shù)據(jù)的文件類型(例如Office、 PDF、 wps、 AutoCAD、 Pro/E、 SolidWork等的數(shù)據(jù)文件的類型)進行數(shù)據(jù)加密,使所有脫離了企業(yè)網(wǎng)絡(luò)的內(nèi)部環(huán)境的電子設(shè)備無法讀取和使用數(shù)據(jù)文件,從而實現(xiàn)批量重要數(shù)據(jù)的嚴(yán)格加密。缺點是強制將指定文件類型或者某些應(yīng)用程序產(chǎn)生的文件加密,不區(qū)分文件是否涉及重要數(shù)據(jù)。
針對數(shù)據(jù)庫存儲的,目前通常是用戶權(quán)限管理,用戶身份認(rèn)證,用戶一旦獲得訪問權(quán)限,則很難控制數(shù)據(jù)的復(fù)制,流失。
發(fā)明內(nèi)容
本發(fā)明的第一 目的在于,提供了一種在盡量不改變用戶使用習(xí)慣的前提下,既可以授權(quán)用戶讀、寫使用重要數(shù)據(jù),又能夠避免因授權(quán)帶來的主動泄密的可能性,同時又不影響用戶處理非重要數(shù)據(jù)的訪問控制方法。
本發(fā)明通過分離重要數(shù)據(jù)和非重要數(shù)據(jù)的存儲空間,建立一受控制訪問數(shù)據(jù)存儲區(qū)域,將重要數(shù)據(jù)保存在受控制訪問區(qū)中,非重要數(shù)據(jù)保存在非受控制訪問區(qū);在進程級別,控制進程對受控制訪問區(qū)的讀、寫訪問,
一旦進程獲得訪問受控制訪問區(qū)的數(shù)據(jù)的權(quán)限,則嚴(yán)格控制該進程對數(shù)據(jù)傳播,僅允許該進程在受控制訪問區(qū)內(nèi)讀寫數(shù)據(jù),禁止其向其他數(shù)據(jù)存儲區(qū)或者其他設(shè)備發(fā)送數(shù)據(jù),從而達到管理重要數(shù)據(jù)的目的。
具體的,本發(fā)明的上述目標(biāo)是通過以下解決方法實現(xiàn)的一種數(shù)據(jù)訪問控制方法,有一系統(tǒng),有若干進程,有一數(shù)據(jù)存儲區(qū)域,有若干數(shù)據(jù)進出口管道。數(shù)據(jù)存儲區(qū)域分為受控制訪問區(qū)和非受控制訪問區(qū)。系統(tǒng)具有一進程訪問管理列表,在進程訪問管理列表中的進程為受監(jiān)控進程,不在進程訪問管理列表中的進程為非受監(jiān)控進程。系統(tǒng)還具有一訪問規(guī)則列表,包括若干訪問規(guī)則。系統(tǒng)有一進程訪問管理器,進程訪問管理器根據(jù)進程訪問管理列表的受監(jiān)控進程和非受監(jiān)控進程,以及根據(jù)訪
9問規(guī)則列表中的規(guī)則,管理進程對數(shù)據(jù)存儲區(qū)域的受控制訪問區(qū)和非受控制訪問區(qū)數(shù)據(jù)讀、寫訪問,以及管理進程對數(shù)據(jù)進出口管道的數(shù)據(jù)讀、寫訪問。進程訪問管理器對進程的寫受控制訪問區(qū)的訪問進行截獲,將寫入的數(shù)據(jù)進行加密后存儲,進程訪問控制器對進程的讀受控制訪問區(qū)的訪問進行截獲,將讀取的數(shù)據(jù)進行解密后發(fā)給進程。
其中數(shù)據(jù)存儲區(qū)域中的數(shù)據(jù)根據(jù)數(shù)據(jù)訪問索引目錄進行存儲管理;受控制訪問區(qū)為系統(tǒng)數(shù)據(jù)訪問索引目錄中一子集所管理的數(shù)據(jù)存儲區(qū);非受控制訪問區(qū)為除受控制訪問區(qū)之外的其他的數(shù)據(jù)存儲區(qū);當(dāng)進程訪問的數(shù)據(jù)的索引標(biāo)識在受控制訪問區(qū)的系統(tǒng)數(shù)據(jù)訪問索引目錄中,則進程訪問受控制訪問區(qū)。目前通常的做法是,數(shù)據(jù)訪問索引目錄為文件目錄;數(shù)據(jù)的索引標(biāo)識為一個或多個包括目錄的文件名。受控制訪問區(qū)可以為連續(xù)的一個存儲區(qū),也可以為不連續(xù)的若干存儲區(qū)。另外, 一個極端的情況是,系統(tǒng)的數(shù)據(jù)存儲區(qū)全部是受控制訪問區(qū),則此時,系統(tǒng)的所有數(shù)據(jù)均被保護。進程訪問管理器管理進程訪問管理列表具有兩種模式。模式一系統(tǒng)的進程訪問管理器監(jiān)控進程對數(shù)據(jù)存儲區(qū)域的訪問請求,當(dāng)進程訪問受控制訪問區(qū),系統(tǒng)自動將該進程注冊在進程訪問管理列表中成為受監(jiān)控進程;當(dāng)該進程結(jié)束時,系統(tǒng)自動將該進程從進程訪問管理列表中注銷。進程訪問管理器通過進程在操作系統(tǒng)中的標(biāo)識編號,或者包括進程的名稱,來識別進程,進行登記管理。進程訪問管理器根據(jù)進程訪問管理列表的受監(jiān)控進程,以及根據(jù)訪問規(guī)則列表中的規(guī)則,管理系統(tǒng)中的進程對數(shù)據(jù)存儲區(qū)域的讀、寫訪問,以及管理進程對數(shù)據(jù)進出口管道的數(shù)據(jù)讀、寫訪問。其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括了進程訪問管理器禁止受監(jiān)控進程對非受控訪問區(qū)進行數(shù)據(jù)寫訪問;進程訪問管理器允許受監(jiān)控進程對非受控訪問區(qū)進行數(shù)據(jù)讀訪問;進程訪問管理器允許受監(jiān)控進程對受控訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問;進程訪問管理器禁止受監(jiān)控進程對進出口管道進行數(shù)據(jù)寫訪問;進程訪問管理器允許受監(jiān)控進程對進出口管道進行數(shù)據(jù)讀訪問;進程訪問管理器允許非受監(jiān)控進程對非受控訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問;進程訪問管理器允許非受監(jiān)控進程對受控訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問(訪問后該進程立刻自動轉(zhuǎn)為受監(jiān)控進程);進程訪問管理器允許非受監(jiān)控進程對進出口管道進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問。
模式二進程訪問管理器根據(jù)進程訪問管理列表中預(yù)定義的受監(jiān)控進 程,管理系統(tǒng)中的進程對受控制訪問區(qū)和非受控制訪問區(qū)的數(shù)據(jù)讀、寫訪 問,在進程訪問管理列表中的受監(jiān)控進程可以讀、寫受控訪問區(qū)中的數(shù)據(jù); 不在進程訪問管理列表中的非受監(jiān)控進程不可以讀、寫受控訪問區(qū)中的數(shù) 據(jù)。系統(tǒng)還具有訪問受控狀態(tài)和訪問非受控狀態(tài),系統(tǒng)的訪問受控狀態(tài)通 過用戶認(rèn)證登錄進行驗證,當(dāng)用戶認(rèn)證登錄成功,系統(tǒng)進入訪問受控狀態(tài); 當(dāng)用戶認(rèn)證登錄退出,系統(tǒng)進入非訪問受控狀態(tài)。在訪問受控狀態(tài)下,進 程訪問管理列表中的受監(jiān)控進程可以讀、寫受控制訪問區(qū)中的數(shù)據(jù);進程 訪問管理列表中的受監(jiān)控進程可以讀取、不可以寫入非受控制訪問區(qū)中的 數(shù)據(jù);進程訪問管理列表中的受監(jiān)控進程可以對進出口管道進行數(shù)據(jù)讀訪 問,不可以寫訪問;不在進程訪問管理列表中的非受監(jiān)控進程不可以讀、 寫受控制訪問區(qū)中的數(shù)據(jù);不在進程訪問管理列表中的非受監(jiān)控進程可以 讀、寫非受控制訪問區(qū)中的數(shù)據(jù);不在進程訪問管理列表中的非受監(jiān)控進 程可以對進出口管道進行數(shù)據(jù)讀、寫訪問。在非訪問控制狀態(tài)下,所有進 程禁止讀、寫受控制訪問區(qū)中的數(shù)據(jù);所有進程允許讀、寫非受控制訪問 區(qū)中的數(shù)據(jù);所有進程允許對進出口管道進行數(shù)據(jù)讀、寫訪問。其中,進 程訪問管理器通過進程在操作系統(tǒng)中的存儲位置,進程文件名稱,或者包 括對進程文件本身進行校驗碼預(yù)登記以及驗證,來識別進程,進行監(jiān)控管 理。
本發(fā)明的另一目的在于提出一種具有本發(fā)明的數(shù)據(jù)訪問控制功能的 設(shè)備,設(shè)備具有一中央處理器, 一數(shù)據(jù)存儲區(qū),若干數(shù)據(jù)進出口管道、一 操作系統(tǒng), 一進程訪問管理器、 一訪問規(guī)則列表、運行若干進程。設(shè)備的 數(shù)據(jù)存儲區(qū)分為受控制訪問區(qū)和非受控制訪問區(qū);訪問規(guī)則列表中包括若 干訪問規(guī)則。設(shè)備的數(shù)據(jù)存儲區(qū)域和數(shù)據(jù)進出口管道在操作系統(tǒng)中表現(xiàn)為 邏輯物理設(shè)備,系統(tǒng)中的進程通過驅(qū)動程序接口對邏輯物理設(shè)備進行讀、 寫數(shù)據(jù)操作;進程訪問管理器模塊具有一驅(qū)動管理過濾模塊,通過截獲進 程對邏輯物理設(shè)備驅(qū)動接口的訪問,進行訪問控制管理。進程訪問管理器 根據(jù)進程對受控制訪問區(qū)和非受控制訪問區(qū)的訪問狀態(tài),以及根據(jù)訪問規(guī) 則列表中的規(guī)則,管理設(shè)備中的進程對數(shù)據(jù)存儲區(qū)域的讀、寫訪問,以及管理進程對數(shù)據(jù)進出口管道的數(shù)據(jù)讀、寫訪問。其中,設(shè)備的數(shù)據(jù)存儲區(qū) 可以包括硬盤,移動存儲器、虛擬數(shù)據(jù)存儲區(qū),網(wǎng)絡(luò)數(shù)據(jù)存儲區(qū),可擦寫 光盤,磁帶機等。
對于進程訪問管理器管理進程訪問管理列表的兩種模式,如果采用模 式二,則設(shè)備還包括一觸發(fā)裝置,觸發(fā)裝置為一使用用戶身份辨識系統(tǒng), 使系統(tǒng)在訪問控制狀態(tài)和非訪問控制狀態(tài)之間進行切換,用戶身份得到確 認(rèn),則進入訪問控制狀態(tài)。
圖1是設(shè)備示意系統(tǒng)框架圖
圖2是系統(tǒng)實現(xiàn)框架圖
圖3是數(shù)據(jù)存儲區(qū)訪問流程圖
圖4是進出口管道訪問流程圖
圖5是具有訪問控制狀態(tài)的數(shù)據(jù)存儲區(qū)訪問流程圖
圖6是具有訪問控制狀態(tài)的進出口管道訪問流程圖
圖7是一智能手機上保護照片數(shù)據(jù)的示例圖。
圖8是一在計算機上保護Word文件的示例圖。
圖9是一在計算機上保護訪問數(shù)據(jù)庫數(shù)據(jù)的示例圖。
具體實施方法
下面結(jié)合附圖和具體實施例對本發(fā)明進行更詳細的描述。 圖1示出了本發(fā)明的設(shè)備示意系統(tǒng)框架圖。從圖1可以看出,本發(fā)明 的設(shè)備101主要是由操作系統(tǒng)102、存儲設(shè)備104以及一系列物理接口 116、 117、 118組成。這樣的設(shè)備可以是手機、MP4、 PDA等基于嵌入式操作 系統(tǒng)的電子設(shè)備,也可以是計算機、移動上網(wǎng)設(shè)備MD(Mobile Internet Device)等基于復(fù)雜操作系統(tǒng)的電子設(shè)備。其中,操作系統(tǒng)102的底層是存 儲邏輯設(shè)備驅(qū)動107和一系列進出口管道驅(qū)動113、 114、 115,操作系統(tǒng) 102的高層運行的是一系列應(yīng)用程序和系統(tǒng)程序的進程110、 111、 112, 在操作系統(tǒng)102的高層和操作系統(tǒng)102的底層之間是本發(fā)明的進程訪問管理器103。進程訪問管理器103包含進程訪問規(guī)則列表105和進程訪問監(jiān) 控表106。存儲設(shè)備104被系統(tǒng)劃分為受控制存儲區(qū)108和非受控制存儲 區(qū)109。 一系列物理接口 116、 117、 118連接的可以是移動存儲設(shè)備、刻 錄機、紅外、藍牙、1394、打印機等外部設(shè)備。進程IIO、 111、 112對存 儲設(shè)備104的數(shù)據(jù)存儲訪問是通過進程訪問管理器103,根據(jù)進程訪問管 理器的進程訪問規(guī)則列表和進程訪問監(jiān)控表控制過濾后調(diào)用存儲邏輯設(shè) 備107驅(qū)動訪問存儲設(shè)備104,進程IIO、 111、 112對物理接口116、 117、 118的數(shù)據(jù)訪問是通過進程訪問管理器103,根據(jù)進程訪問管理器的進程 訪問規(guī)則列表和進程訪問監(jiān)控表控制過濾后調(diào)用相應(yīng)的管道113、 114、 115 驅(qū)動訪問物理接口 116、 117、 118。
圖2示出了本發(fā)明的實現(xiàn)框架圖。從圖2可以看出,操作系統(tǒng)201中 存在一個進程A202、 一個進程訪問管理器203、 一個存儲邏輯設(shè)備214和 若干管道209、 210。進程訪問管理器203在進程A202與存儲邏輯設(shè)備和 管道209、 210之間,根據(jù)進程訪問規(guī)則列表204和進程訪問監(jiān)控表205, 進程訪問管理器203控制進程A202對邏輯存儲設(shè)備214和管道209、 210 的訪問。進程訪問管理器203采用了一存儲過濾管理層206和管道過濾管 理層207、 208,存儲過濾管理層206和管道過濾管理層207、 208攔截進 程A202的數(shù)據(jù)訪問請求,并報告給進程訪問管理器,進程訪問管理器依 據(jù)進程訪問監(jiān)控表205判定進程A202是受監(jiān)控進程還是非受監(jiān)控進程, 以及進程訪問規(guī)則列表204中的規(guī)則,允許或阻止進程A202的數(shù)據(jù)訪問 請求進一步調(diào)用底層的存儲邏輯設(shè)備驅(qū)動214 (硬盤邏輯設(shè)備驅(qū)動211、 USB移動硬盤邏輯設(shè)備驅(qū)動212或網(wǎng)絡(luò)虛擬映射邏輯硬盤驅(qū)動213)或管 道驅(qū)動209、 210讀、寫數(shù)據(jù)。
舉例來說,在Windows操作系統(tǒng)中,進程訪問存儲邏輯設(shè)備和管道, 都是通過IRP請求,包括IRP一MJ一CREATE打開一文件,IRP—MJ一READ 讀操作,IRP一MLWRITE寫操作等操作,通過存儲器驅(qū)動程序訪問數(shù)據(jù)存 儲區(qū);存儲過濾管理層206可以通過常見的Windows下的存儲過濾驅(qū)動程 序技術(shù)實現(xiàn);管道過濾管理層207、 208可以通過Windows下常見的過濾 驅(qū)動程序技術(shù)實現(xiàn)。通過過濾攔截進程A202的IRP訪問,進程管理器判 斷IRP訪問請求中的訪問參數(shù),包括訪問的數(shù)據(jù)的文件目錄和名稱,IRP的讀寫類型,結(jié)合進程訪問管理器的進程訪問規(guī)則和進程訪問監(jiān)控表,確
定訪問的合法性;如果訪問合法,則將該IRP請求發(fā)送給下面的驅(qū)動程序 繼續(xù)執(zhí)行;如果訪問不合法,則阻斷IRP執(zhí)行請求,返回失敗。這樣進程 訪問管理器203可以對進程A的數(shù)據(jù)讀、寫訪問進行控制。
以Linux操作系統(tǒng)舉例,Linux操作系統(tǒng)開放源代碼,存儲過濾管理 層206可以通過修改操作系統(tǒng)提供的系統(tǒng)函數(shù)的函數(shù)指針,接管Linux系 統(tǒng)中的文件操作的相關(guān)函數(shù),如filpjpen, vfs一read, vfs一write,而實現(xiàn); 管道過濾管理層207、 208可以通過類似的方法,在設(shè)備驅(qū)動接口之上增 加一層過濾模塊來實現(xiàn)。通過在函數(shù)調(diào)用級別的過濾攔截,進程管理器判 斷進程A202的訪問請求中的訪問參數(shù),包括訪問的數(shù)據(jù)的文件目錄和名 稱,讀寫類型,結(jié)合進程訪問管理器的進程訪問規(guī)則和進程訪問監(jiān)控表, 確定訪問的合法性;如果訪問合法,則將該訪問請求發(fā)送給原系統(tǒng)相關(guān)函 數(shù)繼續(xù)執(zhí)行;如果訪問不合法,則阻斷函數(shù)執(zhí)行請求,返回失敗。這樣進 程訪問管理器203可以對進程A的數(shù)據(jù)讀、寫訪問進行控制。
在Windows和Linux操作系統(tǒng)中,數(shù)據(jù)以文件系統(tǒng)的形式保存在存儲 區(qū), 一受控存儲區(qū)可以為一個邏輯驅(qū)動器,或者一個文件目錄。凡是在該 邏輯驅(qū)動器或者該文件目錄之內(nèi)的子文件或者子文件夾,都是在受控存儲 區(qū)之內(nèi)。進程訪問管理器通過檢査進程訪問數(shù)據(jù)時,所打開的文件的絕對 路徑,來判斷所打開的文件是否落在控制存儲區(qū)中。
在如何管理進程訪問管理列表方面,本發(fā)明提出了兩種模式,下面結(jié) 合圖3和圖4說明模式一,結(jié)合圖5和圖6說明模式二。
圖3示出了本發(fā)明具體實施例的一種數(shù)據(jù)存儲區(qū)訪問流程圖。如圖3 所示,在步驟301,當(dāng)進程對數(shù)據(jù)存儲區(qū)進行數(shù)據(jù)讀、寫訪問時,進程訪 問管理器攔截到進程數(shù)據(jù)讀、寫請求。步驟302,進程訪問管理器接收到 進程數(shù)據(jù)讀、寫訪問請求后,判斷當(dāng)前進程是否是受監(jiān)控進程,如果是, 執(zhí)行步驟303及其后續(xù)步驟,否則執(zhí)行步驟307及其后續(xù)步驟。
如果步驟302的判斷結(jié)果是受監(jiān)控進程的數(shù)據(jù)讀、寫訪問,在步驟 303,進程訪問管理器進一步判斷數(shù)據(jù)讀、寫訪問的是否是受控制的數(shù)據(jù) 訪問區(qū)。在本發(fā)明中對系統(tǒng)的數(shù)據(jù)存儲區(qū)域設(shè)置一個或多個區(qū)域作為受控 制訪問區(qū),受控制訪問區(qū)內(nèi)的數(shù)據(jù)均被加密存儲,而受控制訪問區(qū)之外為非受控制訪問區(qū),數(shù)據(jù)未做任何加密處理。如果步驟303判斷結(jié)果表明受 監(jiān)控進程訪問的是非受控制訪問區(qū)中的數(shù)據(jù),則執(zhí)行步驟304;如果受監(jiān) 控進程訪問的是受控制訪問區(qū)中的數(shù)據(jù),則執(zhí)行步驟309執(zhí)行透明加解密 讀、寫數(shù)據(jù),讀數(shù)據(jù)調(diào)用系統(tǒng)的數(shù)據(jù)讀驅(qū)動從數(shù)據(jù)存儲區(qū)取出數(shù)據(jù)并進行 數(shù)據(jù)解密,寫數(shù)據(jù)時先進行數(shù)據(jù)加密后調(diào)用系統(tǒng)的數(shù)據(jù)寫驅(qū)動將數(shù)據(jù)存入 數(shù)據(jù)存儲區(qū),執(zhí)行步驟311將讀、寫數(shù)據(jù)訪問結(jié)果返回進程。
在步驟304進一步判斷受監(jiān)控進程訪問非受控制訪問區(qū)是數(shù)據(jù)讀訪問 還是數(shù)據(jù)寫訪問如果步驟304的判斷結(jié)果是數(shù)據(jù)讀訪問,則進程訪問管 理器允許讀取數(shù)據(jù)進一步執(zhí)行,執(zhí)行步驟311將讀取數(shù)據(jù)訪問結(jié)果返回進 程;如果步驟304的判定結(jié)果是數(shù)據(jù)寫訪問,則進程訪問管理器執(zhí)行步驟 306,阻斷數(shù)據(jù)寫執(zhí)行,并給用戶以提示,步驟311失敗信息返回進程。
如果步驟302的判斷結(jié)果是非受監(jiān)控進程的數(shù)據(jù)讀、寫訪問,在步驟 307進程訪問管理器進一步判斷數(shù)據(jù)讀、寫訪問的是否是受控制的數(shù)據(jù)訪 問區(qū)。如果步驟307判斷結(jié)果表明是非受監(jiān)控進程訪問的是非受控制訪問 區(qū)中的數(shù)據(jù),則執(zhí)行步驟310直接調(diào)用系統(tǒng)的數(shù)據(jù)讀、寫驅(qū)動讀、寫數(shù)據(jù), 執(zhí)行步驟311將讀、寫數(shù)據(jù)訪問結(jié)果返回進程。如果非受監(jiān)控進程訪問的 是受控制訪問區(qū)中的數(shù)據(jù),則執(zhí)行步驟308將當(dāng)前進程設(shè)置為受監(jiān)控進程, 執(zhí)行步驟309執(zhí)行透明加解密讀、寫數(shù)據(jù),執(zhí)行步驟311將讀、寫數(shù)據(jù)訪 問結(jié)果返回進程。
圖4示出了本發(fā)明具體實施例的一種進出口管道訪問流程圖。如圖4 所示,在步驟401,當(dāng)進程進出口管道讀、寫訪問時進程訪問管理器攔截 到請求。步驟402,進程訪問管理器接收到進程進出口管道讀、寫訪問請 求后,判斷當(dāng)前進程是否是受監(jiān)控進程,如果是,執(zhí)行步驟403及其后續(xù) 步驟,否則執(zhí)行步驟406及其后續(xù)步驟。
如果步驟402的判斷結(jié)果是受監(jiān)控進程的進出口管道讀、寫訪問,在 步驟403進一步判斷受監(jiān)控進程訪問進出口管道是讀訪問還是寫訪問。如 果步驟403的判斷結(jié)果是讀訪問,則直接調(diào)用系統(tǒng)的設(shè)備驅(qū)動讀取數(shù)據(jù), 執(zhí)行步驟407將讀取數(shù)據(jù)訪問結(jié)果返回進程,否則就是寫訪問,執(zhí)行步驟 405阻斷執(zhí)行并給用戶以提示,步驟407失敗信息返回進程。
如果步驟402的判斷結(jié)果是非受監(jiān)控進程的進出口管道讀、寫訪問,則執(zhí)行步驟406直接調(diào)用系統(tǒng)的設(shè)備驅(qū)動讀、寫數(shù)據(jù),執(zhí)行步驟407將讀、 寫數(shù)據(jù)訪問結(jié)果返回進程。
從圖3和圖4的說明展示了本發(fā)明具體的一種數(shù)據(jù)訪問控制方法處理 流程實施例。該實施例通過進程訪問管理器攔截進程對數(shù)據(jù)存儲區(qū)和進出 口管道的訪問請求。當(dāng)進程訪問了受控制訪問區(qū),系統(tǒng)自動將該進程注冊 到進程訪問管理列表成為受監(jiān)控進程。對受監(jiān)控進程,系統(tǒng)允許從非受控 制訪問區(qū)或進出口管道讀取數(shù)據(jù)進入受控制訪問區(qū)、禁止將受控制訪問區(qū) 的數(shù)據(jù)寫入非受控制訪問區(qū)和進出口管道,并且受控制訪問區(qū)的數(shù)據(jù)是以 加密的形式存放,從而保護了受控制訪問區(qū)的數(shù)據(jù)安全。
圖5示出了本發(fā)明具體實施例的具有訪問控制狀態(tài)的數(shù)據(jù)存儲區(qū)訪問 流程圖。如圖5所示,步驟501,當(dāng)進程對數(shù)據(jù)存儲區(qū)進行讀、寫訪問時, 進程訪問管理器攔截到訪問請求。步驟502,進程訪問管理器接收到進程 的數(shù)據(jù)讀、寫訪問請求后,判斷當(dāng)前系統(tǒng)是否是訪問受控狀態(tài),如果是, 執(zhí)行步驟503及其后續(xù)步驟,否則執(zhí)行步驟509及其后續(xù)步驟。
步驟503進一步判斷數(shù)據(jù)讀、寫訪問的是否是受控制的數(shù)據(jù)訪問區(qū)。 在本發(fā)明中對系統(tǒng)的數(shù)據(jù)存儲區(qū)域設(shè)置一個或多個區(qū)域作為受控制訪問 區(qū),受控制訪問區(qū)內(nèi)的數(shù)據(jù)均被加密存儲,而受控制訪問區(qū)之外為非受控 制訪問區(qū),數(shù)據(jù)未做任何加密處理。如果步驟503判斷結(jié)果表明進程訪問 的是非受控制訪問區(qū)中的數(shù)據(jù),則執(zhí)行步驟504;如果進程訪問的是受控 制訪問區(qū)中的數(shù)據(jù),則執(zhí)行步驟507。
在步驟504和步驟507都是判斷當(dāng)前進程是否為受監(jiān)控進程。在本發(fā) 明中系統(tǒng)設(shè)置一進程訪問管理列表,將用戶預(yù)選的應(yīng)用軟件登記在進程訪 問管理列表中,這些應(yīng)用軟件執(zhí)行的進程為受監(jiān)控進程,例如word字處 理軟件、autocad制圖軟件等,進程訪問管理器根據(jù)進程訪問管理列表中 預(yù)定義的受監(jiān)控進程,管理系統(tǒng)中的進程對受控制訪問區(qū)和非受控制訪問 區(qū)的數(shù)據(jù)讀、寫訪問。
如果步驟504的判斷結(jié)果是在訪問受控狀態(tài)下受監(jiān)控進程訪問非受控 制訪問區(qū),則執(zhí)行步驟505進一步判斷是數(shù)據(jù)寫訪問還是數(shù)據(jù)讀訪問,如 果步驟505的判斷結(jié)果是讀訪問,則執(zhí)行步驟506直接調(diào)用系統(tǒng)的數(shù)據(jù)讀 驅(qū)動讀取數(shù)據(jù),執(zhí)行步驟512將讀數(shù)據(jù)訪問結(jié)果返回進程,否則就是寫訪問,執(zhí)行步驟510阻斷執(zhí)行并給用戶以提示,步驟512失敗信息返回進程。 如果步驟504的判斷結(jié)果是在訪問受控狀態(tài)下非受監(jiān)控進程訪問非受控制 訪問區(qū),則執(zhí)行步驟506直接調(diào)用系統(tǒng)的數(shù)據(jù)讀、寫驅(qū)動讀、寫數(shù)據(jù),執(zhí) 行步驟512將讀、寫數(shù)據(jù)訪問結(jié)果返回進程。
如果步驟507的判斷結(jié)果是在訪問受控狀態(tài)下受監(jiān)控進程訪問受控制 訪問區(qū),則執(zhí)行步驟508進行透明加解密讀、寫數(shù)據(jù),讀數(shù)據(jù)調(diào)用系統(tǒng)的 數(shù)據(jù)讀驅(qū)動從數(shù)據(jù)存儲區(qū)取出數(shù)據(jù)并進行數(shù)據(jù)解密,寫數(shù)據(jù)時先進行數(shù)據(jù) 加密后調(diào)用系統(tǒng)的數(shù)據(jù)寫驅(qū)動將數(shù)據(jù)存入數(shù)據(jù)存儲區(qū),執(zhí)行步驟512將讀、 寫數(shù)據(jù)訪問結(jié)果返回進程。如果步驟507的判斷結(jié)果是在訪問受控狀態(tài)下 非受監(jiān)控進程訪問受控制訪問區(qū),則執(zhí)行步驟510阻斷數(shù)據(jù)讀、寫并給用 戶以提示,步驟512失敗信息返回進程。
如果步驟502的判斷結(jié)果是進程在訪問非受控狀態(tài)下數(shù)據(jù)讀、寫訪問, 在步驟509進一步判斷數(shù)據(jù)讀、寫訪問的是否是受控制的數(shù)據(jù)訪問區(qū)。如 果步驟509判斷結(jié)果表明進程訪問的是非受控制訪問區(qū)中的數(shù)據(jù),則執(zhí)行 步驟511直接調(diào)用系統(tǒng)的數(shù)據(jù)讀、寫驅(qū)動讀、寫數(shù)據(jù),執(zhí)行步驟512將讀、 寫數(shù)據(jù)訪問結(jié)果返回進程。如果進程訪問的是受控制訪問區(qū)中的數(shù)據(jù),則 執(zhí)行步驟510阻斷數(shù)據(jù)讀、寫并給用戶以提示,步驟512失敗信息返回進 程。
圖6示出了本發(fā)明具體實施例的具有訪問控制狀態(tài)的進出口管道訪問 流程圖。如圖6所示,在步驟601,當(dāng)進程進出口管道讀、寫訪問時進程 訪問管理器攔截到請求。步驟602,進程訪問管理器接收到進程進出口管 道讀、寫訪問請求后,判斷當(dāng)前是否是訪問受控狀態(tài),如果是訪問受控狀 態(tài),執(zhí)行步驟603及其后續(xù)步驟,如果不是訪問受控狀態(tài)而是訪問非受控 狀態(tài),則執(zhí)行步驟607直接調(diào)用系統(tǒng)的設(shè)備驅(qū)動讀、寫數(shù)據(jù),執(zhí)行步驟608 將讀、寫數(shù)據(jù)訪問結(jié)果返回進程。
如果步驟602的判斷結(jié)果是在訪問受控狀態(tài),在步驟603進一步判斷 當(dāng)前進程是否是受監(jiān)控進程。如果是,執(zhí)行步驟604及其后續(xù)步驟,如果 不是,即訪問受控狀態(tài)下非受監(jiān)控進程訪問進出口管道,則執(zhí)行步驟607 直接調(diào)用系統(tǒng)的設(shè)備驅(qū)動讀、寫數(shù)據(jù),執(zhí)行步驟608將讀、寫數(shù)據(jù)訪問結(jié) 果返回進程。如果步驟603的判斷結(jié)果是在訪問受控狀態(tài)下受監(jiān)控進程訪問進出口 管道,在步驟604進一步判斷訪問進出口管道是讀訪問還是寫訪問。如果 步驟604的判斷結(jié)果是讀訪問,則直接調(diào)用系統(tǒng)的設(shè)備驅(qū)動讀取數(shù)據(jù),執(zhí) 行步驟608將讀取數(shù)據(jù)訪問結(jié)果返回進程,否則就是寫訪問,執(zhí)行步驟606 阻斷執(zhí)行并給用戶以提示,步驟608失敗信息返回進程。
從圖5和圖6的說明展示了本發(fā)明另一種具有訪問控制狀態(tài)的數(shù)據(jù)訪 問控制方法處理流程實施例。該實施例將系統(tǒng)的工作狀態(tài)分為訪問受控狀 態(tài)和訪問非受控狀態(tài)。系統(tǒng)正常啟動后為訪問非受控狀態(tài),除禁止訪問受 控制訪問區(qū)數(shù)據(jù)外,系統(tǒng)如往常一樣操作非受控制訪問區(qū)和進出口管道。 只有當(dāng)需要操作受控制訪問區(qū)數(shù)據(jù)時,通過正確的身份認(rèn)證后,系統(tǒng)進入 訪問受控狀態(tài),操作完畢后,便可退出訪問受控狀態(tài)。系統(tǒng)還通過進程訪 問管理列表定義了受監(jiān)控進程,受監(jiān)控進程是由系統(tǒng)應(yīng)用層定義的所有允 許訪問受控制訪問區(qū)的進程集合,用戶可以根據(jù)自己的工作需要來定制這 個進程訪問管理列表, 一旦定義以后,不在這個列表的進程就是非受監(jiān)控 進程。在訪問受控狀態(tài),受監(jiān)控進程允許訪問受控制訪問區(qū)、允許進出口 管道的讀訪問、禁止進出口管道的寫訪問,非受監(jiān)控進程允許訪問非受控 制訪問區(qū)、禁止訪問受控制訪問區(qū)、允許進出口管道的讀、寫訪問,而受 監(jiān)控進程允許讀訪問非受控制訪問區(qū)、禁止寫訪問非受控制訪問區(qū)。通過 圖5和圖6的數(shù)據(jù)訪問控制方法能夠防止數(shù)據(jù)的泄漏、保護重要數(shù)據(jù)的安 全。
圖7示出了本發(fā)明在智能手機上保護照片數(shù)據(jù)的示意圖。從圖7可以 看出,手機701包括Linux操作系統(tǒng)702、存儲設(shè)備704和攝像頭設(shè)備715、 藍牙射頻716。在Linux操作系統(tǒng)702中有兩個受監(jiān)控進程照片瀏覽器710、 拍照程序711, 一個非受控制進程進程X、進程訪問管理器703、存儲邏 輯設(shè)備707、攝像頭驅(qū)動713、藍牙驅(qū)動714。存儲設(shè)備704劃分為照片存 儲區(qū)708和非受控制存儲區(qū)709,并將照片存儲區(qū)708設(shè)置為系統(tǒng)的受控 制存儲區(qū)。在進程訪問管理器對進程的數(shù)據(jù)訪問的控制下,允許拍照程序 711通過攝像頭驅(qū)動713讀取攝像頭設(shè)備的圖像數(shù)據(jù),并允許將圖像數(shù)據(jù) 通過存儲邏輯設(shè)備707加密存入受控制的照片存儲區(qū)708,而存儲邏輯設(shè) 備707將阻斷拍照程序711將圖像數(shù)據(jù)存入非受控制存儲區(qū)709;允許照片瀏覽器710通過存儲邏輯設(shè)備707解密讀取受控制的照片存儲區(qū)708的 數(shù)據(jù)瀏覽照片,也允許照片瀏覽器710通過存儲邏輯設(shè)備707讀取非受控 制存儲區(qū)709的圖像數(shù)據(jù)瀏覽照片,但禁止照片瀏覽器710瀏覽的圖像數(shù) 據(jù)寫入非受控制存儲區(qū)709;以及禁止照片瀏覽器710將瀏覽的圖像數(shù)據(jù) 通過藍牙驅(qū)動714和藍牙射頻716發(fā)送出去。通過上述的方法,照片數(shù)據(jù) 將能被控制在受控制存儲區(qū)中,而不能被隨意發(fā)送出去。
圖8是一在計算機上保護word文件的示例圖。從圖8可以看出,計 算機801包括windows操作系統(tǒng)802、存儲設(shè)備804和物理網(wǎng)卡815、物 理串口 816。在windows操作系統(tǒng)802中有一受監(jiān)控進程word.exe810、 一 個非受監(jiān)控進程Notepad.exe811、進程訪問管理器803、存儲邏輯設(shè)備807、 邏輯網(wǎng)卡813和邏輯串口 814。存儲設(shè)備804劃分為受控存儲區(qū)808和非 受控制存儲區(qū)809。在進程訪問管理器對進程數(shù)據(jù)訪問的過濾控制下,允 許word.exe進程通過存儲邏輯設(shè)備807透明加解密讀、寫受控存儲區(qū)808 中的數(shù)據(jù),允許word.exe進程通過存儲邏輯設(shè)備807讀取非受控存儲區(qū) 809中的數(shù)據(jù),但存儲邏輯設(shè)備807阻斷word.exe進程向非受控存儲區(qū)809 中回寫數(shù)據(jù),允許word.exe進程通過邏輯網(wǎng)卡813讀取物理網(wǎng)卡815的網(wǎng) 絡(luò)數(shù)據(jù),邏輯串口 816阻斷word.exe進程向物理串口 816寫數(shù)據(jù),允許 Notepad.exe進程通過存儲邏輯設(shè)備807讀、寫非受控存儲區(qū)809中的數(shù)據(jù), 存儲邏輯設(shè)備807阻斷Notepad.exe進程向受控存儲區(qū)808中讀、寫數(shù)據(jù), 允許Notepad.exe進程通過邏輯網(wǎng)卡813讀、寫物理網(wǎng)卡815的網(wǎng)絡(luò)數(shù)據(jù), 允許Notepad.exe進程通過邏輯串口 814讀、寫物理串口 816的數(shù)據(jù)。通 過上述的方法,用戶可以將合同,商業(yè)機密等word文件保存在受控存儲 區(qū)中,word.exe進程能訪問在受控存儲區(qū)中的word文件,但不能通過網(wǎng) 卡-網(wǎng)絡(luò)或者串口主動將數(shù)據(jù)發(fā)送出去。
圖9是一在計算機上保護訪問數(shù)據(jù)庫數(shù)據(jù)的示例圖。從圖9可以看出, 計算機901包括windows操作系統(tǒng)902、存儲設(shè)備904和物理網(wǎng)卡914。 在windows操作系統(tǒng)902中有一受監(jiān)控進程數(shù)據(jù)庫訪問進程A910、 一示 例的非受監(jiān)控進程其他進程911、進程訪問管理器903、存儲邏輯設(shè)備912、 邏輯網(wǎng)卡913。存儲設(shè)備904劃分為受控存儲區(qū)908和非受控制存儲區(qū)909, 其中將數(shù)據(jù)庫907配置在受控存儲區(qū)908中,數(shù)據(jù)庫數(shù)據(jù)以文件形式存儲在存儲區(qū)中。在進程訪問管理器對進程的數(shù)據(jù)訪問的控制下,允許數(shù)據(jù)庫
訪問進程A910通過存儲邏輯設(shè)備912透明加解密讀、寫受控存儲區(qū)卯8 中的數(shù)據(jù)庫907,允許數(shù)據(jù)庫訪問進程A910通過存儲邏輯設(shè)備912讀取 非受控存儲區(qū)卯9中的數(shù)據(jù),但存儲邏輯設(shè)備912阻斷數(shù)據(jù)庫訪問進程 A910向非受控存儲區(qū)909中回寫數(shù)據(jù);允許其他進程911通過存儲邏輯 設(shè)備912讀、寫非受控存儲區(qū)909中的數(shù)據(jù),存儲邏輯設(shè)備912阻斷其他 進程911向受控存儲區(qū)卯8包括數(shù)據(jù)庫卯7中讀、寫數(shù)據(jù),允許其他進程 911通過邏輯網(wǎng)卡913讀、寫物理網(wǎng)卡914的網(wǎng)絡(luò)數(shù)據(jù)。通過上述的方法, 數(shù)據(jù)庫的數(shù)據(jù)文件能夠被保護,防止其它進程訪問;同時,對于受監(jiān)控的 訪問數(shù)據(jù)庫的進程,不能把數(shù)據(jù)主動通過網(wǎng)卡-網(wǎng)絡(luò)的管道發(fā)送出去。
應(yīng)當(dāng)理解,上述說明只是用于展示本發(fā)明,而不是用于限制本發(fā)明的 保護范圍。
權(quán)利要求
1、一種數(shù)據(jù)訪問控制方法,有一系統(tǒng),有若干進程,有一數(shù)據(jù)存儲區(qū)域,有若干數(shù)據(jù)進出口管道,其特征在于包括數(shù)據(jù)存儲區(qū)域分為受控制訪問區(qū)和非受控制訪問區(qū);系統(tǒng)具有一進程訪問管理器;系統(tǒng)具有一進程訪問管理列表,在進程訪問管理列表中的進程為受監(jiān)控進程,不在進程訪問管理列表中的進程為非受監(jiān)控進程;系統(tǒng)還具有一訪問規(guī)則列表,包括若干訪問規(guī)則;進程訪問管理器根據(jù)進程訪問管理列表的受監(jiān)控進程和非受監(jiān)控進程,以及根據(jù)訪問規(guī)則列表的規(guī)則,管理進程對數(shù)據(jù)存儲區(qū)域的受控制訪問區(qū)和非受控制訪問區(qū)數(shù)據(jù)讀、寫訪問,以及管理進程對數(shù)據(jù)進出口管道的數(shù)據(jù)讀、寫訪問。
2、 如權(quán)利要求1所述的方法,其中,系統(tǒng)的進程訪問管理器監(jiān)控進 程對數(shù)據(jù)存儲區(qū)域的訪問請求;當(dāng)進程訪問受控制訪問區(qū),系統(tǒng)自動將該進程在進程訪問管理列表中 注冊成為受監(jiān)控進程;當(dāng)該進程結(jié)束時,系統(tǒng)自動將該進程從進程訪問管 理列表中注銷;根據(jù)系統(tǒng)的訪問規(guī)則列表中的訪問規(guī)則,系統(tǒng)的進程訪問管理器管理 進程對數(shù)據(jù)存儲區(qū)域和數(shù)據(jù)進出口管道的數(shù)據(jù)讀、寫訪問。
3、 如權(quán)利要求1或2所述,其中數(shù)據(jù)存儲區(qū)域中的數(shù)據(jù)根據(jù)數(shù)據(jù)訪 問索引目錄進行存儲管理;受控制訪問區(qū)為系統(tǒng)數(shù)據(jù)訪問索引目錄中一子集所管理的數(shù)據(jù)存儲區(qū);非受控制訪問區(qū)為除受控制訪問區(qū)之外的其他的數(shù)據(jù)存儲區(qū); 當(dāng)進程訪問的數(shù)據(jù)的索引標(biāo)識在受控制訪問區(qū)的系統(tǒng)數(shù)據(jù)訪問索弓I 目錄中,則進程訪問受控制訪問區(qū)。
4、 如權(quán)利要求3所述,其中數(shù)據(jù)訪問索引目錄為文件目錄;數(shù)據(jù)的 索引標(biāo)識為一個或多個包括目錄的文件名。
5、 如權(quán)利要求1或2所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括, 進程訪問管理器允許受監(jiān)控進程對受控制訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問。
6、 如權(quán)利要求1或2所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括, 進程訪問管理器允許受監(jiān)控進程對非受控制訪問區(qū)進行數(shù)據(jù)讀訪問。
7、 如權(quán)利要求1或2所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括, 進程訪問管理器禁止受監(jiān)控進程對非受控制訪問區(qū)進行數(shù)據(jù)寫訪問。
8、 如權(quán)利要求1或2所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括, 進程訪問管理器允許受監(jiān)控進程對進出口管道進行數(shù)據(jù)讀訪問。
9、 如權(quán)利要求1或2所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括, 進程訪問管理器禁止受監(jiān)控進程對進出口管道進行數(shù)據(jù)寫訪問。
10、 如權(quán)利要求1或2所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括, 進程訪問管理器允許非受監(jiān)控進程對非受控制訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù) 據(jù)寫訪問。
11、 如權(quán)利要求1或2所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括, 進程訪問管理器允許非受監(jiān)控進程對受控制訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù) 寫訪問;訪問后,系統(tǒng)自動將該非受監(jiān)控進程在進程訪問管理列表中注冊 成為受監(jiān)控進程。
12、 如權(quán)利要求1或2所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則包括, 進程訪問管理器允許非受監(jiān)控進程對進出口管道進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫 訪問。
13、如權(quán)利要求l所述的方法,其中,進程訪問管理列表為一預(yù)定義 的受監(jiān)控進程列表,進程訪問管理器根據(jù)進程訪問管理列表中預(yù)定義的受 監(jiān)控進程,管理系統(tǒng)中的進程對受控制訪問區(qū)和非受控制訪問區(qū)的數(shù)據(jù) 讀、寫訪問;
14、 如權(quán)利要求1或13所述的方法,其中系統(tǒng)還具有訪問受控狀態(tài) 和訪問非受控狀態(tài)。
15、 如權(quán)利要求l、 13或14所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則 包括,在訪問受控狀態(tài)下在進程訪問管理列表中的受監(jiān)控進程可以對受控制訪問區(qū)進行數(shù)據(jù) 讀訪問、數(shù)據(jù)寫訪問;在進程訪問管理列表中的受監(jiān)控進程可以對非受控制訪問區(qū)進行數(shù)據(jù)讀訪問,不可以進行數(shù)據(jù)寫訪問;在進程訪問管理列表中的受監(jiān)控進程可以對進出口管道進行數(shù)據(jù)讀 訪問,不可以對進出口管道進行數(shù)據(jù)寫訪問。
16、 如權(quán)利要求l、 13或14所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則 包括,在訪問受控狀態(tài)下-不在進程訪問管理列表中的非受監(jiān)控進程不可以對受控制訪問區(qū)進 行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問;不在進程訪問管理列表中的非受監(jiān)控進程可以對非受控制訪問區(qū)進 行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問;不在進程訪問管理列表中的非受監(jiān)控進程可以對進出口管道進行數(shù) 據(jù)讀訪問、數(shù)據(jù)寫訪問。
17、 如權(quán)利要求1、 13或14所述,其中系統(tǒng)的訪問規(guī)則列表的規(guī)則 包括,在訪問非受控狀態(tài)下所有進程都被禁止對受控制訪問區(qū)進行數(shù)據(jù)讀訪問; 所有進程都被允許對非受控制訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問; 所有進程都被允許對進出口管道進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問。
18、 如權(quán)利要求14所述,其中系統(tǒng)的訪問受控狀態(tài)通過用戶認(rèn)證登 錄進行驗證,當(dāng)用戶認(rèn)證登錄成功,系統(tǒng)進入訪問受控狀態(tài);當(dāng)用戶認(rèn)證 登錄退出,系統(tǒng)進入訪問非受控狀態(tài)。
19、 如權(quán)利要求l所述,進程訪問管理器將進程對受控制訪問區(qū)的數(shù) 據(jù)寫訪問截獲,將寫入的數(shù)據(jù)進行加密后存儲;進程訪問管理器將進程的對受控制訪問區(qū)的數(shù)據(jù)讀訪問截獲,將讀取 的數(shù)據(jù)進行解密后發(fā)給進程。
20、 如權(quán)利要求1至19所述,數(shù)據(jù)存儲區(qū)包括硬盤,移動存儲器, 網(wǎng)絡(luò)數(shù)據(jù)存儲區(qū),可擦寫光盤,磁帶機,虛擬數(shù)據(jù)存儲區(qū)。
21、 如權(quán)利要求1所述,所述的數(shù)據(jù)進出口管道在系統(tǒng)中表現(xiàn)為設(shè)備, 系統(tǒng)中的進程可對設(shè)備進行讀、寫數(shù)據(jù)操作。
22、 一種具有數(shù)據(jù)訪問控制功能的設(shè)備,設(shè)備具有一中央處理器,一 數(shù)據(jù)存儲區(qū), 一操作系統(tǒng),若干進程運行于該設(shè)備的操作系統(tǒng),其特征在 于設(shè)備的數(shù)據(jù)存儲區(qū)域分為受控制訪問區(qū)和非受控制訪問區(qū);設(shè)備具有一進程訪問管理器;設(shè)備還具有一訪問規(guī)則列表,包括若干訪問規(guī)則;進程訪問管理器根據(jù)進程對受控制訪問區(qū)和非受控制訪問區(qū)的訪問 狀態(tài),以及根據(jù)訪問規(guī)則列表中的規(guī)則,管理設(shè)備中的進程對數(shù)據(jù)存儲區(qū) 域的讀、寫訪問,以及管理進程對數(shù)據(jù)進出口管道的數(shù)據(jù)讀、寫訪問。
23、 如權(quán)利要求22所述,其中設(shè)備的數(shù)據(jù)存儲區(qū)域和數(shù)據(jù)進出口管 道在操作系統(tǒng)中表現(xiàn)為邏輯物理設(shè)備,系統(tǒng)中的進程通過驅(qū)動程序接口對 邏輯物理設(shè)備進行讀、寫數(shù)據(jù)操作;其中進程訪問管理器模塊具有一驅(qū)動管理過濾模塊,通過截獲進程對 邏輯物理設(shè)備驅(qū)動接口的訪問,進行訪問控制管理。
24、 如權(quán)利要求22所述,其中包括設(shè)備的進程訪問管理器,監(jiān)控進 程對數(shù)據(jù)存儲區(qū)域的訪問請求;當(dāng)進程訪問受控制訪問區(qū),設(shè)備自動將該 進程在進程訪問管理列表中注冊成為受監(jiān)控進程;當(dāng)該進程結(jié)束時,設(shè)備 自動將該進程從進程訪問管理列表中注銷;根據(jù)設(shè)備的訪問規(guī)則列表中的 訪問規(guī)則,設(shè)備的進程訪問管理器管理進程對數(shù)據(jù)存儲區(qū)域和數(shù)據(jù)進出口 管道的數(shù)據(jù)讀、寫訪問。
25、 如權(quán)利要求24所述,其中設(shè)備的訪問規(guī)則列表的規(guī)則包括 進程訪問管理器禁止受監(jiān)控進程對非受控訪問區(qū)進行數(shù)據(jù)寫訪問; 進程訪問管理器允許受監(jiān)控進程對非受控訪問區(qū)進行數(shù)據(jù)讀訪問; 進程訪問管理器允許受監(jiān)控進程對受控訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問;進程訪問管理器禁止受監(jiān)控進程對進出口管道進行數(shù)據(jù)寫訪問; 進程訪問管理器允許受監(jiān)控進程對進出口管道進行數(shù)據(jù)讀訪問; 進程訪問管理器允許非受監(jiān)控進程對非受控訪問區(qū)進行數(shù)據(jù)讀訪問、 數(shù)據(jù)寫訪問;進程訪問管理器允許非受監(jiān)控進程對受控訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù) 據(jù)寫訪問;進程訪問管理器允許非受監(jiān)控進程對進出口管道進行數(shù)據(jù)讀訪問、數(shù) 據(jù)寫訪問。
26、 如權(quán)利要求22所述的方法,其中包括設(shè)備具有一觸發(fā)裝置,使 系統(tǒng)在訪問控制狀態(tài)和非訪問控制狀態(tài)之間進行切換。
27、 如權(quán)利要求22或23所述的設(shè)備的觸發(fā)裝置,為一用戶身份辨識 系統(tǒng),用戶身份得到確認(rèn),則從非訪問控制狀態(tài)進入訪問控制狀態(tài)。
28、 如權(quán)利要求22、 26或27所述,其中包括,進程訪問管理列表為 一預(yù)定義的受監(jiān)控進程列表,進程訪問管理器根據(jù)進程訪問管理列表中預(yù) 定義的受監(jiān)控進程,管理系統(tǒng)中的進程對受控制訪問區(qū)和非受控制訪問區(qū) 的數(shù)據(jù)讀、寫訪問;在進程訪問管理列表中的受監(jiān)控進程可以對受控訪問區(qū)進行數(shù)據(jù)讀 訪問、數(shù)據(jù)寫訪問;不在進程訪問管理列表中的非受監(jiān)控進程不可以對受控訪問區(qū)進行 數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問。
29、 如權(quán)利要求22或28所述的方法,其中系統(tǒng)還具有訪問受控狀態(tài) 和訪問非受控狀態(tài);設(shè)備的訪問規(guī)則列表的規(guī)則包括,在訪問受控狀態(tài)下在進程訪問管理列表中的受監(jiān)控進程可以對受控制訪問區(qū)進行數(shù)據(jù) 讀訪問、數(shù)據(jù)寫訪問;在進程訪問管理列表中的受監(jiān)控進程對非受控制訪問區(qū)可以進行數(shù) 據(jù)讀訪問,不可以進行數(shù)據(jù)寫訪問;在進程訪問管理列表中的受監(jiān)控進程可以對進出口管道進行數(shù)據(jù)讀 訪問,不可以對進出口管道進行數(shù)據(jù)寫訪問。不在進程訪問管理列表中的非受監(jiān)控進程不可以對受控制訪問區(qū)進 行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問;不在進程訪問管理列表中的非受監(jiān)控進程可以對非受控制訪問區(qū)進 行數(shù)據(jù)讀訪問、寫訪問;不在進程訪問管理列表中的非受監(jiān)控進程可以對進出口管道進行數(shù) 據(jù)讀訪問、數(shù)據(jù)寫訪問;設(shè)備的訪問規(guī)則列表的規(guī)則包括,在訪問非受控狀態(tài)下所有進程都被禁止對受控制訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問;所有進程都被允許對非受控制訪問區(qū)進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問;所有進程都被允許對進出口管道進行數(shù)據(jù)讀訪問、數(shù)據(jù)寫訪問。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)訪問控制方法和系統(tǒng),將數(shù)據(jù)存儲區(qū)域分為受控制訪問區(qū)和非受控制訪問區(qū),結(jié)合進程訪問管理,既對重要數(shù)據(jù)嚴(yán)格保護、避免泄露,又不影響用戶自由處理非重要數(shù)據(jù)。
文檔編號G06F12/14GK101458666SQ20081023893
公開日2009年6月17日 申請日期2008年12月5日 優(yōu)先權(quán)日2008年12月5日
發(fā)明者崢 俞, 周海軍, 唐金明, 李曉飛, 楊佃春, 翔 林, 趙貴榮 申請人:北京安高科技有限公司