梁寬宏
(武漢光谷職業學院,湖北 武漢 430000)
訪問控制有很多種類型,常見的為自主訪問控制、強制訪問控制和基于角色的訪問控制模型。自主訪問控制指主體有權訪問由自身創建的對象,還可以將訪問的權限進行轉移,使其他用戶能夠得到授權。強制訪問控制就是系統管理者對訪問的對象進行統一管理,強制授予主體訪問客體的權限,權限的多少則根據主體和客體的安全級別來標記。基于角色的訪問控制模型是通過分配角色來進行訪問,授予不同的角色一定的權限,然后對用戶進行分類,用戶屬于哪個角色就有該角色擁有的訪問權。訪問控制矩陣(ACM))中行代表主體,列代表客體,行和列交叉的地方會生成相應的規則,即主體訪問客體時應遵循的操作準則。
授權策略實際上就是一種約束規則,用來約束主體訪問客體,它不僅界定了授權對象的范圍,也規范了授權過程的行為。在范圍上,授權策略對主體和客體的屬性、數量進行了管理;在過程上,授權策略描述了具體的授權對應關系時應當遵循的授權規則,主要包括誰是分配主體、如何分配權限、有哪些是可以分配的權限等相關內容。在進行授權管理時,需要對相關元素分類管理,也必須考慮實際環境。此外,在制定授權關系時需要遵循相對性的準則,只有在規則的約束和協調下,系統的安全才能得到保障。
圖優化算法是利用圖的邊和頂點來優化解決問題,這也是視覺Slam中的最常用的優化方法,機器人的位姿可以用一個頂點表示,任意頂點之間的關系形成了邊,頂點和邊形成圖,圖優化的目的是改變頂點的位姿來達到邊之間的約束。
在主體-客體(SOA)關系抽象二部圖中,每一條邊連接兩個頂點,分別代表主體(S)和客體(A),邊是主客體之間的權限關系。算法框架如圖1所示。

圖1 主體/范疇,范疇/客體關系圖
在SOA中加入一層范疇集(K),使得主體/權限分配關系轉化為主體/范疇與范疇/客體分配關系,并且范疇數最少,主體/范疇的邊數+范疇/客體之間的邊數最少。原始的范疇集有四種關系:相同;真包含;交集不為空;交集為空。
在用圖優化算法進行約簡時,必須遵循4點約簡規則。
約簡規則1:將兩個具有相同權限集的角色進行合并,生成一個新的角色,將以前已經分配角色的用戶或角色重新分配給這個新的合并角色,那么就能減少一個角色數量和若干邊的數量,優化度量。
約簡規則2:若一個角色的權限集是另一個角色權限集的子集或超集,則創建從超集到子集的邊鏈接,并且超集角色中的指向鏈接將被更新,該種操作沒有改進甚至減少優化度量。
約簡規則3:該種約簡規則需要考慮兩種情況:
(1)若兩個角色中存在四個或四個以上重疊相同權限集,則為重疊的權限集,創建一個新的角色,將兩個邊鏈接添加到新角色中。新角色中包含原始兩個角色中相同的權限集,并將原始兩個角色中相同權限刪除,將減少優化度量。
(2)若在兩個角色中存在重疊相同權限集在三個或三個以下,將不會優化度量。
約簡規則4:若兩個角色中沒有相同權限集,對于這種情況將不做任何操作。
用圖優化算法進行范疇挖掘,首先將訪問控制矩陣轉化二維關系布爾矩陣,其次將布爾矩陣初始化,將初始化后的數據集輸入圖表。然后用圖優化算法操作進行約剪,最后得到最優度量,并輸出挖掘最優的范疇集。過程如圖2所示。

