許 淳,王文發(fā),李竹林,劉 芬
(延安大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,陜西 延安716000)
一種基于角色的多約束動態(tài)權(quán)限管理模型研究
許 淳,王文發(fā),李竹林,劉 芬
(延安大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,陜西 延安716000)
在基于角色的訪問控制模型(RBAC)基礎(chǔ)上,引入訪問終端、網(wǎng)絡(luò)環(huán)境和接入方式等外部因素,提出了基于角色的多約束動態(tài)權(quán)限管理模型,依據(jù)外部因素的安全程度和資源可能帶來安全風(fēng)險分別對外部因素和資源進(jìn)行量化,實現(xiàn)了用戶、角色、資源和各種外部因素的統(tǒng)一。利用該模型可實現(xiàn)不同外部條件下,用戶權(quán)限的動態(tài)管理,從而提高系統(tǒng)的靈活性和安全性。
信息管理系統(tǒng);RBAC模型;角色;動態(tài)權(quán)限管理;外部因素
隨著信息化程度的不斷提高,出現(xiàn)了各種信息管理系統(tǒng)[1-3],用于實現(xiàn)數(shù)據(jù)的電子化和數(shù)字化管理,促進(jìn)管理工作的規(guī)范化,甚至通過系統(tǒng)中數(shù)據(jù)的分析為各級管理人員提供決策支持,進(jìn)而提高工作效率。從總體架構(gòu)上系統(tǒng)大體可分為單機(jī)版和網(wǎng)絡(luò)版兩種。其中,前者屬于早期的系統(tǒng)架構(gòu);后者是目前主流的系統(tǒng)架構(gòu),它可以更好地實現(xiàn)數(shù)據(jù)的共享及遠(yuǎn)程管理,但也給數(shù)據(jù)的安全性帶來了挑戰(zhàn)。此外,新型終端設(shè)備(如手機(jī)和平板等)的出現(xiàn)及無線技術(shù)的應(yīng)用,突破了傳統(tǒng)PC機(jī)終端的有線接入,終端及其接入方式的多樣化一定程度上降低了數(shù)據(jù)的安全性??梢?,安全性是任何信息管理系統(tǒng)開發(fā)過程中必須解決的一個重要問題。對于系統(tǒng)安全性,通常是在設(shè)計和實現(xiàn)過程中采取有效措施加以防范,如將用戶的操作權(quán)限進(jìn)行詳細(xì)劃分并嚴(yán)格控制,避免重要數(shù)據(jù)或敏感數(shù)據(jù)的非法篡改或泄露,從而提高數(shù)據(jù)的安全性。
針對終端類型、接入方式等外部因素的多樣性,文中以RBAC(Role Based Access Control,RBAC)模型為基礎(chǔ),提出一種基于角色的多約束動態(tài)權(quán)限管理模型。
基于角色訪問控制模型最早由Ferraiolo和 Kuhn提出[4],目前出現(xiàn)了多種基于角色訪問控制模型的擴(kuò)展模型[5-8]。該模型主要涉及用戶、角色和權(quán)限3部分,通過用戶與角色之間、角色與權(quán)限之間分別建立多對多的對應(yīng)關(guān)系,實現(xiàn)用戶與權(quán)限之間的多對多關(guān)系??梢?,角色是模型的核心,是用戶(訪問主體)和權(quán)限(受控對象)之間的橋梁。
該模型的大體操作過程:先建立合適的角色,再對每個角色授權(quán),最后為用戶賦予一定的角色。這樣,用戶就具有與其角色所對應(yīng)的權(quán)限。其基本模型如圖1所示。
圖1 RBAC基本模型圖
由上述可知,RBAC模型主要是從訪問的主體出發(fā),按照一定的規(guī)則對其進(jìn)行分類,形成不同的角色并對其設(shè)置相應(yīng)的訪問權(quán)限。這種簡單地從主體出發(fā),僅考慮主體的角色,并不能有效提高系統(tǒng)的安全性。因為角色是相對固定的,不能隨著訪問系統(tǒng)的終端、系統(tǒng)接入方式、網(wǎng)絡(luò)環(huán)境等的變化而變化。
2.1基本思想
一般地,外部環(huán)境通常會給系統(tǒng)帶來一定的安全威脅,合理考慮外部因素對系統(tǒng)的影響是必要的。權(quán)限最終表現(xiàn)為用戶可使用的資源,資源有其敏感性,資源越敏感,安全風(fēng)險就越大。因此,可將外部因素統(tǒng)一描述為影響系統(tǒng)安全的程度,并與資源的敏感度聯(lián)系起來,形成一種基于角色的多約束動態(tài)權(quán)限管理模型。
該模型以RBAC模型為基礎(chǔ),對系統(tǒng)的資源的敏感度進(jìn)行量化,通過評估外部環(huán)境可能帶來的安全威脅,過濾該環(huán)境下系統(tǒng)中較敏感數(shù)據(jù)的操作權(quán)限,從而一定程度上保證數(shù)據(jù)的安全性,其模型如圖2所示。
圖2 基于角色的多約束動態(tài)權(quán)限管理模型
上述模型中,用戶最終權(quán)限大體可分解為兩方面任務(wù):由角色確定用戶的初始權(quán)限;由外部環(huán)境確定高敏感資源所對應(yīng)的權(quán)限。其中,前者主要以系統(tǒng)需求分析為基礎(chǔ),分別創(chuàng)建用戶、角色和資源以及它們之間的對應(yīng)關(guān)系,無需計算即可間接獲取用戶的權(quán)限;后者需要由外部因素計算出的資源敏感度閾值來確定。
2.2模型描述
下面給出這種基于角色的多約束動態(tài)權(quán)限管理模型的形式化描述。首先給出一些的符號說明,具體如下:
u:表示某個特定的用戶;
U:表示系統(tǒng)所有的訪問主體,即用戶的集合;
r:表示某個特定的角色;
R:表示訪問主體所屬類別的集合,即角色的集合;
s:表示某個特定被訪問資源(或?qū)ο螅?/p>
S:表示系統(tǒng)中所有資源的集合;
n:表示外部因素的個數(shù);
wi:表示第i個的外部因素的權(quán)值;
vi:表示第i個外部因素的取值;
Max(vi):表示第i個外部因素的最大取值;
為了描述方便,這里引入兩個多值函數(shù)和一個單值函數(shù),具體如下:
r=g(u)g表示用戶u所對應(yīng)的角色r
s=f(r)f表示角色r所對應(yīng)的資源s
l=h(s)h表示資源s所的敏感值l
根據(jù)模型的基本思想,權(quán)限的管理可以看作是對資源的管理,即不同角色的用戶在各種外部因素作用下所能獲取的所有資源的集合S",具體如下式所示。
2.3模型實現(xiàn)
但當(dāng)區(qū)塊鏈技術(shù)逐步“墮入”商業(yè)世界時,去中心化的信仰正在逐步淪喪,架構(gòu)開始走向了集中。比如區(qū)塊鏈的企業(yè)操作系統(tǒng)(EOS)項目,就設(shè)計了21個中心節(jié)點。事實上,如果以最典型的區(qū)塊鏈應(yīng)用,比特幣和以太坊等為例做觀察,就會發(fā)現(xiàn)已經(jīng)形成了3個中心:代碼中心、算力中心和財富中心。
依據(jù)模型的基本思想,其實現(xiàn)過程為:1)獲取用戶激活角色所對應(yīng)的系統(tǒng)權(quán)限;2)收集系統(tǒng)的外部環(huán)境并確定外部因素;3)計算外部因素作用下資源敏感度閾值;4)從1)中所確定的權(quán)限中過濾大于資源敏感度閾值的所有權(quán)限,形成用戶的最終權(quán)限。
下面以訪問終端、網(wǎng)絡(luò)環(huán)境、接入方式等3種外部因素為例,給出模型的詳細(xì)實現(xiàn)過程,具體如下:
1)確定資源等級和分值,如A-5,B-4,C-3,D-2,E-1,F(xiàn)-0,并根據(jù)其敏感程度打分,分值越大表明資源越敏感、破壞性越大;
2)創(chuàng)建用戶和角色,為角色分配資源,為用戶分配角色;
3)確定各個外部因素,并根據(jù)其安全程度及可能的取值分別確定權(quán)重、取值范圍和取值。假設(shè)某個系統(tǒng)可能的外部因素及其取值范圍、權(quán)重如表1所示。
表1 外部因素的取值范圍及其權(quán)重
(內(nèi)網(wǎng),有線,PC機(jī)):5*(0.6*(2/2)+0.3*(2/2)+0.1*(3/3))=5
(內(nèi)網(wǎng),無線,平板):5*(0.6*(2/2)+0.3*(1/2)+0.1*(2/3))=4
(外網(wǎng),無線,平板):5*(0.6*(1/2)+0.3*(1/2)+0.1*(2/3))=2
5)獲取由用戶所屬角色確定的資源,并從中去除值大于L′的資源項。假設(shè)某個用戶同時擁有A級、B級、C級、D級、E級所有級別的部分資源,由4)計算可知,第一種方式是相對最安全的方式,最終權(quán)限不受外部因素的影響;第二種情況下,該用戶將不具有A級和B級資源的權(quán)限,第三種情況下,該用戶僅具有D級和E級資源的權(quán)限。
2.4模型的應(yīng)用
分析上述模型,模型應(yīng)用中將主要涉及用戶、角色、系統(tǒng)資源、外部因素配置等4類基本信息的管理、系統(tǒng)外部環(huán)境采集模塊以及最終權(quán)限的生成模塊等的實現(xiàn)。其中,用戶、角色和權(quán)限及其相互關(guān)系可以借助數(shù)據(jù)庫技術(shù)加以實現(xiàn);系統(tǒng)外部環(huán)境采集模塊以及最終權(quán)限的生成模塊需要通過應(yīng)用程序代碼加以實現(xiàn)。因此下面將從底層數(shù)據(jù)庫設(shè)計和應(yīng)用程序兩個方面加以敘述。
2.4.1底層數(shù)據(jù)庫設(shè)計
根據(jù)模型的要求,必須存儲的信息主要包括:用戶(用戶編號、用戶姓名、密碼)、角色(角色編號、角色名稱)、資源(資源編號、資源名稱、資源對應(yīng)的URL、資源的層級、上層資源編號、資源敏感閥值)、外部因素配置(編號、因素名稱、所屬類別、取值范圍、權(quán)重)等4個實體信息。此外,還需兩個關(guān)系表:用戶-角色(編號、用戶編號、角色編號)、角色-資源(編號、角色編號,資源編號),分別用于實現(xiàn)用戶和角色的多對多聯(lián)系,角色與資源的多對多聯(lián)系。
限于篇幅且考慮到模型的通用性和關(guān)系型數(shù)據(jù)庫的主流地位,此處以關(guān)系型數(shù)據(jù)庫為例給出相關(guān)的表設(shè)計及其它們之間的聯(lián)系,具體設(shè)計如圖3所示。
圖3 數(shù)據(jù)庫表設(shè)計
2.4.2關(guān)鍵的功能模塊
在應(yīng)用程序方面,主要是外部環(huán)境信息的采集、相關(guān)基礎(chǔ)信息的管理以及最終權(quán)限的生成。其中,外部環(huán)境信息的采集和最終權(quán)限的生成是模型實現(xiàn)的關(guān)鍵,下面將分別給出它們的實現(xiàn)流程。
1)外部環(huán)境采集模塊
該模塊主要實現(xiàn)網(wǎng)絡(luò)環(huán)境、客戶端接入方式、系統(tǒng)訪問終端類型等信息的采集,并將采集到的信息以參數(shù)的形式傳遞給權(quán)限生成模塊。其中,網(wǎng)絡(luò)環(huán)境信息主要可以通過獲取客戶端的IP地址端來確定;接入方式需要以終端類型為基礎(chǔ)分別采取不同的方法來確定;系統(tǒng)的訪問終端可以通過JavaScript進(jìn)行判斷。為了便于實現(xiàn),可以按照以下流程進(jìn)行實現(xiàn):
a.判斷系統(tǒng)訪問終端的類型(含平臺及瀏覽器信息等);
b.結(jié)合a中獲取的信息,針對不同的訪問終端判斷其接入系統(tǒng)的方式;
c.獲取設(shè)備的IP地址,并確定其是否與應(yīng)用服務(wù)器的IP處于同一網(wǎng)段,如果是則為內(nèi)網(wǎng),否則為外網(wǎng)。
2)最終權(quán)限生成模塊
最終權(quán)限的生成依賴于用戶的角色和外部因素來確定,并通過系統(tǒng)操作菜單體現(xiàn)出來。其大體可以分為兩大階段,這里從系統(tǒng)登錄頁面開始給出最終權(quán)限確定流程。具體如下:
a.輸入合法的用戶身份信息;
b.通過用戶信息的獲取該用戶的角色信息;
c.通過角色信息獲取角色對應(yīng)的資源信息;
d.獲取所有的外部因素,根據(jù)外部因素設(shè)置信息計算其加權(quán)和;
e.對于c.中獲取的每一項資源,過濾其敏感值大于d.中計算的加權(quán)和的資源項;
f.根據(jù)資源的層級關(guān)系,生成分級的操作菜單。
基于角色的多約束動態(tài)權(quán)限管理模型以傳統(tǒng)的RBAC模型為基礎(chǔ),將用戶權(quán)限的確定從僅依靠用戶拓展到以用戶為主、以各種外部因素為輔,并對這些外部因素和系統(tǒng)中的資源進(jìn)行量化;同時,從外部因素對系統(tǒng)的安全程度和資源可能帶來安全風(fēng)險的角度,將外部因素以較為合理的方式引入最終權(quán)限的確定過程中。該模型具有通用性強(qiáng),方便靈活,安全性高等特點,由于以傳統(tǒng)RBAC模型為基礎(chǔ),因而也具有強(qiáng)的可行性和一定的應(yīng)用價值。
[1]臺德藝,王昆侖,郭昌健.高??蒲行畔⒐芾硐到y(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2009,30(9):2339-2341.
[2]劉明舉,郝富昌.基于GIS的瓦斯預(yù)測信息管理系統(tǒng)[J].煤田地質(zhì)與勘探,2005,33(6):20-23.
[3]鄭曉東.工程設(shè)計企業(yè)管理信息系統(tǒng)的開發(fā)研究[J].計算機(jī)技術(shù)與發(fā)展,2011,21(4):246-249.
[4]Ferraiolo D,Kuhn R.Role-based Access Control[C]//Proceedings of 15th National Computer Security Conference,1992.
[5]郝小龍.改進(jìn)的RBAC模型在電網(wǎng)視頻監(jiān)控平臺中的應(yīng)用[J].計算機(jī)技術(shù)與發(fā)展,2014,24(12):212-220.
[6]宋萬里,吳煒峰.基于改進(jìn)的RBAC模型的系統(tǒng)用戶權(quán)限控制研究[J].計算機(jī)與現(xiàn)代化,2014,9:49-54.
[7]于小兵,郭順生,楊明忠.擴(kuò)展RBAC模型及其在ERP系統(tǒng)中的應(yīng)用[J].計算機(jī)工程,2009,35(24):165-167.
[8]陳軍冰,王志堅,艾萍,等.關(guān)于RBAC模型中約束的研究綜述[J].計算機(jī)工程,2006,32(9):1-3.
A study on m ulti-constraint dynam ic perm ission m anagem entmodel based on role
XU Chun,WANGWen-fa,LIZhu-lin,LIU Fen
(College ofMathematics and Computer Science,Yanan University,Yanan 716000,China)
Based on the RBACmodel,introducing external factor such as terminals,network environmentand access styles,etc,an multi-constraint dynamic authority managementmodel based on role is protested.According to safety degree of the external factorsand security risksof resources,external factorsand resources are both quantitative respectively,unifying users,roles,resources,and all kinds of external factors.Using themodelwe can realize dynamicmanagement for user rights under differentexternal conditions,and improve the flexibility and security of the system.
MIS;RBACmodel;role;dynamic authoritymanagement;external factor
TN918.91
A
1674-6236(2016)19-0031-03
2015-10-23稿件編號:201510169
延安大學(xué)校級科研項目(YDQ2014-48)
許 淳(1981—),男,陜西蒲城人,碩士研究生,講師。研究方向:軟件工程及數(shù)據(jù)庫技術(shù)等。