Web 服務訊息層次安全的標準和程式設計模型概觀

「Web 服務安全」標準和設定檔說明如何為 Web 服務環境中交換的 SOAP 訊息,提供安全和保護。

為了保護 Web 服務,您必須考慮各種安全需求,包括在一系列應用程式和商業拓蹼上的鑑別、授權、隱私、信任、完整性、機密性、安全通訊通道、委派及審核。 在當今的商業環境中,安全模型的一項關鍵需求就是讓先前不相容的安全技術,能夠在異質環境中交互作業。Web 服務領域的安全:提議的架構和導覽圖中說明完整的「Web 服務安全」通訊協定堆疊和技術導覽圖。

Web 服務安全標準

「結構化資訊標準推廣組織 (OASIS)」的「Web 服務安全 (WS-Security)」規格定義核心機能來保護訊息的完整性和機密性,並提供機制將安全相關的要求與訊息相關聯。 「Web 服務安全」是一套訊息層次標準,主要是透過 XML 數位簽章維護 SOAP 訊息、透過 XML 加密確保機密性,以及透過安全記號維護認證傳播。WebSphere® Application Server 支援「Web 服務安全」1.1 版規格,包括加密的標頭、指模和簽章配置、使用者名稱記號設定檔及 X.509 記號設定檔等特性。 此外,對於 Kerberos 1.1 版記號設定檔、WS-SecureConversation 1.3 版、WS-Trust 1.3 版及 WS-SecurityPolicy 1.2 版,也提供有限的安全實務支援。

Web 服務安全 SOAP 訊息安全 1.1 規格概述一套標準的 SOAP 1.1 延伸,供您用來建置安全的 Web 服務。 這些標準提供完整性和機密性保護,通常是採用數位簽章和加密技術來實作。此外,「Web 服務安全」也提供一套通用機制將安全記號與訊息相關聯。 使用者名稱記號是一個常見的安全記號例子,其中是以文字形式併入使用者名稱和密碼。 「Web 服務安全」定義如何以 X.509 憑證等方法將二進位安全記號編碼。 不過,「SOAP 訊息安全」1.1 規格中並未定義必要的安全記號。這些記號是定義在個別的設定檔中,例如使用者名稱記號設定檔、X.509 記號設定檔等。

請特別注意,雖然「Web 服務安全」可以為用戶端到服務的一般 SOAP 訊息要求,以及從服務到用戶端的一般 SOAP 訊息回應,提供訊息層次的完整性和機密性保護,但「Web 服務安全」無法用來保護 SOAP 錯誤訊息。

WS-Security 草稿 13 與 WS-Security 標準 1.0 和 1.1 版的相容性

WS-Security 標準經過多年,已從草稿演變成為 OASIS 標準。WebSphere Application Server 5.02 版開始支援 WS-Security 草稿 13,WebSphere Application Server 6.0 版開始支援 WS-Security 1.0 版。 WebSphere Application Server 6.1 版 Web 服務功能套件支援 WS-Security 1.1 版(僅使用 JAX-WS 執行時期)。 Web 服務安全規格 - 年表主題提供此支援的詳細演進過程。

請特別注意,WS-Security 草稿 13 用戶端與採用 WS-Security 1.0 或 1.1 版的提供者不相容。 草稿 13 用戶端只能與草稿 13 Web 服務提供者通訊。您不能使用草稿 13 用戶端來與 WS-Security 1.0 或 1.1 版提供者通訊。 因為在啟用草稿 13 的應用程式與啟用 WS-Security 1.0 或 1.1 版的應用程式之間,WS-Security 標頭和名稱空間的 SOAP 訊息格式不同,所以會引發這個問題。

所用 WS-Security 標準的版本與 Java™ Platform Enterprise Edition (Java EE) 應用程式的必要版本也有關連:
  • Java EE 1.3 版只能搭配 WS-Security 草稿 13。
  • Java EE 1.4 版以及更新版本可搭配 WS-Security 1.0 版(JAX-RPC 和 JAX-WS),也可以搭配 WS-Security 1.1 版 (JAX-WS)。

下圖說明這些相容性考量:

各種 Web 服務執行時期與 J2EE 的互動

如果要使用 WebSphere Application Server 保護 Web 服務,您必須指定幾種不同的配置。雖然指定這些不同的配置時,並沒有特別規定的順序,但某些配置確實會參照其他配置。 請參閱 Web Services Security configuration considerations

由於不同「Web 服務安全」配置之間的關係,建議您依下列各節所述的順序在每一個配置層次上指定配置。 您可以選擇為應用程式層次、伺服器層次或 Cell 層次配置「Web 服務安全」,因為這取決於您的環境和安全需求。

「Web 服務安全」程式設計模型

利用易於實作的 Java™ API for XML-Based Web Services (JAX-WS) 程式設計模型來開發新的 Web 服務應用程式和用戶端。 JAX-WS 是新一代的 Web 服務程式設計模型。利用 JAX-WS 可簡化 Web 服務和用戶端的開發,透過使用動態 Proxy 和 Java 註釋,Java 應用程式更不依賴平台。 JAX-WS 透過支援一套以註釋為主的標準模型來開發 Web 服務應用程式和用戶端,簡化應用程式開發。 「Web 服務安全」有兩種方式可以保護 JAX-WS 應用程式。 可以使用原則集,或透過使用「Web 服務安全 API (WSS API)」來保護應用程式。如果要利用 Java API for XML-Based Web Services (JAX-WS) 程式設計模型來維護 Web 服務的安全,請從Securing JAX-WS web services using message-level security主題開始。

Java™ API for XML-based RPC (JAX-RPC) 規格可讓您開發 SOAP 型可交互作業和可攜式的 Web 服務和 Web 服務用戶端。 JAX-RPC 1.1 提供核心 API 來開發和部署 Web 服務到 Java 平台,屬於 Web Services for Java Platform Enterprise Edition (Java EE) 平台的一部分。 IBM® WebSphere® Application Server 支援 JAX-WS 程式設計模型和 JAX-RPC 程式設計模型。 JAX-WS 是新一代的 Web 服務程式設計模型,擴充 JAX-RPC 程式設計模型所提供的基礎。如果要利用 Java API for XML-based RPC (JAX-RPC) 程式設計模型來維護 Web 服務的安全,請從使用訊息層次安全維護 JAX-RPC Web 服務主題開始。


指出主題類型的圖示 概念主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wssecsecureoverview
檔名:cwbs_wssecsecureoverview.html