

摘 要: 在隱私得到保護的前提下,為了解決位于不同自治域的主體之間動態地交換數據和實現資源共享的問題,提出了一個基于屬性的授權機制。該機制依賴于信任的第三方或聯盟中心,對位于各組織中的主體和對象的屬性進行映射,以屬性集合作為主體的代表,確保不同組織的屬性集合具有一致的存取權限。在本機制中給出了跨域屬性映射的模型和服務策略,并結合模型給出其工作流程,實現跨安全域的身份驗證并進行授權。
關鍵詞: 隱私; 授權機制; 聯盟中心; 屬性映射; 服務策略
中圖分類號:TP309.2 文獻標志碼:A 文章編號:1006-8228(2018)09-14-03
Abstract: In order to solve the problem of being able to exchange data and share resources dynamically under the premise of protecting privacy between subjects located in different autonomous domains, an attribute-based authorization mechanism is proposed. The mechanism relies on a trusted third party or federation center to map the attributes of the principals and objects located in each organization, with the attribute set as the representative of the subjects, ensuring that the attribute sets of different organizations have consistent access rights. In this mechanism, the cross-domain attribute mapping model and the service strategy are given, and the workflow is given according to the model. Authentication and authorization about the cross-security domain are implemented.
Key words: privacy; authorization mechanism; federation center; attribute mapping; service strategy
0 引言
針對不同的應用環境,采用不同的訪問控制策略,訪問控制技術一直是信息領域的研究熱點,主要包括自主訪問控制DAC、強制訪問控制MAC、基于角色的訪問控制RBAC和基于任務的訪問控制TBAC。
其中基于角色的訪問控制RBAC,通過在用戶和權限之間引入角色,將用戶和角色聯系起來,能夠降低管理的復雜性和管理成本,通過對角色授權來控制用戶對系統資源的訪問[1-2]。RBAC目前在授權管理領域有較為廣泛的應用,但存在著無法解決跨域多應用系統高效統一授權問題[3]。
為了解決跨域應用系統的授權問題,我們基于RBAC原理,結合基于屬性的訪問控制[4],給出了聯盟環境下基于屬性存取的跨域認證授權機制。該機制在基于用戶角色的基礎上,根據主體所擁有的屬性及與當前策略相關的環境條件,實現對訪問者進行統一授權控制的策略。
1 架構設計
1.1 總體架構
聯盟環境下基于屬性存取的跨域認證授權機制涉及到多個自治域,每個自治域有各自的用戶、資源和屬性,能夠對域內用戶進行獨立的認證和授權,系統總體架構如圖1所示。其中D0代表認證授權機制的協調中心/聯盟中心,D0本身為一個安全自治域,主要負責資源/服務的組合與構建、資源訪問權限和不同自治域屬性信息之間的映射。Di(0
D0在物理結構上可位于任一Di中,但在邏輯上是一個獨立的組織。
1.2 單域數據模型
用戶得到授權后可以訪問聯盟組織內的共享資源。當用戶訪問聯盟組織內本域的資源時,這是一個典型的單域訪問控制架構,此時用戶、服務和資源被同一個管理者所控制,其屬性存取控制模型架構如圖2所示。
從圖2中可以看出單域存取控制模型是一個標準的(U,R,A,Op,Ob)五元組,其中U代表用戶子集,R代表角色子集,A代表角色擁有的屬性子集,Op代表操作集,Ob代表對象子集。
設單域環境下基于屬性/權限的分配策略為PR、權限集為Pe,則:
Pe?2(OpХOb) 其中Х為笛卡爾積操作。
PR=(U,A,Pe)
設屬性集A'?2A,即{A'|A'?A},自治域內屬性/權限分配 AP?A'ХPe,設a1,a2為A的兩個元素,如果({a1,a2},P)∈AP,則表示擁有屬性集合{a1,a2}的實體擁有權限P。
1.3 多域數據模型
當用戶通過聯盟中心訪問本聯盟中外域的資源時,用戶、屬性、服務/資源和分配策略分別被不同的管理者所控制。用戶首先進行本地認證,再通過協調中心的屬性映射來實現跨域資源存取,其屬性存取控制模型架構如圖3所示。
2 機制的實現
2.1 系統實現
2.1.1 問題分析與定義
參與跨域數據共享的所有自治域構成一個集合D,D={D0,D1,D2,...,DN},其中D0代表協調中心。
設多域數據模型由N個自治域組成,Di(0
2.1.2 相關服務策略
對每個自治域而言,它們都是身份提供者IDP和資源提供者SP的統一體。
對每個IDP來說,它是一個(U,A,P)的三元組,U、A、P的定義同上,其中P=(U,A),表示具有屬性A的用戶被賦予操作權限P;UA?(UXA)表示用戶U具有屬性A;AP?(AXP) 表示從屬性到權限的映射。
對每個SP而言,它是一個(A,Op,Ob)的三元組,AS?(AXS) 表示從屬性到服務的映射,在多域環境下,假設域集合用D_total表示、屬性集合用A_total表示、操作對象集合用Ob'表示、權限集合用Pe'表示、整個聯盟環境下訪問控制機制的屬性/權限集相關策略用AP'表示,Op各域一致,則有:
2.1.3 跨域屬性映射
由于聯盟環境下各個自治域之間的屬性是相互透明的,本機制通過協調中心來建立各域屬性之間的映射。
跨域屬性映射的具體實現如下:
將域Di中的屬性Aa映射到域Dj中的屬性Ab上,從而使域Di中的屬性Aa和域Dj中的屬性Ab具有相同的屬性值時具有相同的權限。
2.2 工作流
通過前面的定義和分析,結合系統的實現,一個正常的跨域授權服務工作流程如圖4所示主要包含以下幾個步驟。
⑴ 用戶向目標域中的資源發出訪問申請。
⑵ 系統通過發現服務將用戶重新定向到用戶所在安全域進行認證[6]。
⑶ 通過認證的用戶,將一個含有本地屬性的令牌發送到協調中心。
⑷ 協調中心通過屬性映射,將包含有新屬性的外地令牌傳送到目標域。
⑸ 目標域結合本地策略和環境條件對屬性進行驗證。
⑹ 如果通過驗證,則允許用戶訪問資源。
3 結束語
本文研究了聯盟環境下多自治域之間資源訪問控制問題,考慮到各個安全域的獨立性和用戶隱私等特點,在單域RBAC訪問控制的基礎上,構建了基于屬性的跨域認證授權機制。基于屬性的存取控制和協調中心的權限策略的通用認證和授權架構支持不同的認證技術,保留并利用了各個自治域原有的認證系統;每個自治域保持資源聯盟的獨立性,在此基礎上實現身份透明的屬性聚合方案,并且保護了用戶隱私。本機制可滿足大型企業和聯盟組織之間的資源共享,在實際應用中有較大的價值,該機制在Windows平臺下已經實現并得以應用,Linux平臺下的設計和實現將是下一步努力和研究的方向。
參考文獻(References):
[1] Sandhu RS, Coyne EJ, Feinstein HL, Youman CE.Role-Based access control models. IEEE Computer,1996.29(2):38-47
[2] Ferraiolo D, Sandhu R.Proposed NIST Standard for Rolebased Access Control[J]. ACM Transactions on Information and System Security,2001.4(3):224-274
[3] 申巍葳,王寶生,賀建忠.一種面向公共服務的跨域授權模型的研究及實現[J].國防科技大學學報,2011.10:123-127
[4] Vincent C. Hu,David Ferraiolo,Rick Kuhn,Adam Schnitzer,Kenneth Sandlin,Robert Miller,Karen Scarfone,Guide to Attribute Based Access Control(ABAC) Definition and Considerations.http://dx.doi.org/10.6028/NIST.SP.800-162
[5] 張帥,孫建伶,徐斌,黃超.KAVSAleksanderJ,基于RBAC的跨多企業服務組合訪問控制模型[J].浙江大學學報,2012.11:2037
[6]劉其群,跨域認證授權機制的研究[J].河南農業,2017.8:58-59