隨著Internet 的高速發(fā)展,Web 服務(wù)技術(shù)得到廣泛應(yīng)用,面向服務(wù)的體系架構(gòu)(SOA,Service-Oriented Architecture)也受到了業(yè)界的重視。SOA 以服務(wù)的形式組合完成應(yīng)用功能,具有開放性、可伸縮性、松散耦合性等優(yōu)點(diǎn)。由于部署在SOA 中的服務(wù)可以訪問到系統(tǒng)的敏感信息,因而其面臨的安全問題也日益凸顯。當(dāng)服務(wù)可以開啟一系列處理的可能性的時候, 如果沒有考慮足夠嚴(yán)格的安全策略來處理安全隱患, 它就有可能帶來系統(tǒng)的災(zāi)難。安全性問題在設(shè)計(jì)SOA 系統(tǒng)時顯得尤為重要。本文旨在研究SOA 架構(gòu)下的安全問題,提出SOA 架構(gòu)的安全解決方案,保證服務(wù)資源的安全。
1.SOA 的安全性
SOA 是一種設(shè)計(jì)、開發(fā)、部署和管理服務(wù)的面向服務(wù)的體系結(jié)構(gòu)。基于SOA 的系統(tǒng)可能由不同廠商的基于異構(gòu)平臺的多種服務(wù)組合而成, 每個服務(wù)都具有各自獨(dú)立的安全域, 由不同企業(yè)的不同部門負(fù)責(zé)管理和維護(hù),所以具有跨身份和管理邊界的身份轉(zhuǎn)換、傳播和跨技術(shù)平臺的特點(diǎn)。在安全性上要求SOA 必須建立統(tǒng)一的信任體系,請求者能夠在服務(wù)間自由交互,系統(tǒng)能夠隨著邊界的不同而自動轉(zhuǎn)換請求者的身份。同時Web Service 能夠在多個系統(tǒng)安全完整地進(jìn)行數(shù)據(jù)交換,要共同組成一個完整的一站式服務(wù),必須在合作伙伴之間建立可靠、安全的信任關(guān)系。SOA 系統(tǒng)可以是跨平臺、多個應(yīng)用系統(tǒng)的服務(wù)組合,需建立統(tǒng)一、重用、共享安全性的安全標(biāo)準(zhǔn)及共享安全組件, 例如CA 認(rèn)證、信道加密或安全網(wǎng)關(guān)等。使用者需要對SOA 提供的服務(wù)進(jìn)行擔(dān)保,確保服務(wù)僅執(zhí)行其請求的操作。
傳統(tǒng)的安全防御對象主要是針對人,SOA 強(qiáng)調(diào)機(jī)器與機(jī)器的交互, 而其安全性都是基于人與機(jī)器交互的威脅。如何應(yīng)對服務(wù)之間交互時產(chǎn)生的威脅是SOA安全防御的重要方面。在未采取安全保護(hù)措施的SOA中,Web 服務(wù)往往不具備跟蹤服務(wù)的授權(quán)和使用狀態(tài)的功能, 未授權(quán)用戶可以非常輕松地訪問Web 服務(wù)。身份驗(yàn)證和授權(quán)是安全保障必需的方法。SOA 設(shè)計(jì)要涵蓋消息級和傳輸級安全性,必須保護(hù)敏感信息,以安全方式暫存敏感信息,同時保證消息源的完整性。SOA系統(tǒng)應(yīng)具有可追究性和可跟蹤性,必須具有很強(qiáng)的服務(wù)審計(jì)能力。SOA 使用者可以保存系統(tǒng)的操作記錄,以便跟蹤其用戶和消息。
1.2 SOA的安全基礎(chǔ)
SOA 強(qiáng)調(diào)松散耦合的分布式系統(tǒng)集成,SOA 架構(gòu)解決了開放性和重用性, 其安全性是架構(gòu)存在的必要保障。結(jié)合SOA 架構(gòu)的特點(diǎn),其安全性保障應(yīng)解決的安全基礎(chǔ)問題是認(rèn)證、授權(quán)、機(jī)密性和抗攻擊性。因?yàn)镾OA 架構(gòu)的訪問用戶的隨機(jī)性和不確定性,所以需要完善的身份認(rèn)證措施。SOA 架構(gòu)的服務(wù)是開放的、跨邊界的,防止非授權(quán)組織非法獲取信息,加密和訪問控制是保護(hù)敏感信息實(shí)現(xiàn)機(jī)密性的做法。SOA 架構(gòu)可以是提供多個服務(wù)組合的應(yīng)用,一個應(yīng)用功能可能對應(yīng)各個組成服務(wù)的多個操作,因此,在對SOA 架構(gòu)的訪問授權(quán)上應(yīng)提出檢查各組成服務(wù)的訪問控制規(guī)則。SOA 架構(gòu)的抗攻擊性是確保攻擊者不能獲得應(yīng)用之外的控制。
2.安全SOA 架構(gòu)的構(gòu)建研究
SOA是基于服務(wù)的分布式系統(tǒng)的設(shè)計(jì)框架。SOA系統(tǒng)的安全性主要是來自內(nèi)部和外部的威脅。因此,我們采用現(xiàn)有的WS-Security 規(guī)范和混合多級訪問控制機(jī)制相結(jié)合來解決SOA 架構(gòu)的安全問題,設(shè)計(jì)端到端的安全模型,保障整個Web 服務(wù)的對話安全。
2.1 構(gòu)建SOA的安全服務(wù)
SOA 是面向服務(wù)的,所以SOA 可以提供安全服務(wù)的調(diào)用來保障應(yīng)用系統(tǒng)的安全。SOA 架構(gòu)的安全服務(wù)可以獨(dú)立運(yùn)行,同時提供應(yīng)用程序接口API 給其他服務(wù)、應(yīng)用等調(diào)用。SOA 的安全服務(wù)包括消息安全和系統(tǒng)安全。消息安全服務(wù)是指數(shù)據(jù)的一致性、私密性服務(wù)。系統(tǒng)安全服務(wù)則包括認(rèn)證、授權(quán)、審計(jì)等服務(wù)。所以安全服務(wù)主要解決身份認(rèn)證、資源授權(quán)、數(shù)據(jù)加密、數(shù)字簽名、訪問控制、傳輸安全等問題。SOA 架構(gòu)的應(yīng)用系統(tǒng)可以由安全服務(wù)來提供安全保障,應(yīng)用系統(tǒng)只需調(diào)用安全服務(wù),應(yīng)用服務(wù)的安全處理完全由安全服務(wù)來完成。
在SOA 架構(gòu)下,安全服務(wù)應(yīng)提供對用戶及角色的管理和控制;將服務(wù)、數(shù)據(jù)及應(yīng)用等客體資源的訪問、操作及控制權(quán)限分配到相應(yīng)的組織、用戶、角色等主體中,對資源授權(quán)進(jìn)行管理;對不同請求進(jìn)行身份驗(yàn)證及訪問控制,防止對服務(wù)的非法使用,禁止非法進(jìn)入系統(tǒng)和調(diào)用服務(wù); 提供訪問主體對受限資源訪問的操作軌跡、歷史記錄等服務(wù),以便跟蹤和發(fā)現(xiàn)資源訪問和操作問題。
2.2 應(yīng)用WS-Security安全規(guī)范
Web Service 是SOA 架構(gòu)的主要實(shí)現(xiàn)技術(shù)。對Web Service 的安全設(shè)計(jì)需要考慮各種安全,包括消息安全、數(shù)據(jù)安全、傳輸安全、環(huán)境安全。對傳輸安全可以采用基本認(rèn)證、防抵賴及加密、防火墻、虛擬專用網(wǎng)(VPN)等措施解決。對環(huán)境安全可以采用登錄、審核、構(gòu)建信任關(guān)系和通信模式等管理措施解決。消息安全和數(shù)據(jù)安全的保障采用WS-Security 安全規(guī)范。由于Web Service 中的各角色之間是以SOAP 消息進(jìn)行通信的,因此為保證SOAP 消息的安全,WS-Security 規(guī)范制定安全令牌、XML 封裝、XML 數(shù)字簽名的安全措施。WS-Security 安全令牌(Security Token)即在SOAP 消息頭中嵌入用戶名和密碼或X.509 證書等代表Web 服務(wù)請求者的身份。服務(wù)的提供者將安全令牌和數(shù)字簽名相結(jié)合可以確認(rèn)SOAP 消息是由合法的請求者產(chǎn)生。WS-Security 對SOAP 消息進(jìn)行XML 封裝,確保消息的機(jī)密性,即使SOAP 消息被監(jiān)聽,監(jiān)聽者也無法提取出有效信息。WS-Security 對SOAP 消息進(jìn)行XML 數(shù)字簽名,確保消息的完整性和不可抵賴性,使得消息不被篡改。
WS-Security 規(guī)范提供了足夠靈活的基礎(chǔ)安全機(jī)制,在標(biāo)準(zhǔn)的SOAP 規(guī)范之上構(gòu)建安全Web Service,保障完整性和機(jī)密性。但要解決Web Service 應(yīng)用中所有的安全問題,仍需建立一系列的安全規(guī)范,包括WebService 端策略(WS-Policy)、信任模型(WS-Trust)、隱私模型(WS-Privacy)、安全會話(WS-SecureConversation)、聯(lián)合信任(WS-Federation)和授權(quán)(WS-Authorization),這些規(guī)范保證已經(jīng)認(rèn)證傳輸?shù)男畔ⅲ⒔鉀Q如何連接使用不同安全技術(shù)用戶計(jì)算機(jī)系統(tǒng)的問題。基于WSSecurity提供的基本安全機(jī)制,通過各種方式聯(lián)合,WS-Security 可以根據(jù)Web Service 應(yīng)用環(huán)境構(gòu)建使用多種策略的更完善的安全性模型。
2.3 設(shè)計(jì)SOA的安全模型
對Web Service 安全性的探索呈現(xiàn)出一個特點(diǎn),即通過遵循WS-Security 規(guī)范,數(shù)字簽名、XML 數(shù)字加密等Web Service 安全性規(guī)范,保證了端對端的SOAP 消息安全性,但是如何有效實(shí)現(xiàn)Web Service 的授權(quán)和認(rèn)證仍是需要解決的關(guān)鍵問題。SOA 架構(gòu)的安全性不同于傳統(tǒng)架構(gòu)。SOA 架構(gòu)的服務(wù)請求者可以來自不同的安全級別、不同的操作系統(tǒng)以及不同的復(fù)雜網(wǎng)絡(luò)環(huán)境。
WS-Security 安全規(guī)范是Web Service內(nèi)部安全性實(shí)現(xiàn)的保障,SOA 架構(gòu)下的應(yīng)用系統(tǒng)可能是多個應(yīng)用的服務(wù)組合而成的,因而多個服務(wù)之間的安全訪問控制是確保SOA 架構(gòu)安全的關(guān)鍵性因素之一。
傳統(tǒng)架構(gòu)常用的訪問控制模型是自主訪問控制和強(qiáng)制訪問控制。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,對傳統(tǒng)架構(gòu)訪問控制提出了一系列的改進(jìn),發(fā)展出基于角色的訪問控制模型、基于決策的訪問控制模型、基于信任關(guān)系的訪問控制模型、基于對象的訪問控制模型等。但傳統(tǒng)的訪問控制模型并沒有考慮訪問控制主體、客體的復(fù)雜性,不能完全適合SOA 架構(gòu)的開放性和安全性等特性需求,無法很好地解決SOA 架構(gòu)的訪問控制安全問題。為保證SOA 架構(gòu)的服務(wù)資源的授權(quán)訪問及信息機(jī)密性,國際組織制定了XACML(Extensible Access Control Markup Language,可擴(kuò)展訪問控制標(biāo)記語言)安全標(biāo)準(zhǔn)規(guī)范,以對SOA 架構(gòu)的訪問控制提供一定的安全技術(shù)支撐。XACML 是一種基于XML 標(biāo)準(zhǔn)的訪問控制策略安全規(guī)范,提供了一種標(biāo)準(zhǔn)化的SOA 架構(gòu)訪問控制決策模型,具有通用性和分布式特性。XACML 充分地考慮了SOA 架構(gòu)的主體、資源和環(huán)境的屬性,提供一種更細(xì)粒度的訪問控制機(jī)制,很好地適用SOA 架構(gòu)服務(wù)的異構(gòu)性、動態(tài)性和復(fù)用性等特性。
本文研究了一種混合多級的訪問控制安全模型。模型的設(shè)計(jì)思想歸納如下:模型以服務(wù)的方式實(shí)現(xiàn),適合于分布式的動態(tài)變化的SOA 架構(gòu),能夠處理主客體的異構(gòu)性、動態(tài)性;能夠解決SOA 架構(gòu)下的訪問控制策略的統(tǒng)一性及協(xié)商性問題;根據(jù)SOA 架構(gòu)的服務(wù)資源細(xì)粒度訪問控制的需求構(gòu)建資源模型, 使訪問控制對象劃分更為明確和具有針對性。面向服務(wù)的混合的多級訪問控制安全模型的實(shí)體認(rèn)證技術(shù)采用混合訪問控制,即采用基于角色、策略和信任關(guān)系等多種訪問控制互補(bǔ)的混合訪問控制方法;旌显L問控制方法合理地拓展用戶訪問資源的范圍和權(quán)限。訪問控制根據(jù)用于用戶角色和權(quán)限執(zhí)行操作; 根據(jù)設(shè)定的策略阻止?jié)撛诘娜肭终撸乐刮词跈?quán)的或?yàn)E用權(quán)限的訪問;采用信任度和風(fēng)險度評價相結(jié)合的方法, 制定訪問控制的決策,建模信任關(guān)系,支持來跨區(qū)域的可信用戶的訪問。面向服務(wù)的混合的多級訪問控制安全模型的決策依據(jù)XACML 決策模型來實(shí)現(xiàn)。在SOA 架構(gòu)下,XACML 決策模型定義了一種策略語言和訪問決策語言,用于保護(hù)資源的訪問控制,并結(jié)合基于角色的授權(quán)機(jī)制提供對資源的細(xì)粒度訪問控制。混合的多級訪問控制安全模型實(shí)現(xiàn)的是細(xì)粒度的訪問控制,將SOA 架構(gòu)的服務(wù)及方法對應(yīng)的XML 樹結(jié)構(gòu)中的元素及元素屬性都作為模型的客體,側(cè)重于SOA 架構(gòu)的系統(tǒng)保密性,在保持SOA 架構(gòu)的特性的前提下有效保護(hù)系統(tǒng)的服務(wù)資源。模型的用戶是訪問控制主體,是服務(wù)的請求者。模型中的資源是訪問控制的客體?梢詫Ψ⻊(wù)的資源建模,從而達(dá)到對資源的訪問控制更加細(xì)粒度化。
3.結(jié)語
本文研究SOA 架構(gòu)的安全問題,分析傳統(tǒng)的安全措施應(yīng)用于SOA 的適用性問題; 在應(yīng)用WS-Security安全規(guī)范的基礎(chǔ)上,援引構(gòu)建安全服務(wù)的思想,研究了混合多級的訪問控制安全模型,提出了SOA 架構(gòu)下的安全服務(wù)方案。除訪問控制的安全服務(wù)外,模型的安全服務(wù)應(yīng)該在不同的應(yīng)用環(huán)境中提供不同的安全模型和安全手段,執(zhí)行相應(yīng)的安全措施保護(hù)對象安全,這些問題的解決對模型的設(shè)計(jì)至關(guān)重要。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:面向SOA的安全架構(gòu)研究綜述
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839612962.html