面向服務(wù)構(gòu)架下Web服務(wù)安全問題和策略探討_第1頁(yè)
面向服務(wù)構(gòu)架下Web服務(wù)安全問題和策略探討_第2頁(yè)
面向服務(wù)構(gòu)架下Web服務(wù)安全問題和策略探討_第3頁(yè)
面向服務(wù)構(gòu)架下Web服務(wù)安全問題和策略探討_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、面向服務(wù)構(gòu)架下Web服務(wù)安全問題和策略探討Web服務(wù)(Web Service)是基于XML和HTTPS的一種服務(wù),其通信協(xié)議主要基于SOAP,服務(wù)的描述通過WSDL,通過UDDI來發(fā)現(xiàn)和獲得服務(wù)的元數(shù)據(jù)。Web 服務(wù)提供了一個(gè)基于一系列開放標(biāo)準(zhǔn)的解決業(yè)務(wù)級(jí)和應(yīng)用級(jí)互操作性的體系結(jié)構(gòu),通過組合一系列平臺(tái)中立的技術(shù)來實(shí)現(xiàn)Internet和Intranet上業(yè)務(wù)和應(yīng)用的快速交付與使用,為充分利用各種形式的網(wǎng)絡(luò)資源提供了一種新的途徑 。Web Services通過Web服務(wù)描述語言WSDL來描述在線業(yè)務(wù);通過簡(jiǎn)單對(duì)象接入?yún)f(xié)議SOAP完成跨平臺(tái)的交互通信;通過統(tǒng)一描述、發(fā)現(xiàn)和集成UDDI實(shí)現(xiàn)業(yè)務(wù)注冊(cè)和廣

2、泛環(huán)境內(nèi)的業(yè)務(wù)發(fā)現(xiàn)和集成【1】。面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以一種統(tǒng)一和通用的方式進(jìn)行交互。雖然面向服務(wù)的體系結(jié)構(gòu)不是一個(gè)新鮮事物,但它卻是更傳統(tǒng)的面向?qū)ο蟮哪P偷奶娲P?,面向?qū)ο蟮哪P褪蔷o耦合的,已經(jīng)存在二十多年了。雖然基于 SOA 的系統(tǒng)并不排除使用面向?qū)ο蟮脑O(shè)計(jì)來構(gòu)建單個(gè)服務(wù),但是其整體設(shè)計(jì)卻是面向服務(wù)的。由于

3、它考慮到了系統(tǒng)內(nèi)的對(duì)象,所以雖然 SOA 是基于對(duì)象的,但是作為一個(gè)整體,它卻不是面向?qū)ο蟮?。不同之處在于接口本身。SOA 系統(tǒng)原型的一個(gè)典型例子是通用對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(Common Object Request Broker Architecture,CORBA),它已經(jīng)出現(xiàn)很長(zhǎng)時(shí)間了,其定義的概念與 SOA 相似。然而,現(xiàn)在的 SOA 已經(jīng)有所不同了,因?yàn)樗蕾囉谝恍└碌倪M(jìn)展,這些進(jìn)展是以可擴(kuò)展標(biāo)記語言(extensible Markup Language,XML)為基礎(chǔ)的。通過使用基于 XML 的語言(稱為 Web 服務(wù)描述語言(Web Services Definition La

4、nguage,WSDL)來描述接口,服務(wù)已經(jīng)轉(zhuǎn)到更動(dòng)態(tài)且更靈活的接口系統(tǒng)中,非以前 CORBA 中的接口描述語言(Interface Definition Language,IDL)可比了【2】。目前Web 服務(wù)已經(jīng)是實(shí)現(xiàn) SOA 的一種重要的方式,以至于很多人將兩者的概念混淆?,F(xiàn)在SOA要求服務(wù)間廣泛的互操作性,SOA雖然能解決異構(gòu)平臺(tái)下Web服務(wù)的互相調(diào)用,在開發(fā)Web服務(wù)的邏輯功能時(shí),如果把安全特性也設(shè)計(jì)進(jìn)來,使其能實(shí)現(xiàn)SOA安全之目標(biāo),無論對(duì)理論與技術(shù)實(shí)踐,都提出了挑戰(zhàn)。1 異構(gòu)平臺(tái)安全特性SOA要求服務(wù)間廣泛的互操作性。在開發(fā)Web服務(wù)的邏輯功能時(shí),如果把安全特性也設(shè)計(jì)進(jìn)來,Web服

5、務(wù)將變得異常復(fù)雜,服務(wù)的性能與可伸縮性會(huì)大大降低。就安全需求本身分析,僅僅把各種安全措施集合在一起,不能肯定安全組件的組織是否恰當(dāng),也不能肯定能使一個(gè)系統(tǒng)更加安全。因而SOA中Web服務(wù)的安全問題應(yīng)與服務(wù)的功能脫離,通過適當(dāng)?shù)陌踩渲门c安全機(jī)制實(shí)現(xiàn)Web服務(wù)的安全需求。這樣,既能保證Web服務(wù)設(shè)計(jì)與調(diào)用的簡(jiǎn)潔性,又能實(shí)現(xiàn)SOAP信息傳遞與服務(wù)調(diào)用的安全性。一個(gè)應(yīng)用系統(tǒng)通常是基于某個(gè)平臺(tái)實(shí)現(xiàn)的,如基于Microsoft .NET或Apache Axis。這些服務(wù)平臺(tái)都有獨(dú)立的安全解決方案,如Microsoft 的WSE(Web Service Enhancement) 、Axis 的Rampar

6、t等。對(duì)于同一個(gè)安全策略,如采用證書對(duì)消息簽名,服務(wù)請(qǐng)求方對(duì)消息簽名,服務(wù)的提供方對(duì)簽名驗(yàn)證,在相同平臺(tái)中是可以實(shí)現(xiàn)的。但如果請(qǐng)求方與服務(wù)提供方處于不同的平臺(tái)中,安全的互操作性通常無法保證。每個(gè)應(yīng)用平臺(tái)都有自己的安全機(jī)制與安全API,這類商業(yè)軟件使用自己的策略配置為安全建模。但是,在使用SOA進(jìn)行企業(yè)應(yīng)用集成時(shí),不同應(yīng)用系統(tǒng)的服務(wù)可能在不同的應(yīng)用平臺(tái)上,采用不同的安全策略與平臺(tái)技術(shù)實(shí)現(xiàn)安全需求。這時(shí)需要一個(gè)處理服務(wù)安全的代理機(jī)制從邏輯上包裝平臺(tái)安全的特定實(shí)現(xiàn),使異構(gòu)平臺(tái)下的SOAP安全信息能夠被異構(gòu)平臺(tái)一致地理解與處理【3】 【4】。異構(gòu)平臺(tái)下Web服務(wù)安全處理機(jī)制提供了相關(guān)安全策略配置與SO

7、AP消息安全的實(shí)現(xiàn)方法。安全服務(wù)代理使用WS-Security等規(guī)范實(shí)現(xiàn)SOAP消息安全,分為以下三個(gè)方面:1) 消息完整性:使用XML簽名對(duì)SOAP消息進(jìn)行數(shù)字簽名,保證SOAP消息經(jīng)過中間結(jié)點(diǎn)時(shí)不被篡改。2) 消息保密性:使用XML加密對(duì)SOAP消息進(jìn)行加密,使消息發(fā)送方可以確保SOAP消息內(nèi)容僅對(duì)預(yù)定的接收方可見,保證SOAP消息即使被監(jiān)聽,監(jiān)聽者也無法提取出有效信息。3) 消息真實(shí)性:引入安全令牌的概念,用其代表消息發(fā)送方的身份。通過與多種數(shù)字簽名結(jié)合,消息接收者可以確認(rèn)SOAP消息發(fā)送者的合法性。2 異構(gòu)平臺(tái)的策略框架2.1 NET平臺(tái)WSE 3.0安全策略在WSE的安全實(shí)現(xiàn)框架中,

8、針對(duì)SOAP消息從客戶端發(fā)送請(qǐng)求、服務(wù)端接收請(qǐng)求、服務(wù)端發(fā)送響應(yīng)和客戶端接收響應(yīng)設(shè)計(jì)了四個(gè)過濾器,并分為兩組。在SOAP請(qǐng)求后和SOAP響應(yīng)前截取SOAP,然后對(duì)截取的SOAP消息的數(shù)據(jù)進(jìn)行處理。每個(gè)過濾器負(fù)責(zé)一項(xiàng)特定任務(wù),既可以是安全事務(wù),也可以是跟蹤等管理事務(wù)。該框架結(jié)構(gòu)實(shí)現(xiàn)了安全邏輯與業(yè)務(wù)邏輯的分離,WSE安全框架結(jié)構(gòu)如圖1所示。WSE 3.0提供的安全機(jī)制保證了Web 服務(wù)的安全。實(shí)現(xiàn)安全的方式有兩種,一是通過WSE3.0策略工具根據(jù)應(yīng)用系統(tǒng)的安全規(guī)格為服務(wù)端和客戶端設(shè)置相應(yīng)的安全策略;二是用代碼實(shí)現(xiàn)具體的安全策略相同的功能。前者方便快捷,通過簡(jiǎn)單的設(shè)置即可完成Web服務(wù)的安全。后者用

9、戶可以定義更具體的代碼來擴(kuò)展自己的安全策略。不論采用那種方式都可以利用WSE 3.0提供的安全機(jī)制保證Web服務(wù)的安全交互。由于策略由策略斷言組成,并且每個(gè)斷言都會(huì)在管道中插入過濾器對(duì)進(jìn)入和離開終結(jié)點(diǎn)的SOAP消息執(zhí)行預(yù)處理和后續(xù)處理。通過將斷言放到策略中,可以在運(yùn)行時(shí)控制構(gòu)建和組織過濾器管道。在WSE 3.0中,管道是由安全策略框架驅(qū)動(dòng)的。2.2 Axis平臺(tái)Rampart安全策略Rampart的結(jié)構(gòu)如圖2所示,其中mod-rampart模塊的作用是為Rampart和Axis2引擎提供接口。Rampart內(nèi)部由Rampart引擎(Rampart Engine)、Rampart功能實(shí)體(Uti

10、le)和Rampart安全策略(Security Policy)組成【5】。在Rampart中,Security Policy具有配置安全模塊的作用。Rampart使用WS-Security Policy規(guī)范中定義的安全策略斷言進(jìn)行配置,WS-Security Policy中的每一個(gè)策略斷言,都定義了一個(gè)斷言構(gòu)建器(Builders)和一個(gè)斷言模型(Models)。Rampart作為WS-Security的實(shí)現(xiàn)模塊加載到Axis2引擎后,既可以對(duì)所有的有效服務(wù)進(jìn)行安全處理,也可以選擇對(duì)一個(gè)或者多個(gè)具體的服務(wù)或者某一服務(wù)中的特定方法進(jìn)行安全處理。3 異構(gòu)平臺(tái)Web服務(wù)安全模型異構(gòu)平臺(tái)之間的安全框

11、架、配置策略等都有較大的不同,因此實(shí)現(xiàn)異構(gòu)平臺(tái)間Web服務(wù)的安全交互必須增加一個(gè)第三方認(rèn)證機(jī)構(gòu),根據(jù)客戶端的請(qǐng)求完成相關(guān)驗(yàn)證,驗(yàn)證通過后才能發(fā)送調(diào)用Web服務(wù)的請(qǐng)求;根據(jù)本項(xiàng)目對(duì)于Web服務(wù)的安全需求.結(jié)合WSSecurity和WSPolicy規(guī)范.構(gòu)造了一個(gè)Web服務(wù)的安全模型系統(tǒng)。3.1安全模型體系構(gòu)架該系統(tǒng)實(shí)現(xiàn)安全的基礎(chǔ)主要是基于SOAP頭的擴(kuò)展.分別實(shí)現(xiàn)SOAP加密、SOAP簽名、SOAP認(rèn)證與授權(quán)、SOAP安全屬性擴(kuò)展(時(shí)間戳等)。對(duì)于訪問控制。我們?cè)O(shè)計(jì)了Web服務(wù)訪問控制器,該控制器的實(shí)現(xiàn)主要基于XRBAC模型,動(dòng)態(tài)的控制用戶對(duì)Web服務(wù)的訪問權(quán)限。遺留系統(tǒng)包括一個(gè)私有CA 中心,

12、這方便了安全模型的實(shí)現(xiàn),它主要負(fù)責(zé)密鑰和證書的生成和管理。此外,安全日志也保證了模型系統(tǒng)具備審計(jì)的功能,安全策略管理器則是負(fù)責(zé)對(duì)安全策略文件的管理。安全策略庫(kù)保存著Web服務(wù)所對(duì)應(yīng)的特定安全策略文件。安全模型體系架構(gòu)如圖3所示。3.2安全模型組成及其功能安全模型主要包括安全組件包(Security Utility)、訪問控制器以及安全策略管理器三部分。安全組件包由若干個(gè)SOAP消息過濾器(Filter)組成。安全組件包主要功能如下:1)消息加密:基于XML Encryption實(shí)現(xiàn)SOAP消息的加密以及解密功能.密鑰管理基于XKMS技術(shù)。2) 消息簽名:基于XML Signature實(shí)現(xiàn)SOA

13、P消息的簽名以及簽名驗(yàn)證功能。密鑰管理也基于XKMS技術(shù)。3) 認(rèn)證信息處理:通過WSSecurity所支持的Username/Password Token或X.509證書安全令牌實(shí)現(xiàn)對(duì)用戶身份的認(rèn)證。4)附加安全屬性:附加的安全屬性主要是防止對(duì)Web服務(wù)的重傳攻擊,通過時(shí)間戳機(jī)制來實(shí)現(xiàn)。當(dāng)然.附加的安全屬性也可根據(jù)用戶額外的安全需求進(jìn)行擴(kuò)展,實(shí)現(xiàn)更加安全可靠的S0AP消息。3.3模型的通信過程在介紹完整的通信過程之前,首先給出所涉及的符號(hào)及其描述,如表1所示。通信過程說明:-在安全通信過程開始前,服務(wù)請(qǐng)求者通過SOAP消息或者其他方式獲得服務(wù)提供者所提供的Web方法對(duì)應(yīng)的安全策略文件。-服務(wù)

14、請(qǐng)求者根據(jù)安全需求對(duì)請(qǐng)求消息中需要進(jìn)行安全保護(hù)的部分進(jìn)行簽名/加密處理,然后使用服務(wù)請(qǐng)求者的私鑰對(duì)整個(gè)消息進(jìn)行簽名,并使用服務(wù)提供者的公鑰對(duì)整個(gè)消息進(jìn)行加密,最后將結(jié)果連同證書發(fā)給服務(wù)提供者。-服務(wù)提供者收到請(qǐng)求消息后,先提取消息中服務(wù)請(qǐng)求者的證書,驗(yàn)證其有效性.驗(yàn)證通過,利用證書所提供的公鑰驗(yàn)證消息簽名的有效性,同時(shí)解密整個(gè)消息。-如果安全驗(yàn)證全部有效,則建立整個(gè)通信過程。實(shí)現(xiàn)對(duì)服務(wù)的調(diào)用,然后按照安全策略文件的要求對(duì)響應(yīng)的消息進(jìn)行安全處理后發(fā)送給服務(wù)請(qǐng)求者。-服務(wù)請(qǐng)求者接收到經(jīng)過安全處理的消息.如果通過有效的安全認(rèn)證,則按照安全策略文件的要求對(duì)消息進(jìn)行簽名驗(yàn)證和解密,最終獲得原始響應(yīng)消息。

15、上述通信過程都設(shè)有超時(shí)機(jī)制,若超時(shí)則重新執(zhí)行整個(gè)通信過程。若在通信過程中發(fā)生致命錯(cuò)誤,例如,認(rèn)證未通過.解密、驗(yàn)證失敗等,則終止通信,發(fā)出錯(cuò)誤響應(yīng)消息【6】。4 研究的方向4.1安全策略的改進(jìn)安全策略:是指在某個(gè)安全區(qū)域內(nèi)(一個(gè)安全區(qū)域,通常是指屬于某個(gè)組織的一系列處理和通信資源),用于所有與安全相關(guān)活動(dòng)的一套規(guī)則。這些規(guī)則是由此安全區(qū)域中所設(shè)立的一個(gè)安全權(quán)力機(jī)構(gòu)建立的,并由安全控制機(jī)構(gòu)來描述、實(shí)施或?qū)崿F(xiàn)的。下一步的研究方向針對(duì)安全服務(wù)機(jī)制沒有實(shí)現(xiàn)的安全策略,開發(fā)實(shí)現(xiàn)相應(yīng)的安全服務(wù)?,F(xiàn)在的安全策略都是對(duì)所有的消息進(jìn)行加密,這樣效率不高,資源浪費(fèi)。下一步的研究準(zhǔn)備針對(duì)部分機(jī)密消息加密,從而提高效

16、率。4.2 Kerberos票據(jù)網(wǎng)絡(luò)認(rèn)證使用最為廣泛的協(xié)議是Kerberos和X.504.K。Kerberos是基于對(duì)稱密碼機(jī)制的,X.509是基于非對(duì)稱密碼機(jī)制的,兩者各有特色。Kerberos在分布式網(wǎng)絡(luò)環(huán)境中得到了廣泛的應(yīng)用;X.509在PKI中發(fā)揮重要作用。下一步在學(xué)習(xí)研究Kerberos協(xié)議的基礎(chǔ)之上,分析了麻省理工大學(xué)(MIT)和微軟對(duì)Kerberos認(rèn)證協(xié)議的實(shí)現(xiàn),在此基礎(chǔ)之上,針對(duì)Kerberos的某些局限提出并實(shí)現(xiàn)了一個(gè)切實(shí)可行的解決方案。4.3通用安全模型現(xiàn)階段僅就兩個(gè)具體的平臺(tái)來探索了異構(gòu)平臺(tái)下Web服務(wù)安全交互的模型和應(yīng)用。對(duì)于基于廣泛平臺(tái)的異構(gòu)平臺(tái)下的Web服務(wù),還沒有一種統(tǒng)一可靠的安全模式能保證SOAP消息在多平臺(tái)間傳輸過程中的安全性,這種安全模式也是我們下一階段研究的重點(diǎn)。5 結(jié)束語本文介紹了在 SOA構(gòu)架下Web安全,具體介紹了在Microsoft .NET和Apache Axis平臺(tái)下自帶的不同安全策略,并且提出了在這兩個(gè)異構(gòu)平臺(tái)一個(gè)安全模型下互相通信的模型。下一步將具體進(jìn)一步研究異構(gòu)平

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論