李蚌蚌
(西安工程大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710048)
基于RBAC擴(kuò)展的權(quán)限模型在用電信息采集系統(tǒng)中的應(yīng)用
李蚌蚌
(西安工程大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710048)
傳統(tǒng)的RBAC(Role-Based Access Control - 基于角色的訪問控制)模型在權(quán)限分配管理方面無法滿足用電信息采集系統(tǒng)區(qū)域限制要求。結(jié)合用電信息采集系統(tǒng)限制性因素,提出一種改進(jìn)擴(kuò)展的RBAC模型。該模型摒棄了傳統(tǒng)RBAC模型中以角色、用戶二元組作為唯一標(biāo)識(shí)權(quán)限的方式,調(diào)整為以區(qū)域、角色、用戶三元組作為權(quán)限唯一標(biāo)識(shí),解決了區(qū)域限制問題;引入審計(jì)機(jī)制,記錄用戶操作,便于后期審計(jì)工作。實(shí)際應(yīng)用表明,改進(jìn)后的模型可以滿足用電信息采集系統(tǒng)權(quán)限管理要求。
用電信息采集系統(tǒng);擴(kuò)展RBAC模型;區(qū)域限制
用電信息采集系統(tǒng)是國(guó)家智能電網(wǎng)的重要組成部分,系統(tǒng)安全很重要[1-2]。必須設(shè)計(jì)一套高效、安全的訪問控制模型,以保障系統(tǒng)使用安全。訪問控制作為國(guó)際化標(biāo)準(zhǔn)組織定義的五項(xiàng)標(biāo)準(zhǔn)安全服務(wù)之一,是實(shí)現(xiàn)信息系統(tǒng)安全的重要機(jī)制。傳統(tǒng)的訪問控制有自主訪問控制(DAC)[3]、強(qiáng)制訪問控制(MAC)[4]、基于角色的訪問控制[5]。自主訪問控制、強(qiáng)制訪問控制雖然解決了一些問題,但都存在一些缺陷。如DAC在安全性能方面顯得力不從心,MAC在安全性能方面較好,但控制過于死板和嚴(yán)苛,不適用于通用大型系統(tǒng)?;诮巧脑L問控制依據(jù)角色決定訪問權(quán)限,依據(jù)角色的權(quán)限來拒絕越權(quán)訪問,相比MAC、DAC更加靈活和易于擴(kuò)展,是大多數(shù)系統(tǒng)安全策略首選。但在用戶數(shù)量多、用戶變化頻繁的OA系統(tǒng)中,管理員職責(zé)重大。有學(xué)者在傳統(tǒng)RBAC模型基礎(chǔ)上引入了用戶組概念[6]。在某些需要協(xié)同工作的系統(tǒng)中,用戶的權(quán)限是動(dòng)態(tài)變化的,為了解決更加細(xì)粒度的權(quán)限控制,有學(xué)者提出了基于角色和規(guī)則的訪問控制[7]和基于屬性證書的訪問控制[8],使權(quán)限控制更加靈活。然而,因?yàn)榇嬖诘赜蚬芾硐拗?,用電信息采集系統(tǒng)中角色和地域直接關(guān)聯(lián),例如隸屬站點(diǎn)Z1的用戶不能管理站點(diǎn)Z2的設(shè)備。傳統(tǒng)的 RBAC模型只有角色、用戶二元組,無法確定某一用戶的具體權(quán)限,并且沒有審計(jì)功能,當(dāng)系統(tǒng)出現(xiàn)安全問題時(shí)無法追蹤定位用戶以及操作。針對(duì)上述問題,本文在RBAC基礎(chǔ)上結(jié)合用電信息采集系統(tǒng)實(shí)際需求,設(shè)計(jì)了一種改進(jìn)的RBAC模型。該模型引入了區(qū)域概念,使得區(qū)域、角色、用戶這個(gè)三元組可以唯一確定某一用戶的具體權(quán)限,并引入審計(jì)功能,以滿足系統(tǒng)的安全需求。
RBAC模型是一種把權(quán)限(Permission)與角色(Role)關(guān)聯(lián)在一起的控制模型,用戶根據(jù)其隸屬的角色而成為該角色成員,從而獲得該角色所擁有的權(quán)限。RBAC模型分為4種類型,見表1。
表1 RBAC類型
RBAC96是一個(gè)完全融合以上4種RBAC思想的模型,如圖1所示。RBAC模型共有用戶、角色、權(quán)限、會(huì)話、約束5大組成部分,其中用戶、角色、權(quán)限是核心,角色是用戶和權(quán)限之間建立關(guān)系的連接者,用戶通過角色關(guān)聯(lián)權(quán)限,使用戶實(shí)體具有某種許可才能執(zhí)行某些操作。約束依附于RBAC系統(tǒng)核心之上,用來表達(dá)許可被執(zhí)行的前提條件;會(huì)話是一個(gè)動(dòng)態(tài)概念,用戶在身份認(rèn)證之后與系統(tǒng)建立會(huì)話。
圖1 RBAC96模型
用電信息采集系統(tǒng)通過對(duì)配電網(wǎng)中變壓器和終端用戶的用電數(shù)據(jù)進(jìn)行采集和分析,實(shí)現(xiàn)用電信息的自動(dòng)采集、計(jì)量異常監(jiān)測(cè)、電能質(zhì)量監(jiān)測(cè)、用電分析和管理、智能電力計(jì)量設(shè)備狀態(tài)評(píng)價(jià)、用電信息發(fā)布等功能,增加用電系統(tǒng)的信息化、集約化以及管理方式的精細(xì)化。系統(tǒng)采用J2EE體系,使用JAVA+JSP+Struts2+Spring+Hibernate+MySQL經(jīng)典組合方式實(shí)現(xiàn),由基礎(chǔ)信息、故障告警、采集數(shù)據(jù)、在線監(jiān)測(cè)和狀態(tài)評(píng)價(jià)5大部分組成,權(quán)限管理歸屬于基礎(chǔ)信息管理模塊之下,系統(tǒng)功能架構(gòu)如圖2所示。
圖2 擴(kuò)展后RBAC模型架構(gòu)
用電信息采集系統(tǒng)模塊較多、各模塊具體操作權(quán)限分類也較復(fù)雜,系統(tǒng)角色分為站點(diǎn)級(jí)、市級(jí)、省級(jí),站點(diǎn)級(jí)只能管理其轄屬的站點(diǎn)內(nèi)資源。
3.1 原RBAC模型缺陷
盡管RBAC模型有眾多優(yōu)點(diǎn),但是應(yīng)用到具有分布式管理的信息系統(tǒng)時(shí),可能會(huì)出現(xiàn)以下缺陷:
(1) 角色、用戶二元組無法唯一,因?yàn)榇嬖趨^(qū)域限制,沒有把區(qū)域考慮到權(quán)限管理中。
(2) 未對(duì)系統(tǒng)用戶和非法用戶行為進(jìn)行記錄和審查,導(dǎo)致發(fā)生系統(tǒng)安全事故時(shí),無法快速定位責(zé)任。
針對(duì)傳統(tǒng)RBAC模型在用電信息采集系統(tǒng)應(yīng)用中的缺陷,本文對(duì)傳統(tǒng)RBAC模型進(jìn)行了改進(jìn)優(yōu)化,提出了改進(jìn)的RBAC模型,如圖3所示。
圖3 改進(jìn)的RBAC模型
3.2 區(qū)域限制
用電信息采集系統(tǒng)是分布式部署和分布式管理,同一層級(jí)的角色操作權(quán)限是一樣的,但可操作的資源對(duì)象不同,而資源對(duì)象具有地域位置信息,所以角色能操作的資源需要根據(jù)各自角色所歸屬的區(qū)域決定。據(jù)此,引入?yún)^(qū)域限制概念,在角色管理上增加區(qū)域字段,用以標(biāo)識(shí)不同角色所歸屬的地域。
3.3 審計(jì)功能
審計(jì)是獨(dú)立于用戶的常規(guī)業(yè)務(wù)操作,對(duì)系統(tǒng)用戶行為起監(jiān)督和評(píng)價(jià)職能,記錄用戶的業(yè)務(wù)訪問和業(yè)務(wù)操作流程,對(duì)用戶操作進(jìn)行追蹤。如果出現(xiàn)越限和嘗試越限操作,將詳細(xì)記錄軌跡,以便進(jìn)行審查時(shí)提供詳細(xì)資料。在改進(jìn)的RBAC模型中,審計(jì)功能作為一個(gè)獨(dú)立模塊由專人使用,常規(guī)用戶包括管理員是無權(quán)查看和操作該模塊的,這樣就增加了記錄的安全性和可靠性。有了審計(jì)模塊,入侵者雖然也可以獲得管理員權(quán)限,但他的操作會(huì)全程記錄下來,留下入侵證據(jù),為后續(xù)事故處理和責(zé)任追尋提供參考。
用電信息采集系統(tǒng)用戶及權(quán)限信息均保存在系統(tǒng)數(shù)據(jù)庫的8張表中,分別是用戶表、角色表、區(qū)域表、用戶與角色關(guān)聯(lián)表、權(quán)限表、菜單模塊組表、日常日志審計(jì)表、非法日志審計(jì)表,各表詳細(xì)設(shè)計(jì)及關(guān)系如圖4所示。
改進(jìn)的RBAC模型系統(tǒng)分為用戶管理、角色管理、區(qū)域管理、權(quán)限管理、審計(jì)管理及訪問控制菜單,本文從用戶登錄及角色職責(zé)兩方面對(duì)該結(jié)構(gòu)進(jìn)行說明:
(1) 用戶登陸:系統(tǒng)根據(jù)用戶輸入的用戶名登錄口令進(jìn)行身份驗(yàn)證,如果通過身份認(rèn)證,則允許用戶進(jìn)入系統(tǒng)訪問,并為該用戶建立會(huì)話,保存用戶相關(guān)的上下文信息。主模塊會(huì)根據(jù)用戶的角色和區(qū)域調(diào)用權(quán)限獲取接口,從系統(tǒng)數(shù)據(jù)庫中獲取用戶權(quán)限,根據(jù)權(quán)限的不同進(jìn)行組合,并將組合后的權(quán)限加載到系統(tǒng)中,用戶可在權(quán)限范圍內(nèi)操作??刹僮鞯馁Y源對(duì)象會(huì)根據(jù)當(dāng)前用戶所擁有的角色轄屬區(qū)域進(jìn)行資源過濾,用戶只能管理自己對(duì)應(yīng)轄屬的資源。
圖4 權(quán)限管理模塊數(shù)據(jù)庫表實(shí)體關(guān)系
(2) 角色職責(zé):系統(tǒng)中的角色根據(jù)類別分為省級(jí)角色、市級(jí)角色、站點(diǎn)級(jí)角色,其中省級(jí)角色有一個(gè)初始默認(rèn)記錄為superadmin,市級(jí)角色默認(rèn)記錄為admin,各角色對(duì)應(yīng)的詳細(xì)功能如表2所示,各角色對(duì)應(yīng)的用戶權(quán)限如表3所示。
表2 角色類別及權(quán)限
本文針對(duì)傳統(tǒng)RBAC面對(duì)分布式部署和管理的不足,提出了改進(jìn)的RBAC模型,著重優(yōu)化了傳統(tǒng)模型中角色、用戶二元組無法作為用戶權(quán)限唯一標(biāo)識(shí)的缺陷,使得區(qū)域、角色、用戶三元組為權(quán)限管理提供唯一標(biāo)識(shí),滿足了RBAC模型在用電信息采集系統(tǒng)中的功能和安全需求。通過審計(jì)日志模塊,對(duì)使用者的操作進(jìn)行詳細(xì)跟蹤和記錄。改進(jìn)的RBAC模型在增加審計(jì)模塊后,增強(qiáng)了系統(tǒng)安全性。
表3 角色分類權(quán)限
[1] 郜盼盼.智能電網(wǎng)系統(tǒng)中面向用電信息安全防護(hù)的認(rèn)證加密系統(tǒng)研究[D].北京:北京郵電大學(xué),2013.
[2] 陳飛.智能電網(wǎng)信息安全交互模型及關(guān)鍵技術(shù)研究[D].北京:華北電力大學(xué),2014.
[3] 沈海波,洪帆.訪問控制模型研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2005(6):9-11.
[4] 郭瑋,茅兵,謝立.強(qiáng)制訪問控制MAC的設(shè)計(jì)及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2004(3):1-2.
[5] 劉強(qiáng),王磊,何琳.RBAC模型研究歷程中的系列問題分析[J].計(jì)算機(jī)科學(xué),2012(11):13-18.
[6] 安沛,王春玲.企業(yè)OA系統(tǒng)安全機(jī)制的研究與應(yīng)用[J].西安工程大學(xué)學(xué)報(bào), 2015(1):78-83.
[7] 芮國(guó)榮,邢桂芬.基于角色和規(guī)則的訪問控制[J].計(jì)算機(jī)應(yīng)用,2005(4):864-866.
[8] 張可翔,謝冬青,冷健.一種基于屬性證書和角色的訪問控制模型[J].微電子學(xué)與計(jì)算機(jī),2006(11):143-145.
[9] 唐金鵬,李玲琳,楊路明.面向用戶屬性的RBAC模型[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(31):2184-2186.
[10] 徐博,郭淑琴,陸敏飛.一種基于擴(kuò)展RBAC的訪問控制模型在SSL VPN系統(tǒng)中的應(yīng)用[J].浙江工業(yè)大學(xué)學(xué)報(bào),2011,39(2):177-180.
[11] 張靖康,石宇良,王海豹.?dāng)U展的RBAC權(quán)限管理模型的設(shè)計(jì)與研究[J].電子設(shè)計(jì)工程,2013,2(13):50-53.
[12] 張偉.基于角色的訊問控制模型的研究與應(yīng)用[D].青島:青島理工大學(xué), 2012.
[13] 張曉群.基于Eclipse插件技術(shù)的RBAC模型的研究與實(shí)現(xiàn)[D].西安:西安建筑科技大學(xué),2007.
[14] 林琳.基于RBAC擴(kuò)展模型的權(quán)限管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2009.
(責(zé)任編輯:杜能鋼)
李蚌蚌(1991-),男,安徽亳州人,西安工程大學(xué)計(jì)算機(jī)科學(xué)學(xué)院碩士研究生,研究方向?yàn)樾畔踩?、網(wǎng)絡(luò)信息處理。
10.11907/rjdk.162631
TP319
A
1672-7800(2017)003-0115-03