專利名稱:一種基于動(dòng)態(tài)描述邏輯的角色訪問(wèn)控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及企業(yè)及網(wǎng)絡(luò)數(shù)據(jù)信息安全領(lǐng)域,特別涉及用戶訪問(wèn)資源權(quán)限的控制方法,更具體的說(shuō)是一種基于動(dòng)態(tài)描述邏輯的角色訪問(wèn)控制方法。
背景技術(shù):
訪問(wèn)控制(Access Control)是在身份認(rèn)證的基礎(chǔ)上,依據(jù)授權(quán)對(duì)提出的資源訪問(wèn)請(qǐng)求加以控制。訪問(wèn)控制是企業(yè)和網(wǎng)絡(luò)安全防范和保護(hù)的主要策略,它可以限制對(duì)關(guān)鍵資源的訪問(wèn),防止非法用戶的侵入或合法用戶的不慎操作所造成的破壞。
隨著企業(yè)信息化步伐的加快和計(jì)算機(jī)技術(shù)的發(fā)展,基于Web的信息管理系統(tǒng)成為信息管理系統(tǒng)開(kāi)發(fā)的主流,安全問(wèn)題也成為了關(guān)注的焦點(diǎn),而對(duì)用戶權(quán)限進(jìn)行管理則是保障信息系統(tǒng)安全的一個(gè)重要手段。在很多提供服務(wù)的企業(yè)中,隨著企業(yè)的發(fā)展壯大,用戶數(shù)目成倍地增長(zhǎng),形成了多用戶服務(wù)模式。大量增長(zhǎng)的用戶數(shù)目使用戶角色的管理分配任務(wù)繁重。同時(shí),訪問(wèn)資源的策略經(jīng)常由多種不同類型的策略組成,更為復(fù)雜多樣化。這些都對(duì)傳統(tǒng)的訪問(wèn)控制模型提出了新的應(yīng)用需求。
傳統(tǒng)的訪問(wèn)控制方法主要分為自主型訪問(wèn)控制(DAC)和強(qiáng)制型訪問(wèn)控制(MAC)兩種。自主訪問(wèn)控制具有較高的靈活性,思想簡(jiǎn)單,容易實(shí)現(xiàn)。它通過(guò)矩陣或列表的形式直接創(chuàng)建了主體對(duì)客體的訪問(wèn)權(quán)限,但是DAC的致命弱點(diǎn)是這種訪問(wèn)權(quán)限的授予是可以傳遞的,很難控制和管理。強(qiáng)制訪問(wèn)控制主要特點(diǎn)是管理比較集中,安全性較高。由于MAC對(duì)主體和客體都施加了更嚴(yán)格的訪問(wèn)權(quán)限,因而影響了系統(tǒng)的靈活性。
而且隨著網(wǎng)絡(luò)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的普及,用戶可訪問(wèn)的數(shù)據(jù)資源的結(jié)構(gòu)日益復(fù)雜, 規(guī)模日益增大,使用這兩種傳統(tǒng)的訪問(wèn)控制方式對(duì)數(shù)據(jù)的存取權(quán)限進(jìn)行管理就顯得十分復(fù)雜和不安全。因此,便產(chǎn)生了基于角色的訪問(wèn)控制(Role Based Access Control,RBAC)、 基于任務(wù)的訪問(wèn)控制(Task Based Access Control, TBAC)等。
基于角色的訪問(wèn)控制模型由于引入了角色,使得用戶和權(quán)限得到了邏輯分離,授權(quán)變得簡(jiǎn)單而靈活,訪問(wèn)控制框架有了較強(qiáng)的擴(kuò)展性。RBAC的核心思想就是系統(tǒng)根據(jù)需要定義不同角色,將資源的訪問(wèn)權(quán)限封裝在角色中,通過(guò)給用戶分配角色,讓用戶與訪問(wèn)權(quán)限相關(guān)聯(lián)。角色對(duì)應(yīng)于組織中的某一特定的職能崗位,擁有特定的權(quán)限。系統(tǒng)可以添加、刪除角色,還可以在角色間進(jìn)行轉(zhuǎn)換。用戶通過(guò)訪問(wèn)角色間接地獲得權(quán)限以訪問(wèn)系統(tǒng)資源,并且只可以對(duì)系統(tǒng)資源進(jìn)行權(quán)限范圍內(nèi)的操作。然而,由于RBAC在用戶、角色、權(quán)利等的分配上都是靜態(tài)的,不能處理工作流中的數(shù)據(jù)信息,被動(dòng)的訪問(wèn)控制特點(diǎn)使其不能滿足企業(yè)動(dòng)態(tài)業(yè)務(wù)流程處理的需要。
基于任務(wù)的訪問(wèn)控制模型以任務(wù)和活動(dòng)為中心。任務(wù)(Task )是工作流程中的功能邏輯單元,與多個(gè)用戶相關(guān),可能包括幾個(gè)子任務(wù)。而授權(quán)結(jié)構(gòu)體是任務(wù)在計(jì)算機(jī)中進(jìn)行控制的一個(gè)實(shí)例。任務(wù)中的子任務(wù),對(duì)應(yīng)于授權(quán)結(jié)構(gòu)體中的授權(quán)步。在執(zhí)行任務(wù)時(shí),TBAC只給用戶分配所需的權(quán)限,未執(zhí)行任務(wù)或任務(wù)終止后,用戶不再擁有所分配的權(quán)限,而且在任務(wù)執(zhí)行過(guò)程中,當(dāng)某一權(quán)限不再被使用時(shí),授權(quán)步會(huì)自動(dòng)將該權(quán)限收回。另外,對(duì)于敏感的任務(wù)若需要不同的用戶來(lái)執(zhí)行,可以通過(guò)授權(quán)步之間的依賴關(guān)系來(lái)實(shí)現(xiàn)。授權(quán)步的生命周期和授權(quán)步自我動(dòng)態(tài)管理,是TBAC動(dòng)態(tài)授權(quán)的具體體現(xiàn)。
TBAC是一種上下文相關(guān)的訪問(wèn)控制模型,適合處理工作流中有時(shí)效性和流動(dòng)性的數(shù)據(jù)信息,權(quán)限隨著數(shù)據(jù)的處理而被授予或取消。但這種主動(dòng)的訪問(wèn)控制模型不能處理非工作流類的任務(wù),如查詢等,并且TBAC不支持角色的層級(jí)關(guān)系,不適合企業(yè)的組織結(jié)構(gòu)層次和分布式管理。
綜合以上兩種模型的特點(diǎn),于是就有人在其基礎(chǔ)上將RBAC和TBAC結(jié)合在一起提出了基于任務(wù)和角色的訪問(wèn)控制模型TRBAC,即在靜態(tài)角色授權(quán)的基礎(chǔ)上加入了面向任務(wù)的工作流思想。在TRBAC模型中用戶和權(quán)限之間是通過(guò)角色和任務(wù)來(lái)進(jìn)行分配和管理的。 圖1給出了簡(jiǎn)單的TRBAC訪問(wèn)控制模型。
以上的TRBAC模型,在傳統(tǒng)的RBAC的基礎(chǔ)上增加了任務(wù)、任務(wù)實(shí)例和任務(wù)上下文這幾個(gè)組件。用戶和任務(wù)都被分別賦予角色,而權(quán)限則被賦予任務(wù)。任務(wù)上下文作用于任務(wù),而運(yùn)行過(guò)程中則作用于任務(wù)實(shí)例。
該模型使用了 7個(gè)主要的術(shù)語(yǔ),分別是用戶、角色、任務(wù)、任務(wù)上下文、任務(wù)實(shí)例、 會(huì)話和權(quán)限。任務(wù)和角色是兩個(gè)相互獨(dú)立又相互關(guān)聯(lián)的重要概念,角色通過(guò)任務(wù)與權(quán)限相關(guān)聯(lián),角色在執(zhí)行任務(wù)前不賦予權(quán)限,只有在執(zhí)行任務(wù)時(shí)才具有權(quán)限,任務(wù)是角色與權(quán)限交換信息的橋梁。在實(shí)際操作中,用戶通過(guò)獲得角色所擁有的權(quán)限來(lái)執(zhí)行任務(wù),權(quán)限隨著任務(wù)實(shí)例的執(zhí)行而變動(dòng),動(dòng)態(tài)授予或收回,真正實(shí)現(xiàn)權(quán)限的按需分配和動(dòng)態(tài)分配;任務(wù)完成后, 角色的權(quán)限也隨之收回。圖1中的虛線表示在實(shí)際的工作流系統(tǒng)運(yùn)行過(guò)程中,角色只能執(zhí)行任務(wù)實(shí)例,而只有任務(wù)實(shí)例才真正擁有所對(duì)應(yīng)的權(quán)限。
上述TRBAC模型通過(guò)在任務(wù)流中加入角色,使權(quán)限可以通過(guò)任務(wù)和角色分派給用戶,從而實(shí)現(xiàn)了用戶的動(dòng)態(tài)授權(quán)。但這種模型存在著以下不足第一,只是單純的將角色引入到任務(wù)流中去,沒(méi)有很好的繼承RBAC的靜態(tài)授權(quán)的優(yōu)點(diǎn) 第二,由于在上述模型中,只有在執(zhí)行任務(wù)實(shí)例時(shí)才會(huì)將權(quán)限授予角色,而用戶在沒(méi)有執(zhí)行任務(wù)實(shí)例時(shí)所激活的角色并沒(méi)有相應(yīng)的權(quán)限,這樣就使角色和權(quán)限的對(duì)應(yīng)關(guān)系很難確定;第三,沒(méi)有涉及如何處理在任務(wù)流中加入角色所帶來(lái)的角色約束的問(wèn)題,作為一個(gè)完整的安全系統(tǒng)模型而言,約束機(jī)制是非常重要的,如何處理這種機(jī)制也顯得尤為重要。
綜上所述,在訪問(wèn)控制中,如何處理用戶和權(quán)限的分配關(guān)系是研究的重點(diǎn),這也是涉及到信息安全領(lǐng)域的一個(gè)難點(diǎn)。目前的各種方法在具體應(yīng)用領(lǐng)域都有其局限性,很難滿足當(dāng)今企業(yè)和網(wǎng)絡(luò)對(duì)信息安全的需求。發(fā)明內(nèi)容
本發(fā)明的目的是為克服上述方法的不足,在原有基于角色訪問(wèn)控制的基礎(chǔ)上,新增和改進(jìn)了相應(yīng)的模塊,形式化地稱為ERBAC模型,并在此模型基礎(chǔ)上提出了一種基于動(dòng)態(tài)描述邏輯的角色訪問(wèn)控制方法。這種方法能夠在企業(yè)和網(wǎng)絡(luò),不論是在靜態(tài)或動(dòng)態(tài)訪問(wèn)中,都會(huì)對(duì)數(shù)據(jù)起到保護(hù)作用。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是1、在原有基于角色訪問(wèn)控制的基礎(chǔ)上,引入角色庫(kù)的概念,并將角色形式化地分為靜態(tài)和動(dòng)態(tài)首先將從角色的劃分入手,在RBAC中定義了角色是被授予一定權(quán)限的,用戶通過(guò)會(huì)話激活被指派的角色,以獲取相對(duì)應(yīng)的訪問(wèn)權(quán)限。RBAC中的角色是被系統(tǒng)管理員靜態(tài)的分配給用戶的,當(dāng)某一用戶要完成特殊任務(wù)時(shí)就有可能會(huì)超越原有角色賦予的權(quán)限,而其超出的權(quán)限用戶并不能動(dòng)態(tài)的獲得,這樣就會(huì)導(dǎo)致任務(wù)不能完成。本發(fā)明的第一步就是引入角色庫(kù)的概念,并將角色形式化地分為靜態(tài)和動(dòng)態(tài)。
角色庫(kù)(RL)是系統(tǒng)管理員創(chuàng)建的包含所有權(quán)限的角色集合。RL中包含各種角色, 角色之間也存在各種關(guān)系,如包含、互斥等,關(guān)于角色之間關(guān)系對(duì)訪問(wèn)控制的影響將在如何處理角色約束中敘述。靜態(tài)角色&就是系統(tǒng)從角色庫(kù)中取出,靜態(tài)分配給用戶的角色, 這些角色一般來(lái)說(shuō)都只是被賦予完成基本功能的權(quán)限或者一些私有權(quán)限。動(dòng)態(tài)角色Rti是在執(zhí)行任務(wù)的過(guò)程中,通過(guò)任務(wù)流的作用,從角色庫(kù)中取出的完成任務(wù)所必須的權(quán)限所對(duì)應(yīng)的角色,這些角色是在靜態(tài)角色中沒(méi)有的,動(dòng)態(tài)存在或取消的。這里我們也引入了背景技術(shù)中涉及的任務(wù)的概念,結(jié)合任務(wù)流的思想,目的是為了使用戶能夠在更適當(dāng)?shù)臅r(shí)候獲得所需必要權(quán)限,這也使得數(shù)據(jù)信息更加安全。下面我們將引入又一新概念會(huì)話列表(SL)來(lái)儲(chǔ)存靜態(tài)角色和動(dòng)態(tài)角色。
會(huì)話列表是用戶在訪問(wèn)過(guò)程中首先要獲取的,用戶所得到的會(huì)話列表就是用戶當(dāng)前可以激活的角色,或說(shuō)可以獲得的做大權(quán)限。會(huì)話列表中靜態(tài)地保存著&,這些角色在沒(méi)有任務(wù)執(zhí)行時(shí)用戶也可以通過(guò)會(huì)話激活并獲取操作的相應(yīng)權(quán)限。另外,在任務(wù)實(shí)例到來(lái)時(shí),會(huì)話列表中會(huì)動(dòng)態(tài)地存在一些角色即I TI,以幫助用戶獲取靜態(tài)角色所沒(méi)有的權(quán)限。此部分具體實(shí)現(xiàn)過(guò)程如下首先,當(dāng)用戶被分配給任務(wù)實(shí)例時(shí),系統(tǒng)將完成任務(wù)實(shí)例所需的權(quán)限對(duì)應(yīng)為RL中的角色,這些角色應(yīng)當(dāng)包含最小權(quán)限原則的基本約束。最小權(quán)限原則保證其角色在完成相應(yīng)任務(wù)時(shí),擁有所需的所有許可,并且這個(gè)許可集絕不能超過(guò)它實(shí)際所需的許可范圍,即不能給任務(wù)多余的角色,以保證數(shù)據(jù)信息的安全性。這一原則就要求我們?cè)诮巧蜋?quán)限的分派時(shí)要注意某些角色的適當(dāng)?shù)牧6取?br>
其次,將角色從RL中取出,與會(huì)話列表中的靜態(tài)角色相比較,將列表中除靜態(tài)角色外的角色動(dòng)態(tài)的儲(chǔ)存在列表中,供用戶激活。
最后,用戶將會(huì)話列表中的角色通過(guò)會(huì)話激活,獲取相應(yīng)權(quán)限以完成任務(wù)。會(huì)話列表中的動(dòng)態(tài)角色Ι ΤΙ將隨著任務(wù)的執(zhí)行程度,動(dòng)態(tài)地從列表中存在或取消。
2、運(yùn)用ERBAC模型來(lái)控制訪問(wèn),并用動(dòng)態(tài)描述邏輯SHOIQ-I來(lái)描述ERBAC模型, 給出知識(shí)庫(kù)的表示形式動(dòng)態(tài)描述邏輯在描述邏輯的強(qiáng)大刻畫(huà)能力和推理特征的基礎(chǔ)上引入動(dòng)作理論,從而,能夠更加準(zhǔn)確地對(duì)語(yǔ)義Web的動(dòng)態(tài)環(huán)境下的相關(guān)領(lǐng)域知識(shí)進(jìn)行刻畫(huà)和推理。 ERBAC模型的相關(guān)概念關(guān)系有(1)SL, L,WT, TI分別表示會(huì)話列表、任務(wù)實(shí)例的生命周期、任務(wù)集和任務(wù)實(shí)例集;(2)U, RL, R,P和S分別為用戶、角色庫(kù)、用戶激活的角色、權(quán)限和會(huì)話的集合;R e RL ;Rs e RL,其中Rs表示基本角色(即靜態(tài)角色)Ati表示通過(guò)任務(wù)實(shí)例從角色庫(kù)中取出的除 Rs之外的角色(即動(dòng)態(tài)角色),由上述概念易知Rti存在于SL中,其中Rti= {U,S,R,P,[ts,te]>;中的[ts,tj表示在任務(wù)實(shí)例的生命周期L中,在任務(wù)被調(diào)用ts開(kāi)始到任務(wù)完成或被掛起te截止。
(3) UAiUX R,用戶一角色分配關(guān)系;(4)ΡΑ ΡX R,權(quán)限到角色的分配關(guān)系;(5)ΤΙΑ ΤΙ X R,表示任務(wù)實(shí)例與可以激活的角色的分配關(guān)系;(6)Tr(R)表示角色的傳遞關(guān)系;(7)R R’,角色層次的偏序關(guān)系;(8)user, roles 禾口 permissions 為函數(shù),其中user :S U,每個(gè)會(huì)話 S 映射為一個(gè)用戶U(在會(huì)話的生命周期中不會(huì)改變);roles :S 2R將每個(gè)會(huì)話S映射到集合 roles (s) {r r’ ((user (s),r’)e UA)}(會(huì)隨時(shí)間變化);每個(gè)會(huì)話s都有權(quán)限 permissions(s)= U r e roles(s){P r,,Ir ((ρ, r'‘) e PA)};(9)Constraints為約束的集合。
對(duì)于角色主要有以下幾種約束角色靜態(tài)互斥約束;角色動(dòng)態(tài)互斥約束;角色基數(shù)約束;角色前提約束。
角色靜態(tài)互斥是要求某些角色不能同時(shí)分配給一個(gè)用戶,可以用R,0R Λ R'來(lái)表示這兩個(gè)角色的關(guān)系,其中R,R'是不同的角色。動(dòng)態(tài)互斥是一個(gè)用戶開(kāi)始會(huì)話時(shí),不能同時(shí)激活某些角色,在本文中對(duì)應(yīng)于任務(wù)實(shí)例激活的角色,其關(guān)系描述和上述靜態(tài)互斥一樣。 角色基數(shù)約束包括角色可以分配的最大用戶數(shù)和最小用戶數(shù),這主要從安全角度來(lái)考慮, 可以用描述邏輯形式化地表示為 nR其中 {£,3 },η為非負(fù)整數(shù)。角色前提約束是指用戶在被指派角色R之前,必須已經(jīng)具備另一角色,實(shí)際情況中都是對(duì)有一定業(yè)務(wù)聯(lián)系或關(guān)系的角色起作用,在這里我們定義角色的前提約束為基本角色的一部分。
的基本符號(hào)包括由角色名組成的集合#κ、由概念名組成的集合慫、由個(gè)體名組成的集合M、以及由原子動(dòng)作名組成的集合凡。從這些符號(hào)出發(fā)可以通過(guò)構(gòu)造算子遞歸地生成角色、概念、公式和動(dòng)作。動(dòng)態(tài)邏輯5S5/^-DLEKBA。包括以下符號(hào)頂概念和底概念T,丄; 原子概念名=U, S,R,P,SL, WT, L,TI ;原子角色名:UA, PA, roles, user, permissions, Constraints, TIA ; 動(dòng)作集合η ;概念構(gòu)造符0, , ,[],{}, {£, 3I ; 角色構(gòu)造符_, ,Tr();其中,-,Tr()為一元構(gòu)造符,分別表示角色的逆和角色的傳遞;是二元構(gòu)造符,表示角色的包含;給定一個(gè)ERBAC狀態(tài),我們定義u e U,s e S,r e R,ρ e P。本文接下來(lái)用M表示 .W^-DLeebac模型,KB表示其知識(shí)庫(kù),給出5S5/^-DLEKBAe的語(yǔ)法定義 定義1在知識(shí)庫(kù)KB中,概念C,D定義如下C, D ::= U S RL R P SL WT | TI | L | 0C | [ π ]C C D | C D | R. C R. C I {pi} I 3nR. C | £nR. C T I 丄其中角色R定義如下R ::= UA I PA I roles | user | permissions Constraints TIA R— | R R' Tr(R)對(duì)于任意兩個(gè)概念C、D,將形如C D的斷言稱為一般概念包含公理。將由一般概念包含公理組成的任一有限集合T稱為一個(gè)一般TBox。
這里的動(dòng)作集合π由如下產(chǎn)生式生成Ji, Ji, = α I JiJi, I Ji ; Ji ‘其中α Να,Να為動(dòng)作名集合,將形如α、π π ’禾Π π ; π ’的動(dòng)作分別稱為原子、選擇、和順序動(dòng)作。
定義2 KB中的斷言P定義如下P W= U(u) |S(s) R(r) L(ts, te) |P(p) SL(r) WT(wt) TI (ti) | UA(u, r) PA (ρ, r) I roles (s, r) | user(s,u) | permissions (s, ρ) | Constraints (r) |TIA(ti,r)| R - (r) I R R' I Tr (R)對(duì)于任一概念C、任一角色R和任意兩個(gè)個(gè)體名u,riNI;將形如C(u)、0C(u)、R(u,r)和 0R(u, r)的斷言都稱為個(gè)體斷言,其中也將C(u)、R(u,r)分別稱為概念斷言和角色斷言。將由個(gè)體斷言組成的任一有限集合A稱為一個(gè)ABox。
將形如Tr (R)和R R'的斷言分別稱為角色傳遞斷言和角色包含公理,將由這些斷言和公理組成的任一有限集合R稱為一個(gè)RBox。
定義3 5^5/^-01^應(yīng)的知識(shí)庫(kù)1 =0^ ,ABox, RBox)。
定義4 5S5/^-DLEKBAC中的公式由如下產(chǎn)生式生成,Ψ ::=Tr(R) | R R' C D I C(u) I R(u, r) <3i> | [ ji ] 0 | ψ | Λ Ψ其中u,Γ ΝΙ; N1為個(gè)體名集合,R和R’為角色,C和D為概念,π為動(dòng)作。將形如 < π > 和[π ] 的公式分別稱為動(dòng)作可能性斷言和動(dòng)作必然性斷言。
3、利用動(dòng)態(tài)描述邏輯一致化的判定方法來(lái)處理角色的約束機(jī)制,實(shí)現(xiàn)在訪問(wèn)過(guò)程中對(duì)約束機(jī)制的自動(dòng)處理引入動(dòng)態(tài)描述邏輯的知識(shí)表示能夠?qū)巧募s束機(jī)制實(shí)現(xiàn)更好地自動(dòng)處理?;厩疤峒s束在上文中將此轉(zhuǎn)化為會(huì)話列表中的靜態(tài)角色,并假設(shè)靜態(tài)角色不違反訪問(wèn)控制中的互斥原則。當(dāng)任務(wù)實(shí)例分派的角色添加入會(huì)話列表中,用戶從會(huì)話列表獲得角色并通過(guò)會(huì)話激活角色時(shí),我們用描述邏輯的一致性判定方法來(lái)判定用戶所選激活的角色是不是互斥角色。根據(jù)前文中互斥角色的形式化描述,假設(shè)R,R’是在任務(wù)實(shí)例到來(lái)時(shí)動(dòng)態(tài)產(chǎn)生的兩個(gè)不同的角色,它們之間是互斥的,則其關(guān)系描述為R,0R Λ R',同時(shí)激活兩種角色,相當(dāng)于在公式中將兩角色公式合取,則易知為假,在這種情況下我們就認(rèn)為公式是不一致的。
在5S5/^-DLekbac的知識(shí)庫(kù)中,角色約束表現(xiàn)為角色包含、基數(shù)約束。當(dāng)給定任務(wù)實(shí)例時(shí),角色包含表現(xiàn)為完成某一任務(wù)的子實(shí)例所需權(quán)限的角色可能不止一種,存在包含關(guān)系的若干種角色。此時(shí)我們參考最小權(quán)限原則,選取適當(dāng)?shù)慕巧尤氲綍?huì)話列表中?;鶖?shù)約束是對(duì)于角色的最大用戶數(shù)和最小用戶數(shù)而言的。設(shè)定一個(gè)自然數(shù)n,可形式化地表示為 £ nR或3 nR,當(dāng)超過(guò)或小于設(shè)定值時(shí),根據(jù)公式的一致性判定原則,得出公式在此時(shí)是不一致的。
本發(fā)明的優(yōu)點(diǎn)是本發(fā)明提出的模型和方法,能夠在企業(yè)和網(wǎng)絡(luò),不論在靜態(tài)還是動(dòng)態(tài)的訪問(wèn)控制中都會(huì)對(duì)數(shù)據(jù)起到保護(hù)作用,從而使得數(shù)據(jù)更加安全。從動(dòng)態(tài)描述邏輯對(duì)這種模型的形式化的表示來(lái)看,能夠使得知識(shí)能夠在邏輯的層面上進(jìn)行推理,并通過(guò)這種方法,給出了自動(dòng)處理角色約束機(jī)制的思想。
圖1是簡(jiǎn)單的TRBAC訪問(wèn)控制模型;圖2是本發(fā)明方法中改進(jìn)和擴(kuò)展了的角色訪問(wèn)控制ERBAC模型。
具體實(shí)施方式
下面結(jié)合附圖2對(duì)本發(fā)明提供的模型和方法進(jìn)行詳細(xì)描述。
圖2是在基于角色的訪問(wèn)控制模型基礎(chǔ)上加入任務(wù)、角色庫(kù)、會(huì)話列表,并將角色分為靜態(tài)角色和動(dòng)態(tài)角色。首先,我們先用動(dòng)態(tài)描述邏輯形式化地描述這整個(gè)模型,建立的知識(shí)庫(kù),目的也就是為了在訪問(wèn)控制中自動(dòng)地處理角色的約束機(jī)制。其次,基于這個(gè)模型,系統(tǒng)管理員將權(quán)限靜態(tài)的分派給角色,形成各種形式的如上所述的角色,并將這些角色保存在角色庫(kù)中。為了使得角色和權(quán)限的分派在合理的粒度范圍內(nèi), 這就要求系統(tǒng)管理員的有一定的經(jīng)驗(yàn)。
管理員還要將一些基本角色,如某些私有權(quán)限對(duì)應(yīng)的角色,靜態(tài)地加入到會(huì)話列表中。在這一步,用戶只要通過(guò)獲取會(huì)話列表,并通過(guò)會(huì)話就可以激活相應(yīng)的角色,得到一些最基本的訪問(wèn)權(quán)限。
當(dāng)任務(wù)實(shí)例到來(lái)時(shí),就啟動(dòng)基于任務(wù)流的方式。首先,將任務(wù)實(shí)例分割為若干的子實(shí)例,將子實(shí)例對(duì)應(yīng)于完成自身的權(quán)限,然后,從角色庫(kù)中取出其權(quán)限對(duì)應(yīng)的角色,并將這些角色和會(huì)話列表中的角色相比較,把會(huì)話列表中原來(lái)沒(méi)有的角色添加到會(huì)話列表中。由于任務(wù)流的特點(diǎn),這些角色在會(huì)話列表中是隨著任務(wù)被執(zhí)行的情況動(dòng)態(tài)存在或取消的。
在以上過(guò)程中,我們都利用動(dòng)態(tài)描述邏輯的一致性方法來(lái)處理本文中提到的角色的各種約束機(jī)制。
權(quán)利要求
1.一種基于動(dòng)態(tài)描述邏輯的角色訪問(wèn)控制方法,其特征是該方法首先在原有基于角色訪問(wèn)控制模型的基礎(chǔ)上,提出ERBAC模型,引入角色庫(kù)的概念,并把角色形式化地分為靜態(tài)角色和動(dòng)態(tài)角色,然后運(yùn)用ERBAC來(lái)控制訪問(wèn),并用動(dòng)態(tài)描述邏輯來(lái)進(jìn)行描述 ERBAC模型的訪問(wèn)控制方法,建立5MW-DL_。知識(shí)庫(kù),最后,利用動(dòng)態(tài)描述邏輯一致性的判定方法,來(lái)處理角色的約束機(jī)制,實(shí)現(xiàn)在訪問(wèn)過(guò)程中對(duì)約束機(jī)制的自動(dòng)處理。
2.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)描述邏輯的角色訪問(wèn)控制方法,包括ERBAC模型的用戶、會(huì)話、任務(wù)、任務(wù)實(shí)例、任務(wù)流、權(quán)限,其特征是還包括角色庫(kù)、靜態(tài)角色、動(dòng)態(tài)角色、激活的角色、會(huì)話、會(huì)話列表概念;其中角色庫(kù)是權(quán)限分派給角色的集合,其中角色關(guān)系包括角色包含,角色傳遞,角色互斥;靜態(tài)角色是系統(tǒng)靜態(tài)的分配給用戶的角色,動(dòng)態(tài)角色是在任務(wù)實(shí)例到來(lái)時(shí)通過(guò)任務(wù)流驅(qū)動(dòng),動(dòng)態(tài)分配給用戶的角色;會(huì)話列表用于存儲(chǔ)系統(tǒng)分配的靜態(tài)角色和任務(wù)流驅(qū)動(dòng)的動(dòng)態(tài)角色。
3.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)描述邏輯的角色訪問(wèn)控制方法,其特征是所述的知識(shí)庫(kù)中由一般概念包含公理組成的任一有限集合T稱為TBox,由個(gè)體斷言組成的任一有限集合A稱為一個(gè)ABox,由斷言和公理組成的任一有限集合R稱為一個(gè)RBox。
4.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)描述邏輯的角色訪問(wèn)控制方法,其特征是所述自動(dòng)處理的約束機(jī)制包括角色靜態(tài)互斥約束、角色動(dòng)態(tài)互斥約束、角色基數(shù)約束、角色前提約束。
全文摘要
本發(fā)明公開(kāi)了一種基于動(dòng)態(tài)描述邏輯的角色訪問(wèn)控制方法,其特征是該方法首先在原有基于角色訪問(wèn)的基礎(chǔ)上,引入角色庫(kù)的概念,并把角色形式化地分為靜態(tài)角色和動(dòng)態(tài)角色,然后運(yùn)用其擴(kuò)展模型ERBAC來(lái)控制訪問(wèn),并用動(dòng)態(tài)描述邏輯SHOIQ-DL來(lái)描述ERBAC模型的訪問(wèn)控制方法,建立SHOIQ-DLERBAC知識(shí)庫(kù),最后,利用動(dòng)態(tài)描述邏輯的一致性判定方法,來(lái)處理角色的約束機(jī)制,實(shí)現(xiàn)在訪問(wèn)過(guò)程中對(duì)約束機(jī)制的自動(dòng)處理。本發(fā)明提出的模型和方法,能夠在企業(yè)和網(wǎng)絡(luò),不論在靜態(tài)還是動(dòng)態(tài)的訪問(wèn)控制中都會(huì)對(duì)數(shù)據(jù)起到保護(hù)作用,從而使得數(shù)據(jù)更加安全。從動(dòng)態(tài)描述邏輯對(duì)這種模型的形式化的表示來(lái)看,能夠使得知識(shí)能夠在邏輯的層面上進(jìn)行推理,并通過(guò)這種方法,給出了自動(dòng)處理角色約束機(jī)制。
文檔編號(hào)G06F21/00GK102495985SQ201110414109
公開(kāi)日2012年6月13日 申請(qǐng)日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者常亮, 章啟城 申請(qǐng)人:桂林電子科技大學(xué)