摘要:分析了現今高度動態和分布式環境下,傳統的訪問控制模型已不能滿足信息訪問的需要,并由此引出了下一代訪問控制模型——使用控制模型(usage control,UCON)。將UCON與傳統訪問控制模型進行了比較,分析了UCON的定義及組成成分,給出了UCON的16種基本核心模型形式化描述及應用實例,分析了UCON的具體實現框架,最后指出了目前研究的難點和需要解決的關鍵問題。
關鍵詞:訪問控制模型; 使用控制; 網絡安全
中圖分類號:TP309
文獻標志碼:A
文章編號:1001-3695(2007)09-0121-03
訪問控制是對信息系統資源進行保護的重要措施,決定了誰能夠訪問系統、能訪問系統的何種資源以及如何使用這些資源。傳統訪問的控制模型包括自由訪問控制(discretionary access control, DAC)、強制訪問控制(mandatory access control, MAC)、以及基于角色的訪問控制(rolebased access control, RBAC)。這些模型建立在訪問控制矩陣的基礎上,其授權過程是基于訪問的主體屬性和被訪問的客體屬性以及訪問的權限[1~3]。圖1顯示了這種基于屬性訪問控制授權過程。
盡管這些傳統的基于屬性的訪問控制模型能夠解決許多實際問題,但卻不能滿足現今數字信息訪問的需要。例如,有時客體需要某種動作才可以進行訪問;系統需要根據當前環境或者系統狀態進行訪問決策;在傳統訪問控制模型中,授權發生在訪問前,然而在整個訪問期間需要根據訪問情況變化,對相對長期的訪問或者對訪問權限進行立即回收;在傳統訪問控制中,主體客體屬性只可以通過系統管理員才可以修改,然而在許多應用中屬性可以變化,具體可以分為訪問前、訪問期間、或者是訪問后。
鑒于傳統訪問控制模型存在的上述問題,Sandhu教授領導的LIST實驗室于2002年展開了下一代訪問控制模型——使用控制訪問模型(UCON)的研究,并迅速成為訪問控制技術的研究熱點[4~11]。本文就UCON模型定義和組成、核心模型的形式化描述、應用實例以及實現體系結構進行了全面的研究。
1模型組成
UCON由主體S(subject)、主體屬性ATT(S)(subject attributes)、客體O(object)、客體屬性ATT(O)(object attributes)、權限R(rights)、授權A(authorizations)、證書B(obligations)、條件C(conditions)[5]八個部分組成,如圖2所示。與圖1中的傳統訪問控制模型不同,使用控制模型增加了主體屬性、客體屬性、證書和條件,這些新增加的成分用于解決傳統訪問模型中存在的問題。
主體S是具有屬性的實體,能夠在客體上執行一定的權限;主體屬性ATT(S)是主體進行授權控制的主體的屬性。客體O是主體能夠控制權限,并能夠訪問和控制的實體,客體具有本身的屬性或者跟權限相關的屬性;客體屬性ATT(O)可用于授權過程,并用于訪問決策。權限R是主體能夠對客體進行控制和執行的特權,由主體對客體進行訪問的功能集組成,權限之間可具有層次關系。一般來說,權限包括對客體的訪問、權限授予和權限管理。權限按功能可分為很多種,最常見的是讀和寫,另外包括創建和刪除。授權A是一個用于訪問決策,返回主體能否在客體上執行需要權限的斷言。授權根據客體屬性、主體屬性、請求的權限以及授權規則來進行訪問決策。授權可以是預先授權或者是進行授權。一般說來,傳統訪問控制模型如MAC、DAC和RBAC使用了預先授權的某種形式,證書B是在訪問前或者訪問過程中需要強制驗證的斷言。證書可以分為預先證書preB或者是進行證書onB。預先證書是根據歷史功能來檢查某些活動是不是已經完成,并返回“真”或者“假”的斷言。條件C是對當前環境或者系統狀態進行檢查,并返回“真”或者“假”的斷言。與授權和證書不同,條件不能變化,因為條件不能被單個主體所直接控制,條件的設置也不因主體或者客體屬性更新而改變。
2模型定義和分析
基于上述三個決定因素,授權、證書和條件以及主體和客體屬性在訪問期間的延續性和可變性,假設主體對目標客體有訪問請求,對訪問權限的訪問決策發生在請求前或者在請求期間。主體/客體屬性可變性允許在使用期間作為訪問的結果對主體或者客體的屬性進行更新,如果沒有更新,在訪問決策過程中沒有屬性更新要求表示為“0”,使用前(pre)、使用期間(ongoing)、使用后(post)分別標記為“1、2、3”,只考慮純粹的有授權、證書和條件以及訪問前和訪問期間的決策。基于以上標準,得到表1使用控制的16基本模型[6]。表1顯示了基于三個決定因素的各種可能模型,現實中不可能的情況標記為“N”,否則為“Y”。如果決策因素是“pre”,屬性更新可能發生在權限執行前或執行后,但不可能在執行期間進行更新;進行更新“ongoing”可以只影響將來的請求決策,因此更新可以在訪問后進行。然而,如果決策因素是“進行”,屬性更新可能發生在訪問前后或者訪問期間。對于條件模型,因為它只與環境或者系統狀態相關,不能對主體和客體屬性進行更新。
2.1預先授權模型UCONpreA
在UCONpreA模型中,決策過程發生在授權允許訪問前,用UCONpre0表示不對主體客體屬性進行更新,形式化描述如下:
如果沒有預先授權,請求訪問也是允許的。然而授權在對請求權限的使用過程中是激活的,onA斷言在訪問過程對維持訪問不斷進行檢查。從技術實現上講,這些檢查是基于時間或者是事件的。在有些情況中,某些屬性被改變,條件不再得到滿足則執行stopped過程。Stopped(s,o,r)表明主體s對客體o的訪問權限在訪問過程中終止。
UCONonA1、UCONonA2和UCONonA3分別增加了預先更新preupdate(ATT(s))、preupdate(ATT(o))、訪問時更新onUpdate(ATT(s))、onUpdate(ATT(o))以及訪問后更新postUpdate(ATT(s))和postUpdate(ATT(o))過程。
2.3預先訪問證書模型UCONpreB
UCONpreB包括了在允許訪問前必須完成相關的證書,稱為preB斷言。例如,需要用戶在訪問一個公司的白皮書之前需要提供名字和email地址,或者是用戶點擊注冊協議上的確定按鈕來進行Web訪問入口。預先證書不是在用戶需要進行訪問的對象(如白皮書、Web入口)上進行的,而是需要另外的主體來完成。模型的形式化描述如下:
定義4UCONpreB0模型具有以下成分:
(a)S、O、R、ATT(S)、ATT(O)與前面的模型相同。
(b)OBS、OBO、OB分別表示主體證書、客體證書、證書動作。
(c)preB、preOBL分別表示預先授權斷言和預先授權成分。
(d)preOBLOBS×OBO×OB,表示預先完成的證書組成。
(e)preFullfilled:OBS×OBO×OB→{true,1}。
(f)getPreOBL:S×O×R→2preOBL,表示用于訪問請求使用選擇的預先證書的函數。
(g)preB(s,o,r)=∧(obsi,oboi,obi)∈getPreOBL(s,o,r)preFullfilled(obsi,oboi,obi)。
如果getPreOBL(s,o,r)=,preB(s,o,r)必須為true,其意義是如訪問需要的證書為空,那么就可進行訪問。
(h)allowed(s,o,r)=>preB(s,o,r)。
getPreOBL功能表示對主體s和客體o的授權進行預先證書的功能。preFullfilled斷言表示每個需要的證書為真;preFullfilled斷言表明每個請求的證書必須為真。UCONpreB1和UCONpreB3分別增加了preUpdate(ATT(s))、preUpdate(ATT(o))和postUpdate(ATT(s))、postUpdate(ATT(o))過程。
2.4進行訪問證書模型UCONonB
進行證書訪問模型需要完成證書才可以訪問,包括間斷性完成或者持續性完成。例如用戶每隔至少30 min,或者每訪問20個Web頁面就需要點擊廣告,形式化描述如下:
定義5進行訪問證書UCONonB0模型定義如下:
(a)S、O、R、ATT(S)、ATT(O)、OBS、OBO、OB與UCONpreB相同;
(b)getONOBL:S×O×R→2onOBL表示對請求訪問選擇進行證書;
(c)T表示事件或者時間集;
(d)onB和onOBL分別表示進行證書斷言和進行證書成分;
(e)onOBLOBS×OBO×OB×T;
(f)getOnOBL:S×O×R→2onOBL用于選擇請求使用的進行證書;
(g)onFullfilled:OBS×OBO×OB×T→{true1};
(h)onB(s,o,r)=∧obsi,oboi,obi,tigetOnOBL(s,o,r) onFullfilled(obsi,oboi,obi,ti);
(i)當getONOBL(s,o,r)為空時,onB(s,o,r))=true;
(j)allowed(s,o,r)=>true;
(k)stopped(s,o,r)<=┐onB(s,o,r)。
UCONonB1、UCONonB2和UCONonB3分別增加了相應的主體和客體屬性更新過程。
2.5預先訪問條件模型UCONpreC
條件由環境和系統狀態決定,與主體/客體屬性無關。與其他模型相比,條件模型沒有屬性更新過程,在訪問前進行檢查的模型是UCONpreC0,如對客戶端IP地址的檢查。形式化描述如下:
定義6UCONpreC0模型具有如下成分:
(a)S、O、R、ATT(S)、ATT(O)與UCONpreA相同;
(b)preCON是預先條件成分的集合;
(c)preConChecked:preCON→{true,1};
(d)getPreCON:S×O×R→2preCON;
(e)pre(s,o,r)=∧preConi∈getPreCON(s,o,r)preConChecked(preConi);
(f)allowed(s,o,r)=>preC(s,o,r)。
2.6進行訪問條件模型UCONonC
定義7進行訪問條件模型UCONonC0定義如下:
(a)S、O、R、ATT(S)、ATT(O)與UCONpreA相同;
(b)onCON(進行條件成分集);
(c)getOnCON:S×O×R→2onCON;
(d)onCONchecked:onCON→{true,1};
(e)onC(s,o,r)=∧onConigetOnCON(s,o,r)onConChecked(onConi);
(f)allowed(s,o,r)=>true;
(g)stopped(s,o,r)<=┐onC(s,o,r)。
在訪問過程中,通過UCONonC模型的onC斷言對訪問進行檢查并決定是否可以繼續訪問。例如系統狀態切換到“緊急模式”,則訪問終止;另外系統超過了一定的訪問負載數量也可以終止某些用戶的訪問。
3實現體系結構
從實現體系結構來看,UCON最關鍵的是參考監視器。參考監視器與訪問策略和對數字資源的訪問控制相關,ISO提出了參考監視器和可信計算機的訪問控制框架的標準。根據該標準,參考監視器由兩個部分組成,即訪問控制實施部件(AEF)和訪問控制決策部件(ADF)。每個請求由AEF來接收,然后由ADF進行請求訪問的決策。UCON的參考監視器與ISO傳統訪問監視器相似,由使用決策部件(UDF)和使用執行部件(UEF)組成。基于參考監視器的位置,可以分為服務器端參考監視器(SRM)、客戶端監視器(CRM)以及SRM與CRM混合結構[5]。
4應用實例
UCON模型包含并超越傳統訪問控制模型MAC、DAC以及RBAC。其中RBAC可以通過配置實現DAC和MAC[2]。因此,本文只研究如何通過UCON實現RBAC。在UCONpreA0 中,用戶角色分配可以看成是客體屬性,權限角色分配可以看成是對象和權限屬性。例3顯示了在UCONABC模型如何實現包含層次關系的RBAC1,只有激活的角色可用于授權決策。因此,如果只有存在激活角色actRole(s)決定授權角色PRole(o,s),訪問請求才允許。例4是一個在DRM系統訪問使用期間進行預先更新(UCONpreA1)信用卡例子。
實例3 UCONpreA0實現RBAC1
(a)P={(o,r)},ROLE表示用≥符號表示的有序角色集;
(b)ActRole:S→2ROLE;
(c)Prole:P→2ROLE;
(d)ATT(S)={actRole};
(e)ATT(O)={PRole};
(f)allowed(s,o,r)=>role∈actRole(s), role′∈Prole(o,r) ≥role′。
實例4DRM系統使用期間付款的UCONpreA1實例:
(a)M代表賬戶集;
(b)Credit:S→M;
(c)Value:O×R→M;
(d)ATT(s):{credit};
(e)ATT(o,r):{value};
(f)Allowed(s,o,r)=>credit(s) ≥value(o,r);
(g)PreUpdate(credit(s)):credit(s)-value(o,r) 。
在訪問期間,用戶的賬戶根據訪問的時間進行減小。
5結束語
理論研究表明,使用控制訪問模型包含并超越了傳統的訪問控制模型,能滿足現今數字資源訪問的需要,必將為下一代訪問控制技術發展奠定堅實的基礎。然而,目前對使用控制模型的研究僅局限于理論模型,模型描述有待進一步豐富和完善,并需要一個屬性和管理策略的管理模型。另外在分布式和多用戶環境下,UCON系統涉及對屬性進行的并發更新問題也有待進一步研究。
參考文獻:
[1]SANDHU R,COYNE E, FEINSTEIN H, et al. Rolebased access control models[J].IEEE Computer,1996,29(2):38-47.
[2]OSBORN S, SANDHU R,MUNAWER Q.Configuring rolebased access control to enforce mandatory and discretionary access control policies[J].ACM Transactions on Information and Systems Security, 2000, 3(2):85-106.
[3]趙寶獻,秦小麟.數據庫訪問控制研究綜述[J].計算機科學,2005, 32(1):88-91.
[4]PARK J,SANDHU R. Towards usage control models:beyond traditional access control[C]//Proc of the 7th ACM Symposium on Access Control Models and Technologies. Monterey, California:ACM Press, 2002:57-64.
[5]PARK J,SANDHU R. The UCON_ABC usage control model[J].ACM Transactions on Information and System Security, 2004, 7(1):128-174.
[6]ZHANG Xinwen, PARISIPRESICCE F,SANDHU R, et al.Formal model and policy specification of usage control[J].ACM Transactions on Information and System Security, 2005, 8(4):351-387.
[7]UNLU V, HESS T. The accessusagecontrolmatrix:a heuristic tool for omplementing a selected level of technical content protection [C]//Proc of the 7th IEEE International Conference on ECommerce Technology. Berlin:IEEE Computer Society Press, 2005:512-517.
[8]BERTINOE,KHANL R,SANDHUR, et al. Secure knowledge management:confidentiality, trust, and privacy[J]. IEEE Transactions on Systems, Man and Cybernetics:Part A,2006, 36(3):429-438.
[9]ZHANG Xinwen,CHEN Songqing,SANDHU R. Enhancing data authenticity and integrity in P2P systems[J].IEEE Internet Computing, 2005, 9(6):42-49.
[10]BERTINO E,SANDHU R. Database securityconcepts, approaches, and challenges [J] .IEEE Transactions onDependable Secure Computing,2005, 2(1):2-19.
[11]ZHANG Xinwen,SANDHU R,PARISIPRESICCE F.Safety analysis of usage control authorization models[C]//Proc of ACM Symposium on Information,Computer,and Communication Security. Taipei:ACM Press, 2006:243-254.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”