亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2008-04-12 00:00:00李亞芬
        現(xiàn)代電子技術 2008年24期

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

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

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

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

        2 Axis介紹

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

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

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

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

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

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

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

        3 驗證策略分類

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

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

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

        4 驗證策略查詢

        4.1 驗證策略查詢服務作用

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

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

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

        4.2 驗證策略查詢服務設計

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        5 策略驗證設計

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        6 結 語

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

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

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

        參考文獻

        [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,F(xiàn)eb.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]李馨,謝長生,肖亮.網絡存儲中信任協(xié)商策略發(fā)布方法研究[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] 張崇忠.基于軟件體系結構與軟件構件技術的開發(fā)方法的研究與實現(xiàn).現(xiàn)代電子技術,2007,30(14):88-91.

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

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

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

        丰满少妇人妻久久精品| 精品综合久久久久久8888| 网红极品女神精品视频在线| 美腿丝袜日韩在线观看| 国内精品久久久久国产盗摄 | 国产人与禽zoz0性伦| 国产在线网址| 亚洲av日韩一区二三四五六七| 免费人成网在线观看品观网| 国产一区二区视频免费在| 日韩精品久久久肉伦网站| 国产黄三级三·级三级| 免费的黄网站精品久久| 国产三级久久精品三级91| 少妇太爽了在线观看免费视频| 天天爽天天爽天天爽| 国产精品欧美亚洲韩国日本| 蕾丝女同一区二区三区| 人成午夜免费视频无码| 亚洲 欧美 国产 日韩 精品| 蜜桃av噜噜一区二区三区香| 在线视频中文字幕一区二区三区| 亚洲日韩精品一区二区三区| 国偷自产av一区二区三区| 日韩女优中文字幕在线| 大香焦av一区二区三区| 漂亮人妻被中出中文字幕久久| 国产真人无遮挡作爱免费视频| 国产成年无码久久久免费| 99久久婷婷国产精品综合网站 | 亚洲精品中文有码字幕| 91色老久久偷偷精品蜜臀懂色| 午夜免费啪视频| 中文字幕无码免费久久| 中文字幕国内一区二区| 我和隔壁的少妇人妻hd| 亚洲欧美日韩人成在线播放| 无码高清视频在线播放十区 | 华人免费网站在线观看| 亚洲午夜精品a片久久www慈禧| 欧美精品在线一区|