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

基于WSE的Web服務身份驗證研究與實現

2011-10-19 07:48:18鄭州鐵路職業技術學院
河南科技 2011年1期
關鍵詞:服務

鄭州鐵路職業技術學院 李 咚

基于WSE的Web服務身份驗證研究與實現

鄭州鐵路職業技術學院 李 咚

Web服務(Web Services)作為分布式計算模型,以其良好的擴展性、松耦合性等特點在電子商務、政務等方面都得到了廣泛應用。由于Web服務面臨著信息丟失、被竊聽、被篡改等安全性風險,如何在Web服務中實現身份驗證、授權、機密性、完整性以及不可抵賴性等安全措施,是系統應用的重要保證。其中,身份驗證是Web服務安全控制的基礎,同時也決定了后續操作的安全性。Web服務的身份驗證已經成為網絡安全研究中的一個重要領域。

Web服務構建在一組以XML為基礎的標準協議之上,是一種自包含、自描述、組件化的應用程序。Web服務作為一種嶄新的分布式計算模型,是Web上數據和應用集成的有效機制,也是網格和云計算等新興計算技術的首選實現方式。Web服務具有平臺無關性、動態性、開放性和松散耦合的特征,這給企業應用集成帶來極大的便利,同時也使其自身面臨許多獨特的安全問題。Web服務的安全性對其應用前景產生至關重要的影響,也是目前Web服務并未進入大規模應用階段的主要原因之一。

一、Web服務及身份驗證

1.Web服務簡介。Web服務是一種通過網絡進行發布、發現和調用的服務器端軟件組件。Web服務的實現依賴于一系列的標準協議或規范,其上層核心標準基于XML,借助WSDL和UDDI進行描述、發布與發現,使用SOAP進行訪問,并通過HTTP等進行傳輸,具有優異的松耦合性、跨平臺性等特征,為其在異構平臺上進行系統的集成與交互提供了充分的保證。

2.Web服務的安全機制。Web服務的安全機制目前主要通過傳輸層安全和消息層安全加以解決。基于傳輸層的安全機制通過安全傳輸協議(SSL)、防火墻以及限制IP地址等實現點到點的安全性保障,但是無法提供應用層中間節點參與Web服務時的數據安全保障。基于消息層的安全機制通過對SOAP消息頭的擴展添加安全元素,整合已成熟的安全技術對SOAP消息進行簽名和加密,在應用層上實現Web服務的細粒度保護和端到端的安全傳輸需求。

3.Web服務的身份驗證。Web服務的身份驗證是消息發送方將身份憑證傳遞給接收者來證明自己身份的過程。常用的身份驗證方式有以下幾種。

(1)基本身份驗證。客戶端使用明文(Base64編碼)直接傳送用戶名和密碼在服務端進行驗證。基本身份驗證與SSL結合可以實現在傳輸層的安全傳輸。

(2)摘要身份驗證。在基本身份驗證的基礎上將驗證信息散列后傳輸。攻擊者無法根據散列值破解原始用戶名和密碼。

(3)集成Windows身份驗證。主要用于Intranet方案,使用NTLM或Kerberos。客戶端屬于服務器所在的域或托管域,如果憑據能與有效賬戶匹配,客戶端獲得Web服務授權。

(4)客戶證書。要求在服務器和客戶端上有從受信任的第三方獲取的相應證書,客戶端必須憑有效的證書才能進行Web服務,具有較高的安全保障。

(5)自定義驗證。采用自定義的接口驗證用戶身份。這種驗證方式靈活,服務器可以定義各種驗證所需要的接口和算法,如基于SOAP header的驗證方式。

二、WS-Security規范與WSE

1.WS-Security規范。WS-Security規范是IBM、Microsoft等公司聯合開發的Web服務安全規范。WS-Security規范并未提出新的加密算法或安全模型,只是對SOAP協議的擴展,在消息報頭中定義了安全元素<security>及其子元素來提供身份驗證、消息完整性、機密性的安全保護,使應用程序達到構建安全的SOAP消息交換的目標。

