康仁偉,田 青,程劍鋒,趙顯瓊
(中國鐵道科學(xué)研究院 通信信號研究所,北京 100081)
RBAC在ATP車載設(shè)備管理信息系統(tǒng)中的應(yīng)用
康仁偉,田 青,程劍鋒,趙顯瓊
(中國鐵道科學(xué)研究院 通信信號研究所,北京 100081)
基于角色的訪問控制(RBAC)是保證信息系統(tǒng)資源安全的一種策略。本文詳細介紹了RBAC模型,并給出了其形式化定義。將RBAC模型應(yīng)用于ATP車載設(shè)備管理信息系統(tǒng),設(shè)計了該系統(tǒng)訪問控制的數(shù)據(jù)物理模型,實現(xiàn)了該信息系統(tǒng)對關(guān)鍵資源的限制訪問。該系統(tǒng)成功地投入使用,表明RBAC模型可有效實現(xiàn)信息系統(tǒng)的權(quán)限控制。
ATP;信息系統(tǒng);訪問控制
訪問控制技術(shù)作為國際化標準組織定義的5項標準安全服務(wù)之一,是實現(xiàn)管理信息系統(tǒng)安全的一項重要機制[1]。基于角色的訪問控制(RBAC, Role Based Access Control)模型是一種較新的訪問控制模型,其基本思想是:對系統(tǒng)的各種權(quán)限不是直接授予具體的用戶,而是在用戶集合與權(quán)限集合之間建立一個角色集合。每一種角色對應(yīng)一組相應(yīng)的權(quán)限。用戶通過被授予一定的角色而獲得相應(yīng)的權(quán)限。RBAC解決了具有大量用戶、數(shù)據(jù)客體和各種訪問權(quán)限的系統(tǒng)中的授權(quán)管理問題。
本文介紹RBAC模型的定義,將RBAC模型運用于ATP車載設(shè)備管理信息系統(tǒng)(ATPMIS,ATP Management Information System)中,設(shè)計該系統(tǒng)訪問控制模塊的數(shù)據(jù)模型。防止對信息越權(quán)訪問、篡改數(shù)據(jù)和信息的濫用,從而保證該系統(tǒng)安全有序地運行。
1.1 RBAC的基本思想
RBAC的核心是引入了角色的概念,它使得操作權(quán)限不是直接授予用戶而是授予角色,用戶通過角色身份獲得相應(yīng)的操作權(quán)限[2]。
簡單地說,角色授權(quán)機制是系統(tǒng)通過特定的操作將用戶和資源聯(lián)接。通過該機制,角色具有一定的權(quán)限,同時角色又分配給用戶,這樣,用戶由賦予的角色而獲得該角色具有的相應(yīng)權(quán)限。用戶與角色、角色與權(quán)限之間構(gòu)成多對多的關(guān)系。用戶進行系統(tǒng)操作的訪問控制流程如圖1所示。
圖1中,用戶通過用戶名、密碼經(jīng)過身份驗證后進入系統(tǒng)。通過角色服務(wù),獲取其角色身份;依據(jù)角色身份,獲取具體的操作權(quán)限。當用戶操作某些內(nèi)置了權(quán)限的功能時,需要進行用戶訪問權(quán)限判定,以確認用戶是否具有這些操作權(quán)限。
圖1 訪問控制流程
1.2 RBAC模型
美國國家標準和技術(shù)研究所(NIST)定義的RBAC96模型[3~4]包括RBAC0、RBAC1、RBAC2、RBAC3。RBAC0定義了RBAC模型的基本概念,滿足RBAC訪問控制的最低需求。RBAC1和RBAC2在RBAC0基礎(chǔ)上,分別引入了角色繼承和約束的概念。RBAC3包括RBAC1和RBAC2模型。
RBAC0是基礎(chǔ),它由4個基本要素構(gòu)成:用戶(U)、角色(R)、會話(S)和授權(quán)(P)。
(1) U表示用戶集,R表示角色集, S表示會話集,P表示權(quán)限集。
(2)UA?U?R,是從用戶集到角色集的多對多映射,表示用戶被賦予的角色。
(3)PA?P?R,是從權(quán)限集到角色集的多對多映射,表示角色被賦予的權(quán)限。
其中,roles: S→2R,是會話S到角色集R的映射。User: S→U,是會話S到用戶U的映射。
ATP車載設(shè)備管理信息系統(tǒng)中,角色之間具有明顯的層次性。RBAC模型用偏序(≥)描述這一層次關(guān)系。形式化表示為:
實際上,角色間的偏序關(guān)系體現(xiàn)為角色間的繼承關(guān)系。r1≥r2表示r1繼承自r2,其中r1為高級角色,r2為低級角色。通過繼承,r2的所有權(quán)限同時也被r1所擁有,r1的所有用戶同時也是r2的用戶。這種偏序關(guān)系滿足如下性質(zhì):
傳遞性:
約束規(guī)定了角色被賦予用戶,或操作權(quán)限被賦予角色時,以及用戶在某一時刻激活一個角色時所應(yīng)遵循的強制性規(guī)則。其中,職責(zé)分離是其中的一種約束。
職責(zé)分離約束是指不允許一個用戶同時擁有沖突角色集合中的兩個或多個角色,又分為動態(tài)職責(zé)分離和靜態(tài)職責(zé)分離。
本文重點介紹靜態(tài)職責(zé)分離(SSD,Static Separation of Duty)[1]。其定義為:SSD?(2R? N),表示若干二元對(rs,n)的集合。其中rs?R,n∈N且n>1。SSD關(guān)系中,每一個(rs,n)表示為:用戶不能同時被賦予rs中的n個或n個以上的角色。
由此,在RBAC0模型的基礎(chǔ)上,添加角色分層和約束的概念,得到RBAC3的模型如圖2所示。
圖2 RBAC模型
ATP車載設(shè)備管理信息系統(tǒng)是對列車車載設(shè)備的運用和維護進行管理的信息系統(tǒng)。訪問控制是用戶通過賬號、密碼進行身份認證之后保護該系統(tǒng)資源安全的又一道屏障。將RBAC模型運用至該系統(tǒng),可以限制對關(guān)鍵資源的訪問,防止非法用戶的侵入或者因合法用戶的不慎操作所造成的破壞。
2.1 系統(tǒng)需求
ATP車載設(shè)備管理信息系統(tǒng)通過權(quán)限管理模塊實現(xiàn)資源的訪問控制。具體包括鐵路總公司、鐵路局級數(shù)據(jù)分發(fā)權(quán)限、終端數(shù)據(jù)查詢權(quán)限、基礎(chǔ)數(shù)據(jù)維護權(quán)限和系統(tǒng)操作權(quán)限。
其中鐵路總公司、鐵路局級數(shù)據(jù)分發(fā)權(quán)限主要包括委托維修數(shù)據(jù)分發(fā)、跨局運行故障上報和動車組轉(zhuǎn)配屬數(shù)據(jù)分發(fā);終端數(shù)據(jù)查詢權(quán)限根據(jù)動車組配屬信息控制各個終端數(shù)據(jù)訪問權(quán)限;基礎(chǔ)數(shù)據(jù)維護權(quán)限包括基礎(chǔ)數(shù)據(jù)導(dǎo)入、修訂和刪除等維護工作;系統(tǒng)操作權(quán)限包括應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器和系統(tǒng)軟件的操作權(quán)限。
系統(tǒng)分配給每個用戶的權(quán)限應(yīng)該是該用戶完成其職能所具有的最小權(quán)限的集合。系統(tǒng)不應(yīng)該給予用戶超過其執(zhí)行任務(wù)所需權(quán)限之外的任何權(quán)限。
2.2 訪問控制的實現(xiàn)
ATP車載設(shè)備管理信息系統(tǒng)訪問控制的設(shè)計流程如下:(1)設(shè)計用戶、角色和權(quán)限之間的基本關(guān)聯(lián);(2)實現(xiàn)角色分層和職責(zé)分離的需求;(3)設(shè)計訪問控制的數(shù)據(jù)物理模型。
2.2.1 基本設(shè)計
(1)設(shè)角色集合R={管理員,技術(shù)專職,工長,…}。
(3)設(shè)定函數(shù)assigned_permissions(r:R):返回被直接指派到一個角色的權(quán)限的集合。形式化表示為:
(5)設(shè)定函數(shù)avail_session_perm(s:S):返回在一個會話活動中當前用戶可用權(quán)限的集合形式化表示為:
2.2.2 角色分層
ATP車載設(shè)備管理信息系統(tǒng)分B/S(Browser Server)架構(gòu)和C/S(Client Server)架構(gòu),前者供鐵路總公司、鐵路局管理層使用,后者由電務(wù)段、車間工區(qū)的作業(yè)人員使用。兩者的用戶相互獨立,互不通用。用戶與權(quán)限之間通過角色間接關(guān)聯(lián),角色通常和“崗位”對應(yīng),因而,角色表現(xiàn)出明顯的層次性。
角色之間的層次關(guān)系形式化表示為:
設(shè)定函數(shù)authorized_ permissions (r:R):表示層次性RBAC中角色到權(quán)限的映射,形式化表示為:
通過以上函數(shù),可以實現(xiàn)ATP管理信息系統(tǒng)中分層角色之間的繼承關(guān)系,滿足該系統(tǒng)角色分層的實際需要。
2.2.3 職責(zé)分離
ATP管理信息系統(tǒng)中,涉及行車安全和故障責(zé)任的內(nèi)容,比如運行故障等信息,其填報與刪除應(yīng)該嚴格分離,同一個用戶不允許同時擁有填報和刪除兩個權(quán)限。ATPMIS采用SSD策略限制用戶獲得相互沖突的權(quán)限。SSD定義了一個角色集,它們在用戶指派關(guān)系上互斥,即如果一個用戶獲得了一個角色,那么該用戶就不能獲得與這個角色相排斥的其它角色。
前文已經(jīng)提到,ATPMIS權(quán)限管理采用角色分層。在角色分層的前提下再使用SSD約束時,應(yīng)保證用戶繼承不會破壞SSD策略。因而,角色分層定義在包括SSD約束的繼承關(guān)系上,SSD的用戶是基于角色的擁有授權(quán)的用戶(authorized users),而不是直接指派的用戶(assigned users)。形式化表示為:
非繼承環(huán)境下靜態(tài)職責(zé)分離的形式化定義如下:
2.2.4 數(shù)據(jù)物理模型
通過以上分析,建立圖3所示ATP車載設(shè)備管理信息系統(tǒng)權(quán)限控制數(shù)據(jù)物理模型。明確用戶、角色、權(quán)限之間復(fù)雜而又明晰的關(guān)系。按照該數(shù)據(jù)模型,從數(shù)據(jù)層刻畫訪問控制間的關(guān)聯(lián)關(guān)系。
圖3 ATPMIS權(quán)限控制數(shù)據(jù)物理模型
ATP車載設(shè)備管理信息系統(tǒng)的權(quán)限表現(xiàn)為ATP的數(shù)量和用戶所具有的角色權(quán)限。以該系統(tǒng)中列車運行故障管理模塊為例,表1列出了故障模塊的功能以及哪些角色可以操作這些功能。
表1 ATPMIS運行故障管理模塊的操作權(quán)限
此外,根據(jù)鐵路現(xiàn)場實際,表2列出了ATP的數(shù)量以及用戶可以操作的權(quán)限。表明任何一個用戶都有非常嚴格的操作權(quán)限,同時,說明圖3所示物理模型成功地解決了ATPMIS的訪問控制問題。
表2 ATP數(shù)量和權(quán)限個數(shù)統(tǒng)計
本文介紹了RBAC模型,并將該模型運用于ATP車載設(shè)備管理信息系統(tǒng)中,詳細設(shè)計了該系統(tǒng)訪問用戶、角色和權(quán)限之間的相互關(guān)聯(lián)關(guān)系、角色繼承關(guān)系以及職責(zé)分離關(guān)系,最后得出該系統(tǒng)訪問控制的數(shù)據(jù)模型。表明RBAC模型可有效實現(xiàn)信息系統(tǒng)的權(quán)限管理。
[1] 馬水平.基于角色的安全訪問控制機制的研究[D].青島:中國海洋大學(xué),2005.
[2] 洪 帆. 訪問控制概論[M].武漢:華中科技大學(xué)出版社,2010.
[3] 劉 強. 基于角色的訪問控制技術(shù)[M].廣州:華南理工大學(xué)出版社,2010.
[4] 朱亞寧.分布式環(huán)境下的權(quán)限控制系統(tǒng)的研究與實現(xiàn)[D].大連:大連理工大學(xué),2007.
責(zé)任編輯 方 圓
Application of RBAC in Management Information System of ATP on board equipment
KANG Renwei, TIAN Qing, CHENG Jianfeng, ZHAO Xianqiong
( Signal & Communication Research Institute, China Academy of Railway Sciences, Beijing 100081, China )
Role-Based Access Control (RBAC) was a means to ensure the security of information system resources. This paper described the RBAC model and given its formal def i nition. RBAC model was applied to ATP Management Information System, and physical data model of access control was designed. Finally it was implemented restrict access to the critical resources of the System. The System was used successfully, and indicated that RBAC model could effectively control access of Information System.
ATP; Information System; RBAC
U284∶TP39
A
1005-8451(2015)04-0019-04
2014-09-18
中國鐵路總公司科技研究開發(fā)計劃課題(2014X008-H);中國鐵道科學(xué)研究院基金課題(2013YJ046)。
康仁偉,研究實習(xí)員;田 青,工程師。