+

Search Tips   |   Advanced Search

 

High-level architecture for Web services security

 

The Web services security constraints are specified in the IBM extension of the Web services deployments descriptors and bindings. The Web services security run time enforces the security constraints specified in the deployment descriptors.

WAS V6 and later use the Java 2 Platform, Enterprise Edition (J2EE) V1.4 Web services deployment model to implement Web services security. One of the advantages of deployment model is that you can define the Web services security requirements outside of the application business logic. With the separation of roles, the application developer can focus on the business logic and the security expert can specify the security requirement.

The following figure shows the high-level architecture model that is used to secure Web services in WAS V6.

High-level architecture model

The deployment descriptor and binding for Web services security is based on Web service ports. Each Web service port can have its own unique Web services security constraints defined. For example, you might configure Web service port A to sign the SOAP body and the Username token. You might configure Web service port B to encrypt the SOAP body content and so on. As shown in the previous figure, there are 2 sets of configurations on both the client side and the server side:

Request generator

This client-side configuration defines the Web services security requirements for the outgoing SOAP message request. These requirements might involve generating a SOAP message request that uses a digital signature, incorporates encryption, and attaches security tokens. In WAS Versions 5.0.2, 5.1, and 5.1.1, the request generator was known as the request sender.

Request consumer

This server-side configuration defines the Web services security requirements for the incoming SOAP message request. These requirements might involve verifying that the required integrity parts are digitally signed; verifying the digital signature; verifying that the required confidential parts were encrypted by the request generator; decrypting the required confidential parts; validating the security tokens, and verifying that the security context is set up with the appropriate identity. In WAS Versions 5.0.2, 5.1, and 5.1.1, the request consumer was known as the request receiver.

Response generator

This server-side configuration defines the Web services security requirements for the outgoing SOAP message response. These requirements might involve generating the SOAP message response with Web services security; including digital signature; and encrypting and attaching the security tokens, if necessary. In WebSphere Application Server Versions 5.0.2, 5.1, and 5.1.1, the response generator was known as the response sender.

Response consumer

This client-side configuration defines the Web services security requirements for the incoming SOAP response. The requirements might involve verifying that the integrity parts are signed and the signature is verified; verifying that the required confidential parts are encrypted and that the parts are decrypted; and validating the security tokens. In WAS Versions 5.0.2, 5.1, and 5.1.1, the response consumer was known as the response receiver.

WebSphere Application Server Versions 6 and later do not include security policy negotiation or exchange between the client and server. This security policy negotiation is defined by the WS-Policy, WS-PolicyAssertion, and WS-SecurityPolicy specifications and are not supported in WAS V6 and later.

The Web services security requirements that are defined in the request generator must match the request consumer. The requirements that are defined in the response generator must match the response consumer. Otherwise, the request or response is rejected because the Web services security constraints cannot be met by the request consumer and response consumer. The format of the Web services security deployment descriptors and bindings are IBM proprietary. However, the following tools are available to edit the deployment descriptors and bindings:

Rational Application Developer

Use this tool to edit the Web services security deployment descriptor and binding. You can use this tool to assemble both Web and Enterprise JavaBeans (EJB) modules.

Rational Application Developer

Use this tool to edit the Web services security deployment descriptor and binding. You can use this tool to assemble Web modules only.

Application Server Toolkit

Use this tool to edit the Web services security deployment descriptor and binding.

WAS Administrative Console

Use this tool to edit the Web services security binding of a deployed application.



Sub-topics


Security model mixture

Overview of platform configuration and default bindings

Default configuration

Default implementations of the Web services security service provider programming interfaces

 

Related tasks


Securing Web services applications using JAX-RPC at the message level

 

Related Reference


Request generator (sender) binding configuration settings
Request consumer (receiver) binding configuration settings
Response generator (sender) binding configuration settings
Response consumer (receiver) binding configuration settings