吳麗穎劉淑瑜范霖君周默
(1國家保密科技測評中心(河北省)分中心,河北石家莊 050052)
(2天津中德職業技術學院,天津 300350)
(3北京風行在線技術有限公司,北京 100088)
面向Web集群應用的改進RBAC模型研究
吳麗穎1劉淑瑜1范霖君2周默3
(1國家保密科技測評中心(河北省)分中心,河北石家莊 050052)
(2天津中德職業技術學院,天津 300350)
(3北京風行在線技術有限公司,北京 100088)
隨著計算機技術的進步和軟件規模的不斷增加,應用系統對于安全高效的訪問控制策略提出了越來越高的要求。傳統的基于角色的訪問控制模型受限于當時的技術水平,沒有充分考慮到分布式應用管理,不再適用于邏輯復雜的Web集群應用,因此提出了一個邏輯描述更為精細、對分布式應用的處理能力更強的改進RBAC模型,并在此改進模型的基礎上,設計出了一套完整的應用體系結構框架。
RBAC Web集群 應用框架
近些年,訪問控制技術作為信息系統的安全技術,獲得了快速發展。其中基于角色的訪問控制(RBAC)作為信息安全領域的新技術,已經得到廣泛應用。特別是在Web集群應用中,RBAC通常作為權限統一管理和身份認證的解決方案被大量運用[1]。
RBAC核心思想在于授權給用戶訪問權限,通常由用戶在一個組織中擔當的角色來確定。它區別于傳統的訪問控制機制,不直接關聯訪問的主客體,通過引入角色的概念來達到訪問主體與客體的溝通。RBAC簡化了權限分配和管理工作,其本身是一種策略中立的訪問控制系統,能方便地實現自主型訪問控制(DAC)和強制型訪問控制(MAC)[2]。通過RBAC能夠實現對自身的管理,并且真實的反映現實世界的情況。
目前,最具代表性的RBAC模型為Ravi Sandhu提出的RBAC96模型[3]。該模型打破了以Bell-Lapadula模型和Lampson訪問控制矩陣為代表的經典強制訪問控制模型和自主訪問控制模型的固有形式。
RBAC96模型主要由4個基本要素構成,即用戶(U)、權限(P)、角色(R)和會話(S)[4]。模型示意如圖1所示,其數學描述如下:
定義1 UA=U×R,UA是用戶到角色多對多關系。
定義2 PA=P×R,PA是權限到角色多對多關系[5]。
定義3 Users:R→2U是來自函數,將每個角色映射到用戶集中。其中Users(r)={U,(U,r),UA}。
定義4 Permissions:R→2P是來自PA的函數,可以將每個角色映射到權限集中。其中Permissions(r)={P,(P,r),PA}。
定義5,是角色集上的一個偏序關系,稱為角色層次關系,記作“≥”。
定義6 Roles(Si):{r,(r1≥r)[(User(Si),r),UA]}。其中,User:S→U,是將各個會話Si映射到一個用戶去的函數User(Si)。
定義7 Roles:S→2R是將各會話Si與角色集合連接起來的映射,可隨時間變化而變化,且會話Si的授權Ur:Roles(Si)={P, (r1≥r)[(P,r),PA]}[6]。

