王靜宇 欒俊清 譚躍生
摘要:形式概念分析可以用于設計訪問控制所需要的層次結構,文獻中提及的方法通常是將三維訪問控制矩陣轉換成二元形式背景,進行這種轉換主要目的是導出形式概念、概念格結構以及角色層次和RBAC的約束。為了探索三元形式概念分析在RBAC訪問控制中的應用,提出了三元形式概念分析對RBAC進行建模的方法,不必將三維訪問控制矩陣轉換為二元形式背景即能實現角色層次和角色責任分離。實驗部分以醫(yī)療系統(tǒng)網絡為例展示了該方法遵循RBAC角色層次和角色責任分離約束,證明了三元形式概念分析可對RBAC訪問控制策略提供合理的表示。
關鍵詞:訪問控制;概念格;基于角色的訪問控制;角色層次
DOU:10.15938/j.jhust.2020.02.005
中圖分類號:TP309文獻標志碼:A 文章編號:1007-2683(2020)02-0031-07
0 引言
訪問控制是重要的安全機制之一,訪問控制系統(tǒng)能夠根據訪問控制策略中指定的訪問權限設置和控制用戶的訪問權限。其中基于角色的訪問控制(RBAC)以其強大的功能適用于多種類型用戶的需求,除了在企業(yè)系統(tǒng)中廣泛應用之外,RBAC也在諸如類UNIX操作系統(tǒng)和數據庫管理系統(tǒng)中實現。RBAC的主要優(yōu)勢在于它是策略中立的,通過角色的層次結構和約束條件,可以表達廣泛的安全策略。RBAC最初由Sandhu于1996年提出,隨后由NIST標準化,RBAC在主體和權限之間引入角色的概念,通過對角色的授權來控制主體對資源的訪問。用戶可以執(zhí)行分配給其對應角色的訪問權限。角色將每個用戶映射到一組權限。RBAC模型支持3個安全原則:數據抽象,最小權限和角色責任分離。NIST標準將RBAC劃分為核心RBAC,層次RBAC和限制RBAC。核心RBAC包含RBAC的基本功能。層次RBAC除了核心RBAC功能外,還遵循角色層次訪問結構。限制RBAC遵循角色責任分離(SOD)等約束。文[5]對RBAC進行了深入討論并提出了幾種對RBAC建模的方法。由于RBAC在諸多文獻中已得到充分的討論,本文對于RBAC的基礎將不再贅述。
形式概念分析(FCA)是一種基于格理論的數學框架,主要用于知識的表示、提取和分析。形式概念分析的基礎是形式背景,定義為(C,M,Y),其中G是對象集合,M是屬性集合,Y是這兩個集合之間的二元關系。這種結構也被稱為二元形式背景。文提出了采用形式概念分析對RBAC建模的方法。RBAC訪問控制矩陣是由角色(R),數據對象(D)和權限(P)表示的三維矩陣,在形式概念分析中訪問控制矩陣可以確定一個描述RBAC這3個部分之間的關系三元形式背景。應用形式概念分析的過程中,在對二元形式背景進行轉換的基礎上,采用形式概念分析算法進行概念格構造、屬性探索和含義分析。以便推導RBAC的角色層次結構和職責分離約束,這種轉換通過將三元形式背景中的任意兩個元素的向量積作為二元形式背景的對象,將另外一個元素作為屬性實現的。例如,將三元形式背景(R,D,P,Y)轉換為二元情形(R×D,P,YR×D.P)。然而,從二元情形的基本概念出發(fā),形式概念分析被擴展到三元情形,其中輸入數據將是在稱為三元形式背景的表中表示的三維關系數據。表中的條目表示哪些對象具有哪些屬性。這種表示類似于RBAC三維數據。但現有文獻中沒有采用三元形式概念分析直接處理三元形式背景而不將其轉化為二元形式背景的研究?;谝延械难芯砍晒覀儗⑿问礁拍罘治鰪亩茝V到三元,在三元形式概念分析中,輸入數據是三維關系數據,可以表示為三元形式背景。將形式概念分析應用于RBAC建模時,在滿足RBAC的角色層次結構和角色職責分離約束的情況下,三元形式概念分析能夠合理表示RBAC訪問控制策略,也更具應用前景。
綜上所述,本文提出了以下3個問題:如何用三元形式概念分析如何對RBAC進行合理的表示;如何理解和解釋三維RBAC矩陣產生的三元層次概念格;這種表示是否遵循策略約束和隱含權限;本文在不改變RBAC三元背景的前提下,通過三元形式概念和三元概念格對RBAC進行建模。
1 相關研究
在一些涉及到形式概念分析的文獻中,已經將形式概念分析的二元算法推廣到三元形式背景當中。文討論了三元形式概念分析在在認知系統(tǒng)模型中的應用,文討論了三元形式概念分析和三元聚類,文使用形式概念分析建模RBAC,并實現了角色層次結構。文提出了一種利用形式概念分析設計RBAC的方法。文提出了基于模糊形式概念分析的模糊角色訪問控制模型。這些研究都使用了二元形式概念分析。
2 相關知識
2.1 二元形式概念分析
定義1(形式背景)一個形式背景K:=(G,M,I)是由兩個集合G和M以及G與M間的關系J組成。G的元素稱為(形式)對象,M的元素稱為(形式)屬性。(g,m)∈I或glm表示對象g具有屬性m。
三元概念格是一種對稱結構,其中的對象集,屬性集和條件是等價的。一般地,我們將這種結構繪制為三角形圖。為方便理解,可為每個外延,內涵和形式繪制完整的概念格。
3 本文提出的方法
為了實現三元形式概念分析對RBAC模型進行表示,利用上面定義的外閉包運算和內閉包運算,給出了將三維訪問控制矩陣導出三元概念的方法:
1)確定給定訪問策略的角色(R),數據對象(D)和訪問權限(P)。
2)將具有角色(R)、數據對象(D)和訪問權限(P)的三維訪問矩陣構成三元形式背景:看R.D.P:=(R,D,P,I),其中I表示R,D和P的三元關系。
3)對于每個權限集合H∈P,使用內閉包運算φ和φ'計算二元背景(R,D×H,Y3)。
4)使用文中的二元概念生成算法,計算步驟3中生成的背景中的每一個概念。
5)對于每個二元概念,使用外閉包運算ψ和ψ計算包含它的條件集合。
6)形成定義9給出的三元概念。
7)對于所有子條件集合重復步驟5)。
8)若存在多余的三元概念則將其刪除。
利用上述方法,我們從三維RBAC矩陣導出三元概念,得到三元形式概念分析的RBAC模型表示。算法上這個過程復雜度為指數階。為了說明問題,考慮表l所示的RBAC三元背景(R,D,P,Y)。形式背景中包含4個角色,3個數據對象和3個權限。
考慮{i,j,k}={1,2,3},X1=RA3={p1,p2}且Z=|r3}。根據定義8中內導運算可得到φ(Z)=(d2,d3)和φ'φ(Z)=(r2,r3)。此外,由定義7的外導運算可得到,ψ(Z)={(d2,p1),(d3,p1),(d2,p2),(d3,P2),(d2,P3),(d3,p3)}。其中注意到ψ'(ψ(Z))=(r4,r4)。根據定義9可得到三元概念({r3,r4},{d2,d3},{p1,p2,p3})。
4 實驗分析
我們以一個醫(yī)療系統(tǒng)為例來演示本文給出的三元形式概念分析的設計方法。圖1中確定了9個角色分別為:辦公室助理(R1),衛(wèi)生監(jiān)察員(R2),母嬰保育員(R3),護士(R4),治療師(R5),醫(yī)生(R6),會計(R7),會計主管(R8)和內部審計師(R9)。圖l顯示了這個醫(yī)療系統(tǒng)網絡的角色層次結構。以下是系統(tǒng)中的數據對象:家庭文件夾(D1),母親營養(yǎng)圖(D2),兒童疫苗接種信息(D3),住院病人記錄(D4),治療記錄(D5),處方記錄(D6),衛(wèi)生單位業(yè)務記錄(D7)和總帳(D8)。這些數據對象的訪問權限包括:創(chuàng)建(P1),刪除(P2),輸入/修改(P3),生成(P4)和校驗(P5)。
表2給出了根據醫(yī)療系統(tǒng)三維訪問控制矩陣生成的三元背景。首先,對于每個訪問權限,分別使用內閉包運算,然后使用外導運算。三元形式概念分析產生了表3所列出的17個三元概念。正如所討論的,三元概念的外延,內涵和模式并會形成與二元形式概念分析相同的閉包系統(tǒng)。同樣地,我們可以從表3中觀察到,例如,三元概念9表明角色及,和R8是其外延,有權限P3訪問其內涵即數據對象D1。同一組角色R7和R8是概念10的外延,有權限P4訪問數據對象D8。
圖2給出了表3所示的三元概念中獲得的三元概念格的幾何結構。圖中每個圓點示一個三元概念。這個結構可以通過右側的外延圖,左側的內涵圖和頂部的方式圖來理解。在RBAC模型中,角色為外延,數據對象為內涵,訪問權限為方式。右側線圖中顯示的圓點表示由下方對應該點的對象組成的外延(角色)。即外延從左下到右上增大。同樣地,內涵(數據對象)從左上到右下增大。形式(訪問權限)從右上方向左下方增大。對于位于圖表中心和底部節(jié)點之上的圓點,該點具有外延{R2,R3},內涵{D2,D3}在左下方的方式{P3}。
可以觀察到,三元概念格的每一邊的概念格是完全格。用戶角色之間有權限繼承關系,在RBAC中表示角色層次結構。三元概念格右側的概念格表示RBAC的角色層次結構,這樣左下角的角色就可以繼承其上面連接的角色的權限。例如,我們觀察到R6(醫(yī)生)具有R5(治療師)和R4(護士)的訪問權限。結果與表2中所示的RBAC訪問控制矩陣一致。
在經典的二元形式概念分析中。由二元RBAC形式背景所產生的概念格表示角色和訪問權限層次結構??梢詫С鼋巧?、訪問權限和數據對象之間的依賴關系,從而可以控制安全格結構的大小。在角色層次結構中,角色“r”可以從它上面的角色繼承角色功能并連接到它。
靜態(tài)角色責任分離約束(SoD)定義角色,權限或用戶之間的互斥關系?;谶@種互斥關系強制將用戶分配給角色和角色的某些權限賦予條件。因此,相同的用戶不會被分配相互沖突的角色,沖突的訪問權限也不會被分配給相同的角色。根據該醫(yī)療保健網絡的SoD約束,互斥角色為:(R3和R8),(R3和R9),(R6和R8),(R6和R9),(R2和R8),(R2和R9)。從圖2中顯示的三元格結構中,可以注意到沖突角色在層次結構中被分開。我們也可以在圖中觀察角色層次結構中的角色優(yōu)先關系。
本文提出的方法有以下優(yōu)勢,首先方法可以從三元背景中獲得角色層次和職責分離約束,在表示RBAC時不用將三元背景轉換成不同的二元背景。其次,RBAC成員(R,D,P)之間的關系可以通過從它們推導出來的三元概念和條件屬性的蘊含來獲得,由此產生的三元概念格角色層次結構有助于管理員驗證用戶角色層次和依賴關系。
5 結論
本文提出的方法將三維RBAC矩陣表示為三元概念格,即可實現角色層次和職責分離。給出了三維RBAC矩陣生成三元概念格的層次解釋,從三元背景中推導條件屬性含義,證明了RBAC元素之間的依賴關系。方法為使用三元形式概念分析表示RBAC策略提供了理論基礎,可以在訪問控制系統(tǒng)中得到應用。