專利名稱:一種soa中基于屬性的跨安全域訪問控制方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于軟件服務(wù)架構(gòu)應(yīng)用領(lǐng)域,具體涉及ー種SOA中基于屬性的跨安全域訪問控制系統(tǒng)。
背景技術(shù):
SOA是ー種組織和使用分布式資源的方法,通過這種方法可以靈活地組織和管理分布在不同管理域中的資源。隨著人們對信息集成的要求越來越高,松耦合、開放性的SOA越來越受到企業(yè)和學(xué)術(shù)界的青睞。但SOA的發(fā)展也面臨許多問題,如SOA系統(tǒng)安全性的保證、如何集成環(huán)境中的測試服務(wù)和原有數(shù)據(jù)等,其中,SOA的開放性對集成系統(tǒng)的安全性,尤其是跨安全域訪問的安全性提出了巨大的挑戰(zhàn)?;诮巧脑L問控制是現(xiàn)行使用比較普遍的訪問控制策略,但其較適用于在ー個安全域內(nèi)實現(xiàn),不適合對跨域訪問進行控制,因為每個安全域都不持有其他安全域最終用戶的身份驗證信息。基于代理的統(tǒng)一服務(wù)認證授權(quán)系統(tǒng)將最終用戶的基本身份驗證信息保留在該用戶所在的域內(nèi)。對于跨安全域的訪問,則通過身份認證授權(quán)系統(tǒng)來進行控制,該方法在一定程度上解決了企業(yè)信息集成中跨域訪問的問題,但其基于角色的本質(zhì)思想不能成為解決SOA的開放性和信息集成問題的最終方法?;趯傩?ABAC)的訪問控制將實體屬性概念貫穿于訪問控制策略、模型和實現(xiàn)機制三個層次,將與訪問控制相關(guān)的時間、實體空間位置、實體行為、訪問歷史等信息作為主體、客體、權(quán)限和環(huán)境的屬性來統(tǒng)ー建模,通過定義屬性之間的關(guān)系描述復(fù)雜的授權(quán)和訪問控制約束,能夠靈活地表達細粒度、復(fù)雜的訪問授權(quán)和訪問控制策略,特別適合于SOA開放式環(huán)境,并可增強訪問控制系統(tǒng)的靈活性和可擴展性。
發(fā)明內(nèi)容
綜合考慮上述問題,本發(fā)明提出一種基于屬性的跨安全域訪問控制系統(tǒng),將基于屬性訪問控制組件嵌入SOA系統(tǒng)后,在屬性權(quán)威中添加安全域?qū)傩?,并將相關(guān)的跨域訪問策略添加到公共策略庫中,消除了基于角色思想在跨安全域訪問方面的缺陷,充分實現(xiàn)了SOA的分布性,使整個系統(tǒng)具備良好的可擴展性和可集成性。由圖I所示,本發(fā)明系統(tǒng)主要由4個功能模塊組成
I.消息處理模塊
該模塊由客戶端消息處理模塊和服務(wù)端消息處理模塊組成,客戶端主要對客戶發(fā)送的登錄信息進行加密和對接收到的令牌進行解密,服務(wù)端主要對登錄信息進行解密和對令牌進行加密。2.身份認證及令牌管理模塊
身份認證模塊對登錄請求進行解析,獲取用戶的身份信息,井根據(jù)用戶信息數(shù)據(jù)庫認證用戶。令牌管理模塊簽發(fā)給用戶身份令牌,并對提出訪問請求的用戶的身份令牌進行驗證,驗證通過后,再根據(jù)令牌到用戶信息庫中提取相關(guān)用戶信息。
3.訪問控制模塊
基于屬性的訪問控制模塊是系統(tǒng)的核心,由策略執(zhí)行、策略判定、策略管理、及屬性權(quán)威組成,策略執(zhí)行模塊負責處理用戶的原始訪問請求,聯(lián)合屬性權(quán)威構(gòu)建基于屬性的訪問請求(AAR)。策略判定模塊根據(jù)從策略管理模塊處獲取的策略對AAR進行判定,并將判定結(jié)果傳給策略執(zhí)行模塊。4.服務(wù)管理模塊
該模塊由服務(wù)注冊和服務(wù)查詢2個模塊組成。安全架構(gòu)內(nèi)的所有服務(wù)必須進行統(tǒng)一注冊,用于實現(xiàn)跨安全域應(yīng)用中服務(wù)的查找和匹配。服務(wù)信息管理模塊根據(jù)通過驗證的請求到服務(wù)資源庫中提取相關(guān)資源服務(wù),響應(yīng)請求用戶。ー種SOA中基于屬性的跨安全域訪問控制方法,包括以下步驟
1、系統(tǒng)獲取用戶名及密碼信息;
2、對用戶進行驗證后,從用戶信息庫中提取該用戶的相關(guān)屬性信息與訪問請求ー并發(fā)往訪問控制模塊;
3、訪問控制模塊根據(jù)用戶信息和請求訪問的資源URL,分別從屬性權(quán)威和資源信息庫中獲取可供決策依據(jù)的相關(guān)屬性;
4、策略判定組件對照策略庫中的相關(guān)策略來判定此次訪問;
5、策略通過后,所請求服務(wù)響應(yīng)用戶的訪問請求。訪問控制流程
用戶訪問資源之前,需先登錄系統(tǒng),系統(tǒng)采用單點登錄機制,通過認證模塊的一次身份驗證,用戶就可以無逢的訪問集成系統(tǒng)中各安全域的服務(wù)。當用戶在某一安全域登錄后,需訪問另一安全域內(nèi)的服務(wù)時,將發(fā)生跨安全域服務(wù)訪問。圖2示出一次典型的跨安全域服務(wù)調(diào)用的流程
I.用戶登錄后,提出訪問請求。2.身份認證模塊對用戶進行驗證后,從用戶信息庫中提取該用戶的相關(guān)信息與訪問請求一井發(fā)往訪問控制模塊。3.訪問控制模塊根據(jù)用戶信息和請求訪問的資源URL,分別從屬性權(quán)威和資源信息庫中獲取可供決策依據(jù)的相關(guān)屬性。4.策略判定組件對照策略庫中的相關(guān)策略來判定此次訪問。5.策略通過后,所請求服務(wù)響應(yīng)用戶的訪問請求。其中,登錄后的用戶提出訪問請求的同吋,將身份令牌一井發(fā)送給身份認證模塊,由后者對令牌進行驗證后,再根據(jù)令牌信息從用戶信息庫中提取用戶信息。用戶請求完ー個服務(wù),只要仍然持有身份令牌,只需在訪問請求中附上令牌,就可以繼續(xù)訪問其它服務(wù),從而實現(xiàn)單點登錄。
圖I是系統(tǒng)總體結(jié)構(gòu)圖。圖2是訪問控制流程圖。
具體實施方式
I.認證代理的實現(xiàn)
為了使本文設(shè)計的服務(wù)認證授權(quán)系統(tǒng)能夠在分布式異構(gòu)環(huán)境中協(xié)同工作,本系統(tǒng)采用安全斷言標記語言SAML實現(xiàn)能跨安全域傳遞標準化安全令牌的單點登錄機制。SAML的基本目的是提供可跨域身份認證和授權(quán)信息的協(xié)議,而且SAML現(xiàn)已被廣泛接受和應(yīng)用。使用SAML令牌作為單點登錄過程中使用的令牌,可以使本系統(tǒng)具備其他單點登錄系統(tǒng)所不具備的標準性、開放性、通用性,以及跨安全域?qū)嵤┑葍?yōu)勢。基于SAML單點登錄通常有兩種基本模型,即Pull模型和Push模型。本系統(tǒng)選用Pull模型,將維護令牌或聲明的工作交由源站點來完成,以減輕目標站點的處理負擔。2.消息級安全傳輸?shù)膶崿F(xiàn)
在本文中,采用基于SSL的HTTPS安全連接來接收用戶信息,并對用戶信息計算MD5摘 要值與數(shù)據(jù)庫中的用戶認證信息進行匹配,這使得攻擊者無法通過監(jiān)聽來獲取用戶認證信息,同時避免了用戶ロ令在服務(wù)器端的明文存儲,保證了用戶認證信息傳遞和存儲的安全性。本文中的認證令牌在服務(wù)消費端以文件的形式存儲,在認證服務(wù)端將令牌存儲在數(shù)據(jù)庫中,這些令牌都采用OpenSAML安全類以AES算法加密,攻擊者無法解開其中的內(nèi)容,并且認證令牌通過HTTPS連接傳遞,保證了它們在傳輸過程中的安全性。3.策略決策服務(wù)的實現(xiàn)
本文的訪問策略由XACML來定義,由于XACML完全基于XML標準,訪問控制策略也完全由XML標簽構(gòu)成,主體與資源體屬性中都包含安全域?qū)傩?,其基本結(jié)構(gòu)如下所示
<Target>
<Subjects>
<Subject>
〈SubjectMatch Matchld=” ···,,>
<AttributeValue DataTyp=,,···,,>
く! ー此處定義主體屬性一〉
</AttributeValue>
〈/SubjectMatch〉
</Subject>
</Subjects)
くResourcesノ<Resource>
〈ResourceMatch Matehld=” ···,,>
<AttributeValue DataTyp=,,···,,>
く! 一此處定義資源體屬性一〉
</AttributeValue>
</ResourceMatch>
</Resource>
〈/Resources入
權(quán)利要求
1.ー種SOA中基于屬性的跨安全域訪問控制方法,包括以下步驟 (O系統(tǒng)獲取用戶名及密碼信息; (2)對用戶進行驗證后,從用戶信息庫中提取該用戶的相關(guān)屬性信息與訪問請求一井發(fā)往訪問控制模塊; (3)訪問控制模塊根據(jù)用戶信息和請求訪問的資源URL,分別從屬性權(quán)威和資源信息庫中獲取可供決策依據(jù)的相關(guān)屬性; (4)策略判定組件對照策略庫中的相關(guān)策略來判定此次訪問; (5)策略通過后,所請求服務(wù)響應(yīng)用戶的訪問請求。
2.如權(quán)利要求I所述的控制方法,其特征在于第二步驟的用戶的相關(guān)屬性信息包括主體屬性信息、客體屬性信息、環(huán)境資源信息。
3.如權(quán)利要求2所述的控制方法,其特征在于主體屬性信息包括用戶屬性信息和安全域?qū)傩孕畔ⅰ?br>
4.實現(xiàn)權(quán)利要求I的ー種SOA中基于屬性的跨安全域訪問控制方法的系統(tǒng),包括 消息處理模塊該模塊由客戶端消息處理模塊和服務(wù)端消息處理模塊組成,客戶端主要對客戶發(fā)送的登錄信息進行加密和對接收到的令牌進行解密,服務(wù)端主要對登錄信息進行解密和對令牌進行加密; 身份認證及令牌管理模塊身份認證模塊對登錄請求進行解析,獲取用戶的身份信息,井根據(jù)用戶信息數(shù)據(jù)庫認證用戶;令牌管理模塊簽發(fā)給用戶身份令牌,并對提出訪問請求的用戶的身份令牌進行驗證,驗證通過后,再根據(jù)令牌到用戶信息庫中提取相關(guān)用戶信息; 訪問控制模塊基于屬性的訪問控制模塊是系統(tǒng)的核心,由策略執(zhí)行、策略判定、策略管理、及屬性權(quán)威組成,策略執(zhí)行模塊負責處理用戶的原始訪問請求,聯(lián)合屬性權(quán)威構(gòu)建基于屬性的訪問請求;策略判定模塊根據(jù)從策略管理模塊處獲取的策略對訪問請求進行判定,并將判定結(jié)果傳給策略執(zhí)行模塊; 服務(wù)管理模塊該模塊由服務(wù)注冊和服務(wù)查詢2個模塊組成;安全架構(gòu)內(nèi)的所有服務(wù)必須進行統(tǒng)ー注冊,用于實現(xiàn)跨安全域應(yīng)用中服務(wù)的查找和匹配;服務(wù)信息管理模塊根據(jù)通過驗證的請求到服務(wù)資源庫中提取相關(guān)資源服務(wù),響應(yīng)請求用戶。
5.如權(quán)利要求4所述的ー種SOA中基于屬性的跨安全域訪問控制系統(tǒng),其特征在于策略判定模塊根據(jù)從策略管理模塊處獲取策略吋,優(yōu)先對安全域?qū)傩赃M行搜索。
全文摘要
本發(fā)明揭示了一種SOA中基于屬性的跨安全域訪問控制系統(tǒng),包括消息處理模塊,對用戶登錄信息和令牌進行加解密;身份認證及令牌管理模塊,認證用戶信息、簽發(fā)和驗證身份令牌;訪問控制模塊,處理用戶訪問請求并得出判定結(jié)果;服務(wù)管理模塊,統(tǒng)一注冊構(gòu)架內(nèi)服務(wù)并提取相關(guān)資源響應(yīng)用戶。本發(fā)明還提供了一種SOA中基于屬性的跨安全域訪問控制方法。
文檔編號H04L29/08GK102694867SQ20121018325
公開日2012年9月26日 申請日期2012年6月6日 優(yōu)先權(quán)日2012年6月6日
發(fā)明者倪丹, 施化吉 申請人:江蘇大學(xué)