• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2011-10-19 07:48:18鄭州鐵路職業(yè)技術學院
      河南科技 2011年1期
      關鍵詞:斷言身份驗證用戶名

      鄭州鐵路職業(yè)技術學院 李 咚

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

      鄭州鐵路職業(yè)技術學院 李 咚

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

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

      一、Web服務及身份驗證

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

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

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

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

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

      (3)集成Windows身份驗證。主要用于Intranet方案,使用NTLM或Kerberos??蛻舳藢儆诜掌魉诘挠蚧蛲泄苡?,如果憑據能與有效賬戶匹配,客戶端獲得Web服務授權。

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

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

      二、WS-Security規(guī)范與WSE

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

      2.WSE架構及安全斷言。WSE(Web Services Enhancements)是微軟發(fā)布的在.NET框架下用來實現符合WS-Security規(guī)范的開發(fā)工具包,其體系架構基于策略(Policy)和安全管道。管道用策略來創(chuàng)建,策略由有序的斷言組成。每個斷言定義一個對Web服務的要求,由斷言生成的輸入、輸出篩選器對進出結點的SOAP消息進行截獲和處理,執(zhí)行對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證書執(zhí)行相互驗證,而后者使用WS-Security1.1規(guī)范確保更好的安全性能。

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

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

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

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

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

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

      (2)Web服務器端開發(fā)創(chuàng)建自定義身份驗證。WSE默認進行基于Windows身份驗證,因此用戶需要自定義身份驗證。首先創(chuàng)建由 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類處理用戶名令牌。設置完成后,系統(tǒng)將自動更新Web.config和wse3policyCache.config文件中的相關內容。

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

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

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

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

      猜你喜歡
      斷言身份驗證用戶名
      《護士進修雜志》投稿程序
      von Neumann 代數上保持混合三重η-*-積的非線性映射
      C3-和C4-臨界連通圖的結構
      特征為2的素*-代數上強保持2-新積
      Top Republic of Korea's animal rights group slammed for destroying dogs
      HID Global收購Arjo Systems擴大政府身份驗證業(yè)務
      機智的快遞員
      故事會(2017年17期)2017-09-04 17:36:42
      更安全的雙重密碼保護
      CHIP新電腦(2015年3期)2015-04-02 17:55:46
      身份驗證中基于主動外觀模型的手形匹配
      ASP.NET中的Forms身份驗證的研究
      南召县| 阿合奇县| 都昌县| 吐鲁番市| 奈曼旗| 柳林县| 女性| 潞城市| 达州市| 霸州市| 滕州市| 阳曲县| 阳山县| 鹤庆县| 通榆县| 岳普湖县| 唐海县| 灌阳县| 黄骅市| 遵化市| 万州区| 宜春市| 三亚市| 武功县| 温泉县| 顺平县| 泾阳县| 琼结县| 金沙县| 离岛区| 杭州市| 名山县| 遵义县| 瑞昌市| 铁岭市| 长沙市| 和政县| 维西| 宁陕县| 高台县| 和政县|