吳海波
(淮南師范學(xué)院 計(jì)算機(jī)與信息工程系,安徽 淮南 232038)
Web服務(wù)是一個(gè)新型的服務(wù)協(xié)議,具有簡單、可擴(kuò)展、開放性、松散耦合和跨平臺(tái)等特點(diǎn),通過Web技術(shù),使各種不同平臺(tái)上的系統(tǒng)能夠方便地進(jìn)行數(shù)據(jù)和功能共享,實(shí)現(xiàn)互操作。但Web服務(wù)作為一種新興技術(shù),不可避免的有其局限性,突出問題就是安全性。因此為保證Web服務(wù)的安全性和互操作性,亟待找到一種方案以解決其訪問控制的安全問題。
本文研究了單點(diǎn)登錄技術(shù)和訪問控制技術(shù),在此基礎(chǔ)上設(shè)計(jì)了一個(gè)基于SAML的單點(diǎn)登錄和基于XACML的Web服務(wù)訪問控制系統(tǒng)模型,該模型支持集中的用戶管理和統(tǒng)一的身份認(rèn)證,并且經(jīng)過分布與集中相結(jié)合的服務(wù)和授權(quán)進(jìn)行訪問控制。
1.1.1 SAML概念
SAML是由OASIS安全服務(wù)協(xié)會(huì)制定的基于XML框架的一種安全性標(biāo)準(zhǔn),稱為安全聲明標(biāo)記語言。SAML具有以下特點(diǎn):提供單點(diǎn)登錄身份驗(yàn)證的功能;每個(gè)獨(dú)立的系統(tǒng)都能為用戶的身份驗(yàn)證和建立獨(dú)立的授權(quán)方案;能在不同類型的安全服務(wù)系統(tǒng)之間實(shí)現(xiàn)交互。
1.1.2 SAML規(guī)范
SAML規(guī)范有:聲明、請求/響應(yīng)協(xié)議、綁定和概要。
(1)聲明
聲明傳遞主體所執(zhí)行的驗(yàn)證、主體屬性、是否允許主體訪問特定資源的授權(quán)決策等信息。主體是一個(gè)實(shí)體(人或計(jì)算機(jī)),這個(gè)實(shí)體在某個(gè)信任域中擁有一個(gè)特定身份。一組聲明組成一個(gè)主體的配置文件,配置文件中的聲明可能來自不同的組織。
(2)請求/響應(yīng)協(xié)議
SAML定義了基于XML的請求/響應(yīng)消息協(xié)議,能夠在域中參與交互的多方之間傳送SAML聲明。協(xié)議規(guī)定了兩點(diǎn)間共享SAML數(shù)據(jù)(聲明)所需交換的消息種類和格式。
(3)綁定
SAML綁定詳細(xì)描述了SAML協(xié)議在網(wǎng)絡(luò)傳輸中安全規(guī)范。SAML可以和多種通信協(xié)議或消息交換協(xié)議進(jìn)行綁定或鏈接,例如HTTP,FTP,SMTP,SOAP等。并且可以利用被綁定協(xié)議原有的安全機(jī)制實(shí)現(xiàn)SAML傳輸?shù)暮唵伟踩浴?/p>
(4)SAML 概要
SAML概要定義了將SAML聲明嵌入到協(xié)議或其他上下文中及提取SAML聲明的規(guī)則和指南。通過SAML概要,應(yīng)用可以在SAML消息中無縫地安全地交換信息,高效率的與支持SAML的系統(tǒng)實(shí)現(xiàn)交互操作。
1.1.3 Web服務(wù)的單點(diǎn)登錄模型
利用SAML實(shí)現(xiàn)的Web服務(wù)的單點(diǎn)登錄模型如圖1:
圖1 基于SAML的Web服務(wù)單點(diǎn)登錄模型
從圖1中能夠看出,在各個(gè)信任方之間傳輸?shù)氖腔赟AML的安全信息,因而能跨越各方的防火墻。用戶只需提交一次認(rèn)證信息,即可在不同域之間、不同的Web服務(wù)之間實(shí)現(xiàn)單點(diǎn)登錄。
1.2.1 XACML概念
OASIS推出的XACML(可擴(kuò)展訪問控制標(biāo)記語言)是基于XML標(biāo)準(zhǔn)的一種通用的用于保護(hù)資源的策略語言和訪問決策語言,用來表示控制信息訪問的規(guī)則和策略。XACML還定義了授權(quán)決策所需必要規(guī)則的語言,提供了比簡單地拒絕訪問或授權(quán)訪問更加細(xì)粒度的控制訪問機(jī)制。
1.2.2 XACML訪問控制決策模型
基于XACML的訪問控制決策模型是由若干個(gè)功能模塊構(gòu)成的。當(dāng)請求方發(fā)出訪問請求時(shí),策略執(zhí)行點(diǎn) (PEP)將接受到的訪問請求轉(zhuǎn)發(fā)給XACML上下文管理器。XACML上下文管理器收集完一定信息后向策略決策點(diǎn)(PDP)提出決策請求,策略決策點(diǎn)(PDP)根據(jù)策略管理點(diǎn)(PMP)提供的策略,依據(jù)既定的邏輯對決策請求做出判決,并返回判決結(jié)果。最后由上下文處理器將結(jié)果返回策略執(zhí)行點(diǎn)(PEP),由策略執(zhí)行點(diǎn)來實(shí)施決策結(jié)果,向請求方提交是允許請求還是拒絕請求。XACML的訪問控制決策模型如圖2:
圖2 基于XACML的訪問控制決策模型
要在各個(gè)企業(yè)中廣泛的應(yīng)用Web服務(wù),就要解決Web服務(wù)的安全問題。那么其中最重要的問題是多個(gè)聯(lián)合信任域內(nèi)的用戶身份驗(yàn)證問題和單點(diǎn)登錄問題。使用單點(diǎn)登錄技術(shù),用戶能夠僅使用一次身份驗(yàn)證而同時(shí)獲得多個(gè)Web服務(wù)。這里可以用SAML來解決單點(diǎn)登陸問題。
如果要對Web服務(wù)進(jìn)行訪問控制,可以使用XACML語言。XACML語言支持多樣化的策略組合和參數(shù)化的策略描述,有可擴(kuò)展性,同時(shí)能夠融入SOAP調(diào)用時(shí)使用的XML結(jié)構(gòu)中,適用于分布式系統(tǒng)的訪問控制。
如果能夠結(jié)合基于SAML的單點(diǎn)登陸和基于XACML的訪問控制,就可以很好地對Web服務(wù)進(jìn)行訪問控制。利用SAML可以實(shí)現(xiàn)一次登錄、多次訪問,同時(shí)使用XACML提供具體的策略方案來實(shí)現(xiàn)授權(quán)訪問控制,這樣就可以把兩者無縫結(jié)合用來對Web服務(wù)進(jìn)行授權(quán)訪問控制。
因此,可以在SAML的基礎(chǔ)上結(jié)合XACML來對Web服務(wù)進(jìn)行訪問控制,系統(tǒng)結(jié)構(gòu)模型和各個(gè)模塊之間的關(guān)系如圖3所示:
圖3 基于SAML和XACML的Web 服務(wù)訪問控制模型
該模型由五個(gè)部分組成:用戶,目標(biāo)服務(wù),ASPECT管理,身份驗(yàn)證服務(wù),訪問控制服務(wù)。
(l)用戶
用戶是指提交訪問目標(biāo)服務(wù)請求的請求方。
(2)目標(biāo)服務(wù)
目標(biāo)服務(wù)是給用戶提供的Web服務(wù),接受調(diào)用。
(3)Aspect管理
AsPect管理(切面管理模塊)用來實(shí)現(xiàn)用戶端與目標(biāo)服務(wù)的交互操作,與目標(biāo)服務(wù)組成目標(biāo)服務(wù)域。
(4)身份驗(yàn)證服務(wù)
是一個(gè)web服務(wù),提供用戶的登陸和SAML身份認(rèn)證聲明與令牌,用于身份認(rèn)證信息在不同的信息系統(tǒng)之間的傳遞。
(5)訪問控制服務(wù)
訪問控制服務(wù)是一個(gè)獨(dú)立的服務(wù),為用戶對目標(biāo)服務(wù)的訪問請求提供訪問控制公共安全策略,保證服務(wù)只能被授權(quán)的用戶訪問。在訪問具體服務(wù)時(shí),如果還有本地策略控制,則需要均滿足才能訪問目標(biāo)服務(wù)。訪問控制服務(wù)采用基于XACML的訪問控制模式,將整個(gè)系統(tǒng)中的用戶訪問權(quán)限信息集中進(jìn)行管理,簡化了授權(quán)管理,易于維護(hù)。使用XACML規(guī)范中的訪問控制語言模型來描述相關(guān)的授權(quán)信息,使得系統(tǒng)具有良好的兼容性和擴(kuò)展性。
本文在分析SAML和XACML的基礎(chǔ)上,其中重點(diǎn)介紹了SAML和XACML兩者如何結(jié)合及其結(jié)合點(diǎn),從而利用兩者的無縫結(jié)合來對Web服務(wù)進(jìn)行訪問控制。提出了一種基于SAML和XACML的Web服務(wù)訪問控制模型。該模型實(shí)現(xiàn)了對Web服務(wù)的單點(diǎn)登錄,多點(diǎn)訪問,并且使用XACML對用戶進(jìn)行訪問授權(quán)控制。
[1]王子才.基于XACML的訪問控制技術(shù)的應(yīng)用研究[D].大連:大連海事大學(xué),2006
[2]李松.基于XACML統(tǒng)一策略的訪問控制服務(wù)研究與實(shí)現(xiàn)[D].成都:四川大學(xué),2006
[3]吳敏.Web Services訪問控制機(jī)制及其整合研究[D].上海:東華大學(xué),2006
[4]張廣志.多安全域Web服務(wù)訪問控制研究[D].北京:中國石油大學(xué),2008