Sun Java System Application Server Enterprise Edition 8.2 管理指南

了解 Application Server 中的消息安全性

Application Server 将对 WS-Security 标准的支持集成至其 Web 服务客户机和服务器端容器。集成此功能,可以使 Web 服务安全性由代表应用程序的 Application Server 的容器强制执行,并且可以将其应用于保护任何 Web 服务应用程序而无需对应用程序的实现进行更改。Application Server 通过提供工具将 SOAP 层消息安全性提供者和消息保护策略绑定到容器和容器中部署的应用程序来达到该效果。

指定消息安全性职责

在 Application Server 中,系统管理员应用程序部署者角色应承担配置消息安全性的主要责任。尽管通常情况下,其他两个角色中的任意一个在无需更改现有应用程序实现的情况下就可以确保应用程序的安全而不必涉及开发者,但在某些情况下,应用程序开发者还是会有所作用的。以下小节定义了各种角色的职责:

系统管理员

系统管理员负责:

系统管理员使用管理控制台来管理服务器安全性设置,并使用命令行工具来管理证书数据库。在平台版中,证书和专用密钥存储在密钥库中,并通过 keytool 进行管理。标准版和企业版将证书和专用密钥存储在 NSS 数据库中,并使用 certutil 进行管理。本文档主要针对系统管理员。有关消息安全性任务的概述,请参见为消息安全性配置 Application Server

应用程序部署者

应用程序部署者负责:

Developers’ Guide》 的“Securing Applications”一章中讨论了这些安全性任务。有关指向该章的链接,请参见更多信息

应用程序开发者

应用程序开发者可以打开消息安全性,但并不是必须要这样做。消息安全性可以由系统管理员设置,从而确保所有 Web 服务的安全;或者由应用程序部署者设置,这适用于绑定到应用程序的提供者或保护策略与绑定到容器的提供者或保护策略不同的情况。

应用程序开发者或汇编者负责:

关于安全令牌和安全机制

WS-Security 规范为使用安全令牌来验证和加密 SOAP Web 服务消息提供了可扩展机制。可以使用与 Application Server 一起安装的 SOAP 层消息安全性提供者来利用用户名/密码和 X.509 证书安全性令牌来对 SOAP Web 服务消息进行验证和加密。利用其他安全令牌(包括 SAML 断言)的其他提供者将与 Application Server 的后续版本一起安装。

关于用户名令牌

Application Server 使用 SOAP 消息中的用户名令牌来建立消息发件人的验证标识。包含用户名令牌(在嵌入式密码中)的消息的收件人通过确认发件人是否知道用户的秘密(密码),来验证消息发件人是否为经过授权的用户(在令牌中标识)。

使用用户名令牌时,必须在 Application Server 中配置有效的用户数据库。

关于数字签名

Application Server 使用 XML 数字签名将验证标识绑定到消息内容中。客户机使用数字签名来建立它们的呼叫者标识,其方法与使用传输层安全性时用基本验证或 SSL 客户机证书验证建立呼叫者标识的方法相似。消息收件人将检验数字签名以验证消息内容的源(可能与消息的发件人不同)。

使用数字签名时,必须在 Application Server 中配置有效的密钥库和信任库文件。有关此主题的更多信息,请参见关于证书文件

关于加密

加密的目的是将数据修改为只有目标读者能理解的形式。加密过程通过用加密元素代替原始内容来完成。像公共密钥加密指出的那样,可以使用加密来建立能够阅读消息的一方或多方的标识。

使用加密时,必须先安装支持加密的 JCE 提供者。有关此主题的更多信息,请参见配置 JCE 提供者

关于消息保护策略

消息保护策略是针对请求消息处理和响应消息处理而定义的,并根据对源和/或收件人验证的要求来进行表达。源验证策略代表一个请求,即在消息中建立发送了消息或定义了消息内容的实体的标识,以使其可以由消息收件人进行验证。收件人验证策略代表一个请求,即发送消息,以使可以接收消息的实体的标识可以由消息发件人建立。提供者将应用特定的消息安全性机制以使消息保护策略在 SOAP Web 服务消息的上下文中实现。

在给容器配置提供者时,将定义请求和响应的消息保护策略。特定于应用程序的消息保护策略(以 Web 服务端口或操作的粒度级别)也可以在应用程序或应用程序客户机端的特定于 Sun 的部署描述符中进行配置。在任何情况下,如果定义了消息保护策略,则客户机请求和响应的消息保护策略必须与服务器请求和响应的消息保护策略相匹配(二者相当)。有关定义特定于应用程序的消息保护策略的更多信息,请参见《Developer’ s Guide》的“Securing Applications”一章。

消息安全性术语表

以下介绍了此文档中所用到的术语。此外,为消息安全性配置 Application Server 中还讨论了相关概念。