李蚌蚌
(西安工程大學 計算機科學學院,陜西 西安 710048)
基于RBAC擴展的權限模型在用電信息采集系統中的應用
李蚌蚌
(西安工程大學 計算機科學學院,陜西 西安 710048)
傳統的RBAC(Role-Based Access Control - 基于角色的訪問控制)模型在權限分配管理方面無法滿足用電信息采集系統區域限制要求。結合用電信息采集系統限制性因素,提出一種改進擴展的RBAC模型。該模型摒棄了傳統RBAC模型中以角色、用戶二元組作為唯一標識權限的方式,調整為以區域、角色、用戶三元組作為權限唯一標識,解決了區域限制問題;引入審計機制,記錄用戶操作,便于后期審計工作。實際應用表明,改進后的模型可以滿足用電信息采集系統權限管理要求。
用電信息采集系統;擴展RBAC模型;區域限制
用電信息采集系統是國家智能電網的重要組成部分,系統安全很重要[1-2]。必須設計一套高效、安全的訪問控制模型,以保障系統使用安全。訪問控制作為國際化標準組織定義的五項標準安全服務之一,是實現信息系統安全的重要機制。傳統的訪問控制有自主訪問控制(DAC)[3]、強制訪問控制(MAC)[4]、基于角色的訪問控制[5]。自主訪問控制、強制訪問控制雖然解決了一些問題,但都存在一些缺陷。如DAC在安全性能方面顯得力不從心,MAC在安全性能方面較好,但控制過于死板和嚴苛,不適用于通用大型系統。基于角色的訪問控制依據角色決定訪問權限,依據角色的權限來拒絕越權訪問,相比MAC、DAC更加靈活和易于擴展,是大多數系統安全策略首選。但在用戶數量多、用戶變化頻繁的OA系統中,管理員職責重大。有學者在傳統RBAC模型基礎上引入了用戶組概念[6]。在某些需要協同工作的系統中,用戶的權限是動態變化的,為了解決更加細粒度的權限控制,有學者提出了基于角色和規則的訪問控制[7]和基于屬性證書的訪問控制[8],使權限控制更加靈活。然而,因為存在地域管理限制,用電信息采集系統中角色和地域直接關聯,例如隸屬站點Z1的用戶不能管理站點Z2的設備。傳統的 RBAC模型只有角色、用戶二元組,無法確定某一用戶的具體權限,并且沒有審計功能,當系統出現安全問題時無法追蹤定位用戶以及操作。針對上述問題,本文在RBAC基礎上結合用電信息采集系統實際需求,設計了一種改進的RBAC模型。該模型引入了區域概念,使得區域、角色、用戶這個三元組可以唯一確定某一用戶的具體權限,并引入審計功能,以滿足系統的安全需求。
RBAC模型是一種把權限(Permission)與角色(Role)關聯在一起的控制模型,用戶根據其隸屬的角色而成為該角色成員,從而獲得該角色所擁有的權限。RBAC模型分為4種類型,見表1。

表1 RBAC類型
RBAC96是一個完全融合以上4種RBAC思想的模型,如圖1所示。RBAC模型共有用戶、角色、權限、會話、約束5大組成部分,其中用戶、角色、權限是核心,角色是用戶和權限之間建立關系的連接者,用戶通過角色關聯權限,使用戶實體具有某種許可才能執行某些操作。約束依附于RBAC系統核心之上,用來表達許可被執行的前提條件;會話是一個動態概念,用戶在身份認證之后與系統建立會話。

圖1 RBAC96模型
用電信息采集系統通過對配電網中變壓器和終端用戶的用電數據進行采集和分析,實現用電信息的自動采集、計量異常監測、電能質量監測、用電分析和管理、智能電力計量設備狀態評價、用電信息發布等功能,增加用電系統的信息化、集約化以及管理方式的精細化。系統采用J2EE體系,使用JAVA+JSP+Struts2+Spring+Hibernate+MySQL經典組合方式實現,由基礎信息、故障告警、采集數據、在線監測和狀態評價5大部分組成,權限管理歸屬于基礎信息管理模塊之下,系統功能架構如圖2所示。

圖2 擴展后RBAC模型架構
用電信息采集系統模塊較多、各模塊具體操作權限分類也較復雜,系統角色分為站點級、市級、省級,站點級只能管理其轄屬的站點內資源。
3.1 原RBAC模型缺陷
盡管RBAC模型有眾多優點,但是應用到具有分布式管理的信息系統時,可能會出現以下缺陷:
(1) 角色、用戶二元組無法唯一,因為存在區域限制,沒有把區域考慮到權限管理中。
(2) 未對系統用戶和非法用戶行為進行記錄和審查,導致發生系統安全事故時,無法快速定位責任。
針對傳統RBAC模型在用電信息采集系統應用中的缺陷,本文對傳統RBAC模型進行了改進優化,提出了改進的RBAC模型,如圖3所示。

