張 皓,范玉順
(清華大學 自動化系,北京 100084)
基于集成化企業(yè)模型的訪問控制機制與系統(tǒng)研究
張 皓,范玉順
(清華大學 自動化系,北京 100084)
自90年代以來,企業(yè)間的競爭越來越激烈,其競爭形式也發(fā)生了巨大的變化,企業(yè)快速響應市場的能力已成為企業(yè)能否贏得市場競爭的最重要的核心能力。與此同時,信息技術飛速發(fā)展并迅速成為支撐企業(yè)運行最重要的基礎架構[1]。企業(yè)信息化的實施極大的提高了企業(yè)的運行效率與核心競爭力,但同時也帶來了一些問題,其中最重要的一個就是信息安全問題。國際標準組織(ISO)在ISO7498-2中提出了五種信息保護的方式,訪問控制就是其中之一。
訪問控制在人類有了需要保護的財產(chǎn)時便存在了,如門鎖、保險箱、門衛(wèi)等都可視為廣義的訪問控制。在信息安全領域,訪問控制所關注的問題是信息系統(tǒng)的用戶何時以何種方式對信息資源進行操作的問題[2]。幾乎所有的企業(yè)應用系統(tǒng)都會應用訪問控制機制,良好的訪問控制策略可以優(yōu)化信息的共享與交互,否則將會增加管理與實施成本。隨著信息技術的發(fā)展,傳統(tǒng)的訪問控制技術如自主訪問控制(DAC,Discretionary Access Control)和強訪問控制(MAC, Mandatory Access Control)已經(jīng)不能滿足企業(yè)環(huán)境下訪問控制需求[3]。90年代中期出現(xiàn)了基于角色的訪問控制模型(RBAC, Role-Based Access Control),RBAC引入了角色的概念,簡化了權限管理的復雜性并提高了授權效率[4]。隨著工作流技術在企業(yè)中的廣泛應用,源自最小權限規(guī)則的動態(tài)授權問題成為研究的熱點,傳統(tǒng)的RBAC無法解決動態(tài)授權問題,于是產(chǎn)生了包括TBAC在內(nèi)的各種工作流授權模型[5]。
RBAC和TBAC及其各種擴展模型在很大程度上解決了現(xiàn)代企業(yè)中的訪問控制問題,但是這些模型大多將企業(yè)的組織架構用簡單的角色及其繼承關系來描述,這并不能適應企業(yè)日益復雜的組織架構的實際情況。企業(yè)模型作為對企業(yè)的形式化描述,通過各個視圖及其關聯(lián)對企業(yè)進行描述,其組織視圖可以良好的描述企業(yè)的組織架構,其過程視圖是工作流運行系統(tǒng)的元模型,而其資源、信息等視圖可以描述企業(yè)內(nèi)需要訪問控制的客體[1]。將企業(yè)建模理論融合到訪問控制領域是一個全新的課題,本文將在此背景下提出了一種新的訪問控制模型:基于集成化企業(yè)模型的訪問控制(IEM-BAC,Integrated Enterprise Model-Based Access Control)。
本文的組織形式如下,第一部分是引言,主要介紹IEM-BAC的產(chǎn)生背景。第二部分詳細分析了現(xiàn)代企業(yè)環(huán)境下對訪問控制的需求。第三部分簡要介紹集成化企業(yè)建模理論。第四部分介紹RBAC和TBAC理論。第五部分給出IEM-BAC模型及其形式化描述。第六部分將IEM-BAC運用到集成化企業(yè)建模平臺之中。第七部分對前面內(nèi)容進行總結。
現(xiàn)代企業(yè)環(huán)境下,各種異構的信息系統(tǒng)由于其自身特性對訪問控制提出了不同的需求。如文檔管理系統(tǒng)需要使用RBAC來進行授權,但同時也需要根據(jù)用戶和文檔的密級屬性來進行訪問控制;工作流管理系統(tǒng)需要根據(jù)任務實例的執(zhí)行狀態(tài)動態(tài)的控制用戶權限[5];CRM系統(tǒng)需要根據(jù)傳統(tǒng)的RBAC控制用戶權限。雖然這些異構的系統(tǒng)訪問控制的方式有所不同,但是我們可以將其分為兩大類:靜態(tài)訪問控制和動態(tài)訪問控制。
靜態(tài)控制:和流程的運行無關的訪問控制都屬于靜態(tài)控制,對于靜態(tài)權限的控制我們可以使用RBAC模型[4],有分配權限的主體將客體的權限分配給其余主體。在企業(yè)中,文檔一般按照密級劃分,只有主體密級高于文檔密級的才能進行訪問,因此我們需要將RBAC進行適當?shù)臄U展,嵌入基于屬性的訪問控制。
動態(tài)控制:和流程運行歷史及狀態(tài)相關的訪問控制為動態(tài)控制。這部分權限與其關聯(lián)的任務的執(zhí)行狀態(tài)以及時間有關,和任務關聯(lián)的角色或人員在任務的不同狀態(tài)時具有不同的權限。這部分權限我們可以參考TBAC模型[5]。工作流機根據(jù)任務的狀態(tài)判斷用戶對其所關聯(lián)的任務權限是否有效,如果有效則允許用戶進行操作,否則阻止用戶進行操作。
現(xiàn)代企業(yè)的組織形式日益發(fā)生變化,垂直的企業(yè)架構已經(jīng)不能滿足企業(yè)敏捷性的需求,很多企業(yè)的業(yè)務使用項目組的形式來進行運作,由此帶來了企業(yè)組織模型的變化[1]。這種變化對訪問控制也提出了新的需求,經(jīng)典的RBAC對組織結構以角色及其繼承關系進行描述,這已經(jīng)不能適應現(xiàn)代企業(yè)的實際情況。我們需要在訪問控制模型中包含企業(yè)的組織結構以完成更優(yōu)化的授權。應用企業(yè)建模工具建立組織模型,然后將用戶與角色的關聯(lián)轉變?yōu)橛脩襞c組織的關聯(lián),這種轉化的可以將角色的管理和權限的分配進行解耦并增強訪問控制模型對企業(yè)組織的描述能力和模型的靈活性。
集成化企業(yè)建模理論是由清華大學的范玉順教授針對現(xiàn)存企業(yè)建模存在的問題提出的一種先進的建模理論[1,6]。集成化企業(yè)建模體系結構由生命周期維、視圖模型維、通用性層次維組成三維立方體。
生命周期維主要研究建模過程的問題,通用層次維將企業(yè)模型按粒度抽象為不同的層次。視圖模型維包括了過程視圖、組織視圖、資源視圖、文檔視圖在內(nèi)的多種視圖,不同的視圖描述企業(yè)的不同側面,其中過程模型作為核心,將其余模型通過關聯(lián)與引用聯(lián)系起來。
集成化企業(yè)建模中的組織模型用來定義企業(yè)組織形式和人員模型。組織模型由組織單元、虛擬組織單元、工作組、人員、角色、職位等元素組成。組織單元之間的隸屬關系構成企業(yè)的組織樹,組織結構樹描述了企業(yè)的靜態(tài)模型。為了便于對企業(yè)進行管理,引入了虛擬組織單元,用于表示企業(yè)高層管理人員對幾個下級部門的管轄權。工作組描述的則是企業(yè)中動態(tài)的組建的跨部門的人員組合,主要用于對項目進行描述。角色描述完成一種企業(yè)職能所需要的具有特定技能或職位的人員屬性,而職位是面向企業(yè)行政責任的組織屬性,代表企業(yè)人員在管理上的等級關系[1]。
組織模型描述了企業(yè)精確的組織架構,這種描述彌補了傳統(tǒng)的RBAC中對企業(yè)組織模型描述能力的不足。在IEM-BAC模型中使用企業(yè)組織模型來描述訪問控制模型中的組織關系,這樣不僅能夠增強訪問控制模型對組織的描述能力,還能夠將授權與角色的管理解耦。
集成化企業(yè)模型的資源、產(chǎn)品、信息等視圖描述了企業(yè)的各種需要保護的要素,這些要素將成為訪問控制的對象。
傳統(tǒng)的DAC和MAC訪問控制模型不能滿足企業(yè)環(huán)境下的訪問控制。1992年,David Ferraiol和Kuhn第一次提出了基于角色的訪問控制模型(role based access control,RBAC)[3]。在RBAC中定義了用戶、角色、權限三種主要元素,它的基本思想是:將客體權限授予角色,用戶通過扮演角色而獲得權限,用戶和權限沒有直接的關聯(lián)。在企業(yè)環(huán)境下,企業(yè)中的角色以及角色的權限是比較固定的,相對而言人員的流動要更大一些。所以直接對人員進行授權是比較耗時且易于出錯的,而在人員和權限之間加上角色層,這樣有利于人員與權限的解耦,減少管理成本。完整的RBAC還引入了權責分離(SoD, Seperation of Duty)以及角色的繼承,完整的RBAC模型如圖1所示[4]。
圖1 RBAC3模型
現(xiàn)代企業(yè)的運行離不開業(yè)務流程,而每個業(yè)務流程又分為不同的任務并由企業(yè)員工協(xié)作完成。為了保護企業(yè)的信息安全,需要對任務關聯(lián)的資源進行訪問控制。
RBAC不能滿足工作流環(huán)境下的動態(tài)授權問題。1994年,Sandhu和Thomas提出了基于任務的訪問控制模型(taskbased access control,TBAC)[7]。TBAC擴展了傳統(tǒng)的基于主體/客體的訪問控制模型,它引入了基于任務的上下文信息對權限的影響。文中提出授權步驟的概念,每一個授權步驟和一個保護態(tài)(一組權限)相關。保護態(tài)隨著任務的狀態(tài)變化而改變,并且根據(jù)保護態(tài)的狀態(tài)對用戶進行授權。1997年,Thomas和 Sandhu借鑒RBAC96的模式,提出了TBAC的模型框架。在此文章中,Thomas將TBAC分為TBAC0、TBAC1、TBAC2和TBAC3。TBAC0是框架的基礎,他提供了對任務、授權步驟、不同授權步驟之間的關聯(lián)建模的基礎。TBAC1和TBAC2包含TBAC0并包含了更多的特性。TBAC1包含了授權的組合而TBAC2包含了約束。TBAC3包含了TBAC1和TBAC2的所有特性[5]。
本節(jié)中我們將集成化企業(yè)模型融入到訪問控制中,然后建立IEM-BAC模型并給出其文字及形式化描述。IEM-BAC模型如圖2所示。
1)區(qū)分用戶和人員。首先企業(yè)人員不一定是信息系統(tǒng)的使用者,如流水線的操作員可能就不是BI系統(tǒng)的使用者;再者信息系統(tǒng)的用戶也不一定是企業(yè)的人員,如咨詢公司的實施人員,所以我們需要將用戶和企業(yè)人員區(qū)分開來。
2)用戶通過用戶管理工具進行管理,人員引用集成化企業(yè)模型中的組織模型,當存在關聯(lián)關系時,用戶與人員是一對一關系。訪問控制模型中的其余組織信息引用集成化企業(yè)模型的組織視圖,包括人員、職位、角色,以及角色的繼承關系。
圖2 IEM-BAC訪問控制模型
3)對于非企業(yè)人員的用戶(如實施團隊),我們通過用戶組對其進行授權管理。因為非企業(yè)人員用戶不適合使用企業(yè)的組織模型描述。
1)靜態(tài)授權。用戶的靜態(tài)授權通過RBAC實現(xiàn),在這里我們將傳統(tǒng)的角色細分為用戶組、代理、角色、職位等,區(qū)分這些角色有利于精確的授權。授權客體引用集成化企業(yè)模型中的各個視圖,其中資源視圖可以描述企業(yè)的各種資源,這使得IEM-BAC具有了很強的企業(yè)資源描述能力,也大大擴展了IEM-BAC的控制范圍。
2)動態(tài)授權。用戶的動態(tài)授權通過TBAC實現(xiàn),一個任務關聯(lián)一個權限的集合和一個主體集合,系統(tǒng)根據(jù)任務的執(zhí)行狀態(tài)動態(tài)改變主體對此權限集合的狀態(tài),圖3是權限集的狀態(tài)圖[5]。
圖3 權限集的狀態(tài)圖
3)代理授權。用戶自授權可以通過代理的方式實現(xiàn)。用戶可以將自己擁有的權限或自己需要承擔的任務代理給其他用戶。為了簡化管理,不支持二次代理。代理可以通過一個五元組來描述:Del(Delegator,Delegatee,PS,TS,Status,)其中Delegator是代理的主體,Delegatee是代理的受體,PS為代理包含的權限集或任務集,TS為代理的時間跨度,Status為代理的狀態(tài)。
1)靜態(tài)權責分離約束[2]。SSD通過組織建模進行描述,在建立組織模型后可以指定沖突角色集CRS(Con fl ict Role Set) ,在為用戶授予角色時,不能同時授予同一用戶超過指定上限個角色。
2)動態(tài)權責分離約束[2]。DSD也是通過組織建摸描述的,和SSD不同的是可以為用戶任意授予角色,但是用戶在一次會話中不能同時激活 的上限個沖突角色。
定義1:IEM-BAC基本術語:
分別定義用戶、角色、職位、人員、任務、操作、客體、代理為Users, Groups, Roles, Positions,Employees, Tasks, Delegation, OPS, OBS,其中Roles,Positions, Employees引自組織模型。
用戶代理:
Del (Delegator, Delegatee, PS, TS, Status)
權限集合[2]:PRMS?2OPS×OBS
用戶人員集合:UE?Users×Employees
人員關聯(lián)的用戶:
employee_user(r)?{u?Users|(u,e)?UE},是空集或單元素集合。
UD?Users×Delegation: 用戶代理映射
用戶作為代理者的代理集合:
delegator_del(u)?{u?Users|(u,d)?UD},用戶作為受理者的代理集合:
delegator_del(u)?{u?Users|(u,d)?UD},用戶用戶組映射:UG?Users×Groups
Group(u)?{u?Users|(u,g)?UG}用戶所屬的用戶組集合。
用戶和任務映射:UT?Users×Tasks
角色和任務映射:RT?Roles×Tasks
職位任務映射:PT?Positions×Tasks
主體s的任務集合:
task(s,type)?{s?Users×Roles×Positions|(s,type,task)?UT×RT×PT}
其中type為主體的類型
代理任務映射:DT?Delegation×Tasks
角色職位映射:RP?Roles×Permissions
職位和權限映射:PP?Positions×Permissions
用戶組和權限的映射集合
GP?Groups×Permissions
任務和權限映射:TP?Tasks×Permissions
主體的權限集合:
Permission(s,type)?{s?Users×Roles×Positions×Tasks|(s,type,perm)?GP×RP×PP×TP},其中為主體的類型:用戶組、角色、職位、任務。
定義2:組織模型元素定義[1]:
Roles,Positions,Employees,WorkGroups,OU(VOU),CRS分別定義為角色,職位,人員,工作組,組織單元(虛擬組織單元),沖突角色集。
人員角色映射:ER?Employees×Roles
人員職位映射:EP?Employees×Positions
角色繼承:RH?Roles×Roles是Roles集合上一種偏序關系,用?表示。如果R1?R2,表示R2繼承R1所有的權限
職位繼承:PH?Positions×Positions是Positions集合上一種偏序關系,用?表示。但是職位不涉及權限的繼承,僅代表一種行政的管轄關系。
定義3:工作流相關定義
Task(subjectSet,constraint,objectSet,status),一個任務實例是一個四元組,其中subjectSet表示的是任務的主體集,可以是人員、角色或者是職位等,constraint表示的是任務實例的約束(包括動態(tài)授權約束,業(yè)務約束等),objectSet表示的是完成此任務所需的業(yè)務對象集合,status表示任務的狀態(tài)(包括掛起、完成、激活等)。
規(guī)則1:訪問授權規(guī)則:當且僅當主體s的激活角色的權限并集包括權限permission(o,op)時,s才能對o進行op操作[2]。
s:Users,op:OPS,o:OBS
isAuthorized(s,o,op)=true?
?r:Roles‖p:Positions‖g:Groups‖t:Tasks
^perm∈permission(P)∪permission(r)∪permission(g)∪permission(t) |t.status=active
^ (o,op)∈perm
規(guī)則:權責分離SoD[2]:沖突角色集CRS(m,n)中具有n個權限,其中任何大于等于 個權限不能同時賦予同一用戶或被同一用戶同時激活。
CRS(m,n)?Roles,
?u∈Users
??role(u)∩CRS(m,n) =RS,RS.count≥m
規(guī)則3:動態(tài)授權規(guī)則[5]:當且僅當主體關聯(lián)的任務處于激活狀態(tài)時,主體才能使用任務關聯(lián)的權限集。
?s~task:s∈Employees∪Roles∪Positions (o,op)~task
isAuthorized(s,o,op) =true?
task.status=active
清華大學CIMS工程研究中心開發(fā)的集成化企業(yè)建模平臺采用了IEM-BAC模型進行訪問控制。集成化企業(yè)建模平臺是一套包含集成化企業(yè)建模工具、文檔管理工具、績效管理工具、工作流管理工具的企業(yè)管控系統(tǒng)。集成化企業(yè)建模平臺部件的邏輯結構如圖4所示。
建模工具和用戶管理工具使用C/S架構,工作流系統(tǒng)、文檔管理系統(tǒng)以及績效管理系統(tǒng)使用B/S架構。用戶分別通過相應的客戶端或者瀏覽器與應用進行交互,用戶身份驗證成功后,各個應用會根據(jù)用戶合并后的權限(角色、職位、用戶組、代理)初始化用戶的界面。當用戶發(fā)出操作請求后,訪問控制模塊會根據(jù)數(shù)據(jù)庫信息實時判斷用戶是否具有此操作的權限并將結果以布爾型變量返回給應用,這樣的好處是可以實時的控制用戶權限以防止惡意操作。
圖4 集成化企業(yè)建模平臺部件邏輯圖
用戶管理工具包括用戶/組管理、用戶-人員關聯(lián)管理、主體授權管理等功能。用戶管理工具通過模型數(shù)據(jù)庫、工作流數(shù)據(jù)庫獲取相應應用的受控客體,主體的授權信息記錄在用戶權限數(shù)據(jù)庫中。集成化企業(yè)建模平臺是大型的企業(yè)應用軟件,一般需要實施團隊協(xié)助企業(yè)進行實施,對于實施團隊使用用戶組的模式進行管理。當建立了相應的組織模型后,就可以在用戶管理工具中獲取組織模型中的主體并對其權限進行管理,同時通過在工具中建立人員的登錄用戶就可以完成對企業(yè)人員的授權。
不同的用戶可以協(xié)同進行建模,分別建立各個企業(yè)模型視圖,并采用數(shù)據(jù)鎖定技術保持模型的一致性,即當一個用戶對某個業(yè)務元素進行編輯時,其余有編輯權限的用戶只能以查看的方式將其打開,保持了數(shù)據(jù)的一致性,這也是信息安全性的一個重要準則。
工作流系統(tǒng)通過模型適配器獲得企業(yè)模型數(shù)據(jù)庫中過程模型及相關定義,模型適配器將過程模型轉化為中性的XPDL文件。工作流機通過和工作流數(shù)據(jù)庫交互完成其工作并將相應的任務推送到用戶界面。用戶通過登陸自己主頁后會看到自己被指派或代理的任務,訪問控制模塊會根據(jù)過程實例執(zhí)行的歷史情況判斷用戶任務實例權限狀態(tài),然后決定用戶有權限的操作。
企業(yè)文檔是企業(yè)知識管理重要的組成部分,為了彌補建模工具C/S架構靈活性不足,開發(fā)了B/S架構的文檔管理系統(tǒng)。文檔管理系統(tǒng)對應企業(yè)模型中的文檔視圖,他們通過公用的企業(yè)模型數(shù)據(jù)庫進行同步。文檔管理系統(tǒng)中的權限是靜態(tài)的權限,和建模權限類似通過用戶管理工具分配給相應的主體。但是企業(yè)還需要根據(jù)文檔的密級限制用戶的訪問,因此在判斷用戶對文檔的權限前,首先判斷用戶密級是否不低于文檔密級,判斷為真時再按照權限庫中的權限進行判斷。
本文通過分析現(xiàn)代企業(yè)環(huán)境下的訪問控制需求,發(fā)現(xiàn)集成化企業(yè)模型可以很好的支持訪問控制模型中的組織架構描述。在分析了集成化企業(yè)模型與訪問控制模型的關聯(lián)之后,將集成化企業(yè)模型融入到訪問控制領域并提出了IEM-BAC,最后將IEM-BAC應用到集成化企業(yè)建模平臺中。
集成化企業(yè)建模平臺中的訪問控制模塊實現(xiàn)了對企業(yè)建模工具、文檔管理工具、績效管理工具、工作流管理系統(tǒng)的動態(tài)和靜態(tài)的權限控制,說明IEM-BAC模型能夠很好適應企業(yè)環(huán)境下的訪問控制需求。以后的研究內(nèi)容會集中在統(tǒng)一權限管理工具的研究,將IEM-BAC的管理范圍擴展到第三方應用。
[1]范玉順.信息化管理戰(zhàn)略與方法[M].北京:清華大學出版社, 2008.
[2]Ferraiolo D, Kuhn D R, Chandramouli R. Role-based access control[M]. ArtechHourse, 2007.
[3]Ferraiolo D, Kuhn D R. Role-Based Access Control:Proceedings of the NIST-NSA National(USA) Computer Security Conference[Z]. 1992554-563.
[4]Sandhu R, Al. E. Role-Based Access Control Models[J].IEEE Computer. 1996, 29(2).
[5]Thomas R K, Sandhu R S. Task-based Authorization Controls(TBAC): A Famiily of Models for Active and Enterprise-oriented Authorization Management:Proceedings of the IFIP WG11.3 Workshop on Database Security[Z]. Lake Tahoe, California: Chapman & Hall,1997.
[6]范玉順,吳澄. 集成化企業(yè)建模系統(tǒng)體系結構與實施方法研究[J]. 控制與決策. 2000, 15(4): 401-405.
[7]Thomas R K, Sandhu R. Conceptual foundations for a model of task-based authorizations: Computer Security Foundations Workshop VII[Z]. 1994.
Research on integrated enterprise model based access control mechanism and enforcement
ZHANG Hao, FAN Yu-shun
訪問控制是一種保護企業(yè)信息安全的重要機制,傳統(tǒng)的MAC、DAC模型已不能滿足現(xiàn)代企業(yè)的訪問控制需求,RBAC和TBAC由于其良好的適應性成為企業(yè)級應用訪問控制的主要實現(xiàn)機制。但是現(xiàn)在的訪問控制模型普遍存在對組織架構描述能力較弱的問題,本文將企業(yè)建模理論融合到訪問控制中,提出了一種新的訪問控制模型IEM-BAC,并將其應用到實際的企業(yè)應用中。
訪問控制;企業(yè)建模;工作流;RBAC;TBAC
張皓(1984-),男,碩士,研究方向為企業(yè)建模、工作流管理、訪問控制。
TH315
A
1009-0134(2011)1(上)-0001-06
10.3969/j.issn.1009-0134.2011.1(上).01
2010-08-31
863計劃項目(2009AA010308);國家科技支撐計劃項目(2008BAH32B03-1)。