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