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