圖3 改進的RBAC模型
3.2 區域限制
用電信息采集系統是分布式部署和分布式管理,同一層級的角色操作權限是一樣的,但可操作的資源對象不同,而資源對象具有地域位置信息,所以角色能操作的資源需要根據各自角色所歸屬的區域決定。據此,引入區域限制概念,在角色管理上增加區域字段,用以標識不同角色所歸屬的地域。
3.3 審計功能
審計是獨立于用戶的常規業務操作,對系統用戶行為起監督和評價職能,記錄用戶的業務訪問和業務操作流程,對用戶操作進行追蹤。如果出現越限和嘗試越限操作,將詳細記錄軌跡,以便進行審查時提供詳細資料。在改進的RBAC模型中,審計功能作為一個獨立模塊由專人使用,常規用戶包括管理員是無權查看和操作該模塊的,這樣就增加了記錄的安全性和可靠性。有了審計模塊,入侵者雖然也可以獲得管理員權限,但他的操作會全程記錄下來,留下入侵證據,為后續事故處理和責任追尋提供參考。
用電信息采集系統用戶及權限信息均保存在系統數據庫的8張表中,分別是用戶表、角色表、區域表、用戶與角色關聯表、權限表、菜單模塊組表、日常日志審計表、非法日志審計表,各表詳細設計及關系如圖4所示。
改進的RBAC模型系統分為用戶管理、角色管理、區域管理、權限管理、審計管理及訪問控制菜單,本文從用戶登錄及角色職責兩方面對該結構進行說明:
(1) 用戶登陸:系統根據用戶輸入的用戶名登錄口令進行身份驗證,如果通過身份認證,則允許用戶進入系統訪問,并為該用戶建立會話,保存用戶相關的上下文信息。主模塊會根據用戶的角色和區域調用權限獲取接口,從系統數據庫中獲取用戶權限,根據權限的不同進行組合,并將組合后的權限加載到系統中,用戶可在權限范圍內操作。可操作的資源對象會根據當前用戶所擁有的角色轄屬區域進行資源過濾,用戶只能管理自己對應轄屬的資源。

圖4 權限管理模塊數據庫表實體關系
(2) 角色職責:系統中的角色根據類別分為省級角色、市級角色、站點級角色,其中省級角色有一個初始默認記錄為superadmin,市級角色默認記錄為admin,各角色對應的詳細功能如表2所示,各角色對應的用戶權限如表3所示。

表2 角色類別及權限
本文針對傳統RBAC面對分布式部署和管理的不足,提出了改進的RBAC模型,著重優化了傳統模型中角色、用戶二元組無法作為用戶權限唯一標識的缺陷,使得區域、角色、用戶三元組為權限管理提供唯一標識,滿足了RBAC模型在用電信息采集系統中的功能和安全需求。通過審計日志模塊,對使用者的操作進行詳細跟蹤和記錄。改進的RBAC模型在增加審計模塊后,增強了系統安全性。

表3 角色分類權限
[1] 郜盼盼.智能電網系統中面向用電信息安全防護的認證加密系統研究[D].北京:北京郵電大學,2013.
[2] 陳飛.智能電網信息安全交互模型及關鍵技術研究[D].北京:華北電力大學,2014.
[3] 沈海波,洪帆.訪問控制模型研究綜述[J].計算機應用研究,2005(6):9-11.
[4] 郭瑋,茅兵,謝立.強制訪問控制MAC的設計及實現[J].計算機應用與軟件,2004(3):1-2.
[5] 劉強,王磊,何琳.RBAC模型研究歷程中的系列問題分析[J].計算機科學,2012(11):13-18.
[6] 安沛,王春玲.企業OA系統安全機制的研究與應用[J].西安工程大學學報, 2015(1):78-83.
[7] 芮國榮,邢桂芬.基于角色和規則的訪問控制[J].計算機應用,2005(4):864-866.
[8] 張可翔,謝冬青,冷健.一種基于屬性證書和角色的訪問控制模型[J].微電子學與計算機,2006(11):143-145.
[9] 唐金鵬,李玲琳,楊路明.面向用戶屬性的RBAC模型[J].計算機工程與設計,2010,31(31):2184-2186.
[10] 徐博,郭淑琴,陸敏飛.一種基于擴展RBAC的訪問控制模型在SSL VPN系統中的應用[J].浙江工業大學學報,2011,39(2):177-180.
[11] 張靖康,石宇良,王海豹.擴展的RBAC權限管理模型的設計與研究[J].電子設計工程,2013,2(13):50-53.
[12] 張偉.基于角色的訊問控制模型的研究與應用[D].青島:青島理工大學, 2012.
[13] 張曉群.基于Eclipse插件技術的RBAC模型的研究與實現[D].西安:西安建筑科技大學,2007.
[14] 林琳.基于RBAC擴展模型的權限管理系統的設計與實現[D].成都:電子科技大學,2009.
(責任編輯:杜能鋼)
李蚌蚌(1991-),男,安徽亳州人,西安工程大學計算機科學學院碩士研究生,研究方向為信息安全、網絡信息處理。
10.11907/rjdk.162631
TP319
A
1672-7800(2017)003-0115-03