專利名稱:一種網(wǎng)格授權(quán)實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)格授權(quán)實(shí)現(xiàn)方法,特別是一種遵循國(guó)際標(biāo)準(zhǔn),細(xì)粒度的基于策略的網(wǎng)格授權(quán)實(shí)現(xiàn)方法。
背景技術(shù):
網(wǎng)格是近年來逐漸興起的一個(gè)研究領(lǐng)域。當(dāng)前的Internet技術(shù)實(shí)現(xiàn)了計(jì)算機(jī)硬件的連通,Web技術(shù)實(shí)現(xiàn)了網(wǎng)頁(yè)的連通,而網(wǎng)格技術(shù)是要把整個(gè)因特網(wǎng)上的各種資源整合成一臺(tái)巨大的計(jì)算機(jī),從而實(shí)現(xiàn)資源共享與協(xié)同工作。網(wǎng)格要達(dá)到資源共享與協(xié)作的目的,必須解決訪問資源的授權(quán)問題。網(wǎng)格應(yīng)用環(huán)境具有典型的分布性、異構(gòu)性和動(dòng)態(tài)性等特征,對(duì)授權(quán)技術(shù)提出了新的挑戰(zhàn)。首先,網(wǎng)格可以跨越多企業(yè)、多系統(tǒng)或個(gè)人,它們對(duì)安全控制的需求和采用的安全策略可能完全不同,因此要求授權(quán)系統(tǒng)具有通用的授權(quán)機(jī)制以實(shí)現(xiàn)多種用戶根據(jù)不同需求自定義授權(quán)策略。其次,不同用戶需要能獨(dú)立的制定自己管轄的資源的授權(quán)策略而不受其他用戶的授權(quán)策略的影響,網(wǎng)格中的全局的安全策略還需要與本地的安全策略協(xié)調(diào)和交互,既要滿足全局控制的需要,又要滿足用戶自主控制的需求。此外,網(wǎng)格作為一個(gè)開放、動(dòng)態(tài)的系統(tǒng),具有多種安全策略、大量的用戶及訪問服務(wù)請(qǐng)求、以及異構(gòu)的資源,這要求授權(quán)機(jī)制靈活并易于管理。
目前網(wǎng)格授權(quán)技術(shù)正處于不斷發(fā)展過程中,Globus項(xiàng)目作為網(wǎng)格中間件的事實(shí)標(biāo)準(zhǔn),在其2.x版本中的授權(quán)是通過grid-mapfi1e綁定在Unix類操作系統(tǒng)上,在其3.x版本中引入了社團(tuán)授權(quán)服務(wù)器(Community Authorization Server,簡(jiǎn)稱CAS)來在虛擬組織范圍內(nèi)為用戶指派各網(wǎng)格節(jié)點(diǎn)提供的訪問權(quán)限,增強(qiáng)了訪問控制的靈活性,但主要仍然是基于身份的授權(quán),有很大的局限性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提出一種基于策略的網(wǎng)格授權(quán)實(shí)現(xiàn)方法,為網(wǎng)格應(yīng)用提供細(xì)粒度的、基于屬性的授權(quán)支持。
為實(shí)現(xiàn)上述目的,本發(fā)明提出了一種網(wǎng)格授權(quán)實(shí)現(xiàn)方法,其中執(zhí)行以下步驟步驟1、用戶發(fā)起初始訪問請(qǐng)求;步驟2、客戶端授權(quán)處理鏈接點(diǎn)收集客戶端的安全信息,將該安全信息插入簡(jiǎn)單對(duì)象訪問協(xié)議報(bào)文的頭部部分,與用戶請(qǐng)求一起發(fā)送到服務(wù)端;步驟3、服務(wù)端解析安全信息,驗(yàn)證簽字,并判斷安全信息是否有效,如果是,則執(zhí)行步驟5;否則執(zhí)行步驟4;步驟4、丟棄安全信息中的無效部分;步驟5、服務(wù)端授權(quán)處理鏈接點(diǎn)收集服務(wù)端的安全信息;步驟6、服務(wù)端授權(quán)處理鏈接點(diǎn)構(gòu)造授權(quán)請(qǐng)求上下文;步驟7、根據(jù)客戶端及服務(wù)端的安全信息進(jìn)行授權(quán)決策;步驟8、判斷授權(quán)是否通過,如果是,則執(zhí)行步驟9;否則返回授權(quán)不通過的信息;步驟9、允許用戶訪問目標(biāo)服務(wù),返回訪問服務(wù)結(jié)果。
該方法遵循IETF RFC2903、2904 AAA授權(quán)框架,應(yīng)用XACML,SAML,WS-Secur ity等通用國(guó)際標(biāo)準(zhǔn),使用基于策略的設(shè)計(jì),配置管理靈活方便,為網(wǎng)格應(yīng)用提供細(xì)粒度的、基于屬性的授權(quán)支持,能夠較好的滿足網(wǎng)格環(huán)境下的授權(quán)需求,而且使授權(quán)系統(tǒng)靈活且易于定制和管理。
下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為本發(fā)明網(wǎng)格授權(quán)實(shí)現(xiàn)方法的流程圖;圖2為本發(fā)明網(wǎng)格授權(quán)實(shí)現(xiàn)方法的實(shí)施例的流程圖;
圖3為本發(fā)明網(wǎng)格授權(quán)實(shí)現(xiàn)方法的實(shí)施例中進(jìn)行授權(quán)決策的流程圖。
具體實(shí)施例方式
在網(wǎng)絡(luò)授權(quán)系統(tǒng)的概念模型中,授權(quán)過程包括兩種常用模式1、拉模式,請(qǐng)求者1發(fā)起對(duì)資源的訪問,策略強(qiáng)制點(diǎn)(Policy EnforcementPoint,簡(jiǎn)稱PEP)截獲此訪問請(qǐng)求并構(gòu)造授權(quán)請(qǐng)求上下文向策略決策點(diǎn)(Policy Decision Point,簡(jiǎn)稱PDP)請(qǐng)求授權(quán),PDP根據(jù)從策略管理點(diǎn)(PolicyAdministration Point,簡(jiǎn)稱PAP)獲取的相關(guān)授權(quán)策略和從策略信息點(diǎn)(Policy Information Point,簡(jiǎn)稱PIP)獲取的安全信息,做出授權(quán)決策,并將決策結(jié)果返回給PEP,PEP根據(jù)授權(quán)結(jié)果允許或拒絕請(qǐng)求者1對(duì)資源的訪問,授權(quán)過程對(duì)于請(qǐng)求者1是透明的;2、推模式,由請(qǐng)求者2向PDP發(fā)出授權(quán)請(qǐng)求,然后使用PDP返回的授權(quán)許可票據(jù)來請(qǐng)求對(duì)資源的訪問,PEP在驗(yàn)證授權(quán)許可票據(jù)后允許或拒絕請(qǐng)求者2的訪問請(qǐng)求,授權(quán)過程需要請(qǐng)求者2的參與。
本發(fā)明基于策略的網(wǎng)格授權(quán)實(shí)現(xiàn)方法對(duì)該模型的拉模式進(jìn)行了實(shí)現(xiàn)。
如圖1所示,為本發(fā)明網(wǎng)格授權(quán)實(shí)現(xiàn)方法的流程圖,具體執(zhí)行以下步驟步驟101、用戶發(fā)起初始訪問請(qǐng)求;步驟102、客戶端授權(quán)處理鏈接點(diǎn)收集客戶端的安全信息,將該安全信息插入簡(jiǎn)單對(duì)象訪問協(xié)議報(bào)文的頭部部分,與用戶請(qǐng)求一起發(fā)送到服務(wù)端;步驟103、服務(wù)端解析安全信息,驗(yàn)證簽字,并判斷安全信息是否有效,如果是,則執(zhí)行步驟105;否則執(zhí)行步驟104;步驟104、丟棄安全信息中的無效部分;步驟105、服務(wù)端授權(quán)處理鏈接點(diǎn)收集服務(wù)端的安全信息;步驟106、服務(wù)端授權(quán)處理鏈接點(diǎn)構(gòu)造授權(quán)請(qǐng)求上下文;步驟107、進(jìn)行授權(quán)決策;步驟108、判斷授權(quán)是否通過,如果是,則執(zhí)行步驟109;否則返回授權(quán)不通過的信息;步驟109、允許用戶訪問目標(biāo)服務(wù),返回訪問服務(wù)結(jié)果。
在該方法中,客戶端授權(quán)處理鏈接點(diǎn)在客戶端截獲用戶對(duì)目標(biāo)服務(wù)的訪問請(qǐng)求,為服務(wù)端的授權(quán)決策提供源于客戶端的信息收集,收集的安全信息將遵循WS-Security規(guī)范通過SOAP報(bào)文傳遞給服務(wù)端。用戶可以在該模塊的安全配置中提供用戶安全斷言標(biāo)記語(yǔ)言(Security Assertion MarkupLanguage,簡(jiǎn)稱SAML)屬性斷言。該模塊是授權(quán)模型中PIP功能點(diǎn)在客戶端的實(shí)現(xiàn)。
該模塊部署在客戶端,是有可能被惡意的用戶繞過或篡改的。在這種情況下,服務(wù)端授權(quán)處理鏈接點(diǎn)會(huì)拋棄無法正確解析和驗(yàn)證的無效屬性,僅憑借服務(wù)端收集的信息對(duì)用戶的訪問請(qǐng)求作出授權(quán)。
服務(wù)端授權(quán)處理鏈接點(diǎn)在服務(wù)端截獲用戶的訪問請(qǐng)求,首先收集服務(wù)端的各種安全信息,解析由客戶端授權(quán)處理鏈接點(diǎn)傳遞過來的客戶端信息,并驗(yàn)證各屬性斷言的可信任性,然后向授權(quán)服務(wù)發(fā)出策略決策請(qǐng)求或在本地完成策略決策,最后根據(jù)策略決策的結(jié)果實(shí)現(xiàn)策略強(qiáng)制,即允許或拒絕用戶對(duì)目標(biāo)服務(wù)的訪問。
除了策略決策模式配置,該模塊的安全配置還包括SAML屬性斷言指定和可信任的屬性權(quán)威的證書指定。目標(biāo)服務(wù)的管理員可通過SAML屬性斷言指定服務(wù)端的安全信息,并支持以XPath和QName的形式在SAML斷言中指定查找運(yùn)行時(shí)動(dòng)態(tài)信息,如用戶訪問目標(biāo)服務(wù)的方法參數(shù)、服務(wù)資源的當(dāng)前值等。指定的屬性權(quán)威證書被用來驗(yàn)證客戶端屬性斷言的簽名,以判斷其是否可信任。
該模塊是授權(quán)模型中PIP功能點(diǎn)在服務(wù)端的實(shí)現(xiàn),并實(shí)現(xiàn)了PEP功能點(diǎn),對(duì)于本地授權(quán)方式的PDP功能點(diǎn)也在該模塊實(shí)現(xiàn)。
進(jìn)行授權(quán)決策有兩種選擇1.本地授權(quán)決策在服務(wù)端直接進(jìn)行授權(quán)決策,這種情況下,由服務(wù)端授權(quán)處理鏈接點(diǎn)完成;2.集中授權(quán)決策訪問域授權(quán)服務(wù)進(jìn)行授權(quán)決策,這種情況下,服務(wù)端授權(quán)處理鏈接點(diǎn)把授權(quán)請(qǐng)求上下文發(fā)送給域授權(quán)服務(wù),域授權(quán)服務(wù)進(jìn)行授權(quán)決策。
2相對(duì)于1來說,便于域中的集中授權(quán)管理,能夠支持全局的授權(quán)策略和服務(wù)指定的服務(wù)特定授權(quán)策略相接合。同時(shí)域授權(quán)服務(wù)能為域中的各主體管理授權(quán)策略。但2對(duì)于1來說,多了一次遠(yuǎn)程訪問的過程,需要耗費(fèi)更多的處理時(shí)間。
因此,本發(fā)明提供給用戶這兩種授權(quán)方式的選擇,用戶可以根據(jù)具體部署的環(huán)境和需求來選擇。
如圖2所示,為本發(fā)明網(wǎng)格授權(quán)實(shí)現(xiàn)方法的實(shí)施例的流程圖,具體執(zhí)行以下步驟步驟201、用戶發(fā)起初始訪問請(qǐng)求;步驟202、客戶端授權(quán)處理鏈接點(diǎn)收集客戶端的安全信息,根據(jù)客戶端的安全配置定制客戶端授權(quán)處理鏈接點(diǎn),并將該安全信息插入簡(jiǎn)單對(duì)象訪問協(xié)議報(bào)文的頭部部分,與用戶請(qǐng)求一起發(fā)送到服務(wù)端;步驟203、服務(wù)端解析安全信息,并驗(yàn)證簽字,證明其有效性;步驟204、判斷安全信息是否有效,如果是,則執(zhí)行步驟206;否則執(zhí)行步驟205;步驟205、丟棄安全信息中的無效部分;步驟206、服務(wù)端授權(quán)處理鏈接點(diǎn)收集服務(wù)端的安全信息,根據(jù)服務(wù)端安全配置定制服務(wù)端授權(quán)處理鏈接點(diǎn);步驟207、服務(wù)端授權(quán)處理鏈接點(diǎn)構(gòu)造授權(quán)請(qǐng)求上下文,并根據(jù)客戶端用戶屬性證書為授權(quán)請(qǐng)求加入用戶屬性信息,根據(jù)服務(wù)端屬性證書為授權(quán)請(qǐng)求加入服務(wù)屬性信息;步驟208、進(jìn)行授權(quán)決策;這里提供了兩種授權(quán)決策模式的選擇①本地授權(quán)決策由目標(biāo)服務(wù)管理員在安全配置中指定授權(quán)策略,在本地完成策略決策,而不訪問域授權(quán)服務(wù);②集中授權(quán)決策生成授權(quán)請(qǐng)求上下文向域授權(quán)服務(wù)發(fā)出授權(quán)請(qǐng)求,由域授權(quán)服務(wù)完成策略決策,授權(quán)策略由授權(quán)策略倉(cāng)庫(kù)集中管理;本地授權(quán)模式犧牲了域一級(jí)的集中授權(quán)管理,需要由目標(biāo)服務(wù)自己承擔(dān)授權(quán)策略的管理以及本地策略與全局策略的合成,換來的是避免了對(duì)域授權(quán)服務(wù)的遠(yuǎn)程訪問,使得在授權(quán)效率上得到一定的提升,服務(wù)管理員可以根據(jù)具體的應(yīng)用場(chǎng)景的需求對(duì)兩種授權(quán)模式進(jìn)行選擇配置;步驟209、判斷授權(quán)是否通過,如果是,則執(zhí)行步驟210;否則返回授權(quán)不通過的信息;步驟210、允許用戶訪問目標(biāo)服務(wù),返回訪問服務(wù)結(jié)果。
其中,如圖3所示,本發(fā)明網(wǎng)格授權(quán)實(shí)現(xiàn)方法的實(shí)施例中步驟208進(jìn)行授權(quán)決策的流程圖,具體執(zhí)行以下步驟步驟2080、接收授權(quán)請(qǐng)求,并對(duì)授權(quán)請(qǐng)求消息解包;步驟2081、從請(qǐng)求中解析出用戶的身份信息,這個(gè)身份信息是用戶所訪問的目標(biāo)服務(wù)的身份信息;在網(wǎng)格授權(quán)場(chǎng)景中,每個(gè)主體都是有其身份的,訪問一個(gè)網(wǎng)格服務(wù)的網(wǎng)格用戶具有其身份,網(wǎng)格服務(wù)本身有其身份,同時(shí)域授權(quán)服務(wù)也有其身份,網(wǎng)格服務(wù)的服務(wù)端授權(quán)鏈接點(diǎn)向域授權(quán)服務(wù)發(fā)起授權(quán)請(qǐng)求時(shí),它是域授權(quán)服務(wù)的用戶,因此這里是網(wǎng)格服務(wù)的身份,域授權(quán)服務(wù)處集中管理著域中多個(gè)網(wǎng)格服務(wù)的策略,需要依靠服務(wù)的身份來確定服務(wù)所對(duì)應(yīng)的授權(quán)策略,對(duì)于訪問某特定服務(wù)的不同的網(wǎng)格用戶,請(qǐng)求域授權(quán)服務(wù)時(shí)使用的身份信息都是同一個(gè)身份信息——此服務(wù)的身份。對(duì)應(yīng)提取的也都是同一批授權(quán)策略——此網(wǎng)格服務(wù)指定的授權(quán)策略;步驟2082、根據(jù)身份信息從授權(quán)策略倉(cāng)庫(kù)中提取出與用戶請(qǐng)求的服務(wù)對(duì)應(yīng)的服務(wù)授權(quán)策略,并根據(jù)授權(quán)策略倉(cāng)庫(kù)的配置信息定制授權(quán)策略倉(cāng)庫(kù)的行為;授權(quán)策略倉(cāng)庫(kù)負(fù)責(zé)對(duì)域授權(quán)服務(wù)進(jìn)行授權(quán)決策過程中所需要的策略進(jìn)行管理,并為用戶提供了管理策略的API接口和輔助管理工具;它為每一個(gè)服務(wù)分別維護(hù)一個(gè)策略空間,依據(jù)訪問者的身份確定其可操作的策略空間,不同服務(wù)的授權(quán)策略位于各自的策略空間中,確保不會(huì)互相干擾和被混用,當(dāng)域授權(quán)服務(wù)向授權(quán)策略倉(cāng)庫(kù)請(qǐng)求授權(quán)策略時(shí),需提供受保護(hù)目標(biāo)服務(wù)的身份信息,授權(quán)策略倉(cāng)庫(kù)根據(jù)此身份信息索引到受保護(hù)目標(biāo)服務(wù)相關(guān)的策略空間,返回其授權(quán)策略給域授權(quán)服務(wù),授權(quán)策略倉(cāng)庫(kù)是授權(quán)模型中PAP功能點(diǎn)的實(shí)現(xiàn);步驟2083、根據(jù)服務(wù)持有者的配置從用戶的服務(wù)訪問請(qǐng)求中搜集指定安全信息,調(diào)用策略決策引擎根據(jù)目標(biāo)服務(wù)設(shè)置的服務(wù)授權(quán)策略進(jìn)行授權(quán)決策;步驟2084、判斷授權(quán)是否通過,如果是,則執(zhí)行步驟2085;否則執(zhí)行步驟2088;步驟2085、從授權(quán)策略倉(cāng)庫(kù)中提取出域全局授權(quán)策略;步驟2086、調(diào)用策略決策引擎根據(jù)域全局授權(quán)策略進(jìn)行授權(quán)決策;步驟2087、判斷授權(quán)是否通過,如果是,則設(shè)置授權(quán)不通過結(jié)果,執(zhí)行步驟2089;否則執(zhí)行步驟2088;步驟2088、設(shè)置授權(quán)通過結(jié)果;步驟2089、授權(quán)返回消息組包,返回結(jié)果。
最后所應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種網(wǎng)格授權(quán)實(shí)現(xiàn)方法,其中執(zhí)行以下步驟步驟1、用戶發(fā)起初始訪問請(qǐng)求;步驟2、客戶端授權(quán)處理鏈接點(diǎn)收集客戶端的安全信息,將該安全信息插入簡(jiǎn)單對(duì)象訪問協(xié)議報(bào)文的頭部部分,與所述請(qǐng)求一起發(fā)送到服務(wù)端;步驟3、所述服務(wù)端解析所述安全信息,驗(yàn)證簽字,并判斷所述安全信息是否有效,如果是,則執(zhí)行步驟5;否則執(zhí)行步驟4;步驟4、丟棄所述安全信息中的無效部分;步驟5、服務(wù)端的授權(quán)處理鏈接點(diǎn)收集服務(wù)端的安全信息;步驟6、所述授權(quán)處理鏈接點(diǎn)構(gòu)造授權(quán)請(qǐng)求上下文,用于請(qǐng)求授權(quán)決策;步驟7、根據(jù)客戶端及服務(wù)端的安全信息進(jìn)行授權(quán)決策;步驟8、判斷所述授權(quán)是否通過,如果是,則執(zhí)行步驟9;否則返回授權(quán)不通過的信息;步驟9、允許用戶訪問目標(biāo)服務(wù),返回訪問服務(wù)結(jié)果。
2.根據(jù)權(quán)利要求1所述的網(wǎng)格授權(quán)實(shí)現(xiàn)方法,其中所述步驟7的具體流程為步驟70、接收授權(quán)請(qǐng)求,并對(duì)授權(quán)請(qǐng)求消息解包;步驟71、從所述請(qǐng)求中解析出所述用戶的身份信息;步驟72、根據(jù)所述身份信息從授權(quán)策略倉(cāng)庫(kù)中提取出與用戶請(qǐng)求的服務(wù)對(duì)應(yīng)的服務(wù)授權(quán)策略;步驟73、調(diào)用策略決策引擎根據(jù)目標(biāo)服務(wù)設(shè)置的服務(wù)授權(quán)策略進(jìn)行授權(quán)決策;步驟74、判斷授權(quán)是否通過,如果是,則執(zhí)行步驟75;否則執(zhí)行步驟78;步驟75、從所述授權(quán)策略倉(cāng)庫(kù)中提取出域全局授權(quán)策略;步驟76、調(diào)用所述策略決策引擎根據(jù)所述域全局授權(quán)策略進(jìn)行授權(quán)決策;步驟77、判斷授權(quán)是否通過,如果是,則設(shè)置授權(quán)不通過結(jié)果,執(zhí)行步驟79;否則執(zhí)行步驟78;步驟78、設(shè)置授權(quán)通過結(jié)果;步驟79、授權(quán)返回消息組包,返回結(jié)果。
3.根據(jù)權(quán)利要求1或2所述的網(wǎng)格授權(quán)實(shí)現(xiàn)方法,其中步驟8中所述授權(quán)決策在本地或發(fā)送到域授權(quán)服務(wù)中進(jìn)行,當(dāng)在本地進(jìn)行時(shí),沒有授權(quán)策略倉(cāng)庫(kù)對(duì)策略的管理,也不需要解析網(wǎng)格服務(wù)的身份信息,沒有全局授權(quán)策略的應(yīng)用。
全文摘要
本發(fā)明涉及一種網(wǎng)格授權(quán)實(shí)現(xiàn)方法,執(zhí)行以下步驟1.用戶發(fā)起初始訪問請(qǐng)求;2.客戶端授權(quán)處理鏈接點(diǎn)收集客戶端的安全信息,將該安全信息插入簡(jiǎn)單對(duì)象訪問協(xié)議報(bào)文的頭部部分,與用戶請(qǐng)求一起發(fā)送到服務(wù)端;3.服務(wù)端解析安全信息,并驗(yàn)證簽字,證明其有效性;4.判斷安全信息是否有效,如果是,則執(zhí)行步驟6;否則執(zhí)行步驟5;5.丟棄安全信息中的無效部分;6.服務(wù)端授權(quán)處理鏈接點(diǎn)收集服務(wù)端的安全信息;7.構(gòu)造授權(quán)請(qǐng)求上下文;8.進(jìn)行授權(quán)決策;9.判斷授權(quán)是否通過,如果是,則允許用戶訪問目標(biāo)服務(wù);否則返回授權(quán)不通過的信息。該方法能夠較好的滿足網(wǎng)格環(huán)境下的授權(quán)需求。
文檔編號(hào)H04L29/06GK1791026SQ20051013254
公開日2006年6月21日 申請(qǐng)日期2005年12月26日 優(yōu)先權(quán)日2005年12月26日
發(fā)明者懷進(jìn)鵬, 胡春明, 李建欣, 顏強(qiáng), 李沁, 劉小佩 申請(qǐng)人:北京航空航天大學(xué)