Sun Java System Application Server 9.1 管理指南

瞭解 Application Server 中的訊息安全性

Application Server 在其 Web 服務用戶端和伺服器端容器中提供對 WS-Security 標準的整合式支援。整合此功能後,Web 服務安全性可由代表應用程式之 Application Server 的容器來強制執行,並且可以用於保護任何 Web 服務應用程式,無需變更應用程式的實作。Application Server 透過提供可將 SOAP 層訊息安全性提供者和訊息保護策略連結到容器和容器中部署的應用程式之功能,來達到此效果。

指定訊息安全性職責

在 Application Server 中,系統管理員應用程式部署人員 角色應負起配置訊息安全性的主要責任。儘管通常其他的角色都不需要開發者且無需變更其實作,就可以確保現有應用程式的安全,但在某些情況下,應用程式開發人員 也可以發揮作用。以下小節定義了各種角色的職責:

系統管理員

系統管理員負責:

系統管理員使用管理主控台來管理伺服器安全性設定,並使用指令行工具來管理憑證資料庫。在 Platform Edition 中,憑證和私密金鑰均儲存在金鑰庫中,並透過 keytool 進行管理。Standard Edition 和 Enterprise Edition 將憑證和私密金鑰儲存在 NSS 資料庫中,並使用 certutil 對其進行管理。本文件主要適用於系統管理員。如需有關訊息安全性作業的簡介,請參閱配置 Application Server 以實現訊息安全性

應用程式部署人員

應用程式部署人員負責:

應用程式開發人員

應用程式開發者可以啟用訊息安全性,但並不是必須要這樣做。訊息安全性可以由系統管理員設定,以便確保所有 Web 服務的安全;如果連結到應用程式的提供者或保護策略不同於連結到容器的提供者或保護策略,訊息安全性則由應用程式部署人員設定。

應用程式開發者或組譯者負責:

關於安全性記號和安全性機制

WS-Security 規格為使用安全性記號來認證和加密 SOAP Web 服務訊息提供了可延伸機制。與 Application Server 一起安裝的 SOAP 層訊息安全性提供者可用於採用使用者名稱/密碼和 X509 憑證安全性記號,以認證和加密 SOAP Web 服務訊息。採用其他安全性記號 (包括 SAML 指定) 的其他提供者將與 Application Server 的後續發行版本一起安裝。

關於使用者名稱記號

Application Server 使用 SOAP 訊息中的使用者名稱記號來建立訊息傳送者的認證身份。包含使用者名稱記號 (在內嵌式密碼中) 的訊息接收者透過確認傳送者是否知道使用者的秘密 (即密碼),來驗證訊息傳送者是否經過授權成為使用者 (在記號中識別)。

使用使用者名稱記號時,必須在 Application Server 中配置有效的使用者資料庫。

關於數位簽名

Application Server 使用 XML 數位簽名將認證身份連結到訊息內容。用戶端使用數位簽名來建立呼叫者身份,其方法與使用傳輸層安全性時用基本認證或 SSL 用戶端證書認證建立呼叫者身份的方法相似。訊息接收者將驗證數位簽名以認證訊息內容的來源 (可能與訊息傳送者不同)

使用數位簽名時,必須在 Application Server 中配置有效的金鑰庫和信任庫檔案。如需有關該主題的更多資訊,請參閱關於證書檔案

關於加密

加密的目的是將資料修改為只有目標讀者才能理解的形式。加密程序透過用加密元素替換原始內容來完成。與公開金鑰加密指出的那樣,可以使用加密來建立能夠閱讀訊息的一方或多方身份。

使用加密時,必須先安裝支援加密的 JCE 提供者。如需有關該主題的更多資訊,請參閱配置 JCE 提供者

關於訊息保護策略

訊息保護策略是針對請求訊息處理和回應訊息處理而定義的,並根據對源和/或收信人認證的需求來進行表示。來源認證策略代表一個需求,即必須在訊息中建立已傳送訊息或已定義訊息內容的實體之身份,以使其可以由訊息收件者進行認證。接收者認證策略代表一個需求,即必須傳送訊息,以使可接收訊息的實體之身份可 由訊息傳送者建立。提供者套用特定的訊息安全性機制,以使訊息保護策略在 SOAP Web 服務訊息的上下文中實現。

請求和回應訊息保護策略是在將提供者配置到容器時定義的。特定於應用程式的訊息保護策略 (細緻程度為 Web 服務連接埠或作業) 也可以在應用程式或應用程式用戶端的特定於 Sun 的部署描述元中進行配置。在任何情況下,如果定義了訊息保護策略,則用戶端的請求和回應訊息保護策略必須與伺服器的請求和回應訊息保護策略相符 (即二者等效)。如需有關針對各應用程式定義訊息保護策略的更多資訊,請參閱「 Developers Guide」中的「Securing Applications」一章。

訊息安全性術語字彙表

以下內容描述本文件中所使用的術語。配置 Application Server 以實現訊息安全性中也討論了這些概念。