一種基於屬性的模糊訪問控制計算方法
2023-04-28 17:33:46 2
一種基於屬性的模糊訪問控制計算方法
【專利摘要】一種基於屬性的模糊訪問控制計算方法屬於網絡安全【技術領域】,特別是一種基於屬性的模糊訪問控制計算方法。本發明採用兩級加權方式對對象及其屬性分別賦予不同權值,然後基於模糊評判矩陣和加權平均模型進行綜合評判,計算訪問請求對授權策略的滿足程度,最後基於模糊推理規則得出得到權限策略集合。本發明基於主體、資源、環境三類屬性信息的不同權重,對訪問控制的策略決策過程進行模糊處理,得到模糊授權策略集合,能夠處理在訪問請求信息部分滿足評判條件下的訪問控制授權問題,對於提升訪問控制的完備性具有重要意義。
【專利說明】一種基於屬性的模糊訪問控制計算方法
【技術領域】
[0001]本發明屬於網絡安全【技術領域】,特別是一種基於屬性的模糊訪問控制計算方法。【背景技術】
[0002]面向服務體系架構由於復用性和兼容性好、開發複雜性低等特點,受到了廣泛的關注。為了實現更細粒度的資源信息安全保護,系統基於資源的多種屬性制定大量的訪問策略。ABAC (Attribute based Access Control)模型直接制定與用戶屬性和資源屬性相關的策略訪問規則,用戶根據其對應的屬性值和相應規則,判斷得到資源的訪問權限。但現有的ABAC模型中,策略判決是一個精確匹配的過程,根據主體、資源、環境等各種屬性信息進行精確匹配,滿足條件則允許,不滿足條件則拒絕。而在實際情況中,訪問請求者、上下文環境、被訪問的資源可能分別都包括多種屬性,那麼進行策略匹配的數量級就會達到O(n3),在屬性值較多的情況下,會影響授權速度。另外,在實際運行中,屬性信息往往在不斷動態變化,精確匹配模型無法動態進行調整。為解決授權速度和模型動態調整問題,本專利提出了基於屬性的,可以快速匹配屬性值,並能動態調整模型的分布式的訪問控制方法。
【發明內容】
[0003]本發明就是為了解決上述問題,提出一種基於屬性的模糊訪問控制方法,採用兩級加權方式對對象及其屬性分別賦予不同權值,然後基於模糊評判矩陣和加權平均模型進行綜合評判,計算訪問請求對授權策略的滿足程度,最後基於模糊推理規則得出得到權限策略集合。
[0004]基於屬性的訪問控制涉及主體、資源、環境三種因素,屬性可分為主體屬性、資源屬性和環境屬性。
[0005]本發明的技術方案是在一個由網際網路中的模糊式訪問控制器和多個分布式策略執行處理器共同構成的模糊式訪問控制服務系統中依次按以下步驟完成的:
[0006]步驟(I)
[0007]模糊式訪問控制服務系統初始化:
[0008]策略執行處理器,設有=XACML語言文件提供模塊,
[0009]模糊式訪問控制器,設有:屬性權限模塊、策略決策模塊以及權限策略庫,其中:
[0010]屬性權威模塊,設有:主體屬性子模塊、資源屬性子模塊和環境因素屬性子模塊,其中:
[0011]主體屬性子模塊,設有:
[0012]主體集合S, S = {s1; s2,..., sn,..., sN}, n e N,表示訪問控制的主體,所述主體是指通過身份鑑定的訪問請求者,η表示主體s的序號,N表示主體的數量;
[0013]主體屬性集合X, X = {x1; x2,..., xm,..., XM}, m e Μ, xm是主體屬性,至少包括身份、角色、年齡、郵政編碼、常住地址、IP位址、僱員職位和已驗證的公鑰構架PKI證書,m是主體屬性的序號,M是主體屬性的數量;[0014]資源屬性子模塊,設有:
[0015]資源集合O, O = {o1; o2,..., og,..., oj , g e G, ο表示訪問請求者需要訪問的資源,至少包括數據、服務和系統設備,g是資源的序號,G是資源的數量;
[0016]資源屬性集合Y, Y = Iy17Y2,..., yq,..., yQ} , q e Q,q e Q,y 是資源的屬性,q 是資源屬性的序號,Q是資源屬性的數量,資源屬性至少包括資源的身份、標準資源地址URL、資源的大小和數值;
[0017]環境因素屬性子模塊,設有:
[0018]環境因素集合T,T = It1, t2,...,te,...,tE},e e E,表示訪問時的上下文環境影響因素,至少包括時間、條件和狀態;
[0019]環境因素屬性集合Z, Z = Iz1, z2,..., zv,..., zv}, V e V, zv是環境屬性,至少包括當前時間、日期、每日的時間段、安全級別和系統狀態;
[0020]策略決策模塊,輸入是所述策略執行處理器輸入的授權請求,依次執行輸入信息處理、權重調整建立評判矩陣,綜合評判和模糊推理各步驟,輸出是權限決策;
[0021]設置訪問請求信任度集合M = (HiljlH2,m3,m4},分別表示「完全信任」、「強信任」、「弱信任」、「不信任」集合;
[0022]權限策略庫,設有:模糊授權策略集合P,P = {Pl,p2, p3, p4},P e P,依次表示完全授權策略集、強授權策略集、弱授權策略集和不授權策略集;
[0023]根據對服務請求的綜合評判結果,分配相應的授權策略;其中,一個策略庫存儲多條訪問控制策略,每條策略可以包括多條規則,一條規則用於判定主體S能否在環境T下訪問資源0,可表示成以S、O、T的屬性為參數的函數,返回信任度值;
[0024]Rule:can_access (s, o, t) — f (X,Y, Z)
[0025]f(X,Y,Z)採用函數矩陣實現,其中子函數An(X1JpZ1)用於計算X1, Y1, Z1的信任度,以此類推,fm-t-v(Xm,Yt, Zv)用於計算Xm,Yt, Zv的信任度;我們需要建立個信任度函數;看上去,計算很多,依次計算完成需要很長時間,但是,由於採用多個子函數實現信任度計算,並且,各子函數的信任度計算是完全獨立的,因此,該信任度計算完全可以由多伺服器並發完成計算,因此,計算時間約為通訊時間加上單一子函數最長的運行時間,這樣就大大提高了信任度計算速度;同時,可以建立緩存機制,很多具有相同屬性的計算,可以直接引用以前的結果,可以大大減少運算量;當判別的主體屬性、資源屬性、環境屬性有變化時,只需要動態調整相關的信任度子函數,而無須考慮不相關的其他子函數;
[0026]對於給定的S、O、T的所有屬性值,如果函數的返回值為完全信任,則應該允許對資源進行訪問,否則拒絕訪問;
[0027]分布式的評判函數矩陣可以解決信任度問題,但還是存在計算量較大,資源使用率高的現象;實際上,對所有的屬性組合進行精確信任度計算是沒有必要的,很多情況下,只需要進行部分的屬性組合信任度計算就可以完成信任度評估的工作;因此,我們在最終進行信任度計算之前,設置評判因素集通過U= {S, O, Tl模糊算法篩選出部分屬性參與計算,由於參與屬性計算的屬性減少,f(x,Y,Z)的子函數計算量也會相應的減少;採用模糊算法進行篩選,而不是精確匹配篩選,主要是因為屬性眾多,各屬性組合之間的信任度相關性不適合用精確函數描述;
[0028]對評判目標(訪問請求信任度)的因素可分為2個層次,包括評判對象和評判對象屬性級;即訪問請求信任度受到主體、資源、環境三種評判因素的影響,而各個評判對象分別受到其屬性的影響;
[0029]步驟⑵
[0030]①策略執行模塊負責解析用戶的訪問請求,抽取其中的主體屬性,並將授權請求和主體屬性發送給策略決策模塊;策略執行模塊可以是分布在整個網絡環境中多個位置,而且請求主體不能繞過策略執行模塊而直接訪問資源;
[0031]②策略決策模塊進行模糊策略判決,具體步驟如下:
[0032]I):輸入信息處理;
[0033]由於部分訪問請求信息和策略信息不是數值形式,需要進行數據格式轉換;轉化為屬性類型,屬性名稱,屬性值的對象描述;例如,主體的職稱屬性值為:助理工程師、工程師、高級工程師、研究員,屬性名稱為「職稱」,屬性類型「文本」,屬性值為「助理工程師、工程師、高級工程師、研究員」之一;同理,將環境屬性和訪問對象屬性也都需要按標準輸入信息進行處理;
[0034]2):屬性篩選;通過分析輸入數據,根據具體應用需求,對主體、資源、環境屬性進行模糊篩選;
[0035]3):使用信任度函數進行信任度計算;首先獲取篩選後的屬性,進行對應的信任度計算,對於信任度值,再進行處理,得到訪問許可值;例如,A-H(HZ1)的Xl是主體職稱是資源密級是系統狀態;系統狀態分為系統閒和系統忙;則工程師系統閒時訪問一個公開資料的信任度和系統忙時訪問一個公開資料的信任度值是不一樣的,綜合考慮其他信任度函數的返回,平時可能允許工程師訪問的資源,在系統忙時,可能限制工程師訪問.Y1, Z1)最初可以人工初始化,在積累一定經驗數據,可以根據經驗數據調整信任度係數。
[0036]本發明方法的具體步驟可以描述為:
[0037]步驟1:策略執行模塊接受主體發送的web訪問請求,並從屬性權威獲取相關的主體屬性、資源屬性以及環境屬性,構建一個基於屬性的訪問請求發送給策略決策模塊。基於屬性的訪問請求採用XACML語言對訪問主體、資源和環境屬性進行了描述,其自然語義為「在當前環境下,主體對資源進行訪問」,主體、資源、環境都是通過屬性值描述,可形式化描述為 ReqA(S,0,E)。
[0038]步驟2:策略決策模塊根據基於屬性的訪問請求中給定的主體、資源、環境的屬性值,查找策略庫中適用的策略和規則,對訪問請求按照特定的匹配算法進行比較評估,得到評估結果。將授權結果以XACML響應格式返回給策略執行模塊。若需更多的屬性信息就從屬性權威獲取相關的屬性信息。
[0039]其中,策略決策的具體步驟包括:步驟I):進行輸入信息獲取與處理;步驟2):屬性篩選調整;步驟3):輸入評判矩陣計算信任度;步驟4):綜合評判。
[0040]步驟3:策略執行模塊根據策略決策結果對資源實施訪問控制與授權。
[0041]本發明基於主體、資源、環境三類屬性信息的不同權重,對訪問控制的策略決策過程進行模糊處理,得到模糊授權策略集合,能夠處理在訪問請求信息部分滿足評判條件下的訪問控制授權問題,對於提升訪問控制的完備性具有重要意義。【專利附圖】
【附圖說明】
[0042]圖1屬性權威框圖;
[0043]圖2本發明軟體框圖;
[0044]圖3綜合評判流程圖;
[0045]圖4本發明主流程圖。
【具體實施方式】
[0046]下面結合流程圖,對優選實施例作詳細說明,應該強調的是,下述說明僅僅是示例性的,而不是為了限制本發明的範圍及其應用。
[0047]步驟1:策略執行模塊負責解析用戶的訪問請求,抽取其中的主體屬性,並將授權請求和主體屬性發送給策略決策模塊。策略執行模塊可以是分布在整個網絡環境中多個位置,而且請求主體不能繞過策略執行模塊而直接訪問資源。
[0048]步驟2:策略決策模塊進行模糊策略判決,具體步驟如下:
[0049]步驟I):輸入信息處理。
[0050]由於部分訪問請求信息和策略信息不是數值形式,需要進行數據格式轉換。轉化為屬性類型,屬性名稱,屬性值的對象描述。例如,主體的職稱屬性值為:助理工程師、工程師、高級工程師、研究員,屬性名稱為「職稱」,屬性類型「文本」,屬性值為「助理工程師、工程師、高級工程師、研究員」之一。同理,將環境屬性和訪問對象屬性也都需要按標準輸入信息進行處理。
[0051]步驟2):屬性篩選。通過分析輸入數據,根據具體應用需求,對主體、資源、環境屬性進行模糊篩選。
[0052]步驟3):使用信任度函數進行信任度計算。如圖所示,首先獲取篩選後的屬性,進行對應的信任度計算,對於信任度值,再進行處理,得到訪問許可值。
[0053]例如,fi+JXp Y1, Z1)的xl是主體職稱;yl是資源密級;zl是系統狀態;系統狀態分為系統閒和系統忙;則工程師系統閒時訪問一個公開資料的信任度和系統忙時訪問一個公開資料的信任度值是不一樣的,綜合考慮其他信任度函數的返回,平時可能允許工程師訪問的資源,在系統忙時,可能限制工程師訪問.Af1(XpYpZ1)最初可以人工初始化,在積累一定經驗數據,可以根據經驗數據調整信任度係數。
【權利要求】
1.一種基於屬性的模糊式訪問控制方法,其特徵在於,是在一個由網際網路中的模糊式訪問控制器和多個分布式策略執行處理器共同構成的模糊式訪問控制服務系統中依次按以下步驟完成的: 步驟(1) 模糊式訪問控制服務系統初始化: 策略執行處理器,設有=XACML語言文件提供模塊, 模糊式訪問控制器,設有:屬性權限模塊、策略決策模塊以及權限策略庫,其中: 屬性權威模塊,設有:主體屬性子模塊、資源屬性子模塊和環境因素屬性子模塊,其中: 主體屬性子模塊,設有: 主體集合s, S = (S1, S2,..., Sn,..., sN}, n ∈ N,表示訪問控制的主體,所述主體是指通過身份鑑定的訪問請求者,η表示主體s的序號,N表示主體的數量; 主體屬性集合X,X = (X1, x2,...,xm,...,xM},m ∈ Μ, xm是主體屬性,至少包括身份、角色、年齡、郵政編碼、常住地址、IP位址、僱員職位和已驗證的公鑰構架PKI證書,m是主體屬性的序號,M是主體屬性的數量; 資源屬性子模塊,設有: 資源集合O, O = {1, O2,..., Og,..., o} , g ∈ G, O表示訪問請求者需要訪問的資源,至少包括數據、服務和系統設備,g是資源的序號,G是資源的數量;
資源屬性集合Y, Y = {y1, y2,..., yq,..., yQ}, q ∈ Q, q ∈ Q, y是資源的屬性,q是資源屬性的序號,Q是資源屬性的數量,資源屬性至少包括資源的身份、標準資源地址URL、資源的大小和數值; 環境因素屬性子模塊,設有: 環境因素集合T,T = {t1, t2,...,te,...,tE},e e E,表示訪問時的上下文環境影響因素,至少包括時間、條件和狀態; 環境因素屬性集合Z, Z = {z1, z2,..., zv,..., zv}, V e V, zv是環境屬性,至少包括當前時間、日期、每日的時間段、安全級別和系統狀態; 策略決策模塊,輸入是所述策略執行處理器輸入的授權請求,依次執行輸入信息處理、權重調整建立評判矩陣,綜合評判和模糊推理各步驟,輸出是權限決策; 設置訪問請求信任度集合M = Im1, m2, m3, m4},分別表示「完全信任」、「強信任」、「弱信任」、「不信任」集合; 權限策略庫,設有:模糊授權策略集合P,P = {pi,p2,p3,p4},p e P,依次表示完全授權策略集、強授權策略集、弱授權策略集和不授權策略集; 根據對服務請求的綜合評判結果,分配相應的授權策略;其中,一個策略庫存儲多條訪問控制策略,每條策略可以包括多條規則,一條規則用於判定主體S能否在環境T下訪問資源0,可表示成以S、O、T的屬性為參數的函數,返回信任度值;
Rule:can_access (s, o, t) ← f (X,Y, Z) f(x,Y,z)採用函數矩陣實現,其中子函數f HjX1, Y1, Z1)用於計算X1, Y1, Z1的信任度,以此類推,fm-t-v(Xm,Yt, Zv)用於計算Xm,Yt, Zv的信任度;我們需要建立個信任度函數;看上去,計算很多,依次計算完成需要很長時間,但是,由於採用多個子函數實現信任度計算,並且,各子函數的信任度計算是完全獨立的,因此,該信任度計算完全可以由多伺服器並發完成計算,因此,計算時間約為通訊時間加上單一子函數最長的運行時間,這樣就大大提高了信任度計算速度;同時,可以建立緩存機制,很多具有相同屬性的計算,可以直接引用以前的結果,可以大大減少運算量;當判別的主體屬性、資源屬性、環境屬性有變化時,只需要動態調整相關的信任度子函數,而無須考慮不相關的其他子函數; 對於給定的S、O、T的所有屬性值,如果函數的返回值為完全信任,則應該允許對資源進行訪問,否則拒絕訪問; 分布式的評判函數矩陣可以解決信任度問題,但還是存在計算量較大,資源使用率高的現象;實際上,對所有的屬性組合進行精確信任度計算是沒有必要的,很多情況下,只需要進行部分的屬性組合信任度計算就可以完成信任度評估的工作;因此,我們在最終進行信任度計算之前,設置評判因素集通過U= {S,0,T}模糊算法篩選出部分屬性參與計算,由於參與屬性計算的屬性減少,f(x, Y,Z)的子函數計算量也會相應的減少;採用模糊算法進行篩選,而不是精確匹配篩選,主要是因為屬性眾多,各屬性組合之間的信任度相關性不適合用精確函數描述; 對評判目標(訪問請求信任度)的因素可分為2個層次,包括評判對象和評判對象屬性級;即訪問請求信任度受到主體、資源、環境三種評判因素的影響,而各個評判對象分別受到其屬性的影響; 步驟(2) ①策略執行模塊負責解析用戶的訪問請求,抽取其中的主體屬性,並將授權請求和主體屬性發送給策略決策模塊;策略執行模塊可以是分布在整個網絡環境中多個位置,而且請求主體不能繞過策略執行模塊而直接訪問資源; ②策略決策模塊進行模糊策略判決,具體步驟如下: 1):輸入信息處理;` 由於部分訪問請求信息和策略信息不是數值形式,需要進行數據格式轉換;轉化為屬性類型,屬性名稱,屬性值的對象描述;例如,主體的職稱屬性值為:助理工程師、工程師、高級工程師、研究員,屬性名稱為「職稱」,屬性類型「文本」,屬性值為「助理工程師、工程師、高級工程師、研究員」之一;同理,將環境屬性和訪問對象屬性也都需要按標準輸入信息進行處理; 2):屬性篩選;通過分析輸入數據,根據具體應用需求,對主體、資源、環境屬性進行模糊篩選; 3):使用信任度函數進行信任度計算;首先獲取篩選後的屬性,進行對應的信任度計算,對於信任度值,再進行處理,得到訪問許可值;例如,^(X1, Y1, Z1)的Xl是主體職稱;yl是資源密級是系統狀態;系統狀態分為系統閒和系統忙;則工程師系統閒時訪問一個公開資料的信任度和系統忙時訪問一個公開資料的信任度值是不一樣的,綜合考慮其他信任度函數的返回,平時可能允許工程師訪問的資源,在系統忙時,可能限制工程師訪問.Y1, Z1)最初可以人工初始化,在積累一定經驗數據,可以根據經驗數據調整信任度係數。
【文檔編號】H04L29/06GK103795688SQ201210424262
【公開日】2014年5月14日 申請日期:2012年10月31日 優先權日:2012年10月31日
【發明者】毛俐旻, 段翼真, 陳志浩, 王斌, 王曉程 申請人:中國航天科工集團第二研究院七○六所