Web服務安全性:發(fā)展協(xié)議棧

字號:

IBM、Microsoft 和 Verisign 于四月份聯(lián)合發(fā)布了一個關于 Web 服務安全性(Web Services Security,WS-Security)的規(guī)范,該規(guī)范提供了一套幫助 Web 服務開發(fā)者保護 SOAP 消息交換的機制。這個規(guī)范已經被 OASIS 所接受,并且新組建了 Web 服務技術委員會(Web Services Technical Committee,The WSS TC),以促使 WS-Security 成為開放標準。在早些時候的一篇文章 Security in Web Service World: A Proposed Architecture and Roadmap(參閱參考資料)中已經比較詳細地闡釋了 WS-Security 規(guī)范。
    此外,在四月份,IBM 和 Microsoft 還提供了一個路線圖文檔,文檔中包含有一個概念性協(xié)議棧,該概念性協(xié)議棧規(guī)定了一些對于在 Web 服務中構建安全性來說非常重要的額外元素。
    該公告的重點是給出路線圖中新增的三個部分;策略層中的兩個元素和聯(lián)合層中的一個元素(如圖 1 所示)。
    圖 1. 不斷發(fā)展的 WS-Security 路線圖
    策略
    路線圖中標為 WS-Policy 的策略元素已被進一步細化為包含以下四個文檔:
    ·一個策略框架(Policy Framework,WS-Policy)文檔,它定義了表達 Web 服務策略的語法。
    ·一個策略附件(Policy Attachment,WS-Policy-Attachment)文檔,它定義了如何將這些策略附加到 Web 服務。
    ·一組通用策略斷言(WS-Policy-Assertions)。
    ·一組安全性策略斷言(WS-Security Policy)。
    策略框架旨在允許可擴展性。策略是一個寬泛的術語,包含了諸如安全性、可靠性、事務、隱私等一系列學科。類似的,表達策略的能力也不局限于通用策略或安全性策略的表達。目的在于使基本的策略框架能夠適應特定于域的策略語言的表達,并且適應的方式是在一個一致的 Web 服務框架中利用不同域的知識。
    WS-PolicyAttachment 提供了幾種使用 Web 服務來宣傳策略斷言的方式。它構建在現(xiàn)有的 WSDL 規(guī)范和 UDDI 規(guī)范之上,但同時支持可擴展性。
    同時,與 Web 服務的公共策略一起存在的還有各種特定于域的策略(例如安全性策略)。一個常見的例子就是這樣一個請求服務,它會查找能夠以特定人類語言(例如德語)提供處理的服務提供者。這樣,這個請求服務就要應用一個策略斷言,即需要德語語言支持(German language support)。這個提供者也可以通過聲稱它能以德語提供服務來作出該斷言。WS-Policy 斷言語言(WS-Policy Assertions Language)提供了這種類型的公共策略表達。它定義了一組通用的 Web 服務策略斷言。
    安全性是一個域,它旨在說明安全性策略的表達,WS-Security-Policy 這個單獨的文檔提議了一種語言,用來表達那些傳達與支持 WS-Security 規(guī)范有關的策略所需的策略。
    信任
    在 Web 服務范例中,服務請求者和服務提供者之間的信任是通過雙方以一種預期的且可理解的方式交換信息來建立的。WS-Security 規(guī)范已經定義了通過使用安全性令牌來安全地交換消息的基本機制。WS-Trust 規(guī)范以這個模型為基礎進行構建,定義了如何發(fā)出和交換這些安全性令牌。
    WS-Trust 通過定義一組接口開始了定義信任關系的工作,安全性令牌服務將為安全性令牌的發(fā)出、交換和驗證提供這組接口。它旨在支持創(chuàng)建多種安全性令牌格式,以適應各種認證和授權機制。發(fā)出安全性令牌服務接受一個輸入請求(通常還有身份證明),然后以指定的身份所請求的令牌(即一個特定的業(yè)務證書)作為響應。
    安全性空間內的這種預期行為的描述也可以稱之為信任策略,WS-Policy 框架支持信任伙伴表達和交換他們的信任聲明。