不難發現,雖然RBAC96模型已經具備完整的邏輯描述,但在當今業務邏輯趨向于分布式應用的條件下,該模型暴露出了對Web集群應用的適應能力不足等問題。
問題一模型側重于對抽象關系的描述,權限與角色之間是被描述為直接指派關系,在邏輯復雜的應用(特別是Web集群應用)中,這種策略顯得過于繁瑣和松散,不能直觀的反應業務邏輯關系,也不利于應用項目的模塊化拆分,導致權限對象的復用度降低。
問題二沒有針對權限對象表現形式的描述,抽象的權限對象不易實現細粒度調節,很難做到精確的訪問控制,在資源龐雜的Web集群系統中,權限通常不是原子性的單位。
問題三用戶、角色和權限三者之間耦合性太強,實現條件約束時會造成侵入性。在Web集群系統中很難構建出通用切面來實現無差別統一管理[8]。另外,對模型中各種要素(特別是權限)在分布式環境下的數據來源也沒做出適當的描述。
針對以上不足,提出了邏輯描述更為精細的、對分布式應用的處理能力更強的改進RBAC模型。模型主要由用戶(U)、權限(P)、角色(R)、會話(S)、應用(A)和控制邏輯(C)6個基本要素組成。改進模型示意如圖2所示,下面是相關概念的形式化表示:
定義8 RA=R×A,RA是角色到應用多對多關系。
定義9 AP=A×P,AP是應用到權限多對多關系。
定義10 AH=A×A,AH是應用集上的一個偏序關系,稱為應用層次關系。
定義11 Applications:R→2A是來自于RA的函數,它可以將每個角色映射到應用集中。其中Applications(r)={A,(A,r), RA}。
定義12 Permissions:A→2P是來自于AP的函數,它可以將每個應用映射到權限集中。其中Permissions(a)={P,(P,a),AP}。
定義13權限P=OP×RS,可表示為P(OP,RS)。其中,OP為訪問控制涉及的操作,RS為訪問控制涉及的數據資源。

圖2 改進RBAC模型
定義14 OH=OP×OP,OH是操作集上的一個偏序關系,稱為操作層次關系。
定義15 SH=RS×RS,SH是資源集上的一個偏序關系,稱為資源層次關系。
定義16控制邏輯C=SR∪DR=SR∪(∑DSi),SR是安全域,相當于RBAC96模型中的約束條件;DR是數據域,用于描述模型各種要素的來源;DS是數據源集合,由模型使用者自主設定,DR依賴于數據源集DS。
改進模型中通過引入應用(A)的概念來解決問題1,應用對象處于角色和權限之間,既作為角色的最小授權單位,又作為權限的劃分集合。可以簡化角色的授權過程,同時又可以對細粒度的權限進行分組管理。在實際運用中,一個應用對象等價于一個Web應用。
通過引入操作和資源對象來解決問題2,通過OP和RS的正交組合完全能夠滿足任意權限的細粒度劃分[9]。此外,操作和資源對象具有等級屬性,支持繼承關系的描述,可以減少配置數量,增加邏輯條理性。
改進模型利用控制邏輯組件來克服問題3的缺點,控制邏輯中包含了URAP四要素的基類,可以通過基類構建邏輯切面,實現對各要素的無差別控制。控制邏輯包括數據域模型和安全域模型,前者依賴于各種數據源,可以描述URAP在分布式系統中的來源;后者是RBAC96中約束條件的擴展,約束條件不再通過一一映射的策略為每一個要素進行指定,而是在安全域中統一做策略配置。
在上述改進RBAC模型的基礎上,將其運用到Web集群系統的集中驗證服務框架中,提出了如圖3所示框架結構。
在圖3所示的框架中,應用模型依托于應用管理器。為了兼容不同Web開發技術(如JSP、ASP、PHP、Flex等)之間數據結構的差異性,框架分離出消息交互服務來單獨處理數據通信請求。消息交互服務采用WebService技術,需要根據Web應用所使用的具體技術來配置各自不同的客戶端代理,Web應用發給應用管理器的請求完全委托給消息交互服務來處理,從而實現在應用管理器的協調作用下有序的完成各自的數據傳輸和實時交互任務。
權限解析器用于實現權限模型的管理。解析器從數據域讀寫服務中獲得操作和資源數據,根據最優匹配原則提取出最簡權限表達式,并將其封裝到相應的權限實體中。操作和資源間支持繼承關系的配置,采用類似于正則表達式的策略,實現用最少的數據量表示最多的權限信息。
角色驅動器主要用于管理角色模型。角色實體作為系統框架的核心驅動對象,負責連接用戶接口和系統框架的各部分組件。通過授權算法將應用管理器中各種Web應用的操作請求和權限解析器中生成的權限表達式注入到角色實體中。然后將其寫入到系統公共數據池中,以供用戶接口調用。
數據域讀寫服務提供通用的數據收集工廠,將分布式環境下的各種數據源(包括JDBC、JNDI、XML、Cache等數據源)所提供的數據進行統一管理[10],通過一系列數據解析和散列算法,將分散的數據整合成為URAP實體。
在系統框架的整個生命周期中,安全域驗證服務采用切面管理的方式,在系統框架各組件的執行方法前后加入驗證函數,無差別的將業務邏輯中需要施加的約束條件作用到每個組件甚至每個實體對象中,從而保障系統的安全性校驗。