圖2 優化算法流程圖
操作步驟一:產生原始范疇集
(1)初始化范疇集合,根據隨機生成的TXT配置文件,記錄配置文件中的主體和該主體的權限,將每一個主體生成一個原始范疇。(2)將每一個范疇集初始為候選范疇集合。
操作步驟二:計數操作
(1)遍歷統計候選范疇集合中主體與范疇關系數、范疇個數、范疇與客體關系數。(2)關系邊數=主體與范疇關系數+范疇與客體關系數。(3)計算原始度量=范疇個數+關系邊數。
操作步驟三:約簡原始度量
while循環(優化后度量<原始度量);(1)按照約簡規則1,可以減少范疇個數和范疇與客體關系邊數,并將優化后度量進行更新代替原始度量;(2)按照約簡規則2、3,可以減少范疇與客體關系邊數并將優化后度量進行更新代替原始度量;根據約簡規則,把輸入圖表中的數據進行約簡優化,最后輸入挖掘的最優度量及范疇個數,并利用評價函數評價驗證。
(1)數據生成器生成的仿真數據;在授權策略中,將訪問控制矩陣轉化成二維布爾矩陣表1,布爾矩陣行對應主體,列對應客體,表1中的“1”表示該主體擁有訪問客體權限,“0”表示該主體不擁有訪問客體權限。在表1中主體訪問客體權限,客體存在冗余和重復元素。根據圖優化方法的約減規則:約減規則(1)將減少范疇數和邊數,優化度量;約減規則(2)、(3),將減少邊數,優化度量;約減規則(4),不改進優化度量。在圖3中,圖優化方法的每一個范疇集中,客體存在繼承關系,客體是從上往下繼承。經過圖優化算法操作,將得到最優度量,并輸出,挖掘最優的范疇。不斷試驗結果如表2。

表1 主客體關系表

圖3 范疇分層圖

表2 范疇優化度量表
比較測試的結果可得出,經過圖優化算法優化的數據,可以更好的反映出主體與范疇,范疇與客體之間的分配關系。測試數據集1,輸入仿真較小的測試集,主體數10、客體數12和主體分配客體數76。將較小的測試集在圖中初始化,有32個節點和86條邊。32個節點中,主體數為10,對應的范疇數為10和客體數12。主體和范疇之間關系邊數為10,以及范疇到客體分配邊數76。最初的起始度量值76+10=86。在圖形優化過程中,進行14個成功的合并操作。在圖優化后,10個主體和12個客體之間生成8個范疇,總計30個節點圖中。在圖優化操作,邊的數量減少了44。圖中最后的邊數是32,最終優化度量結果為32+8=40。
測試數據集2、3、4,從初始值201優化為165,優化合并次數33,范疇個數為26;初始值462優化為380,優化合并次數73,范疇個數為38;初始值736優化為572,優化合并次數152,范疇個數69。
挖掘范疇時,圖優化方法將自主訪問控制轉化為強制訪問控制,權限從上往下發生繼承關系,自頂向下的方式進行分層范疇挖掘,底層的范疇集擁有權限個數最多,主體安全標簽級別越高,能夠讀文件的權限越多。在進行范疇挖掘時,我們必須考慮兩個因素:(1)范疇被劃分或者分配后要與最初訪問控制矩陣中的元素保持一致;(2)范疇數量與系統的管理和安全息息相關,換言之,隨著范疇數量的增多,分配關系就會復雜化,系統的管理愈加困難,不安全性也隨之增加。
基于以上兩點的考慮,本文提出了一種線性組合的指標。記為Q(C),其中,C代表范疇。
Q(C)的定義如下:

G(SO)為主體(S)對客體(O)的布爾型訪問控制矩陣,E(SK) ?F(KO)表示為主體和客體共同屬于某個范疇,F記為范疇集。KMT為范疇挖掘時間,在公式中,θ(θ>)記為調節因子,用來平衡二值在取值界限的差別。在公式中,Q(C)值越小,評價指標就越高,得到范疇集越優。
本文主要研究用自底向上的方法來挖掘范疇。即首先對已有的數據庫進行挖掘,然后從原始的策略庫中發現合適的規則模式。其次利用該種規則模式,尋找最優范疇集。最后利用這種范疇優化方法實現策略自動轉化。在授權策略方面,本文研究了如何將自主訪問控制轉化為強制訪問控制,如何將手工分配轉變為智能分配,從而使系統達到智能遷移,這對我國開展多級安全的保護工作具有重大意義,但在范疇集挖掘上,還需進一步研究與完善。