摘要:設計并實現了一種基于時間約束的角色訪問控制系統,描述了系統中的時間約束,分析了在引入時間后系統中存在的沖突,給出了解決沖突的策略以及各功能模塊的實現。
關鍵詞:時間約束; 訪問控制; 基于角色
中圖分類號:TP302文獻標志碼:A
文章編號:1001-3695(2008)01-0195-02
訪問控制技術是信息安全的重要保障措施之一,已經經歷了二十多年的發展。訪問控制技術的一次重大飛躍是Ravis. Sandhu等人提出的基于角色的訪問控制(RBAC)[1],將角色的概念引入訪問控制,大大簡化了授權管理的方法,也大大提高了管理的效率。它支持最小特權、責任分離以及數據抽象三個基本的安全原則。RBAC是目前公認的解決大型企業的統一資源訪問控制的有效方法。
雖然RBAC有諸多優點,對其研究也已經相當廣泛和深入,但仍有一些應用是現有RBAC模型所不能描述的,如某些應用中需要用時間約束來限制資源的使用,或用時間約束來控制時間敏感的活動或行為。因此,現有的基于角色的訪問控制系統在保護系統資源不受非法訪問與使用上仍存在安全隱患。例如基于工作流的管理系統,以及一些組織要求某些工作必須在某一特定的時間段或時間周期內進行等帶有時間特性的訪問控制問題。
本文在RBAC模型的基礎上引入時間約束,角色在不
同的時間可以被賦予不同的權限;用戶也可以在不同的時間賦予不同的角色,從而獲得不同的權限,更好地滿足了最小權限原則。本文設計并實現了一種時間約束的角色訪問控制系統(TRBAC),既保持了RBAC系統的優點,又解決了訪問控制中對時間約束的需求問題,提高了安全性。
1訪問控制系統總體設計
1.1訪問控制系統總體結構圖
如圖1所示,訪問控制系統主要包括訪問請求過濾器、授權服務中心、管理工具、時間事件處理器四部分。
a)訪問請求過濾器的主要功能是截獲經過身份認證的用戶發出的訪問請求,從中解析出有用的用戶信息,如用戶角色、所請求的資源、所希望的操作等。
b)授權服務中心負責訪問控制服務,判斷用戶是否有權限訪問所請求資源。它是系統的核心部分,主要包括了訪問控制決策器、沖突管理等。
c)管理工具是訪問控制系統的管理模塊,定義企業的授權數據和安全策略,包括了用戶管理、角色管理、權限管理、會話管理以及時間規則管理。
d)時間事件處理器對時間進行監測,允許根據時間變化使角色處于許可和禁止狀態,負責觸發各種約束條件,與授權服務中心配合完成時間約束的訪問控制。
1.2訪問控制系統中時間約束的描述
引入時間約束后首先引起了角色狀態的變化。角色有三種狀態:禁止態(disabled)、許可態(enabled)[3]和激活態(active)。處于禁止態的角色不允許被任何用戶激活;處于許可態的角色可以被用戶激活;用戶激活處于許可態的角色,角色的狀態轉變為激活態。角色狀態轉換關系如圖2所示。
在時間約束的角色訪問控制系統中,時間約束可應用于角色許可或禁止、角色激活、角色權限分配、用戶角色指派。通過時間約束限制,角色只允許在規定的時間內處于許可狀態,或被激活,或分配某些權限;用戶也只能在規定的時間內被指派給某角色。
根據約束的時間特征,時間約束可分為以下三類[6]:
a)激活時間范圍約束。該類約束規定用戶、角色或權限只能在規定時間范圍內激活,如企業規定在非工作時間不允許某些操作發生,或不允許某些用戶登錄系統。
b)激活時間長度約束。該類約束規定用戶、角色或者訪問許可在一定的時間范圍內激活不超過一個固定的時間范圍。用該類約束顯示某些很重要的操作或權限以防因激活時間過長而被盜用。
c)時間范圍內激活時間長度約束。該類約束規定用戶、角色或者訪問許可在一定的時間范圍內的累計激活時間不超過一個規定的上限。它對于用戶的限制特別有用,可以限制用戶的平均登錄時間。
2訪問控制系統實現
2.1訪問請求過濾器
訪問請求過濾器是訪問控制系統和應用系統的接口,用于截獲經過身份認證的用戶發出的訪問請求,從中解析出用戶角色、所請求的資源、所希望的操作等信息交給授權服務中心進行權限判定,并將決策結果返回給用戶。
2.2授權管理
授權管理是整個訪問控制系統的基礎部分,為安全管理員提供了方便的授權管理工具。在用戶管理上,根據用戶部門建立樹狀用戶組織結構,方便了對用戶的管理。
管理員通過會話管理控制臺可以查看用戶的會話及用戶激活的角色。當系統用戶執行惡意操作時,管理員可以終止用戶會話或者凍結用戶會話中的相應角色,從而阻止網絡資源被非法訪問,提高了安全性。
會話session由以下五元組來描述(u, r, rat, sst, tc)。其中:u是用戶;r是角色;rat是角色激活的時刻,當計算時間約束的激活長度時,將從rat中查找信息;sst表示會話建立的時間;tc表示與該會話相關聯的用戶和角色的時間約束。
時間約束由如下七個以空格分隔的元素表示:
〈year〉:約束作用的年份;
〈day of month〉:起始日期(1~31);
〈month〉:起始月份(1~12);
〈day of week〉:起始日期(1~7);
〈hour〉:起始小時(0~23);
〈duration〉:約束持續的時間長度;
〈event duration〉:事件持續的時間長度。
前五個元素都可以顯式地規定一個值(如6)、一個區間(如2~6)、一個列表(如2,4,6)或一個通配符(如*)。其中〈day of month〉和〈day of week〉這兩個元素是互斥的,通過設置標志符“?”來表明不想設置哪個字段。
例如時間約束:
TC1=(2006-2013 ?* 1-5 8 8 *),當TC1作用與角色許可(TC1,enable r)時,表示2006—2013年每個月的工作日的工作時間角色r處于許可態。
TC2=(2006,2007 15 * ? 9 6 4),當TC2作用于角色分配權限(TC2,assign p to r)時,表示2006、2007兩年每個月的15號上午9點到下午3點這四個小時的時間范圍角色r可以獲得權限p。
2.3沖突管理
管理員在進行時間約束設置時以及系統執行中可能會使互斥事件發生在同一時刻。例如使disable r和active r for u同時發生或active r for u和deassign r to u同時發生。因此,使用沖突管理模塊檢測和解決系統中出現的時間約束沖突。沖突主要分為三類:
a)同類事件之間的沖突,如角色許可(enable r)與角色禁止(disable r)之間;
b)不同類事件之間的沖突,如角色激活(activate r for u)與角色禁止(disable r)之間;
c)約束之間的沖突,該類約束又可分為兩類:
(a)角色許可與禁止(或給角色賦權限與收回權限)約束之間的沖突,如在時間區間D內角色r處于許可態和禁止態的約束同時發生。
(b)每個用戶激活角色(per user role)時間長度約束與每個角色(per role)激活時間長度約束之間的沖突,如角色r可被激活的時間約束為Da,用戶激活角色r的時間長度約束為Dua。若Dua>Da,則產生沖突。
系統中采用的解決沖突的策略如下:
a)消極任務優先的原則解決第一、二類沖突,即在優先級相同的情況下消極任務優先處理。
b)如果一、二類沖突同時發生了,則首先解決由第一類沖突引起的阻塞。第三類沖突的(a)主要是由一些與潛在的沖突事件相關聯的約束表達式引起的,所以第一類沖突的解決方法也適合于解決第三類沖突的(a)。
c)每個角色激活時間長度約束優先于每個用戶激活角色時間長度約束的規則,與更具體的約束優先的規則相結合的原則解決第三類沖突的(b)。
2.4訪問決策中心
訪問決策中心是訪問控制系統的核心模塊。它根據用戶角色指派信息、權限繼承信息、時間約束信息以及沖突解決情況,決定是否授予用戶有某個訪問請求的權限。訪問控制的決策步驟如下:一個主體S請求在客體O上執行P操作時,由訪問控制決策器根據各種信息,包括授權信息、系統狀態、時間約束信息、沖突解決等來判斷是否允許S的請求。
算法1授權決策算法
輸入:訪問請求、時間約束、系統狀態、授權規則;
輸出:授予/拒絕。
a)查詢授權庫,是否有與訪問請求匹配的授權規則。若有轉b);否則拒絕。
b)計算是否滿足時間約束條件,滿足轉c);否則拒絕。
c)查看用戶角色是否被激活,若已經被激活,則返回授予;否則轉d)。
d)計算激活該角色是否會引起沖突,根據相應的沖突解決策略進行沖突消除。若允許激活該角色,則激活角色并返回授予;否則返回拒絕。
2.5時間事件處理器
時間事件處理器滿足了系統中存在的與時間相關的事件需要自動被觸發執行的需要。系統中存在如下三種時間事件:
a)角色許可事件之間存在時間依賴關系,如角色A被禁止10 min之后使角色B也禁止;
b)周期性時間事件,如每天19點以后使所有角色處于禁止狀態;
c)用戶運行時的請求因為優先級被推遲執行的事件,在推遲一段時間后要自動被觸發執行。
時間事件處理器的實現如圖3所示。它主要包括了周期事件處理器、運行時請求處理器、依賴事件處理器、延遲事件處理器和時間事件觸發器五個功能模塊。周期事件處理器和依賴事件處理器根據用戶登錄時系統讀取的與該用戶相關的時間約束事件、事件優先級和沖突解決情況,需要立即執行的進入待執行事件列表;否則進入延遲事件列表。運行時請求處理器是根據用戶運行時的請求和系統當前狀態以及沖突解決情況來判斷該請求是立即執行還是延遲執行。待執行事件由時間事件觸發器觸發完成。延遲事件處理器負責監視延遲事件;當條件滿足時,喚醒延遲事件。
3結束語
本文設計并實現了時間約束下的訪問控制系統,更好地滿足了訪問控制最小權限的原則,可以有效地解決時間敏感活動的訪問控制問題,增強了訪問控制的力度。但是仍然存在許多值得研究的問題。例如系統中存在的沖突類別繁多,應進一步研究沖突的解決策略;時間約束的訪問控制系統在工作流系統中的應用。
參考文獻:
[1]SANDHU R S, COYNE E J, FEINSTEIN H L, et al. Role based access control models[J]. IEEE Computer, 1996,29(2):38-47.
[2]FERRAIOLO D F, SANDHU R, GAVRILA S, et al. Proposed NIST standard for role based access control[J]. ACM Trans on Information and System Security, 2001,4(3):224-274.
[3]BERTINO E,BONATTIE P,FERRARI E. TRBAC: a temporal role based access control model[J].ACM Trans on Information and System Security, 2001,4(3):191-223.
[4]BERTINO E, FERRARI E, ATLURI V. The specification and enforcement of authorization constraints in workflow management systems [J]. ACM Trans on Information and System Security, 1999,2(1):65 104.
[5]CASTANO S, CASATI F, FUGINI M. Managing workflow authorization constraints through active database technology [J]. Information System Frontiers, 2001,3(3):319-338.
[6]黃建, 卿斯漢, 溫紅子. 帶時間特性的角色訪問控制[J]. 軟件學報, 2003,14(11):1944 1954.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”