吳承來,周傳華,周家億
(1.安徽工業(yè)大學(xué) 管理科學(xué)與工程學(xué)院,安徽 馬鞍山 243032;2.東南大學(xué) 計算機科學(xué)與工程學(xué)院,江蘇 南京 211189)
基于表單訪問權(quán)限控制策略
吳承來1,周傳華1,周家億2
(1.安徽工業(yè)大學(xué) 管理科學(xué)與工程學(xué)院,安徽 馬鞍山 243032;2.東南大學(xué) 計算機科學(xué)與工程學(xué)院,江蘇 南京 211189)
為解決權(quán)限控制交互性問題,在屬性訪問控制的基礎(chǔ)上提出了一種基于表單訪問權(quán)限控制策略。策略引入表單實體,使用表單和屬性映射表實現(xiàn)了用戶界面和數(shù)據(jù)屬性的雙向權(quán)限控制,在保留了屬性訪問控制安全性和靈活性的基礎(chǔ)上,進(jìn)一步提升了權(quán)限控制的用戶交互性,改進(jìn)的權(quán)限管理模型更適用于工程應(yīng)用中權(quán)限控制的實現(xiàn)。最后,用圖靈機對策略進(jìn)行安全分析,從理論上保證該策略的安全可靠性。原型系統(tǒng)實現(xiàn)基于面向?qū)ο?OO)和面向切面編程(AOP)思想以及Java標(biāo)簽和Ajax技術(shù),實現(xiàn)了權(quán)限控制對業(yè)務(wù)系統(tǒng)的低侵入性和松散耦合,加強了系統(tǒng)的可維護(hù)性和可重用性,并且使得該策略的有效性和靈活性得到了驗證。
權(quán)限管理模型;表單控制;控制粒度;映射表;安全分析;圖靈機
隨著全球經(jīng)濟(jì)一體化步伐的加快,信息技術(shù)在各個領(lǐng)域應(yīng)用的深度和廣度不斷拓展,使得信息系統(tǒng)的集成性和復(fù)雜性不斷加大,而且對信息系統(tǒng)的交互性和用戶體驗要求越來越高。傳統(tǒng)基于RBAC的權(quán)限控制模型往往不能有效解決全球一體化背景下信息系統(tǒng)越來越復(fù)雜的權(quán)限控制需求。當(dāng)前信息系統(tǒng)權(quán)限控制主要面臨以下三個問題和挑戰(zhàn):分布式和跨域環(huán)境下的權(quán)限控制問題,基于時空上下文的權(quán)限控制問題,權(quán)限的控制粒度和權(quán)限控制的用戶交互性問題[1-2]。
針對上述權(quán)限控制問題,學(xué)術(shù)界和工程界提出了相應(yīng)的解決方案。
在分布式和跨域環(huán)境下的權(quán)限控制方面,F(xiàn)reudenthal等提出了分布式角色訪問控制模型(Distributed Role-Based Access Control,DRBAC)[3]。該模型利用PKI識別操作實體的身份和驗證委托證書,在跨多個管理域的動態(tài)協(xié)作環(huán)境中實現(xiàn)了資源的訪問控制;Liu等針對分布式協(xié)同操作環(huán)境中基于角色的訪問控制在利用角色映射的方式時可能存在的安全問題,提出了一種適用于分布式協(xié)同操作環(huán)境的RBAC模型(Role-Based Access Control model for Distributed Cooperation environment,RBAC-DC)[4]。
隨著移動互聯(lián)網(wǎng)的發(fā)展,出現(xiàn)了很多基于位置的服務(wù)和應(yīng)用軟件,傳統(tǒng)的權(quán)限控制模型不能很好地解決基于空間上下文的權(quán)限控制,所以有學(xué)者提出了基于時空上下文的權(quán)限控制模型。Ray等提出了一個位置感知的訪問控制模型(Location-aware Role Based Access Control,LRBAC),通過引入空間角色的概念將空間上下文集成到角色中,可根據(jù)用戶的當(dāng)前位置來判斷會話中哪些角色是有效的[5-6];張穎君等在訪問控制中同時整合了時間和空間因素,提出了一種基于尺度的時空RBAC模型[7-8]。
在權(quán)限的控制粒度方面,熊智提出了一種云儲存環(huán)境下的基于屬性的權(quán)限控制方案[9],采用字典變量表示主客體等實體,為云環(huán)境下文件提供了一種高效的權(quán)限控制方法;趙衛(wèi)東和李陽提出了一種細(xì)粒度的權(quán)限控制模型[10-11],李陽在他的論文中提出了一種基于UCON的屬性訪問控制模型(attribute based access control model),將屬性和角色授權(quán)委托引入了控制模型,細(xì)化了模型的控制粒度,但是該模型只能對數(shù)據(jù)屬性進(jìn)行權(quán)限控制,沒有考慮對用戶界面的控制,基于該模型實現(xiàn)的權(quán)限系統(tǒng)用戶交互性較差。
在工程界,中間件提供商將權(quán)限控制的理念抽取出來,在RBAC模型的基礎(chǔ)上單獨形成一套權(quán)限系統(tǒng),解決需要權(quán)限控制的系統(tǒng)需求,增強了用戶體驗。但用它來控制權(quán)限的系統(tǒng),必須在界面上統(tǒng)一風(fēng)格,對業(yè)務(wù)系統(tǒng)存在很強的侵入性,而且只是實現(xiàn)了對權(quán)限的功能級控制,沒有實現(xiàn)對數(shù)據(jù)屬性和表單的權(quán)限控制。Spring Security和Apache Shiro都基于RBAC提供了一套底層的權(quán)限管理方案[12-13],簡化了權(quán)限管理的實現(xiàn)過程。但這些方案都是對RBAC模型的部分封裝和實現(xiàn)。RABC96元素關(guān)系圖如圖1所示。
圖1 RABC96元素關(guān)系圖
學(xué)術(shù)界和工程界越來越關(guān)注權(quán)限系統(tǒng)的安全性和用戶交互性問題。文中在這種背景下,旨在提出一種安全可靠且有良好用戶交互性的權(quán)限控制策略。表單訪問權(quán)限控制在策略中引入了表單實體,從模型組件層擴(kuò)展了基于屬性的訪問控制模型,該策略具有了對表單權(quán)限控制的能力,策略中采用表單和屬性映射表,實現(xiàn)了用戶接口層和數(shù)據(jù)層的雙向權(quán)限控制,在保證安全的前提下,增強了用戶交互性,且更易于工程實現(xiàn)。在該策略的實現(xiàn)過程中,采用純面向?qū)ο蠛兔嫦蚯忻娴木幊趟枷牒涂刹灏卧O(shè)計,加強了系統(tǒng)的可維護(hù)性和可重用性;攔截器的使用,實現(xiàn)了權(quán)限底層攔截的AOP,提升了系統(tǒng)的安全性;權(quán)限標(biāo)簽的設(shè)計,既保留了目前工程界使用的權(quán)限系統(tǒng)良好的用戶體驗的優(yōu)點,又克服了權(quán)限系統(tǒng)對業(yè)務(wù)系統(tǒng)侵入性問題,不需要在界面上統(tǒng)一風(fēng)格。
2.1 表單訪問權(quán)限控制策略機理
傳統(tǒng)基于屬性的權(quán)限控制模型,通過屬性實體來實現(xiàn)對數(shù)據(jù)屬性的細(xì)粒度權(quán)限控制,但在工程中用戶一般不能直接訪問數(shù)據(jù)屬性,而是通過用戶界面中的表單來訪問數(shù)據(jù)屬性。一個數(shù)據(jù)屬性可以對應(yīng)多個表單元素。所以在新策略中增加了對用戶接口層的權(quán)限控制。新策略對基于屬性的權(quán)限控制進(jìn)行了擴(kuò)展,屬性不再是模型控制的原子對象,一個屬性可以對應(yīng)一個或多個表單域?qū)ο螅ㄟ^表單與屬性映射表把表單權(quán)限映射到數(shù)據(jù)屬性權(quán)限,實現(xiàn)了對表單和數(shù)據(jù)屬性的雙向權(quán)限控制。新策略元素關(guān)系如圖2所示。
圖2 表單訪問控制策略元素關(guān)系圖
該策略中,在RABC96模型的基礎(chǔ)上增加了4個元素:表單域集合、數(shù)據(jù)屬性集合、表單域許可權(quán)集合和數(shù)據(jù)屬性許可權(quán)集合。表單域許可權(quán)集合是角色到表單域的權(quán)限指派,數(shù)據(jù)屬性許可權(quán)集合是角色到數(shù)據(jù)屬性的權(quán)限指派。數(shù)據(jù)屬性權(quán)限是表單域許可權(quán)集合映射和數(shù)據(jù)屬性許可權(quán)集合的總和。通過客體資源來訪問表單域和數(shù)據(jù)屬性權(quán)限。
表單域和數(shù)據(jù)屬性權(quán)限類型表示為枚舉類型{none,readonly,written}:none表示既沒有讀權(quán)限,又沒有寫權(quán)限,表單域表現(xiàn)為在頁面中不顯示表單域,數(shù)據(jù)屬性表現(xiàn)為不能執(zhí)行對該屬性數(shù)據(jù)的查詢操作;readonly為只讀權(quán)限,只能查看表單域中的數(shù)據(jù),不能修改和刪除數(shù)據(jù),數(shù)據(jù)屬性表現(xiàn)為只能查詢該屬性數(shù)據(jù),不能修改和刪除數(shù)據(jù);written為寫權(quán)限,既可以查看該表單域中的數(shù)據(jù),又可以修改和刪除數(shù)據(jù),對于數(shù)據(jù)屬性表示擁有對數(shù)據(jù)屬性的查詢、修改和刪除權(quán)限。
2.2 策略形式化描述
上述提出表單訪問權(quán)限控制機理后,為了對表單訪問權(quán)限控制進(jìn)行更一般性的描述,采用康托爾集合論(Cantor’s Set)對表單訪問權(quán)限控制策略進(jìn)行形式化描述。
定義1:模型基本元素。
定義2:權(quán)限指派。
(1)角色之間的繼承關(guān)系表示為:RH=R×R;
(3)角色r指派表單域資源f表示為:RF=R×F;
(4)角色r指派數(shù)據(jù)屬性資源a表示為:RA=R×A;
(5)角色r指派客體資源n表示為:RN=R×N;
(6)表單域到屬性的映射關(guān)系表示為:fa:F→A,如果表單域沒有屬性與之對應(yīng),則fi→null,且表單域到屬性是一個非單射。
由模型訪問機理知,表單域權(quán)限對象集表示為p={none,readonly,written}。
由上述分析知,表單域權(quán)限可以使用三元組(f,a,p)來表示,其中f為表單域資源對象集,fp為表單域權(quán)限對象集。表單域許可權(quán)集合可以表示為Pf=RF×p。數(shù)據(jù)屬性權(quán)限是表單域許可權(quán)集合映射與數(shù)據(jù)屬性許可權(quán)集合的并集,數(shù)據(jù)屬性許可權(quán)集合可以表示為Pd=RA×p,所以數(shù)據(jù)屬性權(quán)限為Pa=fa(Pf)∪Pd。
2.3 策略安全分析
訪問控制模型作為保障系統(tǒng)安全的重要組件,模型的自身安全越來越受到關(guān)注。而且目前廣泛應(yīng)用的分散授權(quán)對模型的安全性提出了更高的要求,權(quán)限泄露[14]成為分散授權(quán)中破壞控制系統(tǒng)安全的重要因素。安全分析主要用來分析當(dāng)前訪問控制系統(tǒng)中是否存在權(quán)限泄露[14]。文中在角色約束條件下使用圖靈機對表單訪問控制策略進(jìn)行安全分析。
定義3:角色約束。若角色r擁有的權(quán)限集合不能被更改,則稱該角色為成員確定的角色,記為rD;若角色r擁有的權(quán)限集合可被更改,則稱該角色為成員不確定的角色,記為rU。且r=rD∪rU,rD∩rU=?[15]。
定義4:角色替代。r'是rU的關(guān)聯(lián)角色,即r'中的權(quán)限只能部分決定rU擁有的權(quán)限。與角色rU關(guān)聯(lián)的所有集合為r1',r2',…,rn',令R'=r1'∪r2'∪…∪rn',那么rU擁有的權(quán)限集合可以用R'和rU當(dāng)前擁有的權(quán)限集合來表示。
圖靈機(TM)分析過程如下[15]:
(1)把角色以字符串的形式表示;
(2)從左到右依次掃描字符,把形如rU的字符用與rU相關(guān)的集合R'中的所有字符串替代;
(3)如果在第(2)步之后,字符串中只剩下形如rU的字符串,則認(rèn)為不存在權(quán)限泄露;
(4)如果在第(2)步之后,沒有進(jìn)行任何字符置換,且字符串中仍然存在rD相關(guān)字符,則認(rèn)為存在權(quán)限泄露;
(5)返回字符串頭部,并轉(zhuǎn)到步驟(2)。
當(dāng)前安全狀態(tài)是S,若非信任安全管理員通過操作K狀態(tài)轉(zhuǎn)化為S',通過圖靈機對狀態(tài)S'進(jìn)行安全分析,若分析結(jié)果為存在權(quán)限泄露,則認(rèn)為當(dāng)前操作是一個非法操作,拒絕當(dāng)前操作;若分析結(jié)果為不存在權(quán)限泄露,則認(rèn)為當(dāng)前是一個合法操作,允許當(dāng)前操作。
為降低權(quán)限系統(tǒng)與業(yè)務(wù)系統(tǒng)之間的耦合程度,對表單的權(quán)限控制實現(xiàn)基于Java標(biāo)簽和Ajax技術(shù)。頁面加載結(jié)束后,JavaScript遍歷頁面中所有表單中每一個表單域元素,根據(jù)表單ID、表單域元素的ID以及認(rèn)證用戶的身份,Ajax發(fā)送異步請求去查詢當(dāng)前用戶表單域?qū)ο蟮臋?quán)限,根據(jù)Ajax的返回結(jié)果,使用JavaScript技術(shù)動態(tài)修改表單中的表單域狀態(tài)。
上述設(shè)計不需要改變表單域元素的風(fēng)格,克服了中間件提供商必須在界面上統(tǒng)一風(fēng)格造成對業(yè)務(wù)系統(tǒng)侵入性問題。
表單訪問控制時序圖見圖3。
圖3 用戶接口訪問權(quán)限控制時序圖
頁面文件中script標(biāo)簽引入外部權(quán)限驗證JS腳本文件,腳本文件解析DOM,獲取頁面中所有表單中的表單域?qū)ο螅恳粋€表單域調(diào)用verify()方法發(fā)送Ajax權(quán)限驗證請求,Servlet的service()方法接受來自Ajax的請求,根據(jù)表單對象的name屬性、表單域元素的name屬性以及當(dāng)前用戶名稱三個參數(shù),驗證當(dāng)前用戶對表單域元素的表單域權(quán)限,Ajax接受Servlet的返回結(jié)果,腳本文件JavaScript對DOM中的表單域元素進(jìn)行動態(tài)修改。
數(shù)據(jù)屬性的訪問控制采用J2EE中可插拔的攔截器實現(xiàn)。當(dāng)客體資源需要訪問數(shù)據(jù)資源時,攔截器會檢查當(dāng)前用戶是否擁有對該數(shù)據(jù)屬性的權(quán)限。例如當(dāng)前用戶擁有對該數(shù)據(jù)屬性的readonly權(quán)限,如果用戶執(zhí)行select操作,能夠正常執(zhí)行;如果用戶執(zhí)行update或delete操作,則拋出異常,阻止該操作繼續(xù)執(zhí)行。
J2EE是一個企業(yè)級開發(fā)平臺,可以方便地使用J2EE平臺來實現(xiàn)權(quán)限控制。符合J2EE規(guī)范的組件具有可移植性強、可重用性好、易于維護(hù)和可伸縮性好等特點。依托J2EE平臺實現(xiàn)了表單訪問權(quán)限控制策略的部分功能。最后,把表單訪問控制策略用于學(xué)生管理系統(tǒng)的權(quán)限控制,用戶可以在角色列表界面對角色的表單域權(quán)限進(jìn)行設(shè)置,表單訪問權(quán)限控制用戶交互界面見圖4。
圖4 角色表單域權(quán)限交互界面圖
文中從權(quán)限系統(tǒng)的控制粒度和用戶交互性角度,提出了一種基于表單訪問權(quán)限控制策略,并用圖靈機對策略進(jìn)行了安全分析?;谠摬呗詫崿F(xiàn)的權(quán)限系統(tǒng)在保證良好交互性和用戶體驗的基礎(chǔ)上,克服了中間件提供商權(quán)限系統(tǒng)在界面上統(tǒng)一風(fēng)格的限制,降低了權(quán)限系統(tǒng)對業(yè)務(wù)系統(tǒng)的侵入性。但在權(quán)限實現(xiàn)過程中,每個權(quán)限標(biāo)簽都需要向后臺發(fā)送Ajax請求,需要頻繁與數(shù)據(jù)庫交互,影響了系統(tǒng)性能。因此在后期設(shè)計中需要引入緩存設(shè)計,減少系統(tǒng)與數(shù)據(jù)庫交互的頻率,從而提高系統(tǒng)性能。
[1] 李鳳華,蘇 铓,史國振,等.訪問控制模型研究進(jìn)展及發(fā)展趨勢[J].電子學(xué)報,2012,40(4):805-813.
[2] 李昕昕,嚴(yán)張凌,王賽蘭.改進(jìn)的基于角色的通用權(quán)限管理模型及其實現(xiàn)[J].計算機技術(shù)與發(fā)展,2012,22(3):240-244.
[3]FreudenthalE,PesinT,PortL,etal.dRBAC:distributedrole-basedaccesscontrolfordynamiccoalitionenvironments[C]//Proceedingsofthe22ndinternationalconferenceondistributedcomputingsystems.[s.l.]:IEEEComputerSociety,2002:411-420.
[4]LiuSY,HuangHJ.Role-basedaccesscontrolfordistributedcooperationenvironment[C]//Proceedingsof2009internationalconferenceoncomputationalintelligenceandsecurity.Beijing,China:IEEEComputerSociety,2009:455-459.
[5]RayI,YuLJ.Shortpaper:towardsalocation-awarerole-basedaccesscontrolmodel[C]//Proceedingsofthefirstinternationalconferenceonsecurityandprivacyforemergingareasincommunicationsnetworks.Athens,Greece:IEEEComputerSociety,2005:234-236.
[6]RayI,KumarM,YuLJ.LRBAC:alocation-awarerolebasedaccesscontrolmodel[C]//Proceedingsofthesecondinternationalconferenceoninformationsystemssecurity.Kolkata,India:Springer-Verlag,2006:147-161.
[7] 張穎君,馮登國.基于尺度的時空RBAC模型[J].計算機研究與發(fā)展,2010,47(7):1252-1260.
[8]BertinoE,CataniaB,DamianiM,etal.GEO-RBAC:aspatiallyawareRBAC[C]//Proceedingsofthe10thACMsymposiumonaccesscontrolmodelsandtechnologies.NewYork:ACMPress,2005:29-37.
[9] 熊 智,王 平,徐江燕,等.一種基于屬性的企業(yè)云存儲訪問控制方案[J].計算機應(yīng)用研究,2013,30(2):513-517.
[10] 趙衛(wèi)東,畢曉清,盧新明.基于角色的細(xì)粒度訪問控制模型的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2013,34(2):475-479.
[11] 李 陽.基于屬性RBAC的訪問控制模型研究[D].濟(jì)南:山東師范大學(xué),2014.
[12]JohnsonR.Pivotalsoftwareinc[EB/OL].(2003-03-24)[2013-01-17].http://projects.spring.io/spring-security/.
[13]Apache.TheApachesoftwarefoundation[EB/OL].(2008-02-18)[2014-04-17].http://shiro.apache.oro/.
[14] 劉 強,姜云飛,李黎明.RBAC系統(tǒng)的權(quán)限泄漏問題及分析方法[J].計算機集成制造系統(tǒng),2010,16(2):431-438.
[15] 楊秋偉,洪 帆,楊木祥,等.基于角色訪問控制管理模型的安全性分析[J].軟件學(xué)報,2006,17(8):1804-1810.
Form Based Access Control Strategy
WU Cheng-lai1,ZHOU Chuan-hua1,ZHOU Jia-yi2
(1.School of Management Science and Engineering,Anhui University of Technology,Ma’anshan 243032,China;2.School of Computer Science and Engineering,Southeast University,Nanjing 211189,China)
To solve the problem of user interactiveness,based on attribute access control,a form based access control strategy was proposed.The form is introduced into the strategy,which uses the form and attribute mapping table to achieve the two-way access control of user interface and data layer.The strategy ensures the safety and flexibility of attribute access control,enhancing user interactiveness of access control further.Improved access control model is applied more strongly in access control in engineering application.Eventually,the reliability of the strategy is guaranteed in theory by analyzing its safety with turing machine.Based on Object Oriented (OO) and Aspect Oriented Programming (AOP),Java Tag and Ajax technology,the prototype system,to the business system,implements low invasive and loose coupling of the access control,strengthening its the maintainability and reusability.Meanwhile,the effectiveness and flexibility of the strategy are verified.
privilege management model;form based access control;granularity of access control;mapping table;safety analysis;turing machine
2015-05-07
2015-08-14
時間:2016-01-26
國家自然科學(xué)基金面上項目(71172219);安徽省教育廳重大計劃項目(ZD200904))作者簡介:吳承來(1990-),男,碩士研究生,CCF會員,研究方向為軟件工程、信息安全;周傳華,教授,研究方向為信息安全、機器學(xué)習(xí)。
http://www.cnki.net/kcms/detail/61.1450.TP.20160126.1517.022.html
TP301
A
1673-629X(2016)02-0035-04
10.3969/j.issn.1673-629X.2016.02.008