基于改進角色的多Agent工作流訪問控制方法
【技術領域】
[0001]本發(fā)明屬于計算機應用技術領域,特別涉及一種多Agent工作流訪問控制方法,可用于工作流管理系統(tǒng)的集成開發(fā)。
【背景技術】
[0002]上世紀70年代,人工智能領域中提出了一種全新的概念一Agent,Agent是指通過感知環(huán)境,利用自身知識和能力,制定可執(zhí)行的有相互依賴關系的活動步驟,以實現(xiàn)最終目標。Agent技術關聯(lián)著人工智能、分布式處理、專家系統(tǒng)等多種計算機學科,具有自治性、社會性、反應性和自發(fā)性等基本特征。
[0003]近年來,將Agent應用到工作流管理系統(tǒng)中引起了國內外學者的興趣和高度重視,這種結合應用已表現(xiàn)出了良好的發(fā)展前景。工作流是指將現(xiàn)實業(yè)務通過過程定義形成的適合計算機執(zhí)行的可分解的流程。工作流管理系統(tǒng)的核心為工作流引擎,它控制著工作流的整個運行狀態(tài)。將Agent應用于工作流管理系統(tǒng)中,利用Agent的特性,使Agent負責系統(tǒng)中的任務分配、資源調度、協(xié)同管理、任務執(zhí)行等工作,能很好地支持相關工作流管理系統(tǒng)實現(xiàn)整個系統(tǒng)的智能化和敏捷化。在多Agent工作流系統(tǒng)中,包含多種類型的Agent:用戶Agent,任務Agent,工作流引擎Agent,監(jiān)控Agent,資源管理Agent,資源Agent,控制Agent等,不同的Agent之間通過協(xié)同執(zhí)行任務來保證系統(tǒng)的正常運行。
[0004]對于工作流這種流程化和自動化的計算機系統(tǒng)運行方式,更是注重考慮整個系統(tǒng)的安全問題,工作流管理聯(lián)盟WfMC對工作流安全服務進行了研宄并在其頒布的安全白皮書中,提供了包括認證、授權、訪問控制、數據加密、審計、數據完整性、安全管理和不可否認八個方面的內容,以保證工作流運行的安全性。
[0005]訪問控制是以身份識別為前提,按照身份信息對資源調度請求進行控制,從而做到對工作流系統(tǒng)資源與服務的安全保護。
[0006]目前,比較主流的訪問控制機制有自主訪問控制DAC,強制訪問控制MAC,基于角色的訪問控制RBAC和基于任務的訪問控制TBAC。
[0007]I)自主訪問控制DAC
[0008]將用戶作為客體的擁有者,全權管理有關客體的訪問授權,這樣用戶就可以自主地決定其它用戶以何種方式訪問他所擁有的客體。只要用戶通過了身份認證,DAC就可以根據用戶的身份和訪問權限為其分配訪問操作。主體在擁有了一定訪問權限后,就可以直接或者間接地將這些權限傳遞給其它主體。DAC的自主性可以為用戶提供很大的靈活性,但這種自主性帶來了潛在的不安全,它使得特洛伊木馬通過共享客體從一個進程傳遞到另一個進程。
[0009]2)強制訪問控制MAC
[0010]將每一個主體和客體都劃分到某一安全級別中,在安全級別分類的基礎上實施訪問控制。主體的安全級別反映了主體用戶的可靠性,即主體用戶不會把敏感信息泄漏給其他用戶??腕w的安全級別反映了客體信息的敏感性和機密性,即信息泄露將導致的危害大小。MAC通過分配安全屬性對所有用戶和資源強制執(zhí)行安全策略,是由管理員統(tǒng)一分配并管理的,用戶不能改變自身以及其他主/客體的安全屬性。這種控制模式使得系統(tǒng)中的信息流成為單向不可逆的,防止了信息從高安全級的客體流向低安全性的客體。但是MAC不能給用戶提供較好的靈活性,實現(xiàn)工作量較大,在工作流管理系統(tǒng)中無法滿足企業(yè)復雜環(huán)境的安全需求。
[0011 ] 3)基于角色的訪問控制RBAC
[0012]根據組織關系中的工作職責劃分角色,并為角色授予訪問和操作資源的權限,用戶通過所指派的角色獲取相應的權限,從而實現(xiàn)了用戶與權限的邏輯分離。在RBAC模型中,在用戶和權限之間引入了“角色”的概念,用戶只能獲得所分配角色擁有的訪問權限,但卻無法獲得此角色所不具備的訪問權限。RBAC因為引入了角色這個中介,可以根據實際應用需求定義各種角色和設定角色的訪問權限,同時用戶也被指派給不同的角色,實現(xiàn)了用戶和訪問權限的邏輯分離,用戶對客體的訪問不再是自主的了。但在工作流管理系統(tǒng)中,RBAC不能保證職責分離,假設某一角色可以完成多項操作,那么完成多項操作的主體可以是屬于該角色的一個主體,也可以是屬于該角色的多個主體,從而不能保證職責分離;最小特權約束假象,在RBAC中,權限直接和角色聯(lián)系在一起,當一個用戶激活某一個角色后,就擁有了該角色的所有權限。但在實際應用中,該用戶有可能是不允許同時執(zhí)行這些任務的,所以用戶擁有的權限比實際執(zhí)行任務時所需要的權限大,因此并沒有達到真正的最小特權約束。
[0013]4)基于任務的訪問控制TBAC
[0014]從任務的角度來建立安全模型和實現(xiàn)安全機制,在任務處理的過程中提供動態(tài)實時的安全管理。將訪問權限與任務相結合,任務的執(zhí)行是用戶使用相關權限訪問客體的過程。在任務執(zhí)行過程中,權限被消耗完或任務結束時,用戶就不再擁有訪問權限。并且系統(tǒng)根據主體客體的情況、任務狀態(tài)來決定怎樣賦予主體的訪問權限,客體的訪問權限隨著執(zhí)行任務的上下文環(huán)境的變化而變化,所以稱其為主動安全模型。但是由于TBAC授權策略的復雜性,此模型的研宄僅停留在理論階段,不適合大型企業(yè)的應用,至今還沒有形成一個成熟完善的實現(xiàn)架構。此外,由于TBAC中不支持角色的層次關系,所以在實際應用中的效果并不理想。
[0015]上述幾種訪問控制方法都不能很好的應用于工作流管理系統(tǒng)中,因為該系統(tǒng)是以任務為中心的系統(tǒng),以上介紹的傳統(tǒng)的訪問控制方法都很難達到系統(tǒng)安全訪問控制的要求。
【發(fā)明內容】
[0016]本發(fā)明的目的在于提出一種基于改進角色的多Agent工作流訪問控制方法,通過任務分配權限,解決現(xiàn)有技術的工作流管理系統(tǒng)在運行時不能實現(xiàn)因一人多崗而應有的多個權限問題,即用戶在工作流中執(zhí)行不同的任務則具有不同的權限,使得工作流管理系統(tǒng)能自主、交互性地執(zhí)行任務,減少用戶的工作量。
[0017]本發(fā)明的技術方案是這樣實現(xiàn)的:
[0018]一.技術原理
[0019]本發(fā)明的基本思想是:任務執(zhí)行的操作權限不再分配給角色,而是將具體的訪問權限賦予任務,角色通過執(zhí)行任務獲得權限,用戶在分配了具體的角色并執(zhí)行任務時才能使用權限。這樣就可以保證權限只有在任務執(zhí)行時才被使用,任務執(zhí)行完成后,用戶與角色不再能操作系統(tǒng)中的客體。用戶、角色、任務和權限之間均為多對多的關系,并且可根據工作流運行的實時情況進行改變。
[0020]通過設計不同類型的Agent,使它們之間交互協(xié)作完成整個工作流的執(zhí)行。其中用戶Agent和任務Agent是兩個關鍵的Agent。任務的執(zhí)行需要任務Agent,用戶Agent通過用戶身份的識別,代替用戶執(zhí)行某些非必需的操作。
[0021]本發(fā)明中,主體是用戶和用戶Agent,客體是任務和任務Agent ;角色是充當著主體和客體間關系的橋梁,角色和任務通過權限賦予相聯(lián)系,通過控制任務權限的賦予,工作流管理系統(tǒng)將角色和任務Agent相關聯(lián)。將權限分配給不同的任務,任務把權限分配給角色,擁有此角色的用戶Agent得到此任務節(jié)點具備的操作權限,這樣可將工作流系統(tǒng)中的權限與用戶隔離開,達到安全訪問控制的需求。
[0022]二.技術方案
[0023]根據上述原理,本發(fā)明的實現(xiàn)步驟包括如下:
[0024](I)在基于角色的訪問控制模型的用戶-角色-權限三層模式的基礎上,引入Agent集、任務集,構成以用戶-角色-任務-權限的四層結構模式,其中:
[0025]用戶層,由訪問和操作工作流的所有用戶構成,每個用戶對應一個用戶Agent ;
[0026]角色層,由工作流執(zhí)行中所需要的角色構成,每個角色被分配給不同的用戶;
[0027]任務層,由工作流系統(tǒng)過程定義分解的相互依賴的任務集構成,在該層中,任務被分配給角色,任務的執(zhí)行由任務Agent完成;
[0028]權限層,由工作流執(zhí)行中所需要使用的權限構成,該層中的權限被分配給不同的任務,角色通過任務獲得權限,任務執(zhí)行完成后,角色不再擁有權限;
[0029](2)在工作流管理系統(tǒng)中利用上述四層結構模式對實際工作流進行訪問控制: