999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Axis的Web服務身份驗證策略管理

2008-04-12 00:00:00李亞芬
現代電子技術 2008年24期

摘 要:Web服務身份驗證策略是Web服務安全的重要組成部分。針對當前Web服務身份驗證策略管理、部署中策略交互協調的問題,提出根據客戶端安全級別進行Web服務身份驗證策略管理,同時提出方法以動態協調當前服務策略。驗證策略查詢服務作為策略選擇的核心部分,為客戶端和服務器端提供策略查詢以實現動態調用相應的策略。根據這一方法,基于J2EE的相關技術,實現在Axis上的驗證策略管理。并且支持動態策略的部署,增加了系統的靈活性和擴展性。

關鍵詞:Web服務;身份驗證;策略選擇;Axis

中圖分類號:TP393文獻標識碼:B

文章編號:1004-373X(2008)24-122-05

Management of Web Service Identity Policy Based on Axis

REN Kui,WANG Pu,LI Yafen

(College of Electronic Information Control Engineering,Beijing University of Technology,Beijing,100022,China)

Abstract: The security identity policy of Web service is an important part of Web service security.This paper makes a point of the disadvantage of correspondence in the management and deployment of Web services′security identity policy at present.It advances to apply different policies of Web service according to the secure level of the client and the method to correspond the policy deployment dynamically.As the core of the design,the identity policy query service helps the server and client to query and deploy dynamically the relevant policy.According to the method,the paper realizes the identity policy management on the axis based on J2EE technology.And it helps to support the policy dynamic deployment to improve flexibility and expansibility.

Keywords:Web service;identity;policy choise;Axis

1 引 言

隨著Web服務技術的日趨成熟,越來越多的Web服務標準和產品相應發展起來,隨之而來的是Web服務的安全也日趨嚴峻。以用戶為中心的服務授權[1]已經采用。但是其中身份驗證策略作為Web服務的一項重要安全任務,受到廣泛關注。文獻[2,3]中指出Web服務策略的重要作用,以及應用方法。在W3C管理發布的標準WS-Security[4]中,WS-Security框架支持的身份驗證令牌包括用戶名令牌、X.509證書令牌、Koreros票據令牌、SAML令牌等。因此在進行身份驗證時,Web服務的客戶端開發者與服務器端開發者需要事先協商令牌的類型與信息,從而制定相應策略。

基于區分不同安全級別的考慮,本文認為對于不同的客戶端,服務器端應考慮采用不同的驗證策略。文獻[5,6]提出基于事件的方法來實現驗證方法的不同。本文認為,在進行客戶端一些基本信息識別后,服務器端完全可以根據部署策略釣用相應的處理對客戶端驗證。因此據此首先對客戶端基本信息進行驗證,從而進行策略的查詢選取,進而實現對客戶端身份的驗證。

在實現過程中,本文選取的Web服務容器是現在廣泛使用的開源產品Axis。在安全方面Axis對 Web服務的支持,需要進行相關擴展。因此基于Axis的體系結構[7],并結合J2EE應用系統的相關技術,設計并實現基于Axis的身份驗證策略管理。為了說明策略部署選擇,將首先介紹Axis的相關情況,然后以此為基點,闡述Axis下Web服務身份驗證策略管理的實現方法。

2 Axis介紹

Axis是一個Apache提供的開源Web服務容器。具有較強的可移植性、靈活性和擴展性。Axis所使用的最基本的技術是J2EE的JavaBean和Servlet。因此對于所有基于J2EE開發的網絡應用系統,Axis都可以得到應用。

Axis支持的Web服務部署方式包含3種:JWS(Java Web Service,Axis支持的Java Web服務文件)、基于deploy.wsdd文件的部署和對于server-config.wsdd文件修改的部署。在本質上,Axis的Web服務部署是一種基于JavaBean的部署形式,區別于EJB的SessionBean的部署形式,這種部署形式簡單易于操作。Axis的服務提供者類(Provider)會根據請求,直接調用相應的JavaBean內容,以實現Web服務的功能。由于Axis可移植性強的特點,可以很容易地將原遺留系統的JavaBean改造成Web服務,以便于原系統的分布式擴展。

Axis基于J2EE的Servlet技術實現Web服務,它的基本消息處理由Handler接口實現。在J2EE標準中,JAX-RPC(Java APIs for XML-Based Remote Procedure Call,基于XML的遠程過程調用Java接口)包含Handler接口,Axis的Handler原理與它相同。在Axis中Handler主要實現處理SOAP消息的功能。在Axis中存儲SOAP消息上下文信息的類是MessageContext。Handler依據MessageContext各個屬性的內容,實現對于SOAP消息的消息頭和消息體的操作。Handler和MessageContext是構成Axis處理服務各種操作的2個最重要的組成部分。

當客戶端申請某個服務的使用時,請求會被AxisServlet接收,它是Axis中負責接收客戶端服務請求的Servlet。在這里Axis服務引擎——AxisEngine根據請求信息創建MessageContext,然后AxisEngine開始調用服務。Handler將在實際的服務被調用之前首先進行處理。負責處理請求Handler將在服務調用前進行消息處理,負責處理應答Handler將在服務調用后進行消息處理。在處理請求的過程中Handler分為全局Handler和服務Handler,兩者的區別在于作用范圍的不同,前者會處理所有服務的請求,后者只針對某個特定服務請求進行處理。全局Handler和服務Handler將根據MessageContext內容對消息進行處理,最終交由Provider調用目標服務。Provider是目標服務調用者,他負責聯系服務,并將結果返回AxisEngine。

目標服務執行,并將返回信息交由Provider,返回AxisEngine,這個過程中處理回復的全局Handler和服務Handler將根據MessageContext內容對消息進行處理,最后結果經AxisServlet回復。

Axis服務器端處理請求相應的流程見圖1。

根據Axis這一事件處理特點,結合J2EE方面的相關技術和Web服務以及XML的相關標準,進一步構建在Axis下的驗證策略。

3 驗證策略分類

驗證策略的選擇應根據客戶端的基本信息。這其中客戶端的IP地址,因為與客戶端所在地區相關,因此可作為驗證策略選擇的基本依據。本文將Web服務的身份驗證策略分為若干級別。例如可以設置A,B,C,D,E五個級別。E級策略表示自定義安全級別,進行驗證由部署描述文件確定,這是Axis的傳統部署方式;D級策略僅需IP地址認證,表示安全級別最低的服務;C級策略需要進行用戶名密碼的認證;B級策略需要進行客戶端證書及數字簽名認證;A級策略包含B兩級策略,同時要求對客戶端提供更加具體的請求信息,以便確認請求的可信程度。

同時將IP地址進行分類,對于不同類的IP地址和Web服務,采用不同安全級別的策略。所建映射表如表1所示。

基于IP地址的策略選擇是為了實現服務器端統一的身份驗證策略管理制定的,同時身份驗證的選擇將由一個全局的Handler進行統一處理,這種操作便于對各種身份驗證策略的添加和修改。

4 驗證策略查詢

4.1 驗證策略查詢服務作用

在Axis下配置Web服務身份驗證的一般方法是建立進行身份驗證的Handler,利用Handler讀取SOAP消息頭的信息,對其中的信息進行驗證。對于本文所提出的身份驗證管理方法,這里還需要添加一步操作,這就是進行驗證策略的查詢。因為安全驗證策略是在服務器端進行管理的,客戶端雖然可能包含相應的驗證方法,但是并不清楚服務器端的安全策略時發生了改變。因此需要提供驗證策略的查詢機制。

在本文所提供的方法中,客戶端相應的驗證方法被發布成為一個Java組件,便于各個客戶端的使用。同時,將驗證策略的管理交由服務器端統一策略管理平臺完成。因此對于不同的服務請求,在客戶端沒有連接服務器端時,客戶端無法獲知所需的身份驗證方法,引入客戶端的驗證策略查詢就尤為必要。

圖2顯示了驗證策略查詢服務和它與客戶端以及Axis其他Web服務的關系。由圖2可知,客戶端首先需要通過驗證策略查詢服務獲得驗證策略,客戶端組織各種策略提出服務請求,Axis應用策略進行驗證。同時Axis也可以進行驗證策略的管理,并將其提供給驗證策略查詢服務。

4.2 驗證策略查詢服務設計

驗證策略查詢服務,也被發布為一個Web服務。它的功能是根據客戶端IP地址和所訪問Web服務,查詢相應的訪問策略。下面對查詢服務在部署、輸入、輸出等方面做一些說明。

首先,部署驗證策略查詢服務作為一個特殊的服務,服務的驗證將通過與其他Web服務處理相同的全局身份驗證Handler。策略查詢服務的驗證策略不會再調用之前有其他的查詢服務獲知,因此他的驗證策略將作為自定義處理。即在全局驗證Handler中不做任何操作,由服務的Handler進行處理。

服務Handler將進行客戶端基本信息驗證,即客戶的身份信息。在這里使用身份驗證斷言的方法。使用基本的用戶名驗證方法,這也是Axis的默認驗證方法。

然后,對于策略查詢服務的輸入,需要由2個參數組成,一個是服務客戶端的IP,另一個是所請求服務的服務名稱。但是服務客戶端的IP應該由服務器端自動獲取,所以這個參數在Web服務客戶端請求服務時,被設置成Web服務客戶端在服務器端注冊的ID值。將注冊ID替換為客戶端IP的操作也將有服務Handler進行。由根據這一參數,在策略查詢服務負責請求的Handler中,首先根據這一ID查詢此Web服務客戶端是否注冊,以及注冊時所用的IP,將其與實際IP進行比對。如果比對成功,則將SOAP消息中用戶ID部分改寫成用戶的實際IP。這樣就可以根據此SOAP消息,有目標的策略查詢服務查詢到相應策略信息。

對于策略查詢服務的輸出,Web服務客戶端所查詢的驗證策略有可能是一條驗證鏈,驗證過程需要通過所有驗證鏈的節點。因此策略查詢服務的結果應該是一個驗證策略的集合,根據驗證的先后順序進行排序。

另外對于策略查詢服務的輸出,不僅要顯示Web服務客戶端所查詢的驗證策略,還需要保證應答消息的有效性。作為Web服務客戶端,在不同時刻所收到的驗證策略可能會根據管理員配置的不同有所區別。所以策略查詢服務的結果必須包含信息,以證明這些信息是當前請求的應答。因此在這里引入斷言對相應消息進行綁定,將其加入到回復消息的消息頭中。斷言的另一個作用是,為服務客戶端的身份認證提供服務提供方授權信息。其中包括提供客戶端一次性的驗證字符串,根據此字符串內容和作用時間確認客戶端請求的可信度。雖然這些信息在身份驗證策略中會因服務客戶端安全級別的不同進行選擇,斷言主要是為這些策略提供一個可選方案。

本文所采用的回復消息使用的是SAML(Security Assertion Markup Language,安全斷言標記語言)[8]的屬性斷言。SAML不是一種身份認證模式,它的目的是允許不同安全系統產生的信息進行交換。屬性斷言作為SAML斷言的一種,提供聯系特定屬性與給定主體的一種機制。因此這里使用SAML斷言不具有授權功能,獲得斷言的服務客戶端并沒有獲得訪問服務的權限。它的作用是一方面將應答信息傳遞給服務客戶端,另一方面服務的客戶端可以在調用目標服務時,通過此斷言中的屬性,生成相應的請求信息,供服務提供方確認其身份。屬性斷言包含斷言ID、服務請求者的注冊ID、以及斷言的簽發時間和應答超時時間等屬性,作為服務客戶端驗證使用。圖3顯示SAML斷言的示例。

根據以上設計方法實現的策略查詢服務,在使用時,必須把請求策略查詢服務的過程添加到服務客戶端負責請求的Handler方法中。并且策略查詢服務的通信需保證在一個相對安全的信道內進行。

4.3 驗證策略查詢服務驗證過程

當加入策略查詢服務后具體驗證過程如下:

(1) 服務客戶端:申請某服務,生成SOAP消息;

(2) 服務客戶端請求Handler:發出策略查詢服務申請;

(3) 服務提供方全局請求Handler:檢查服務信息,發現申請策略查詢服務,策略級別置為自定義;

(4) 策略查詢服務的請求Handler:檢查服務客戶端IP與其ID是否對應;

(5) 策略查詢服務的請求Handler:更改策略查詢服務申請的SOAP消息,將服務客戶端IP加入;

(6) 策略查詢服務:查詢對應服務客戶端的驗證策略;

(7) 策略查詢服務的應答Handler:生成SAML授權斷言,加入回復SOAP消息中;

(8) 服務提供方全局應答Handler:檢查服務信息,發現申請策略查詢服務,策略級別置為自定義;

(9) 服務客戶端請求Handler:驗證斷言的有效性。這里需要指明,對于SOAP消息頭的驗證也需要在Handler中進行,因此在服務客戶端請求Handler類中調用策略查詢服務時,需要編寫針對此調用的應答Handler;

(10) 具體身份驗證與服務調用。

5 策略驗證設計

當策略查詢服務被調用后,接下來將進行目標服務的身份驗證和服務調用,這里的一般流程為:

(1) 服務客戶端請求Handler:應用相應策略編寫SOAP消息頭,并加入到SOAP消息中;

(2) 服務提供方全局請求Handler:檢查服務信息,根據驗證策略,調用相應驗證操作;

(3) 服務提供方服務請求Handler:自定義驗證;

(4) 目標服務:執行操作;

(5) 服務提供方服務應答Handler:自定義驗證;

(6) 服務提供方全局應答Handler:檢查服務信息,根據驗證策略,調用相應驗證操作;

(7) 服務客戶端應答Handler:應用相應策略驗證SOAP消息頭,并去除SOAP消息頭;

(8) 服務客戶端:獲得SOAP消息結果。

實現身份驗證查詢,獲得具體驗證方法后需要針對不同的驗證,以驗證鏈順序調用不同的驗證方法。這里設計統一驗證的接口,所有具體的驗證方法實現統一接口。具體設計的服務客戶端請求過程中的UML圖如圖4所示。

其中ClientRequestHandler是客戶端請求的Handler,它通過負責產生客戶端請求策略的ClientRequestPolicyFactory得到策略Policy。策略Policy可能是一個策略鏈PolicyChain,因此PolicyChain實現Policy接口,并由Policy組成。因此ClientRequestPolicyFactory既可以獲得單個策略,又可以直接生成策略鏈。Policy的生成、屬性等操作依據文獻[9]的方法建立。同時

參考文獻[10],在ClientRequestPolicyFactory的generatePolicy方法中,根據策略的屬性進行相應的策略組合操作。在ClientRequestHandler中,調用策略鏈中,所有策略的process操作,對SOAP消息加入用于安全驗證的消息頭,完成服務客戶端在發出請求之前的SOAP消息操作。查詢出的策略將被保存在服務客戶端的MessageContext中,以便應答過程的查詢使用。

對于服務提供方全局請求Handler,在接收到服務客戶端發出的SOAP消息時,首先根據服務客戶端IP地址進行策略查詢。這里進行的策略查詢不需要重新調用策略查詢服務,因為不需要對查詢的結果進行SOAP消息的封裝。查詢出的策略將被保存在MessageContext中,當全局應答Handler處理返回SOAP消息時,策略被讀出并應用到應答的處理中。

服務提供方全局請求與應答過程,以及服務客戶端應答過程的程序結構與服務客戶端請求過程的程序結構相同。

6 結 語

本文所討論的方法實現基于Axis的Web服務的身份驗證策略管理。因為Axis目前還不支持Web服務的很多標準,所以本文提出了一套實現身份認證策略管理的方案。這套方案參考了WS-Policy等標準實現的框架,具有一定的可擴展性。通過對客戶端身份驗證策略的查詢,實現了對不同客戶端安全驗證級別的劃分,更有利于對于Axis整體的安全體系進行管理與擴展。

本方案基于Axis和J2EE體系結構實現,具有一定的移植性,但是對于客戶端非J2EE的情況還存在一定的問題,這也是下一步工作的重點所在。

目前本方法已經進行了開發,并將投入使用。作為基于開源軟件的解決方案,本文所提出的方法具有很大的應用價值。

參考文獻

[1]Chen Zhikui.A Privacy Enabled Service Authorization Based on a User-centric Virtual Identity Management System [A].In Communications and Networking in China,2007.CHINACOM '07.Second International Conference on,IEEE .2007:423-427.

[2]Karthikeyan Bhargavan,C′edric Fournet,Andrew D Gordon.Verifying Policy-Based Security for Web Services [A].In Proceedings of the 11th ACM Conference on Computer and Communications Security,ACM.2004:268-277.

[3]Karthikeyan Bhargavan,C′edric Fournet,Andrew D Gordon,et al.An Advisor for Web Services Security Policies[A].In Proceedings of the 2005 Workshop on Secure Web Services,ACM.2005:1-9 .

[4]Anthony Nadalin,Chris Kaler,Ronald Monzillo.Web Services Security:SOAP Message Security 1.1 [EB/OL].OASIS Standard Specification,Feb.2006.http://docs.oasis-open.org/wss/v1.1.

[5]Nils Gruschka,Norbert Luttenberger,Ralph Herkenhoner.Event-based SOAP Message Validation for WS-Security Policy-Enriched Web Services [A].In Proceedings of the 2006 International Conference on Semantic Web Web Services,IEEE.2006:80-86.

[6]Nils Gruschka,Meiko Jensen,Torben Dziuk.Event-based Application of WS-SecurityPolicy on SOAP Messages [A].In Proceedings of the 2007 ACM Workshop on Secure Web Services,ACM.2007:1-8.

[7]The Apache Software Foundation.Axis Architecture Guide Version 1.2 [EB/OL].http://ws.apache.org/axis/java/architecture-guide.html.

[8]Eve Maler,Prateek Mishra,Rob Philpott.Assertions and Protocol for the OASIS Security Assertion Markup Language [EB/OL].OASIS Standard,Sep.2003.http://www.oasis-open.org/committees/documents.php?wg_abbrev=security.

[9]李馨,謝長生,肖亮.網絡存儲中信任協商策略發布方法研究[J].計算機科學,2007,34(11):58-60.

[10]Adam J Lee,Jodie P Boyer,Lars E Olson,et al.Defeasible Security Policy Composition for Web Services [A].In Proceedings of the Fourth ACM Workshop on Formal Methods in Security,ACM.2006:45-54.

[11] 張崇忠.基于軟件體系結構與軟件構件技術的開發方法的研究與實現.現代電子技術,2007,30(14):88-91.

作者簡介 任 魁 男,1982年出生,北京人,碩士研究生。主要研究方向為計算機網絡應用、數據庫應用、網絡信息安全。

王 普 男,1962年出生,安徽合肥人,教授,博士生導師,博士。主要研究方向為計算機控制系統、智能信息處理、數字社區。

李亞芬 女,1963年出生,北京人,高級工程師,碩士生導師,碩士。主要研究方向為計算機應用、Web應用與基礎、網絡技術、數字社區。

主站蜘蛛池模板: 午夜性刺激在线观看免费| 中文国产成人精品久久一| 色天天综合| 亚洲精品第五页| 欧美三级日韩三级| 国产大片喷水在线在线视频| 刘亦菲一区二区在线观看| 黄色网在线免费观看| 久久国产乱子伦视频无卡顿| 成人字幕网视频在线观看| 日本欧美午夜| 国产在线麻豆波多野结衣| 久久美女精品国产精品亚洲| 精品视频在线一区| 在线视频一区二区三区不卡| 九九热在线视频| 中文字幕天无码久久精品视频免费| 欧美亚洲一二三区| 欧美yw精品日本国产精品| 69视频国产| 狂欢视频在线观看不卡| 麻豆精品在线视频| 无码在线激情片| 日韩成人在线一区二区| www.亚洲国产| 欧美在线网| 人妻中文字幕无码久久一区| 日韩福利在线观看| 美女潮喷出白浆在线观看视频| 伊人久久福利中文字幕| 四虎影视8848永久精品| 国产电话自拍伊人| 重口调教一区二区视频| 精品欧美视频| 99re经典视频在线| 国产精品永久久久久| 亚洲国产精品久久久久秋霞影院| 亚洲日本中文综合在线| 亚洲国产精品久久久久秋霞影院| 国产成人精品视频一区视频二区| 在线播放91| 国产福利免费视频| 国产www网站| 国产AV无码专区亚洲精品网站| 无码一区二区三区视频在线播放| 欧美一区福利| 狼友视频国产精品首页| lhav亚洲精品| 丰满的熟女一区二区三区l| 在线视频精品一区| 国产在线精品人成导航| 免费一极毛片| 成人福利在线看| 97精品伊人久久大香线蕉| 午夜激情福利视频| 欧美综合成人| 国产午夜一级淫片| 国产高潮流白浆视频| 暴力调教一区二区三区| 亚洲中文字幕97久久精品少妇| 国产成人资源| 一级福利视频| 日韩精品少妇无码受不了| 成人中文在线| 精品国产香蕉伊思人在线| 欧美精品亚洲精品日韩专区va| 91久久青青草原精品国产| 久久黄色小视频| 一区二区三区四区日韩| 蜜芽国产尤物av尤物在线看| 一级高清毛片免费a级高清毛片| 国产精品xxx| 伊伊人成亚洲综合人网7777| 伦精品一区二区三区视频| 欧美丝袜高跟鞋一区二区| 久久99国产综合精品女同| 亚洲 成人国产| 亚洲人成日本在线观看| 国产对白刺激真实精品91| 中文国产成人精品久久| m男亚洲一区中文字幕| 亚洲男人的天堂网|