付更麗,曹寶香,夏小娜
(曲阜師范大學(xué) 計(jì)算機(jī)學(xué)院,山東 日照 276826)
網(wǎng)格系統(tǒng)是一個(gè)虛擬的組織,由多個(gè)獨(dú)立自治的管理域構(gòu)成[1]。在網(wǎng)格系統(tǒng)中,用戶和資源的關(guān)系是動(dòng)態(tài)和多變的,傳統(tǒng)的基于身份的訪問控制模型對網(wǎng)格系統(tǒng)失去了效用,授權(quán)機(jī)制需要基于屬性來確定?;趯傩缘脑L問控制模型(ARAC,Attribute-based Access Control)[2-4]是根據(jù)請求者和資源的屬性進(jìn)行訪問訪問判決,更加能滿足分布式和開放系統(tǒng)的訪問控制需求。特權(quán)和角色管理基礎(chǔ)標(biāo)準(zhǔn)確認(rèn)(PERMIS)和虛擬組織管理服務(wù)(VOMS)都是基于屬性的訪問控制系統(tǒng),但這些授權(quán)系統(tǒng)只支持自己定義的策略,不能同時(shí)兼容多種策略。在網(wǎng)格系統(tǒng)中,自治域都具有自己的訪問控制策略,網(wǎng)格授權(quán)機(jī)制應(yīng)該能靈活的支持這些策略。設(shè)計(jì)了屬性驅(qū)動(dòng)的多策略網(wǎng)格授權(quán)模型MP_ABAC()模型。
可擴(kuò)展的訪問控制標(biāo)記語言XACML[5]和安全斷言標(biāo)記語言(SAML)[5]都是支持基于屬性的訪問控制的 web服務(wù)標(biāo)準(zhǔn)。XACML提供了一個(gè)基本的授權(quán)架構(gòu);SAML定義了一個(gè)框架來交換安全信息,同時(shí)能完成與現(xiàn)有授權(quán)系統(tǒng)集成。XACML使用請求者、資源和環(huán)境屬性定義的一種策略語言,如圖1示。
框架主要包含策略執(zhí)行點(diǎn)(PEP)、策略決策點(diǎn)(PDP)、策略信息點(diǎn)(PIP)、策略管理點(diǎn)(PAP)。PEP截獲請求者的訪問請求,并發(fā)送請求到PDP。 PDP按照安全策略或由PAP制定的策略集,并請求由PIP獲取的主體、資源和環(huán)境屬性,來做出訪問控制判決結(jié)果。PDP把訪問判決傳遞給PEP。PEP完成義務(wù)并根據(jù)PDP訪問判決結(jié)果允許或拒絕訪問請求。
圖1 XACML訪問控制架構(gòu)
請求者:發(fā)送請求訪問網(wǎng)格服務(wù)的實(shí)體,調(diào)用網(wǎng)格服務(wù)封裝的方法,用Req來表示。
服務(wù):一種網(wǎng)格服務(wù),封裝了一組相關(guān)操作,對外提供調(diào)用接口的一種軟件代理。通過標(biāo)準(zhǔn)協(xié)議和數(shù)據(jù)格式可以訪問它。用Sev來表示。
資源:是一種系統(tǒng)實(shí)體,是一個(gè)或多個(gè)網(wǎng)格服務(wù)的操作對象。資源用Res來表示。
動(dòng)作:網(wǎng)格服務(wù)提供的一個(gè)操作,可以被客戶調(diào)用。用Act來表示。
環(huán)境:與網(wǎng)格服務(wù)調(diào)用相關(guān)的上下文。包含對判決起作用的特殊實(shí)體信息,例如當(dāng)前日期和時(shí)間。環(huán)境用 Env來表示。
每個(gè)實(shí)體都擁有定義其身份和特征的屬性集合。
請求者屬性包含身份標(biāo)識(shí),名字,組織機(jī)構(gòu),和其他請求者的信息:
服務(wù)屬性可能包含服務(wù)名稱和服務(wù)地址等信息:
資源屬性可能包含資源名稱,標(biāo)識(shí)和其他信息:
動(dòng)作屬性包含操作名稱:
環(huán)境屬性包含當(dāng)前日期和時(shí)間:
I, J, K, L, M在這里表示各種屬性的最大數(shù)目,定義為整數(shù)。
網(wǎng)格授權(quán)系統(tǒng)需要支持多種安全策略,每種策略都有自己的策略描述方法。封裝每種策略成為一個(gè)獨(dú)立的策略單元,并且定義MP_ABAC策略為這些策略的父集。
MP_ABAC_policy={Pi|i∈[1,m],Pi是一種策略}。
策略評估是跟據(jù)安全策略做出訪問判決的過程。判決由訪問控制判決函數(shù)ADF使用策略規(guī)則來判決訪問控制請求。在MP_ABAC中,定義adf()函數(shù)實(shí)現(xiàn)ADF,以請求者、服務(wù)、資源、動(dòng)作和環(huán)境的屬性為參數(shù)。
策略Pi的評估函數(shù)記作 Pi_adf():
MP_ABAC的訪問控制判決函數(shù)MP_ABAC_adf(),其中combine_f()采用一定的策略組合算法來組合每個(gè)策略 Pi的判決結(jié)果,得到最后的判決結(jié)果。
框架封裝每一種策略為一個(gè)PDP,多個(gè)不同的PDP構(gòu)成PDP鏈(PDPs)。定義抽象PDP,使它擁有所有策略的共同特征。在框架中,創(chuàng)建單獨(dú)的CorePDP實(shí)現(xiàn)MP_ABAC中的MP_ABAC_Policy。CorePDP獲取請求信息,根據(jù)配置文件調(diào)用PDPs,使用策略組合算法組合從每個(gè)PDP返回的訪問判決結(jié)果,得出整個(gè)評估策略的唯一的判決結(jié)果。
圖2中,框架由PEP,PDPs和PIPs組成。安全配置文件用來配置PDPs和PIPs信息。PEP截獲用戶請求,并執(zhí)行從CorePDP得到的授權(quán)判決。CorePDP和PEP合稱框架的授權(quán)引擎。PIPs是信息收集點(diǎn)的集合,收集與各種授權(quán)評估相關(guān)的實(shí)體的屬性??蚣苤蠸AMLPDP來集成第三方授權(quán)系統(tǒng),PDP使用SAML斷言與授權(quán)系統(tǒng)進(jìn)行交互。SAMLPDP發(fā)送請求給外部授權(quán)服務(wù)。
圖2 MP_ABMC授權(quán)框架
req為訪問請求;res為訪問資源;reqAttri-store請求屬性集庫;Attrisi 為PIPi返回的屬性集;decisionj為PDPj返回的結(jié)果;decision為最終判決結(jié)果
Core PDP接受PEP的評估請求,調(diào)用PIPs鏈?zhǔn)占畔?,根?jù)請求和收集的信息調(diào)用相應(yīng)PDPs。CorePDP收到PDP返回的訪問判決后,采用策略組合算法core_PDP_combinate_algorithm()組合訪問判決,得到最后判決結(jié)果返回給 PEP,PEP根據(jù)結(jié)果允許或拒絕訪問資源。
提出的MP_ABAC授權(quán)框架滿足了網(wǎng)格計(jì)算的特征,基于相關(guān)實(shí)體的屬性做出判決,并支持多策略,可以集成第三方授權(quán)系統(tǒng)。隨著網(wǎng)格用戶和用戶群組的不斷增加和復(fù)雜化,以及所接入的應(yīng)用的多元化,網(wǎng)格訪問控制功能將會(huì)被大大擴(kuò)展,結(jié)果證明MP_ABAC和授權(quán)框架是有效的。
[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] 傅鶴崗,李競.基于屬性的服務(wù)訪問控制模型[J].計(jì)算機(jī)科學(xué),2007,31(05):111-114.
[3] 曲英偉,鄭廣海.基于信任協(xié)商的開放系統(tǒng)授權(quán)服務(wù)模型的設(shè)計(jì)[J].通信技術(shù).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.