付更麗,曹寶香,夏小娜
(曲阜師范大學 計算機學院,山東 日照 276826)
網格系統是一個虛擬的組織,由多個獨立自治的管理域構成[1]。在網格系統中,用戶和資源的關系是動態和多變的,傳統的基于身份的訪問控制模型對網格系統失去了效用,授權機制需要基于屬性來確定。基于屬性的訪問控制模型(ARAC,Attribute-based Access Control)[2-4]是根據請求者和資源的屬性進行訪問訪問判決,更加能滿足分布式和開放系統的訪問控制需求。特權和角色管理基礎標準確認(PERMIS)和虛擬組織管理服務(VOMS)都是基于屬性的訪問控制系統,但這些授權系統只支持自己定義的策略,不能同時兼容多種策略。在網格系統中,自治域都具有自己的訪問控制策略,網格授權機制應該能靈活的支持這些策略。設計了屬性驅動的多策略網格授權模型MP_ABAC()模型。
可擴展的訪問控制標記語言XACML[5]和安全斷言標記語言(SAML)[5]都是支持基于屬性的訪問控制的 web服務標準。XACML提供了一個基本的授權架構;SAML定義了一個框架來交換安全信息,同時能完成與現有授權系統集成。XACML使用請求者、資源和環境屬性定義的一種策略語言,如圖1示。
框架主要包含策略執行點(PEP)、策略決策點(PDP)、策略信息點(PIP)、策略管理點(PAP)。PEP截獲請求者的訪問請求,并發送請求到PDP。 PDP按照安全策略或由PAP制定的策略集,并請求由PIP獲取的主體、資源和環境屬性,來做出訪問控制判決結果。PDP把訪問判決傳遞給PEP。PEP完成義務并根據PDP訪問判決結果允許或拒絕訪問請求。

圖1 XACML訪問控制架構
請求者:發送請求訪問網格服務的實體,調用網格服務封裝的方法,用Req來表示。
服務:一種網格服務,封裝了一組相關操作,對外提供調用接口的一種軟件代理。通過標準協議和數據格式可以訪問它。用Sev來表示。
資源:是一種系統實體,是一個或多個網格服務的操作對象。資源用Res來表示。
動作:網格服務提供的一個操作,可以被客戶調用。用Act來表示。
環境:與網格服務調用相關的上下文。包含對判決起作用的特殊實體信息,例如當前日期和時間。環境用 Env來表示。
每個實體都擁有定義其身份和特征的屬性集合。
請求者屬性包含身份標識,名字,組織機構,和其他請求者的信息:

服務屬性可能包含服務名稱和服務地址等信息:

資源屬性可能包含資源名稱,標識和其他信息:

動作屬性包含操作名稱:

環境屬性包含當前日期和時間:

I, J, K, L, M在這里表示各種屬性的最大數目,定義為整數。
網格授權系統需要支持多種安全策略,每種策略都有自己的策略描述方法。封裝每種策略成為一個獨立的策略單元,并且定義MP_ABAC策略為這些策略的父集。
MP_ABAC_policy={Pi|i∈[1,m],Pi是一種策略}。
策略評估是跟據安全策略做出訪問判決的過程。判決由訪問控制判決函數ADF使用策略規則來判決訪問控制請求。在MP_ABAC中,定義adf()函數實現ADF,以請求者、服務、資源、動作和環境的屬性為參數。
策略Pi的評估函數記作 Pi_adf():

MP_ABAC的訪問控制判決函數MP_ABAC_adf(),其中combine_f()采用一定的策略組合算法來組合每個策略 Pi的判決結果,得到最后的判決結果。
框架封裝每一種策略為一個PDP,多個不同的PDP構成PDP鏈(PDPs)。定義抽象PDP,使它擁有所有策略的共同特征。在框架中,創建單獨的CorePDP實現MP_ABAC中的MP_ABAC_Policy。CorePDP獲取請求信息,根據配置文件調用PDPs,使用策略組合算法組合從每個PDP返回的訪問判決結果,得出整個評估策略的唯一的判決結果。
圖2中,框架由PEP,PDPs和PIPs組成。安全配置文件用來配置PDPs和PIPs信息。PEP截獲用戶請求,并執行從CorePDP得到的授權判決。CorePDP和PEP合稱框架的授權引擎。PIPs是信息收集點的集合,收集與各種授權評估相關的實體的屬性。框架中SAMLPDP來集成第三方授權系統,PDP使用SAML斷言與授權系統進行交互。SAMLPDP發送請求給外部授權服務。

圖2 MP_ABMC授權框架
req為訪問請求;res為訪問資源;reqAttri-store請求屬性集庫;Attrisi 為PIPi返回的屬性集;decisionj為PDPj返回的結果;decision為最終判決結果


Core PDP接受PEP的評估請求,調用PIPs鏈收集信息,根據請求和收集的信息調用相應PDPs。CorePDP收到PDP返回的訪問判決后,采用策略組合算法core_PDP_combinate_algorithm()組合訪問判決,得到最后判決結果返回給 PEP,PEP根據結果允許或拒絕訪問資源。
提出的MP_ABAC授權框架滿足了網格計算的特征,基于相關實體的屬性做出判決,并支持多策略,可以集成第三方授權系統。隨著網格用戶和用戶群組的不斷增加和復雜化,以及所接入的應用的多元化,網格訪問控制功能將會被大大擴展,結果證明MP_ABAC和授權框架是有效的。
[1] FOSTER I, KESSELMAN C, TUECKE S. The Anatomy of the Grid:Enabling Scalable Virtual Organizations International[J].Supercomputer Applications, 2001,15(03):200-222.
[2] 傅鶴崗,李競.基于屬性的服務訪問控制模型[J].計算機科學,2007,31(05):111-114.
[3] 曲英偉,鄭廣海.基于信任協商的開放系統授權服務模型的設計[J].通信技術.2008,41(01):110-112.
[4] YUAN E, TONG J. Attributed based Access Control (ABAC) for Web Services[C].USA:IEEE,2005:561-569.
[5] OASIS.Extensible Access Control Markup Language(XACML)[EB/OL].(2005-02-01).[2009-11-15]. http://docs.oasis-open.org/xacml/2.0/access_control-xacml-2.0-core-spec-os.pdf.
[6] OASIS. Security Assertion Markup Language (SAML)[EB/OL].(2006-02-14).[2009-11-15]. http://www.cs.ucsb.edu/~bultan/courses/595-W06/SAML.pdf.