2.WSE架構及安全斷言。WSE(Web Services Enhancements)是微軟發布的在.NET框架下用來實現符合WS-Security規范的開發工具包,其體系架構基于策略(Policy)和安全管道。管道用策略來創建,策略由有序的斷言組成。每個斷言定義一個對Web服務的要求,由斷言生成的輸入、輸出篩選器對進出結點的SOAP消息進行截獲和處理,執行對Web服務的安全要求。目前的WSE3.0版本提供了6種安全斷言,用戶可以根據以下3種不同的場景選擇適合的身份驗證方式。

(1)用戶名/密碼場景。Username over Transport Assertion提供客戶端簡單的用戶名和密碼驗證,需要依賴安全傳輸層來保障消息的安全。

Username for Certificate Assertion要求服務器配置自己的X.509證書,客戶端配置用戶名/密碼憑據和服務器的X.509證書(僅公鑰),可以保證端到端的安全身份驗證。

(2)X.509證書場景。Anonymous for Certificate Assertion要求服務器配置自己的X.509證書,客戶端配置服務器的X.509證書(僅公鑰),客戶端在使用證書驗證時允許保持匿名。

Mutual Certificate 10 Assertion和 Mutual Certificate 11 Assertion要求客戶端和服務器均使用自己的X.509證書執行相互驗證,而后者使用WS-Security1.1規范確保更好的安全性能。

(3)Kerberos身份驗證場景。Kerberos Assertion提供客戶端和服務器位于同一個信任域中時的Kerberos身份驗證。由于不需要將證書分發給所有參與者,需要的部署工作沒有其他身份驗證斷言多。

三、Web服務身份驗證的設計與實現

1.身份驗證的設計。Web服務的整體解決方案采用Visual Studio 2005開發。身份驗證在設計時根據不同的安全需求和用戶規模采用不同的安全策略。對于一般用戶群,采用Username for Certificate Assertion進行簡單的身份驗證,客戶端使用用戶名和口令,服務器用X.509證書驗證身份。對于重要用戶,采用Mutual Certificate 11 Assertion,客戶端和服務器都用X.509證書實現更為安全的驗證。

2.Web服務身份驗證的實現。WSE3.0已經集成到Microsoft Visual Studio 2005 IDE開發環境中,下面基于C#語言以Username for Certificate Assertion斷言為例,說明如何實現Web服務的安全身份驗證。

(1)開發環境構建。使用Username for Certificate Assertion時,服務器需要配置自己的X.509證書,客戶端需要配置用戶名/密碼令牌和服務器的X.509證書(僅公鑰)。利用windows 2003Server證書服務構建CA服務器申請服務器證書,并將其安裝到本地計算機的個人存儲區。客戶端下載服務器證書,并使用MMC將其導入到當前用戶的其他存儲區。

在開發環境中要確保已經安裝WSE3.0框架并可以運行WSE部件。在代碼中加入Microsoft.Web.Services3.dll引用和Microsoft.Web.Service3命名空間。

(2)Web服務器端開發創建自定義身份驗證。WSE默認進行基于Windows身份驗證,因此用戶需要自定義身份驗證。首先創建由 Username Token Manager類派生的自定義類Custom Token Manager,重載AuthenticateToken方法來處理身份驗證。該方法根據令牌中的用戶名訪問數據庫獲得用戶密碼信息提供給WSE驗證,若通過驗證,則允許調用Web服務。主要代碼如下:

服務器端WSE的配置。使用設置管理器向導進行服務器WSE的配置,鼠標右擊項目,選擇進入WSE Settings配置界面,在 General頁選中“Enable this project for Web Services Enhancements”和“Enable Microsoft Web Services Enhancement SOAP Protocol Factory”復選框,啟用WSE保護。在Policy頁新建名為“ServersPolicy”的安全策略并設置:應用類型選擇“secure a service application”表示是服務器端。驗證方式選擇“username”,采用Username over Certificate Security安全斷言。啟用WS-Security 1.1擴展,選擇“Sign and Encrypt”,表示SOAP消息必須簽名和加密。從證書庫中選擇服務器的X.509證書。在 Security頁 中 添 加 Security Token Manager,選 擇“Username Token Manager”,然后將type改為“CustomToken. Custom Token Manager”,表示由CustomTokenManager類處理用戶名令牌。設置完成后,系統將自動更新Web.config和wse3policyCache.config文件中的相關內容。

