Web services security specification for v6.0.x - a chronology

This article describes the development of the Web services security specification. The article provides information on the Organization for the Advancement of Structured Information Standards (OASIS) Web services security V1.0 specification, which is the specification that serves as a basis for securing Web services in WAS v6.x.

 

Non-OASIS activities

Web services is gaining rapid

acceptance as a viable technology for interoperability and integration. However, securing Web services is one of the paramount quality of services that makes the adoption of Web services a viable industry and commercial solution for businesses. IBM and Microsoft jointly published a security white paper on Web services entitled Security in a Web Services World: A Proposed Architecture and Roadmap. The white paper discusses the following initial and subsequent specifications in the proposed Web services security roadmap:

Web service security

This specification defines how to attach a digital signature, use encryption, and use security tokens in SOAP messages.

WS-Policy

This specification defines the language that is used to describe security constraints and the policy of intermediaries or endpoints.

WS-Trust

This specification defines a framework for trust models to establish trust between Web services.

WS-Privacy

This specification defines a model of how to express a privacy policy for a Web service and a requester.

WS-SecureConversation

This specification defines how to exchange and establish a secured context, which derives session keys between Web services.

WS-Federation

This specification defines a model for trust relationships in a heterogeneous, federated environment, including federated identities management.

WS-Authorization

This specification defines the authorization policy for a Web service.

This following figure shows the relationship between these specifications:

In April 2002, IBM, Microsoft, and VeriSign proposed the Web Services Security (WS-Security) specification on their Web sites as depicted by the green box in the previous figure. This specification included the basic ideas of a security token, XML digital signature, and XML encryption. The specification also defined the format for user name tokens and encoded binary security tokens. After some discussion and an interoperability test based on the specification, the following issues were noted:

  • The specification requires that the Web services security processors understand the schema correctly so that the processor distinguishes between the ID attribute for XML digital signature and XML encryption.

  • The freshness of the message, which indicates whether the message complies with predefined time constraints, cannot be determined.

  • Digested password strings do not strengthen security.

In August 2002, IBM, Microsoft, and VeriSign published the Web Services Security Addendum, which attempted to address the previously listed issues. The following solutions were addressed in the addendum:

  • Require a global ID attribute for XML signature and XML encryption.

  • Use time stamp header elements that indicate the time of the creation, receipt, or expiration of the message.

  • Use password strings that are digested with a time stamp and nonce, which is a randomly generated token.

The specifications for the blue boxes in the previous figure have been proposed by various industry vendors and various interoperability events have been organized by the vendors to verify and refine the proposed specifications.

 

OASIS activities

In June 2002, OASIS received a proposed Web services security specification from IBM, Microsoft, and Verisign. The Web Services Security Technical Committee (WSS TC) was organized at OASIS soon after the submission. The technical committee included many companies including IBM, Microsoft, VeriSign, Sun Microsystems, and BEA Systems.

In September 2002, WSS TC published its first specification, Web Services Security Core Specification, Working Draft 01. This specification included the contents of both the original Web services security specification and its addendum.

The coverage of the technical committee became larger as the discussion proceeded. Because the Web Services Security Core Specification allows arbitrary types of security tokens, proposals were published as profiles. The profiles described the method for embedding tokens, including Security Assertion Markup Language (SAML) tokens and Kerberos tokens embedded into the Web services security messages. Subsequently, the definitions of the usage for user name tokens and X.509 binary security tokens, which were defined in the original Web Services Security Specification, were divided into the profiles.

WebSphere Application Server Versions 5.0.2, 5.1, and 5.1.1 support the following specifications:

  • Web Services Security: SOAP Message Security Draft 13 (formerly Web Services Security Core Specification)

  • Web Services Security: Username Token Profile Draft 2

In April 2004, the Web service security specification (officially called Web Services Security: SOAP Message Security V1.0) became the V1.0 OASIS standard. Also, the Username token and X.509 token profiles are V1.0 specifications.

WebSphere Application Server 6 supports the following Web services security specifications from OASIS:

The following figure shows the various Web services security-related specifications.

