資源描述:
《基于角色的訪問控制在教務(wù)系統(tǒng)中的應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、基于角色的訪問控制在教務(wù)系統(tǒng)中的應(yīng)用本文通過對(duì)RBAC96的分析提出擴(kuò)展的RBAC模型(ERBAC),并且在高校教務(wù)系統(tǒng)中加以應(yīng)用,驗(yàn)證了其有效性和實(shí)用性?! £P(guān)鍵詞RBAC;角色;訪問控制 TP39A1674-6708(2011)54-0183-02 傳統(tǒng)的高校教務(wù)系統(tǒng)的訪問控制模塊通常將用戶和權(quán)限直接關(guān)聯(lián),這樣的授權(quán)模型不方便系統(tǒng)的擴(kuò)展,也不夠靈活,當(dāng)組織規(guī)模不斷擴(kuò)大、結(jié)構(gòu)變換頻繁時(shí),就出現(xiàn)了大量繁瑣的授權(quán)變化,權(quán)限管理的復(fù)雜度呈現(xiàn)指數(shù)增長(zhǎng)的態(tài)勢(shì),而基于角色的訪問控制(Role-BasedAccessControl,以下簡(jiǎn)稱RBAC)模型能夠較好的解決這
2、個(gè)問題。 1RBAC概述 RBAC模型引入了“角色”的概念,使得操作權(quán)限不直接授予用戶,而是通過建立“用戶→角色→權(quán)限”的映射關(guān)系,來(lái)靈活的表征組織內(nèi)部以及用戶與權(quán)限間的關(guān)系?,F(xiàn)階段RBAC的研究均以RBAC96為基礎(chǔ),RBAC96[1]由RaviS.Sandhu教授及其領(lǐng)導(dǎo)的喬治梅森大學(xué)信息安全技術(shù)實(shí)驗(yàn)室(LIST)提出,主要由RBAC0、RBAC1、RBAC2和RBAC3組成,如圖1所示?! D1RBAC96(包括RBAC0、RBAC1、RBAC2和RBAC3) RBAC0是RBAC96模型的核心,主要包括U(用戶集)、R(角色集)、P(權(quán)限集)和
3、S(會(huì)話集),P由OPS(操作集)和OBS(客體集)組成。RBAC1在RBAC0的基礎(chǔ)上增加了RH(角色分層)概念,使用偏序來(lái)描述這種角色繼承的關(guān)系。RBAC2在RBAC0的基礎(chǔ)上引入C(約束集)來(lái)決定對(duì)RBAC0各組件的操作是否被接受,只有被接受的操作才被允許。RBAC3綜合了RBAC1和RBAC2,自然也包括了RBAC0?! BAC96是一個(gè)基本模型,屬于中性策略,這就決定了在應(yīng)用中,可以根據(jù)實(shí)際情況對(duì)RBAC96進(jìn)行擴(kuò)展?! ?擴(kuò)展的RBAC模型 本文根據(jù)我院教務(wù)系統(tǒng)的訪問控制的實(shí)際需求,對(duì)RBAC96進(jìn)行擴(kuò)展,增加了“屬性”的概念,形成了一個(gè)擴(kuò)展的R
4、BAC模型,簡(jiǎn)稱ERBAC模型?! RBAC模型在角色中形成了三元組(r,a,p),減少虛擬“中介”角色的出現(xiàn),這樣有利于簡(jiǎn)化權(quán)限指派,避免繁瑣復(fù)雜。在用戶中也形成了三元組(u,a,p),靈活動(dòng)態(tài)的控制了用戶所需的臨時(shí)特權(quán)。同時(shí),在用戶中還形成了三元組(u,a,r),使得用戶可以自動(dòng)分配到相應(yīng)的角色中,減小了數(shù)據(jù)添加維護(hù)的復(fù)雜度。由此可見,屬性統(tǒng)一了模型的各部分,因此ERBAC是一種動(dòng)態(tài)的基于屬性的訪問控制模型,在RBAC0的基礎(chǔ)上增加了一個(gè)維度——屬性,這也成為了它的核心,如圖2所示,圍繞這個(gè)核心,ERBAC具有相當(dāng)大的伸縮性,可以靈活應(yīng)用于我院教務(wù)系統(tǒng)中。
5、 圖2ERBAC模型的核心概念圖 3ERBAC在教務(wù)系統(tǒng)中的實(shí)現(xiàn) 我院教務(wù)系統(tǒng)使用ASP.技術(shù),以C#為開發(fā)語(yǔ)言,其中asp.可以很容易在系統(tǒng)中實(shí)現(xiàn)基于角色的安全性,許多代碼都是以服務(wù)器為基礎(chǔ)的,主要基于System.embership和Roles類。教務(wù)系統(tǒng)的訪問控制模塊采用ERBAC模型,主要包括兩方面子模塊:一方面為系統(tǒng)設(shè)置模塊,包括用戶管理、角色管理、權(quán)限管理、屬性管理、策略設(shè)置和數(shù)據(jù)備份;另一方面為用戶認(rèn)證模塊,包括身份驗(yàn)證和權(quán)限獲取?! ∠到y(tǒng)設(shè)置模塊通過用戶管理、角色管理、權(quán)限管理和屬性管理,可以實(shí)現(xiàn)用戶、角色、權(quán)限及屬性的增加、刪除、修改
6、等功能,也實(shí)現(xiàn)了它們之間關(guān)系的指派。這里需要特別說明,ERBAC模型中的屬性按系統(tǒng)定義可劃分為角色屬性和權(quán)限屬性,角色屬性設(shè)置目標(biāo)是為了動(dòng)態(tài)分配給用戶相應(yīng)角色,而權(quán)限屬性是為了動(dòng)態(tài)分配權(quán)限給用戶或者角色,故而在數(shù)據(jù)庫(kù)表的設(shè)計(jì)中需要考慮這些?! ∮脩粽J(rèn)證模塊通常是用于驗(yàn)證用戶身份的合法性,此外在我院教務(wù)系統(tǒng)中,還通過用戶認(rèn)證模塊分配給合法用戶所擁有的權(quán)限?! SP.包括三種基本的身份驗(yàn)證方式,分別為D5進(jìn)行加密,這樣使得明文傳播的密碼愈加安全。 合法用戶通過身份驗(yàn)證之后,需要分配其相應(yīng)權(quán)限,用戶擁有的權(quán)限分為:直接從屬性獲取的權(quán)限、經(jīng)角色間接獲取的權(quán)限。經(jīng)角色
7、間接獲取的權(quán)限還可以分為直接指派給角色的權(quán)限和經(jīng)屬性分配給角色的權(quán)限。這些權(quán)限難免會(huì)出現(xiàn)重復(fù),需要進(jìn)行刪除,假設(shè)重復(fù)數(shù)組為permissionArray,則其算法如下: intmaxIndex=permissionArray.Length-1; if(maxIndex>0) { ListlistInt=neissionArray);//排序數(shù)組 for(inti=0;i8、; } listIn