專利名稱:一種對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)庫訪問控制方法,尤其涉及一種對數(shù)據(jù)庫中的系統(tǒng)表設(shè)置強制訪問控制(Mandatory Access Control,簡稱MAC)的方法,屬于數(shù)據(jù)庫安全技術(shù)領(lǐng)域。
背景技術(shù):
數(shù)據(jù)庫系統(tǒng)承擔(dān)著存儲和管理業(yè)務(wù)數(shù)據(jù)的任務(wù),保證和加強數(shù)據(jù)庫系統(tǒng)的安全性是信息安全的一個重要方面。數(shù)據(jù)庫系統(tǒng)的安全性在很大程度上依賴于數(shù)據(jù)庫管理系統(tǒng)。 如果數(shù)據(jù)庫管理系統(tǒng)的安全機制如訪問控制策略等比較完善,則數(shù)據(jù)庫系統(tǒng)的安全性能就相對較好。傳統(tǒng)數(shù)據(jù)庫系統(tǒng)提供的訪問控制策略能夠滿足一般應(yīng)用的要求,但無法滿足一些重要部門或敏感領(lǐng)域的需求。這是因為在傳統(tǒng)數(shù)據(jù)庫中,一般訪問控制能力只能達到自主訪問控制級別,對于敏感信息和普通信息是按照統(tǒng)一的方式管理的,僅通過用戶的權(quán)限進行訪問控制,對于那些蓄意的破壞者,特別是內(nèi)部人員而言就無法達到防護的作用。為了滿足越來越高的安全要求,需要數(shù)據(jù)庫系統(tǒng)的訪問控制能力提高到強制訪問控制級別,給敏感數(shù)據(jù)提供特殊的保護。強制訪問控制是指系統(tǒng)為保證更高程度的安全性,按照TDI/TCSEC標(biāo)準(zhǔn)中安全策略的要求所采取的強制存取檢查手段。在強制訪問控制中,數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS)所管理的全部實體被分為主體和客體兩大類。主體包括普通用戶、系統(tǒng)管理員和特權(quán)用戶等;客體包括數(shù)據(jù)庫表、索引、數(shù)據(jù)字典以及其中的元組等。 對于主體和客體,DBMS為它們的每個實例指派一個敏感度標(biāo)記(Label)。強制訪問控制策略即是通過比較主體的Label和客體的Label,最終確定主體是否能夠存取客體。在申請?zhí)枮?01010578774.4的中國發(fā)明專利申請中,公開了一種基于策略的數(shù)據(jù)庫強制訪問控制方法及其系統(tǒng)。該方法包括下列步驟1)為數(shù)據(jù)庫中的數(shù)據(jù)表建立多維索引樹;幻將強制訪問控制安全標(biāo)簽設(shè)定策略逐層疊加存儲到多維索引樹的節(jié)點上;3)基于疊加了策略的多維索引樹進行用戶訪問控制。該系統(tǒng)包括前端和后端,前端包括策略管理組件和索引樹組件,后端包括訪問控制組件和策略修改組件。使用本發(fā)明管理員只需對海量數(shù)據(jù)庫中的少量強制訪問控制安全標(biāo)簽設(shè)定策略進行管理,從而大量減少時間和人力的耗費。將策略疊加于索引樹上,使得數(shù)據(jù)的安全標(biāo)簽計算以及基于安全標(biāo)簽的訪問控制可以和數(shù)據(jù)的檢索過程結(jié)合為一體,減少了額外的檢索耗時。提高了執(zhí)行效率和數(shù)據(jù)訪問的響應(yīng)速率。在常用的數(shù)據(jù)庫管理系統(tǒng)如SQL Server中,幾乎將所有的配置信息、安全性信息和對象信息都存儲在它自身的系統(tǒng)表中。系統(tǒng)表存在于每個獨立的數(shù)據(jù)庫中。在創(chuàng)建一個數(shù)據(jù)庫的同時,數(shù)據(jù)庫管理系統(tǒng)會自動建立一些系統(tǒng)表,例如表SYSOBJECTS用于描述數(shù)據(jù)庫中的對象圖表、視圖、存儲過程等,表SYSUSER用于描述數(shù)據(jù)庫的用戶,表SYSL0GINS用于保存每個服務(wù)器的登錄名、口令和配置信息,表SYSDATABASE保存服務(wù)器上所有數(shù)據(jù)庫名、 所有者、狀態(tài)及其他信息等。對于數(shù)據(jù)庫系統(tǒng)的用戶而言,無論是直接使用數(shù)據(jù)庫的系統(tǒng)表還是間接使用數(shù)據(jù)庫的系統(tǒng)表,都需要防止系統(tǒng)表中的對象定義被未授權(quán)的用戶使用。因此,用戶在操作對象(或?qū)ο蟊4娴臄?shù)據(jù))之前,都必須擁有訪問對象定義的合適權(quán)限。但是,目前針對數(shù)據(jù)庫系統(tǒng)表的訪問控制策略,尚沒有完整成熟的技術(shù)解決方案。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種對數(shù)據(jù)庫中的系統(tǒng)表設(shè)置強制訪問控制的方法。為實現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案一種對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于包括下述步驟(1)判斷被應(yīng)用的強制訪問控制策略是否存在,如果強制訪問控制策略存在則進入步驟⑵;(2)判斷被應(yīng)用強制訪問控制策略的數(shù)據(jù)庫系統(tǒng)表是否存在;如果存在則進入步驟⑶;(3)判斷被應(yīng)用強制訪問控制策略的表是否為系統(tǒng)表,如果是系統(tǒng)表則進入步驟 (4);如果不是系統(tǒng)表,則結(jié)束流程;(4)判斷強制訪問控制策略是否被重復(fù)依賴,即強制訪問控制策略是否已經(jīng)應(yīng)用在該系統(tǒng)表上,如果沒有應(yīng)用在該系統(tǒng)表上,則可以建立依賴關(guān)系;如果強制訪問控制策略已經(jīng)應(yīng)用在系統(tǒng)表上,則結(jié)束流程。其中較優(yōu)地,上述方法還包括下述步驟判斷建立依賴關(guān)系的系統(tǒng)表是共享系統(tǒng)表還是非共享系統(tǒng)表,如果是共享系統(tǒng)表,則將強制訪問控制策略和系統(tǒng)表ID寫到共享系統(tǒng)表上的策略中,如果是非共享系統(tǒng)表,則將該強制訪問控制策略寫到被保護系統(tǒng)表上的策略中。其中較優(yōu)地,通過數(shù)據(jù)庫系統(tǒng)函數(shù)設(shè)置數(shù)據(jù)庫系統(tǒng)表的強制訪問控制信息,將數(shù)據(jù)庫系統(tǒng)表的強制訪問控制信息記錄在數(shù)據(jù)庫系統(tǒng)表的策略中。其中較優(yōu)地,設(shè)置對應(yīng)系統(tǒng)表中的行的安全標(biāo)記的操作步驟包括(11)判斷需要刪除的強制訪問控制策略是否存在,如果存在則進入下一步驟;如果不存在,結(jié)束流程;(15)判斷強制訪問控制策略是否已經(jīng)在目標(biāo)系統(tǒng)表上應(yīng)用,如果沒有應(yīng)用,則結(jié)束流程;如果已經(jīng)應(yīng)用,則轉(zhuǎn)至下一步驟;(16)設(shè)置對應(yīng)系統(tǒng)表中基于行的安全標(biāo)記。其中較優(yōu)地,在步驟(11)和步驟(15)之間還包括下述步驟(12)判斷被應(yīng)用策略的系統(tǒng)表是否為系統(tǒng)表,同時判斷該表是否存在,如果該表不存在或不是系統(tǒng)表,則結(jié)束流程,否則進入下一步驟。其中較優(yōu)地,在步驟(1 和步驟(1 之間還包括下述步驟(13)判斷是否合理的等級信息,如果是則進入下一步驟,如果不是則結(jié)束流程。其中較優(yōu)地,在步驟(1 和步驟(1 之間還包括下述步驟(14)判斷是否是共享的系統(tǒng)表,對于不同類型的系統(tǒng)表,下述流程將轉(zhuǎn)移到不同的安全等級表。其中較優(yōu)地,上述方法還包括對數(shù)據(jù)庫系統(tǒng)表移除強制訪問控制策略的步驟
(21)判斷被應(yīng)用策略的系統(tǒng)表是否存在,如果該表不存在,則結(jié)束流程;如果該表存在,則進入下一步驟;(22)判斷需要移除的強制訪問控制策略是否存在,如果不存在,則結(jié)束流程;如果存在則進入下一步驟;(24)查看該強制訪問控制策略是否已經(jīng)與數(shù)據(jù)庫系統(tǒng)表產(chǎn)生依賴,如果強制訪問控制策略沒有應(yīng)用到數(shù)據(jù)庫系統(tǒng)表上,該結(jié)束流程;如果已產(chǎn)生依賴,則進入下一步驟;(25)移除數(shù)據(jù)庫系統(tǒng)表和強制訪問控制策略的依賴關(guān)系,同時還移除對應(yīng)的安全等級中的標(biāo)記信息。其中較優(yōu)地,在步驟0 和步驟04)之間還包括下述步驟(23)判斷被引用的數(shù)據(jù)庫系統(tǒng)表是什么類型的系統(tǒng)表,如果是共享系統(tǒng)表,則下述流程的操作對象為共享系統(tǒng)表上的策略,如果是非共享系統(tǒng)表,則下述流程的操作對象為被保護系統(tǒng)表上的策略;然后進入下一步驟。本發(fā)明所提供的強制訪問控制方法可以對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制策略。 在用戶訪問數(shù)據(jù)庫系統(tǒng)表時,首先檢查數(shù)據(jù)庫系統(tǒng)表的強制訪問控制權(quán)限,未被授權(quán)的非權(quán)限用戶不能訪問該系統(tǒng)表,只有得到授權(quán)的權(quán)限用戶可以訪問該系統(tǒng)表,從而對系統(tǒng)表中的敏感數(shù)據(jù)進行保護。
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步的詳細(xì)說明。圖1為對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制策略的示意圖;圖2為對數(shù)據(jù)庫系統(tǒng)表應(yīng)用強制訪問控制策略的操作步驟示意圖;圖3為對數(shù)據(jù)庫系統(tǒng)表移除強制訪問控制策略的操作步驟示意圖;圖4為設(shè)置對應(yīng)系統(tǒng)表中的行的安全標(biāo)記的操作步驟示意圖。
具體實施例方式本發(fā)明的基本思路在于設(shè)置對數(shù)據(jù)庫系統(tǒng)表的強制訪問控制權(quán)限,防止數(shù)據(jù)庫系統(tǒng)表中的對象定義被未授權(quán)的用戶使用。此處的強制訪問控制權(quán)限是指通過權(quán)限(SELECT、 INSERT、UPDATE和DELETE)的授予和回收來控制對信息的訪問。如圖1所示,本發(fā)明在數(shù)據(jù)庫系統(tǒng)的系統(tǒng)表中設(shè)置強制訪問控制(MAC)策略,即安全員通過調(diào)用數(shù)據(jù)庫系統(tǒng)提供的接口對數(shù)據(jù)庫系統(tǒng)表的訪問控制權(quán)限進行設(shè)置,并將策略信息存放在數(shù)據(jù)庫系統(tǒng)表中,使得數(shù)據(jù)庫系統(tǒng)表擁有相應(yīng)的強制訪問控制權(quán)限。在用戶訪問數(shù)據(jù)庫系統(tǒng)表時,首先檢查數(shù)據(jù)庫系統(tǒng)表的強制訪問控制權(quán)限,未被授權(quán)的非權(quán)限用戶不能訪問該系統(tǒng)表,只有得到授權(quán)的權(quán)限用戶可以訪問該系統(tǒng)表,從而對系統(tǒng)表中的敏感數(shù)據(jù)進行保護。在本發(fā)明中,數(shù)據(jù)庫的系統(tǒng)表包括共享(shared)系統(tǒng)表以及非共享系統(tǒng)表。它們都保存了數(shù)據(jù)庫被共享的元信息。上述系統(tǒng)表強制訪問控制策略對共享系統(tǒng)表和非共享系統(tǒng)表均進行同樣的控制。為了存放系統(tǒng)表的強制訪問控制策略,首先需要增加四個新的數(shù)據(jù)庫系統(tǒng)表。分別存放
>共享系統(tǒng)表上的策略(參見表1 :SYS_強制訪問控制_SHCATAL0G. ENFORCEMENT),該表是共享系統(tǒng)表。
權(quán)利要求
1.一種對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于包括下述步驟(1)判斷被應(yīng)用的強制訪問控制策略是否存在,如果強制訪問控制策略存在則進入步驟⑵;(2)判斷被應(yīng)用強制訪問控制策略的數(shù)據(jù)庫系統(tǒng)表是否存在;如果存在則進入步驟⑶;(3)判斷被應(yīng)用強制訪問控制策略的表是否為系統(tǒng)表,如果是系統(tǒng)表則進入步驟; 如果不是系統(tǒng)表,則結(jié)束流程;(4)判斷強制訪問控制策略是否被重復(fù)依賴,即強制訪問控制策略是否已經(jīng)應(yīng)用在該系統(tǒng)表上,如果沒有應(yīng)用在該系統(tǒng)表上,則可以建立依賴關(guān)系;如果強制訪問控制策略已經(jīng)應(yīng)用在系統(tǒng)表上,則結(jié)束流程。
2.如權(quán)利要求1所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于還包括下述步驟判斷建立依賴關(guān)系的系統(tǒng)表是共享系統(tǒng)表還是非共享系統(tǒng)表,如果是共享系統(tǒng)表,則將強制訪問控制策略和系統(tǒng)表ID寫到共享系統(tǒng)表上的策略中,如果是非共享系統(tǒng)表,則將該強制訪問控制策略寫到被保護系統(tǒng)表上的策略中。
3.如權(quán)利要求2所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于,通過數(shù)據(jù)庫系統(tǒng)函數(shù)設(shè)置數(shù)據(jù)庫系統(tǒng)表的強制訪問控制信息,將數(shù)據(jù)庫系統(tǒng)表的強制訪問控制信息記錄在數(shù)據(jù)庫系統(tǒng)表的策略中。
4.如權(quán)利要求2所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于還包括設(shè)置對應(yīng)系統(tǒng)表中的行的安全標(biāo)記的操作步驟。
5.如權(quán)利要求4所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于,所述設(shè)置對應(yīng)系統(tǒng)表中的行的安全標(biāo)記的操作步驟包括(11)判斷需要刪除的強制訪問控制策略是否存在,如果存在則進入下一步驟;如果不存在,結(jié)束流程;(15)判斷強制訪問控制策略是否已經(jīng)在目標(biāo)系統(tǒng)表上應(yīng)用,如果沒有應(yīng)用,則結(jié)束流程;如果已經(jīng)應(yīng)用,則轉(zhuǎn)至下一步驟;(16)設(shè)置對應(yīng)系統(tǒng)表中基于行的安全標(biāo)記。
6.如權(quán)利要求5所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于在步驟(11)和步驟(15)之間還包括下述步驟(12)判斷被應(yīng)用策略的系統(tǒng)表是否為系統(tǒng)表,同時判斷該表是否存在,如果該表不存在或不是系統(tǒng)表,則結(jié)束流程,否則進入下一步驟。
7.如權(quán)利要求6所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于在步驟(12)和步驟(15)之間還包括下述步驟(13)判斷是否合理的等級信息,如果是則進入下一步驟,如果不是則結(jié)束流程。
8.如權(quán)利要求7所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于在步驟(13)和步驟(15)之間還包括下述步驟(14)判斷是否是共享的系統(tǒng)表,對于不同類型的系統(tǒng)表,下述流程將轉(zhuǎn)移到不同的安全等級表。
9.如權(quán)利要求5所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于還包括對數(shù)據(jù)庫系統(tǒng)表移除強制訪問控制策略的步驟(21)判斷被應(yīng)用策略的系統(tǒng)表是否存在,如果該表不存在,則結(jié)束流程;如果該表存在,則進入下一步驟;(22)判斷需要移除的強制訪問控制策略是否存在,如果不存在,則結(jié)束流程;如果存在則進入下一步驟;(24)查看該強制訪問控制策略是否已經(jīng)與數(shù)據(jù)庫系統(tǒng)表產(chǎn)生依賴,如果強制訪問控制策略沒有應(yīng)用到數(shù)據(jù)庫系統(tǒng)表上,該結(jié)束流程;如果已產(chǎn)生依賴,則進入下一步驟;(25)移除數(shù)據(jù)庫系統(tǒng)表和強制訪問控制策略的依賴關(guān)系,同時還移除對應(yīng)的安全等級中的標(biāo)記信息。
10.如權(quán)利要求9所述的對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,其特征在于在步驟0 和步驟04)之間還包括下述步驟(23)判斷被引用的數(shù)據(jù)庫系統(tǒng)表是什么類型的系統(tǒng)表,如果是共享系統(tǒng)表,則下述流程的操作對象為共享系統(tǒng)表上的策略,如果是非共享系統(tǒng)表,則下述流程的操作對象為被保護系統(tǒng)表上的策略;然后進入下一步驟。
全文摘要
本發(fā)明公開了一種對數(shù)據(jù)庫系統(tǒng)表設(shè)置強制訪問控制的方法,包括下述步驟(1)判斷被應(yīng)用的強制訪問控制策略是否存在,如果強制訪問控制策略存在則進入步驟(2);(2)判斷被應(yīng)用強制訪問控制策略的數(shù)據(jù)庫系統(tǒng)表是否存在;如果存在則進入步驟(3);(3)判斷被應(yīng)用強制訪問控制策略的表是否為系統(tǒng)表,如果是系統(tǒng)表則進入步驟(4);如果不是系統(tǒng)表,則結(jié)束流程;(4)判斷強制訪問控制策略是否被重復(fù)依賴,即強制訪問控制策略是否已經(jīng)應(yīng)用在該系統(tǒng)表上,如果沒有應(yīng)用在該系統(tǒng)表上,則可以建立依賴關(guān)系;如果強制訪問控制策略已經(jīng)應(yīng)用在系統(tǒng)表上,則結(jié)束流程。本發(fā)明可以對數(shù)據(jù)庫系統(tǒng)表中的敏感數(shù)據(jù)進行保護。
文檔編號G06F17/30GK102521385SQ201110433709
公開日2012年6月27日 申請日期2011年12月21日 優(yōu)先權(quán)日2011年12月21日
發(fā)明者孫旭, 張建梅, 王傳廷, 王穎澤 申請人:北京人大金倉信息技術(shù)股份有限公司