WebSphere Application Server v6.x also extends and provides plug-in capability to enable security providers to extend the run-time capability and implement some of the higher level specifications in the Web service security stack. The plug-in points are exposed as Service Provider Programming Interfaces (SPI). For more information on these SPIs, see Default implementations of the Web services security service provider programming interfaces.

 

Web services security specification development

The

OASIS Web services security V1.0 specification defines the enhancements that are used to provide message integrity and confidentiality. It also provides a general framework for associating the security tokens with a Simple Object Access Protocol (SOAP) message. The specification is designed to be extensible to support multiple security token formats. The particular security token usage is addressed with the security token profile. The OASIS Web services security specification is based upon the following World Wide Web Consortium (W3C) specifications. Most of the W3C specifications are in the standard body recommended status.

These specifications are supported in WebSphere Application Server 6 in the context of Web services security. For example, one can sign a SOAP message by specifying the integrity option in the deployment descriptors. However, there is no application programming interface (API) that an application can use for XML signature on an XML element in a SOAP message.

The OASIS Web services security V1.0 specification defines the enhancements that are used to provide message integrity and confidentiality. It also provides a general framework for associating the security tokens with a Simple Object Access Protocol (SOAP) message. The specification is designed to be extensible to support multiple security token formats. The particular security token usage is addressed with the security token profile.

 

Specification and profile support in WebSphere Application

Server v6.x

OASIS is working on various profiles. For more information, see Organization for the Advancement of Structured Information Standards Committees. WAS v6.x does not support these profiles. The following list is some of the published draft profiles and OASIS Web services security technical committee work in progress:

  • Web Services Security: SAML token profile

  • Web Services Security: REL token profile

  • Web Services Security: Kerberos token profile

  • Web Services Security: SOAP Messages with Attachments (SwA) profile

Because WAS v6.x supports the following specifications, support for Web services security draft 13 and Username token profile draft 2 in WebSphere Application 5.0.2, 5.1.0 and 5.1.1 is deprecated:

  • OASIS Web Services Security V1.0 specification

  • Web Services Security Username token profile

  • X.509 token profile

The wire format of the SOAP message with Web services security in Web services security V1.0 has changed and is not compatible with previous drafts of the OASIS Web services security specification. Interoperability between OASIS Web services security V1.0 and previous Web services security drafts is not supported. However, it is possible to run an application that is based on Web services security draft 13 on WebSphere Application Server v6.x. The application can interoperate with an application that is based on Web services security draft 13 on WAS Version 5.0.2, 5.1 or 5.1.1.

WebSphere Application Server v6.x supports both the OASIS Web services security draft 13 and the OASIS Web services security 1.0 specification. But in WAS v6.x, the support of OASIS Web services security draft 13 is deprecated. However, applications that were developed using OASIS Web services security draft 13 on WAS 5.0.2, 5.1.0 and 5.1.1 can run on WebSphere Application Server v6.x. OASIS Web services security V1.0 support is available only for J2EE V1.4 applications. The configuration format for the deployment descriptor and the binding is different from previous versions of WebSphere Application Server. You must migrate the existing applications to J2EE 1.4 and migrate the Web services security configuration to the WAS Version 6 format. For migration information, see Migrating V5.x applications with Web services security to Version 6 applications.

 

Web Services Interoperability Organization (WS-I) activities

Web Services Interoperability Organization (WS-I) is an open industry effort to promote Web services interoperability across vendors, platforms, programming languages and applications. The organization is a consortium of companies across many industries including IBM, Microsoft, Oracle, Sun, Novell, VeriSign, and Daimler Chrysler. WS-I began working on the basic security profile (BSP) in the spring of 2003. BSP consists of a set of non-proprietary Web services specifications that clarifies and amplifies those specifications to promote Web services security interoperability across different vendor implementations. As of June 2004, BSP is a public draft. For more information, see the Web Services Interoperability Organization. Since the spring of 2004, WS-I has been working on sample application work. The BSP sample application is the testing tool for the BSP. WebSphere Application Server v6.x does not support the WS-I BSP and BSP sample application.


 

See Also


Default implementations of the Web services security service provider programming interfaces

 

Related Tasks


Migrating V5.x applications with Web services security to Version 6 applications