專利名稱:一種基于二進制序列集合的訪問控制策略合成方法
技術領域:
本發明涉及的是一種分布式系統中域間授權安全互操作方法,具體地說,是一種基于二進制序列集合(Bsset)的訪問控制策略合成方法。
背景技術:
隨著大規模分布式網絡應用的迅速發展,自治域之間的合作也會越來越頻繁。其中,域間訪問控制策略合成是分布式技術中聚合資源訪問的關鍵安全要素。基于屬性的訪問控制能解決復雜系統中的細粒度的訪問控制,為開放的分布式環境提供了較為理想的訪問控制方案。并且利用離散代數可以將復雜的基于屬性的策略合成方式用嚴謹的代數系統表達,基于代數的域間訪問控制策略合成方法具體是指一類首先在邏輯層面對策略合成語義進行分析和定義,進而建立運算規則系統(即代數系統)進行合成演算的基于屬性授權的訪問控制策略合成方法。這類方法通常需要將實際的訪問控制策略通過邏輯轉換器轉化為 邏輯代數符號才能由計算機程序實現合成演算,因此可實現性差、運算效率低。經對現有技術的文獻檢索發現,Bertino、Li Ninghui等人在《An Algebra forFine-Grained Integration ofXACML Policies)) 一文中基于 XACML 策略描述形式提出用MTBDD(Multi-Terminal Binary Decision Diagrams)策略樹轉譯實際策略的方法,以及相應的策略合成代數系統可解決細粒度的域間訪問控制策略合成。這是目前已報道的最佳解決方法。但是,這一方法雖然解決了邏輯代數符號的轉換代價,卻由于策略樹自身數據結構對于布爾屬性約束的依賴性,會造成合并過程中的冗余以及系統規模龐大的問題,這也限制了該方法的合成運算性能。
發明內容
針對上述現有技術存在的不足,本發明要解決的問題是提供一種基于二進制序列集合的訪問控制策略合成方法,采用二進制序列集合對域間訪問控制策略進行基于屬性約束的建模,這種建模方式無需通過邏輯轉換器就可被計算機程序實現,并且基于這種建模方式設計了授權項間的邏輯算子,可進行多樣化的域間策略合成演算。本發明可作為一種高效和易實現的域間訪問控制策略合成方法。為實現上述目的,本發明采用的技術方案是首先定義二進制序列集合元素以及基于二進制序列的集合運算規則,根據以上定義,從屬性約束層對實際的策略進行屬性分解,并通過集合內部元素分離將策略正確的表達成為基于二進制序列的邏輯表達式。然后通過語義檢查和移位合并,用以消除規則冗余和語義沖突問題。在此基礎上,根據實際的安全需求定義基于二進制序列集合的邏輯合成算子,將合成方式轉換成邏輯表達式。利用二進制序列可直接作為數據結構的特點,根據邏輯表達式可直接對基于二進制建模的策略空間計算合成結果,作為一種無需邏輯轉換的策略代數實現機制。最后,將基于二進制集合形式的合成策略翻譯成屬性項策略。本發明所述的基于二進制序列集合的訪問控制策略合成方法,包括如下步驟
步驟一策略面向屬性層分解;步驟二 對步驟一的策略進行基于BSset的邏輯轉換;步驟三對步驟二進行語義檢查和移位化簡;步驟四推導基于BSset的合成語義算子;步驟五根據步驟三和步驟四,用邏輯表達式刻畫合成結構;步驟六對步驟五實現合成演算,輸出策略合成結果。進一步的,所述的步驟一,具體操作是先對主體屬性約束、客體屬性約束、行動屬性約束等基于屬性約束翻譯成一個原子布爾表達式aT*v,* e (=,〈,<,>,>)。然后對一個策略集中含有有限個不同的原子布爾表達式,依次編碼X。一條策略規則就可以被抽象為通過邏輯符號與“ Λ ”和或“ V ”連接的原子布爾表達式組成的一個復合布·爾表達式。進而,策略就可以用三組布爾表達式邏輯集合分別表示三值策略的允許集,拒絕集,以及“不適用”集,由于“不適用”的策略評估是允許集和拒絕集產生的矛盾,所以暫不考慮。進一步的,所述的步驟二,具體為首先根據二進制序列和序列集合的定義,步驟一所得策略二元組進一步轉換成基于二進制序列集合BSset的邏輯形式;其次,將策略屬性項集合進一步通過元素分離(I)策略的允許集[31和拒絕集[S]N分別與空集Φ進行并運算U; (2)去除[S]Y和[S]N集合之間的交集部分[s]Y H [S]N。即(I) [S]Y=[S]Y U Φ , [S]N=[S]N U Φ ;(2) [S]Y=[S]Y-([S]Y η [s]N),[s]N=[s]N-([s]Y n [s]N);通過上述兩個步驟轉換成定義的二進制序列集合形式。進一步的,所述的步驟三,具體為檢查步驟二后的二進制序列集合,是否存在語義沖突的項,若存在用條件判斷語句檢測并刪除沖突路徑。然后進行移位合并算法,消除冗余路徑。進一步的,所述的步驟四,具體為根據實際的策略合成安全需求,組合基于BSset集合運算<11/1,-,々設計的5個基礎語義算子+,&,]>,推導出滿足合成期望的合成語義算子。進一步的,所述的步驟五,具體為根據步驟三的結果,基于BSset的邏輯建模策略,和步驟四的結果,根據安全需求推導出的合成語義算子,將多策略的合成方式轉換為合成邏輯表達式。進一步的,所述的步驟六,具體為根據步驟五的邏輯表達式,對合成空間計算合成結果,實現合成演算,并且對每次合并的結果進行語義沖突檢測,去除矛盾的二進制序列,再進行移位合并化簡,輸出策略合成布爾表達式并進一步轉換成語義描述形式。本發明采用二進制序列集合元素對基于屬性的訪問控制策略進行邏輯建模,這種建模方式可被計算機程序直接實現。其次,將策略描述層的代數規則擴展到邏輯層,設計了基于二進制序列集合的邏輯運算合成算子。從而將多策略的合成方式轉換為合成邏輯表達式實現合成演算,建立了一種新型的基于屬性的細粒度策略代數合成方法。與基于MTBDD策略樹的策略代數合成方法相比,消除了對于布爾表達式評估順序依賴的特性,減小了系統規模,并且擴展了合成語義算子,具有更好的實際應用前景。
通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發明的其它特征、目的和優點將會變得更明顯圖I為基于二進制序列集合實施策略合成框架圖。
具體實施例方式下面結合具體實施例對本發明進行詳細說明。以下實施例將有助于本領域的技術人員進一步理解本發明,但不以任何形式限制本發明。應當指出的是,對本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進。這些都屬于本發明的保護范圍。本發明提出的是一種基于二進制序列集合的訪問控制策略合成方法,為更好的理解本發明,首先給出相關定義。 定義I : 二進制序列一個二進制序列BinaryString(簡稱BS)為形如XtlX1. . . Xlri的字符串,用以表示析取布爾表達式 X。Λ X1 Λ …Λ χη-1 即 BS = (X0X1. . . Xlri),其中每一個 XiQ=O, I,. . . , Π-1)的取值e {O, 1,*}。在策略屬性中,Xi表示第i個屬性約束;根據屬性布爾表達式的香農分解若\值為I表示屬性約束Xi取值為真;若Xi值為O表示屬性約束Xi取值為假。并且引入*元素,簡單將其看作I V 0=*合并,對于在某條規則中無需評估的原子布爾表達式,Xi取值就為*。在具體方法中,*經轉換可用O和I表示,因此屬性約束的取值可只用O和I表示,每個Xi可看作是一個二進制位bit。定義2 :二進制序列集合一個二進制序列集合[S](簡稱BSset)是由η個長度相等的二進制序列所組成的集合,[Sl = IS1, S2,, Sn_J表示布爾表達式S1 V S2 V... V Slri,且Si n Sj=null (i古j, I < i, j < η)。其中,每個Si表示析取布爾表達式xQ Λ X1 Λ…· Λ χ^。定義3 :二進制序列間兩種關系定義關系c S1 ^ S2 (i=0,l,...,n-l),S1的第i位值和S2的第i位值相同,或S2的第i位值為*。關系遼Si1(X Sf2 O 5\和 S2 不滿足4 Cl S2 ο定義4 :二進制序列及集合間的邏輯運算定義二進制序列間的三種二元運算u ,η,-和一種一元運算η,以及二進制序列集合間的三種二元運算U,η,-和一種一元運算I。定義5 :基于二進制序列集合的合成語義算子策略代數模型具體是,將各種策略合成方式抽象為策略代數表達式。基于屬性的代數系統中基礎算子是<4,4,+,&^>,并已證明其完備性和最小性。因此,根據二進制序列集合及定義的集合運算<11,(1,-,1>推導出這5個基本算子,其他合成語義算子都可由這5個符號邏輯組合表示。定義4中的各運算規則具體如下 二進制序列S1 H S2與運算規則
二進制序列S1和S2按位進行與操作,位與運算按照以下運算法則
權利要求
1.一種基于二進制序列集合的訪問控制策略合成方法,其特征在于包括如下步驟 步驟一策略面向屬性層分解;步驟二 對步驟一的策略進行基于二進制序列集合BSset的邏輯轉換;步驟三對步驟二結果進行語義檢查和移位化簡;步驟四推導基于二進制序列集合BSset的合成語義算子;步驟五根據步驟三和步驟四,用邏輯表達式刻畫合成結構;步驟六對步驟五實現合成演算,輸出策略合成結果。
2.根據權利要求I所述的一種基于二進制序列集合的訪問控制策略合成方法,其特征是,所述的步驟一,具體操作是先對基于屬性約束翻譯成一個原子布爾表達式aT*v,aT為屬性名稱,*e (=,〈,<,>,>),v為屬性的值,然后對一個策略集中含有η個不同的原子布爾表達式,依次編碼X = x0,X1,.,其中Xi, 1=0, I, 2..,表示不同的屬性約束,取為真或假;一條策略規則就能被抽象為通過邏輯符號與“ Λ ”和或“ V ”連接的原子布爾表達式組成的一個復合布爾表達式,進而,策略能用三組布爾表達式邏輯集合分別表示三值策略的允許集,拒絕集,以及“不適用”集,“不適用”的策略暫不考慮,最終得到策略二元組。
3.根據權利要求2所述的一種基于二進制序列集合的訪問控制策略合成方法,其特征是,所述基于屬性約束包括主體屬性約束、客體屬性約束、行動屬性約束。
4.根據權利要求I所述的一種基于二進制序列集合的訪問控制策略合成方法,其特征是,所述的步驟二,具體為首先根據二進制序列和序列集合的定義,步驟一所得策略二元組進一步轉換成基于二進制序列集合BSset的邏輯形式;其次,將策略屬性項集合進一步通過元素分離(I)策略的允許集[3\和拒絕集[S]N分別與空集Φ進行并運算U;(2)去除[31和[S]N集合之間的交集部分[s]Y H [S]N;通過上述兩個步驟轉換成定義的二進制序列集合形式。
5.根據權利要求I所述的一種基于二進制序列集合的訪問控制策略合成方法,其特征是,所述的步驟三,具體為檢查步驟二轉換后的二進制序列集合,是否存在語義沖突的項, 若存在用條件判斷語句檢測并刪除沖突路徑,然后進行移位合并算法,消除冗余路徑。
6.根據權利要求I所述的一種基于二進制序列集合的訪問控制策略合成方法,其特征是,所述的步驟四,具體為根據實際的策略合成安全需求,組合基于BSset集合運算 <υ,Π,-ρ>設計的5個基礎語義算子<4,匕,+,&,1>,推導出滿足合成期望的合成語義算子; 其中5個基礎語義算子如下Py 算子all permit 策略;Pn算子all deny策略;+算子策略加運算;&算子策略與運算;,算子策略非運算。
7.根據權利要求I所述的一種基于二進制序列集合的訪問控制策略合成方法,其特征是,所述的步驟五,具體為根據步驟三的結果,基于BSset的邏輯建模策略,和步驟四的結果,根據安全需求推導出的合成語義算子,將多策略的合成方式轉換為合成邏輯表達式。
8.根據權利要求I所述的一種基于二進制序列集合的訪問控制策略合成方法,其特征是,所述的步驟六,具體為根據步驟五的邏輯表達式,對合成空間計算合成結果,實現合成演算,并且對每次合并的結果進行語義沖突檢測,去除矛盾的二進制序列,再進行移位合并化簡,輸出策略合成布爾表達式并進一步轉換成語義描述形式。
9.根據權利要求1-8任一項所述的一種基于二進制序列集合的訪問控制策略合成方法,其特征是,所述BSset是指一個二進制序列集合[S],是由η個長度相等的二進制序列所組成的集合,[S] = {Si,S2,, Sn_J表示布爾表達式S1 V S2 V . . · V Slri且Si Π Sj = null (i關j, I彡i, j彡η),其中,每個Si表示析取布爾表達式χ。Λ X1 Λ . . · Λ X^1 ο
全文摘要
本發明公開一種基于二進制序列集合的訪問控制策略合成方法,首先定義二進制序列集合元素以及基于二進制序列的集合運算規則,根據以上定義,從屬性約束層對實際的策略進行屬性分解,并通過集合內部元素分離將策略正確的表達成為基于二進制序列的邏輯表達式。然后通過語義檢查和移位合并,用以消除規則冗余和語義沖突問題。在此基礎上,根據實際的安全需求定義基于二進制序列集合的邏輯合成算子,將合成方式轉換成邏輯表達式。利用二進制序列可直接作為數據結構的特點,根據邏輯表達式可直接對基于二進制建模的策略空間計算合成結果,作為一種無需邏輯轉換的策略代數實現機制。最后,將基于二進制集合形式的合成策略翻譯成屬性項策略。
文檔編號H04L29/06GK102932328SQ201210364329
公開日2013年2月13日 申請日期2012年9月26日 優先權日2012年9月26日
發明者潘理, 劉晨燕, 訾小超 申請人:上海交通大學