圖3 基于改進RBAC模型的應用框架圖
本文結合實際Web項目的應用需要,對基于角色的訪問控制模型進行了分析和擴展。通過實踐證明,優化之后的改進RBAC模型在面向Web集群應用的系統中不僅使操作的復雜度明顯降低,系統數據管理更加安全、高效,同時也提高了工作效率。在當今日益革新的分布式應用中,RBAC模型中各要素之間的關系會變得更復雜,本文只是從邏輯層面上描述了相對通用的情況。作為完整的解決方案,應當將更為全面的因素考慮進去,因此本文所提出的RBAC模型需要進一步的研究和優化。
[1]薛偉,懷進鵬.基于角色的訪問控制模型的擴充和實現機制研究[J].計算機研究與發展(Journal of Comguter Researoh and Developront),2003,40(11):1635-1642.
[2]李兆國,劉廣亮,鄭健.基于角色與權限擴展的TRBAC[J].科技信息,2010(9):67-69.
[3]施良輝.基于角色的訪問控制框架設計及其應用[J].電腦應用技術,2007(70):22-26.
[4]邵奇峰,韓玉民,鄭秋生.一種混合授權的RBAC模型及其UML建模[J].武漢大學學報(理學版),2014(5):74-76.
[5]董永峰,陸軍,劉建波,等.改進的RBAC模型在信息服務平臺上的應用[J].計算機應用與軟件,2012,29(5):99-103.
[6]汪厚祥,李卉.基于角色的訪問控制研究[J].計算機應用研究,2005(4):125-127.
[7]林磊,駱建彬,鄧憲.管理信息系統中基于角色的權限控制[J].計算機應用研究,2002(6):82-84.
[8]喬穎,須德,戴國忠.一種基于角色訪問控制(RBAC)的新模型及其實現機制[J].計算機研究與發展,2000(1):37-44.
[9]李晶,李曉林,朱斯思.基于RBAC模型的多級權限訪問控制設計[J].軟件導刊,2009.8(4):140-142.
[10]李曉航,胡曉鵬.基于元數據的通用數據維護框架設計[J].計算機工程,2010(20):80-82.
Research on Improved RBAC Model Oriented to Web Cluster Application
WU Li-ying1,LIU Shu-yu1,FAN Lin-jun2,ZHOU Mo3
(1.Heibei Branch of National Secrecy Science and Technology Evaluation Center,Shijiazhuang Heibei 050052,China)
(2.Tianjin Sino-Germany Vocational Technical College,Tianjin 300350,China)
(3.Beijing Funshion Online Technologies Co.,Ltd,Beijing 100088,China)
With the progress of computer technology and the constant increase of software scale,the application system puts forward higher requirements for safe and efficient access control strategy.The traditional access control model based on role is limited to the technical level at that time,has not fully considered the distributed application management,and is not suitable for Web cluster application with complicated logic.Therefore,this paper proposes the improved RBAC model with more detailed logical description and stronger processing capability for distributed application,and designs a complete application architecture framework based on this improved model.
RBAC;Web cluster;application framework
TP319
A
1008-1739(2015)12-53-3
定稿日期:2015-05-26