構建Web服務。在服務器端添加一個Web服務類Service. cs,通過類屬性Policy指定ServersPolicy策略。主要代碼如下:

(3)客戶端開發。在解決方案中添加一個windows客戶端應用程序,設置客戶端WSE。在Policy頁新建名為“ClientPolicy”的安全策略并進行設置:應用類型選擇“secure a client application”表示是客戶端程序。證書選擇用服務器證書,表示用此證書的公鑰對用戶令牌進行簽名和加密。其他設置和服務器端類似。客戶端主代碼如下:

客戶端程序運行后,點擊“button1”按鈕,客戶端應用程序將調用SetClientCredential()方法,將包含用戶名和密碼的令牌提供給代理類,如果服務器端驗證通過,客戶端就可以利用代理調用服務器端方法了。至此,服務端和客戶端應用程序全部開發完成。

綜上,身份驗證是Web服務安全的基礎,針對目前多種的安全解決方案,開發人員可以根據不同的應用需求,選擇不同的安全方案。WSE3.0工具可以提供基于WS-Security等安全規范的完整解決方案,開發人員通過WSE3.0的策略框架來設計安全架構,實現了系統的業務邏輯與安全邏輯的分離,快速實現Web服務的安全需求。

猜你喜歡
服務
自助取卡服務
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年11期)2019-08-13 00:49:08
服務在身邊 健康每一天
今日農業(2019年13期)2019-08-12 07:59:04
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
高等教育為誰服務:演變與啟示
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
主站蜘蛛池模板: 国产青榴视频| 丰满人妻一区二区三区视频| 久久国产精品娇妻素人| 日韩国产一区二区三区无码| 丝袜无码一区二区三区| 波多野结衣一区二区三区四区视频 | 免费国产高清视频| 亚洲成人高清在线观看| 国产成人亚洲欧美激情| 日本精品αv中文字幕| 亚洲精品成人片在线观看| 亚洲国内精品自在自线官| 午夜天堂视频| 精品国产自在在线在线观看| 欧美久久网| 亚洲动漫h| 国产成+人+综合+亚洲欧美| AV片亚洲国产男人的天堂| 最新亚洲人成网站在线观看| 波多野结衣无码中文字幕在线观看一区二区| 欧美成人午夜影院| 草逼视频国产| 亚洲国产日韩在线观看| 欧美国产日韩另类| 国产在线精品99一区不卡| 亚洲黄色片免费看| 91久久大香线蕉| 亚洲首页国产精品丝袜| 午夜激情婷婷| 亚洲天堂视频网| 久久一日本道色综合久久| 日韩无码真实干出血视频| 国内精自视频品线一二区| 国产精品毛片一区| 国产福利小视频在线播放观看| 成人午夜久久| 免费国产在线精品一区| 精品国产成人av免费| A级毛片高清免费视频就| 久久精品无码一区二区日韩免费| 91亚洲精选| 视频二区亚洲精品| 国产SUV精品一区二区6| 精品色综合| 久久中文无码精品| 国产欧美又粗又猛又爽老| 99视频全部免费| 99re热精品视频国产免费| 国产91高跟丝袜| 国产成人精品一区二区三在线观看| 亚洲男人天堂网址| 91人妻在线视频| 三区在线视频| 亚洲伦理一区二区| 最新国产网站| 国产一区二区三区精品欧美日韩| 久久婷婷五月综合97色| 中国特黄美女一级视频| 亚洲有无码中文网| 久久精品波多野结衣| 欧美三级自拍| 亚洲午夜国产精品无卡| 亚洲h视频在线| 97国内精品久久久久不卡| 天天干伊人| 欧美午夜一区| 亚洲码在线中文在线观看| 国产亚洲精久久久久久无码AV| 99人体免费视频| 中文字幕66页| 国产人在线成免费视频| 亚洲熟妇AV日韩熟妇在线| 2020极品精品国产 | 亚洲日本中文字幕天堂网| 久久综合丝袜长腿丝袜| 2022国产无码在线| 2021国产乱人伦在线播放 | 欧美精品成人一区二区视频一| 久久综合丝袜长腿丝袜| 99视频在线精品免费观看6| 欧美区在线播放| 国产亚洲精品资源在线26u|