一種基于多策略融合的數(shù)據(jù)庫訪問控制方法
【專利摘要】本發(fā)明針對廣泛存在于綜合化電子系統(tǒng)中的數(shù)據(jù)庫安全訪問問題,提出了一種基于多策略融合的數(shù)據(jù)庫訪問控制方法,通過RBAC模塊來判斷用戶所對應(yīng)的角色是否對要訪問的數(shù)據(jù)庫表有相應(yīng)的訪問權(quán)限,如果沒有訪問權(quán)限,拒絕訪問,如果有訪問權(quán)限,再由BLP模塊判斷用戶對要訪問數(shù)據(jù)庫表中字段的操作權(quán)限。不僅能夠保證數(shù)據(jù)庫中各安全級別的信息能夠被有效的訪問,對數(shù)據(jù)庫實現(xiàn)表級甚至字段級的安全保護(hù),還能根據(jù)實際情況對主客體權(quán)限進(jìn)行有效的定制,對于不同角色的主體提供相應(yīng)的訪問控制策略。
【專利說明】一種基于多策略融合的數(shù)據(jù)庫訪問控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)庫安全訪問控制方法。
【背景技術(shù)】
[0002]信息化在未來工業(yè)、醫(yī)療和戰(zhàn)爭中的作用越來越重要,現(xiàn)代綜合化電子系統(tǒng)需要參與構(gòu)建空、天、地一體化的信息共享平臺,這必將促使新一代綜合化電子系統(tǒng)的誕生。該系統(tǒng)必須提供高度靈活的控制數(shù)據(jù)和媒體數(shù)據(jù)的通信能力,這些能力的提升與功能的增強建立在大量軟件共享硬件資源的基礎(chǔ)上,它們將對不同來源、不同模式、不同媒質(zhì)、不同時間和不同表示形式的多種信息進(jìn)行綜合提取,必然要求把不同安全級別的應(yīng)用集成到一個綜合的信息處理平臺上。如何實現(xiàn)多安全級別下的訪問控制,可以采用BLP強制訪問控制,但針對信息密級多變的情況缺乏靈活性,也可以采用基于角色的訪問控制,但這類自主訪問控制難以從全局控制安全級別,如何靈活有效的實現(xiàn)多安全級別信息的安全訪問控制,成為機載信息安全的重要問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明在多用戶主體與多安全級別客體操作環(huán)境下,針對數(shù)據(jù)庫的多級安全信息訪問控制問題,提出了一種基于角色的安全訪問控制和基于密級的強制訪問控制方法,來保證系統(tǒng)數(shù)據(jù)庫訪問的安全,能夠?qū)Χ喾N安全級別信息提供有效快速的數(shù)據(jù)庫操作支持,并適用于復(fù)雜用戶權(quán)限系統(tǒng)。
[0004]本發(fā)明的技術(shù)方案:
[0005]本發(fā)明提供一種多安全策略融合的訪問控制模型,采用基于角色的安全訪問控制(Role Based Access Control, RBAC)和基于密級的強制訪問控制(BLP)策略,對多安全級別數(shù)據(jù)庫系統(tǒng)進(jìn)行訪問控制。系統(tǒng)管理員可以根據(jù)用戶身份角色進(jìn)行細(xì)粒度劃分,并對數(shù)據(jù)庫客體資源進(jìn)行多安全級別的劃分配置。
[0006]RBAC模型中,將可以獨立訪問計算機系統(tǒng)中的數(shù)據(jù)或者用數(shù)據(jù)表示的其它資源的主體稱為用戶,一般情況下為被授權(quán)使用計算機的人,每個系統(tǒng)工作都有一個或幾個用戶參與。根據(jù)用戶存在的差異,分別賦予用戶某種和某幾種角色,用戶就具有相應(yīng)的權(quán)限。
[0007]BLP模型中,訪問的主體客體均被分配有標(biāo)識安全級別的標(biāo)簽,當(dāng)有用戶請求基于密級的訪問控制時,BLP模塊從標(biāo)簽庫中取出相應(yīng)用戶的標(biāo)簽以及要訪問資源的標(biāo)簽,由決策引擎根據(jù)安全策略決定是否允許用戶對資源的操作。
[0008]本發(fā)明對多安全級別數(shù)據(jù)庫系統(tǒng)進(jìn)行訪問控制,主要包括以下步驟:
[0009](I)數(shù)據(jù)庫請求
[0010]當(dāng)有用戶訪問數(shù)據(jù)庫資源時,訪問監(jiān)控器攔截來自用戶的數(shù)據(jù)庫訪問請求,將數(shù)據(jù)庫訪問請求發(fā)送到系統(tǒng)訪問控制組件;
[0011]⑵消息解析
[0012]系統(tǒng)訪問控制組件收到數(shù)據(jù)庫訪問請求后,將訪問請求交與消息解析模塊進(jìn)行解析,得出包含有用戶身份信息、資源表示和用戶動作的安全信息,并調(diào)用決策引擎進(jìn)行鑒權(quán)操作;
[0013](3)訪問鑒權(quán)
[0014]通過RBAC模塊查詢角色庫來判斷用戶所對應(yīng)的角色是否對于要訪問的數(shù)據(jù)庫表有相應(yīng)的訪問權(quán)限;在所述角色庫中,賦予了用戶相應(yīng)的一種或多種角色權(quán)限;
[0015]如果沒有訪問權(quán)限,則拒絕訪問;
[0016]如果有訪問權(quán)限,則再由BLP模塊查詢標(biāo)簽庫判斷用戶對要訪問數(shù)據(jù)庫表中字段的操作權(quán)限,在所述標(biāo)簽庫中,訪問的主體、客體均被分配有標(biāo)識安全級別的標(biāo)簽;如果有操作權(quán)限則通過數(shù)據(jù)庫訪問組件進(jìn)行數(shù)據(jù)庫操作,并將結(jié)果返回給用戶;
[0017]⑷審計記錄
[0018]當(dāng)系統(tǒng)訪問控制組件完成了對數(shù)據(jù)庫訪問請求鑒權(quán),并返回結(jié)果時,將訪問日志寫入審計中心;如果鑒權(quán)失敗,則給出相應(yīng)預(yù)警信息。
[0019]在步驟(2)中,系統(tǒng)訪問控制組件優(yōu)先判斷當(dāng)前請求操作用戶是否有用戶訂制策略,如果有用戶訂制則通過查看用戶訂制表返回鑒權(quán)結(jié)果。
[0020]在步驟(3)中,對所述訪問權(quán)限和操作權(quán)限進(jìn)行沖突檢測,如果有沖突則告警并計入審計,但多策略的沖突不影響訪問控制的判定執(zhí)行。
[0021]如果為用戶配置一條RBAC策略,先檢測該RBAC策略涉及的訪問權(quán)限與用戶已有的訪問權(quán)限是否有沖突;有沖突則告警并記入審計;沒有則繼續(xù)檢測該RBAC策略與用戶對應(yīng)BLP策略集是否有沖突,有沖突則告警并計入審計,沒有沖突則將策略寫入策略數(shù)據(jù)庫;
[0022]如果更改BLP配置,則對全局策略進(jìn)行檢測,檢測主體BLP策略集和其RBAC策略集是否存在沖突,記錄所有的策略沖突,告警并計入審計。
[0023]本發(fā)明具有的優(yōu)點效果:
[0024]本發(fā)明針對廣泛存在于綜合化電子系統(tǒng)中的數(shù)據(jù)庫安全訪問問題提出了基于角色和基于密級的訪問控制模型,增強數(shù)據(jù)庫安全性與靈活性,不僅能夠保證數(shù)據(jù)庫中各安全級別的信息能夠被有效的訪問,對數(shù)據(jù)庫實現(xiàn)表級甚至字段級的安全保護(hù),還能根據(jù)實際情況對主客體權(quán)限進(jìn)行有效的定制,對于不同角色的主體提供相應(yīng)的訪問控制策略。同時,引入沖突檢測機制,避免多種訪問控制策略的權(quán)限沖突帶來的混亂,有效利用多策略訪問控制的優(yōu)勢。
【專利附圖】
【附圖說明】
[0025]圖1為數(shù)據(jù)庫安全訪問控制模型。
[0026]圖2為數(shù)據(jù)庫操作鑒權(quán)數(shù)據(jù)流圖。
[0027]圖3為沖突檢測機制示意圖。
[0028]圖4為多策略沖突檢測流程圖。
[0029]圖5為各模塊間調(diào)用關(guān)系。
【具體實施方式】
[0030]本發(fā)明米用基于角色的安全訪問控制(Role Based Access Control, RBAC)和基于密級的強制訪問控制(BLP)策略,對多安全級別數(shù)據(jù)庫系統(tǒng)進(jìn)行訪問控制。系統(tǒng)管理員可以根據(jù)用戶身份角色進(jìn)行細(xì)粒度劃分配置,并對數(shù)據(jù)庫客體資源進(jìn)行多安全級別的劃分。任何數(shù)據(jù)庫訪問操作都需要經(jīng)過系統(tǒng)訪問控制中心進(jìn)行鑒權(quán),系統(tǒng)安全訪問控制先判斷當(dāng)前請求操作用戶是否有用戶訂制,如果有用戶訂制則通過查看用戶訂制表返回鑒權(quán)結(jié)果,如果沒有用戶訂制,則通過RBAC模塊來判斷用戶所對應(yīng)的角色是否對要訪問的數(shù)據(jù)庫表有相應(yīng)的訪問權(quán)限,如果沒有訪問權(quán)限,則拒絕訪問,如果有訪問權(quán)限,則再由BLP模塊判斷用戶對要訪問數(shù)據(jù)庫表中字段的操作權(quán)限。在鑒權(quán)過程中如果鑒權(quán)失敗則系統(tǒng)安全訪問控制組件會觸發(fā)審計組件對鑒權(quán)失敗操作完成審計。
[0031]I)數(shù)據(jù)庫安全訪問控制系統(tǒng)及相關(guān)組件
[0032]數(shù)據(jù)庫安全訪問控制機制主要涉及到如下組件的交互與實現(xiàn)(參見圖5):
[0033](I)策略服務(wù)器:負(fù)責(zé)加載和更新安全策略進(jìn)行訪問仲裁(或決策),負(fù)責(zé)維護(hù)主客體標(biāo)簽庫和策略配置,其中包含策略配置模塊:提供管理員對訪問控制策略的配置,包括角色配置,密級配置,用戶信息配置,數(shù)據(jù)庫配置等的管理操作。
[0034](2)本地策略下載:在系統(tǒng)初始化階段從策略服務(wù)器將策略庫、標(biāo)簽庫以及基本信息下載到本地,當(dāng)服務(wù)器策略變更時,會通知此組件重新下載。
[0035](3)訪問監(jiān)控器:訪問監(jiān)控器監(jiān)控所有與數(shù)據(jù)庫操作相關(guān)的訪問。當(dāng)攔截到訪問請求,轉(zhuǎn)到訪問控制系統(tǒng)進(jìn)行鑒權(quán)。
[0036](4)消息解析模塊:負(fù)責(zé)將訪問監(jiān)控器攔截到的請求進(jìn)行解析,最后得到用戶身份信息、資源標(biāo)識和用戶動作等信息。
[0037](5)BLP模塊:BLP模塊維護(hù)一個標(biāo)簽庫,當(dāng)有用戶請求基于密級的訪問控制時,BLP模塊從標(biāo)簽庫中取出相應(yīng)用戶的標(biāo)簽以及要訪問資源的標(biāo)簽,由決策引擎根據(jù)安全策略決定是否允許用戶對資源的操作。
[0038](6) RBAC模塊:RBAC模塊同樣的維護(hù)一個角色庫,并有一個執(zhí)行引擎來判斷主體的權(quán)限,當(dāng)有用戶請求基于角色的訪問控制時,RBAC模塊從角色庫中取出相應(yīng)用戶的角色信息,以及資源的權(quán)限信息,并經(jīng)過接口調(diào)用從公鑰基礎(chǔ)架構(gòu)組件得到安全策略,最后由決策引擎決定是否允許用戶對資源的操作。
[0039](7)審計中心:審計模塊維護(hù)一個用戶訪問日志表,提供對日志的簡單分析并在必要時給出預(yù)警信息,用戶主體的每次訪問請求,審計模塊都會有日志記錄,用來記錄用戶主體信息、用戶訪問資源的信息、主體動作信息和操作結(jié)果信息。
[0040](8)沖突檢測模塊:在訪問控制策略配置過程中,檢測BLP策略與RBAC策略存在的一致性沖突,發(fā)現(xiàn)沖突時,給出告警信息并記錄審計日志。
[0041]2)安全訪問控制流程
[0042](I)數(shù)據(jù)庫請求。當(dāng)有用戶訪問數(shù)據(jù)庫資源時,訪問監(jiān)控器攔截來自用戶的數(shù)據(jù)庫請求,將數(shù)據(jù)庫訪問請求發(fā)送到系統(tǒng)訪問控制組件。
[0043](2)消息解析。訪問控制系統(tǒng)收到數(shù)據(jù)庫訪問請求后,將請求交與消息解析模塊進(jìn)行解析,得出用戶身份信息,資源表示和用戶動作等安全信息,并調(diào)用決策引擎進(jìn)行鑒權(quán)操作。
[0044](3)訪問鑒權(quán);決策引擎收到鑒權(quán)請求后,先通過RBAC模塊查詢角色庫來判斷用戶所對應(yīng)的角色是否對要訪問的數(shù)據(jù)庫表有相應(yīng)的訪問權(quán)限,如果沒有訪問權(quán)限,則拒絕訪問,如果有訪問權(quán)限,則再由BLP模塊查詢標(biāo)簽庫判斷用戶對要訪問數(shù)據(jù)庫表中字段的操作權(quán)限,如果有則通過數(shù)據(jù)庫訪問組件進(jìn)行數(shù)據(jù)庫操作,并將結(jié)果返回給用戶。
[0045](4)審計記錄。當(dāng)系統(tǒng)訪問控制組件完成了對數(shù)據(jù)庫訪問請求鑒權(quán),并返回結(jié)果時,將訪問日志寫入審計中心。如果鑒權(quán)失敗,則將給出相應(yīng)預(yù)警信息。
[0046]以下詳細(xì)介紹本發(fā)明的多策略沖突檢測模型、多策略訪問控制模型、多策略訪問控制流程和多策略沖突檢測流程。
[0047]1.多策略沖突檢測模型
[0048]訪問控制中,使用多策略機制細(xì)粒度控制各級權(quán)限,需要考慮各訪問控制策略權(quán)限集之間存在的沖突問題。在RBAC策略中,主體用戶各個角色權(quán)限的并集代表用戶的RBAC權(quán)限集,BLP策略中,用戶主體標(biāo)簽對應(yīng)的BLP策略代表了 BLP權(quán)限集,兩種策略的融合會產(chǎn)生沖突和混淆。為此,引入沖突檢測模塊,檢測各訪問控制策略的一致性,避免同一操作在不同策略下的權(quán)限沖突導(dǎo)致的策略失效。
[0049]RBAC基于角色和資源控制權(quán)限,主體擁有的各個角色所具有的權(quán)限的并集代表了主體的RBAC權(quán)限集,BLP策略決定特定密級標(biāo)簽的主體所能夠訪問的客體(資源)。訪問控制中,主體的RBAC權(quán)限集允許其對特定客體的訪問,但主體的標(biāo)簽密級小于BLP所規(guī)定的對該客體訪問的最低下寫密級,或者主體標(biāo)簽密級高于BLP所有規(guī)定的對該客體訪問的最高上寫密級,則會導(dǎo)致RBAC對應(yīng)的權(quán)限失效,即為一種多策略的權(quán)限沖突。
[0050]沖突檢測機制如圖3所示,在管理員配置多種訪問控制策略時,由對應(yīng)鑒權(quán)模塊檢測本次配置的改變的主體權(quán)限集,同時獲取每個主體的固有權(quán)限集,比對兩者之間的訪問權(quán)限沖突。在檢測過程中,以策略配置主體(用戶)為單位,主體的角色權(quán)限由RBAC模型給出,為(資源,權(quán)限)集合,主體的密級標(biāo)簽權(quán)限由BLP模型給出,為(標(biāo)簽,權(quán)限)集合。在沖突檢測時,結(jié)合標(biāo)簽庫檢測(資源,權(quán)限)集合中所有資源標(biāo)簽對應(yīng)的權(quán)限是否在BLP策略的(標(biāo)簽,權(quán)限)集合中,如果不是,則判定為權(quán)限沖突,沖突檢測模塊給出告警并計入審計。
[0051]2.多策略訪問控制模型
[0052]多策略融合的訪問控制模型中,結(jié)合RBAC和BLP等多種訪問控制策略對數(shù)據(jù)庫操作鑒權(quán),以達(dá)到對數(shù)據(jù)庫,表甚至字段的細(xì)粒度控制,實現(xiàn)多安全級的訪問控制目的。如圖1為多策略訪問控制模型,管理員通過策略配置模塊,配置各訪問控制方式的安全策略,安全策略決定了用戶主體與數(shù)據(jù)庫資源的訪問權(quán)限,以標(biāo)簽庫,角色庫和策略表的形式存儲于安全數(shù)據(jù)庫。
[0053]當(dāng)用戶(主體)要訪問某一數(shù)據(jù)庫資源(客體)時,訪問請求先由訪問控制中心進(jìn)行鑒權(quán),鑒權(quán)模塊由多個訪問控制引擎組成,用于實現(xiàn)基于不同訪問控制策略的鑒權(quán),鑒權(quán)模塊綜合不同訪問控制引擎的鑒權(quán)結(jié)果,鑒定主體是否具有對相應(yīng)客體的操作權(quán)限,并將鑒權(quán)結(jié)果返回給數(shù)據(jù)庫訪問模塊。如果鑒權(quán)未通過(主體不具有相應(yīng)訪問權(quán)限),則不允許本次訪問,并自動將鑒權(quán)結(jié)果記入審計日志。
[0054]3.多策略訪問控制流程
[0055]基于多策略融合的訪問控制模型,任何數(shù)據(jù)庫訪問操作都需要經(jīng)過系統(tǒng)訪問控制中心進(jìn)行鑒權(quán),控制流程如圖2。
[0056]系統(tǒng)安全訪問控制先判斷當(dāng)前請求操作用戶是否有用戶訂制策略,如果有用戶訂制則通過查看用戶訂制表返回鑒權(quán)結(jié)果,如果沒有用戶訂制策略,通過RBAC模塊來判斷用戶所對應(yīng)的角色是否對要訪問的數(shù)據(jù)庫表有相應(yīng)的訪問權(quán)限,如果沒有訪問權(quán)限,拒絕訪問,如果有訪問權(quán)限,再由BLP模塊判斷用戶對要訪問數(shù)據(jù)庫表中字段的操作權(quán)限。在鑒權(quán)過程中如果鑒權(quán)失敗,系統(tǒng)安全訪問控制組件會觸發(fā)審計組件對鑒權(quán)失敗操作完成審計。
[0057]4.多策略沖突檢測流程
[0058]在策略配置時,沖突檢測模塊檢測多策略存在的沖突,給出告警信息并將本次配置操作記入審計日志,沖突檢測模塊提供多種檢測方式:對每次配置操作進(jìn)行檢測;對所有策略庫全局檢測并給出策略庫中存在的所有沖突。
[0059]沖突檢測過程如圖4所示,如果為用戶配置一條RBAC策略,先檢測該RBAC策略權(quán)限集與用戶已有的RBAC策略權(quán)限集是否有沖突,有沖突則告警并記入審計,沒有則繼續(xù)檢測該RBAC策略與用戶對應(yīng)BLP策略集是否有沖突,有沖突則告警并計入審計,沒有沖突則將策略寫入策略數(shù)據(jù)庫。
[0060]如果更改BLP配置,則對全局策略進(jìn)行檢測,檢測主體BLP策略集和其RBAC策略集是否存在沖突,記錄所有的策略沖突,告警并計入審計。配置管理員可依據(jù)沖突檢測結(jié)果調(diào)整策略配置。
[0061]多策略的沖突并不影響訪問控制的判定執(zhí)行,沖突檢測模塊允許沖突存在,配置管理人員可以選擇忽略沖突或者解決沖突。
【權(quán)利要求】
1.一種基于多策略融合的數(shù)據(jù)庫訪問控制方法,對多安全級別數(shù)據(jù)庫系統(tǒng)進(jìn)行訪問控制,包括以下步驟: (1)數(shù)據(jù)庫請求 當(dāng)有用戶訪問數(shù)據(jù)庫資源時,訪問監(jiān)控器攔截來自用戶的數(shù)據(jù)庫訪問請求,將數(shù)據(jù)庫訪問請求發(fā)送到系統(tǒng)訪問控制組件; (2)消息解析 系統(tǒng)訪問控制組件收到數(shù)據(jù)庫訪問請求后,將訪問請求交與消息解析模塊進(jìn)行解析,得出包含有用戶身份信息、資源表示和用戶動作的安全信息,并調(diào)用決策引擎進(jìn)行鑒權(quán)操作; (3)訪問鑒權(quán) 通過RBAC模塊查詢角色庫來判斷用戶所對應(yīng)的角色是否對于要訪問的數(shù)據(jù)庫表有相應(yīng)的訪問權(quán)限;在所述角色庫中,賦予了用戶相應(yīng)的一種或多種角色權(quán)限; 如果沒有訪問權(quán)限,則拒絕訪問; 如果有訪問權(quán)限,則再由BLP模塊查詢標(biāo)簽庫判斷用戶對要訪問數(shù)據(jù)庫表中字段的操作權(quán)限,在所述標(biāo)簽庫中,訪問的主體、客體均被分配有標(biāo)識安全級別的標(biāo)簽;如果有操作權(quán)限則通過數(shù)據(jù)庫訪問組件進(jìn)行數(shù)據(jù)庫操作,并將結(jié)果返回給用戶; (4)審計記錄 當(dāng)系統(tǒng)訪問控制組件完成了對數(shù)據(jù)庫訪問請求鑒權(quán),并返回結(jié)果時,將訪問日志寫入審計中心;如果鑒權(quán)失敗,則給出相應(yīng)預(yù)警信息。
2.根據(jù)權(quán)利要求1所述的基于多策略融合的數(shù)據(jù)庫訪問控制方法,其特征在于:在步驟(2)中,系統(tǒng)訪問控制組件優(yōu)先判斷當(dāng)前請求操作用戶是否有用戶訂制策略,如果有用戶訂制則通過查看用戶訂制表返回鑒權(quán)結(jié)果。
3.根據(jù)權(quán)利要求1所述的基于多策略融合的數(shù)據(jù)庫訪問控制方法,其特征在于:在步驟(3)中,對所述訪問權(quán)限和操作權(quán)限進(jìn)行沖突檢測,如果有沖突則告警并計入審計,但多策略的沖突不影響訪問控制的判定執(zhí)行。
4.根據(jù)權(quán)利要求3所述的基于多策略融合的數(shù)據(jù)庫訪問控制方法,其特征在于: 如果為用戶配置一條RBAC策略,先檢測該RBAC策略涉及的訪問權(quán)限與用戶已有的訪問權(quán)限是否有沖突;有沖突則告警并記入審計;沒有則繼續(xù)檢測該RBAC策略與用戶對應(yīng)BLP策略集是否有沖突,有沖突則告警并計入審計,沒有沖突則將策略寫入策略數(shù)據(jù)庫; 如果更改BLP配置,則對全局策略進(jìn)行檢測,檢測主體BLP策略集和其RBAC策略集是否存在沖突,記錄所有的策略沖突,告警并計入審計。
【文檔編號】G06F21/62GK104484617SQ201410741831
【公開日】2015年4月1日 申請日期:2014年12月5日 優(yōu)先權(quán)日:2014年12月5日
【發(fā)明者】蔣挺宇, 李亞暉, 牛文生, 張亞棣, 葉宏 申請人:中國航空工業(yè)集團公司第六三一研究所