吳麗穎劉淑瑜范霖君周默
(1國家保密科技測評中心(河北省)分中心,河北石家莊 050052)
(2天津中德職業(yè)技術(shù)學(xué)院,天津 300350)
(3北京風(fēng)行在線技術(shù)有限公司,北京 100088)
面向Web集群應(yīng)用的改進(jìn)RBAC模型研究
吳麗穎1劉淑瑜1范霖君2周默3
(1國家保密科技測評中心(河北?。┓种行?河北石家莊 050052)
(2天津中德職業(yè)技術(shù)學(xué)院,天津 300350)
(3北京風(fēng)行在線技術(shù)有限公司,北京 100088)
隨著計算機(jī)技術(shù)的進(jìn)步和軟件規(guī)模的不斷增加,應(yīng)用系統(tǒng)對于安全高效的訪問控制策略提出了越來越高的要求。傳統(tǒng)的基于角色的訪問控制模型受限于當(dāng)時的技術(shù)水平,沒有充分考慮到分布式應(yīng)用管理,不再適用于邏輯復(fù)雜的Web集群應(yīng)用,因此提出了一個邏輯描述更為精細(xì)、對分布式應(yīng)用的處理能力更強(qiáng)的改進(jìn)RBAC模型,并在此改進(jìn)模型的基礎(chǔ)上,設(shè)計出了一套完整的應(yīng)用體系結(jié)構(gòu)框架。
RBAC Web集群 應(yīng)用框架
近些年,訪問控制技術(shù)作為信息系統(tǒng)的安全技術(shù),獲得了快速發(fā)展。其中基于角色的訪問控制(RBAC)作為信息安全領(lǐng)域的新技術(shù),已經(jīng)得到廣泛應(yīng)用。特別是在Web集群應(yīng)用中,RBAC通常作為權(quán)限統(tǒng)一管理和身份認(rèn)證的解決方案被大量運用[1]。
RBAC核心思想在于授權(quán)給用戶訪問權(quán)限,通常由用戶在一個組織中擔(dān)當(dāng)?shù)慕巧珌泶_定。它區(qū)別于傳統(tǒng)的訪問控制機(jī)制,不直接關(guān)聯(lián)訪問的主客體,通過引入角色的概念來達(dá)到訪問主體與客體的溝通。RBAC簡化了權(quán)限分配和管理工作,其本身是一種策略中立的訪問控制系統(tǒng),能方便地實現(xiàn)自主型訪問控制(DAC)和強(qiáng)制型訪問控制(MAC)[2]。通過RBAC能夠?qū)崿F(xiàn)對自身的管理,并且真實的反映現(xiàn)實世界的情況。
目前,最具代表性的RBAC模型為Ravi Sandhu提出的RBAC96模型[3]。該模型打破了以Bell-Lapadula模型和Lampson訪問控制矩陣為代表的經(jīng)典強(qiáng)制訪問控制模型和自主訪問控制模型的固有形式。
RBAC96模型主要由4個基本要素構(gòu)成,即用戶(U)、權(quán)限(P)、角色(R)和會話(S)[4]。模型示意如圖1所示,其數(shù)學(xué)描述如下:
定義1 UA=U×R,UA是用戶到角色多對多關(guān)系。
定義2 PA=P×R,PA是權(quán)限到角色多對多關(guān)系[5]。
定義3 Users:R→2U是來自函數(shù),將每個角色映射到用戶集中。其中Users(r)={U,(U,r),UA}。
定義4 Permissions:R→2P是來自PA的函數(shù),可以將每個角色映射到權(quán)限集中。其中Permissions(r)={P,(P,r),PA}。
定義5,是角色集上的一個偏序關(guān)系,稱為角色層次關(guān)系,記作“≥”。
定義6 Roles(Si):{r,(r1≥r)[(User(Si),r),UA]}。其中,User:S→U,是將各個會話Si映射到一個用戶去的函數(shù)User(Si)。
定義7 Roles:S→2R是將各會話Si與角色集合連接起來的映射,可隨時間變化而變化,且會話Si的授權(quán)Ur:Roles(Si)={P, (r1≥r)[(P,r),PA]}[6]。
不難發(fā)現(xiàn),雖然RBAC96模型已經(jīng)具備完整的邏輯描述,但在當(dāng)今業(yè)務(wù)邏輯趨向于分布式應(yīng)用的條件下,該模型暴露出了對Web集群應(yīng)用的適應(yīng)能力不足等問題。
問題一模型側(cè)重于對抽象關(guān)系的描述,權(quán)限與角色之間是被描述為直接指派關(guān)系,在邏輯復(fù)雜的應(yīng)用(特別是Web集群應(yīng)用)中,這種策略顯得過于繁瑣和松散,不能直觀的反應(yīng)業(yè)務(wù)邏輯關(guān)系,也不利于應(yīng)用項目的模塊化拆分,導(dǎo)致權(quán)限對象的復(fù)用度降低。
問題二沒有針對權(quán)限對象表現(xiàn)形式的描述,抽象的權(quán)限對象不易實現(xiàn)細(xì)粒度調(diào)節(jié),很難做到精確的訪問控制,在資源龐雜的Web集群系統(tǒng)中,權(quán)限通常不是原子性的單位。
問題三用戶、角色和權(quán)限三者之間耦合性太強(qiáng),實現(xiàn)條件約束時會造成侵入性。在Web集群系統(tǒng)中很難構(gòu)建出通用切面來實現(xiàn)無差別統(tǒng)一管理[8]。另外,對模型中各種要素(特別是權(quán)限)在分布式環(huán)境下的數(shù)據(jù)來源也沒做出適當(dāng)?shù)拿枋觥?/p>
針對以上不足,提出了邏輯描述更為精細(xì)的、對分布式應(yīng)用的處理能力更強(qiáng)的改進(jìn)RBAC模型。模型主要由用戶(U)、權(quán)限(P)、角色(R)、會話(S)、應(yīng)用(A)和控制邏輯(C)6個基本要素組成。改進(jìn)模型示意如圖2所示,下面是相關(guān)概念的形式化表示:
定義8 RA=R×A,RA是角色到應(yīng)用多對多關(guān)系。
定義9 AP=A×P,AP是應(yīng)用到權(quán)限多對多關(guān)系。
定義10 AH=A×A,AH是應(yīng)用集上的一個偏序關(guān)系,稱為應(yīng)用層次關(guān)系。
定義11 Applications:R→2A是來自于RA的函數(shù),它可以將每個角色映射到應(yīng)用集中。其中Applications(r)={A,(A,r), RA}。
定義12 Permissions:A→2P是來自于AP的函數(shù),它可以將每個應(yīng)用映射到權(quán)限集中。其中Permissions(a)={P,(P,a),AP}。
定義13權(quán)限P=OP×RS,可表示為P(OP,RS)。其中,OP為訪問控制涉及的操作,RS為訪問控制涉及的數(shù)據(jù)資源。
圖2 改進(jìn)RBAC模型
定義14 OH=OP×OP,OH是操作集上的一個偏序關(guān)系,稱為操作層次關(guān)系。
定義15 SH=RS×RS,SH是資源集上的一個偏序關(guān)系,稱為資源層次關(guān)系。
定義16控制邏輯C=SR∪DR=SR∪(∑DSi),SR是安全域,相當(dāng)于RBAC96模型中的約束條件;DR是數(shù)據(jù)域,用于描述模型各種要素的來源;DS是數(shù)據(jù)源集合,由模型使用者自主設(shè)定,DR依賴于數(shù)據(jù)源集DS。
改進(jìn)模型中通過引入應(yīng)用(A)的概念來解決問題1,應(yīng)用對象處于角色和權(quán)限之間,既作為角色的最小授權(quán)單位,又作為權(quán)限的劃分集合??梢院喕巧氖跈?quán)過程,同時又可以對細(xì)粒度的權(quán)限進(jìn)行分組管理。在實際運用中,一個應(yīng)用對象等價于一個Web應(yīng)用。
通過引入操作和資源對象來解決問題2,通過OP和RS的正交組合完全能夠滿足任意權(quán)限的細(xì)粒度劃分[9]。此外,操作和資源對象具有等級屬性,支持繼承關(guān)系的描述,可以減少配置數(shù)量,增加邏輯條理性。
改進(jìn)模型利用控制邏輯組件來克服問題3的缺點,控制邏輯中包含了URAP四要素的基類,可以通過基類構(gòu)建邏輯切面,實現(xiàn)對各要素的無差別控制??刂七壿嫲〝?shù)據(jù)域模型和安全域模型,前者依賴于各種數(shù)據(jù)源,可以描述URAP在分布式系統(tǒng)中的來源;后者是RBAC96中約束條件的擴(kuò)展,約束條件不再通過一一映射的策略為每一個要素進(jìn)行指定,而是在安全域中統(tǒng)一做策略配置。
在上述改進(jìn)RBAC模型的基礎(chǔ)上,將其運用到Web集群系統(tǒng)的集中驗證服務(wù)框架中,提出了如圖3所示框架結(jié)構(gòu)。
在圖3所示的框架中,應(yīng)用模型依托于應(yīng)用管理器。為了兼容不同Web開發(fā)技術(shù)(如JSP、ASP、PHP、Flex等)之間數(shù)據(jù)結(jié)構(gòu)的差異性,框架分離出消息交互服務(wù)來單獨處理數(shù)據(jù)通信請求。消息交互服務(wù)采用WebService技術(shù),需要根據(jù)Web應(yīng)用所使用的具體技術(shù)來配置各自不同的客戶端代理,Web應(yīng)用發(fā)給應(yīng)用管理器的請求完全委托給消息交互服務(wù)來處理,從而實現(xiàn)在應(yīng)用管理器的協(xié)調(diào)作用下有序的完成各自的數(shù)據(jù)傳輸和實時交互任務(wù)。
權(quán)限解析器用于實現(xiàn)權(quán)限模型的管理。解析器從數(shù)據(jù)域讀寫服務(wù)中獲得操作和資源數(shù)據(jù),根據(jù)最優(yōu)匹配原則提取出最簡權(quán)限表達(dá)式,并將其封裝到相應(yīng)的權(quán)限實體中。操作和資源間支持繼承關(guān)系的配置,采用類似于正則表達(dá)式的策略,實現(xiàn)用最少的數(shù)據(jù)量表示最多的權(quán)限信息。
角色驅(qū)動器主要用于管理角色模型。角色實體作為系統(tǒng)框架的核心驅(qū)動對象,負(fù)責(zé)連接用戶接口和系統(tǒng)框架的各部分組件。通過授權(quán)算法將應(yīng)用管理器中各種Web應(yīng)用的操作請求和權(quán)限解析器中生成的權(quán)限表達(dá)式注入到角色實體中。然后將其寫入到系統(tǒng)公共數(shù)據(jù)池中,以供用戶接口調(diào)用。
數(shù)據(jù)域讀寫服務(wù)提供通用的數(shù)據(jù)收集工廠,將分布式環(huán)境下的各種數(shù)據(jù)源(包括JDBC、JNDI、XML、Cache等數(shù)據(jù)源)所提供的數(shù)據(jù)進(jìn)行統(tǒng)一管理[10],通過一系列數(shù)據(jù)解析和散列算法,將分散的數(shù)據(jù)整合成為URAP實體。
在系統(tǒng)框架的整個生命周期中,安全域驗證服務(wù)采用切面管理的方式,在系統(tǒng)框架各組件的執(zhí)行方法前后加入驗證函數(shù),無差別的將業(yè)務(wù)邏輯中需要施加的約束條件作用到每個組件甚至每個實體對象中,從而保障系統(tǒng)的安全性校驗。
圖3 基于改進(jìn)RBAC模型的應(yīng)用框架圖
本文結(jié)合實際Web項目的應(yīng)用需要,對基于角色的訪問控制模型進(jìn)行了分析和擴(kuò)展。通過實踐證明,優(yōu)化之后的改進(jìn)RBAC模型在面向Web集群應(yīng)用的系統(tǒng)中不僅使操作的復(fù)雜度明顯降低,系統(tǒng)數(shù)據(jù)管理更加安全、高效,同時也提高了工作效率。在當(dāng)今日益革新的分布式應(yīng)用中,RBAC模型中各要素之間的關(guān)系會變得更復(fù)雜,本文只是從邏輯層面上描述了相對通用的情況。作為完整的解決方案,應(yīng)當(dāng)將更為全面的因素考慮進(jìn)去,因此本文所提出的RBAC模型需要進(jìn)一步的研究和優(yōu)化。
[1]薛偉,懷進(jìn)鵬.基于角色的訪問控制模型的擴(kuò)充和實現(xiàn)機(jī)制研究[J].計算機(jī)研究與發(fā)展(Journal of Comguter Researoh and Developront),2003,40(11):1635-1642.
[2]李兆國,劉廣亮,鄭健.基于角色與權(quán)限擴(kuò)展的TRBAC[J].科技信息,2010(9):67-69.
[3]施良輝.基于角色的訪問控制框架設(shè)計及其應(yīng)用[J].電腦應(yīng)用技術(shù),2007(70):22-26.
[4]邵奇峰,韓玉民,鄭秋生.一種混合授權(quán)的RBAC模型及其UML建模[J].武漢大學(xué)學(xué)報(理學(xué)版),2014(5):74-76.
[5]董永峰,陸軍,劉建波,等.改進(jìn)的RBAC模型在信息服務(wù)平臺上的應(yīng)用[J].計算機(jī)應(yīng)用與軟件,2012,29(5):99-103.
[6]汪厚祥,李卉.基于角色的訪問控制研究[J].計算機(jī)應(yīng)用研究,2005(4):125-127.
[7]林磊,駱建彬,鄧憲.管理信息系統(tǒng)中基于角色的權(quán)限控制[J].計算機(jī)應(yīng)用研究,2002(6):82-84.
[8]喬穎,須德,戴國忠.一種基于角色訪問控制(RBAC)的新模型及其實現(xiàn)機(jī)制[J].計算機(jī)研究與發(fā)展,2000(1):37-44.
[9]李晶,李曉林,朱斯思.基于RBAC模型的多級權(quán)限訪問控制設(shè)計[J].軟件導(dǎo)刊,2009.8(4):140-142.
[10]李曉航,胡曉鵬.基于元數(shù)據(jù)的通用數(shù)據(jù)維護(hù)框架設(shè)計[J].計算機(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