Especificación Web Services Security: cronología
El desarrollo de la especificación Web Services Security incluye información de la especificación WSS de OASIS (Organization for the Advancement of Structured Information Standards). La especificación de seguridad de servicios web de OASIS sirve como base para proteger los servicios web en WebSphere Application Server.

- La configuración de calidades de servicio (QoS) se simplifica cuando se utilizan conjuntos de políticas. Los conjuntos de políticas combinan valores de configuración, incluidos los de la configuración a nivel de mensaje y transporte. Los conjuntos de políticas y los enlaces generales se pueden reutilizar en varias aplicaciones, lo que hace más fáciles de consumir las QoS de servicios web.
- Se da soporte a WS-Security para JAX-WS en entornos gestionados, como un contenedor de Java EE, y en entornos no gestionados, como Java Platform, Standard Edition (Java SE 6). Además, hay una API para habilitar WS-Security en el cliente JAX-WS.
Actividades que no son de OASIS
- Seguridad de servicios web
- Esta especificación define cómo asociar una firma digital, utilizar el cifrado y utilizar las señales de seguridad en mensajes SOAP.
- WS-Policy
- Esta especificación define el lenguaje que se utiliza para describir las restricciones de seguridad y la política de los intermediarios o puntos finales.
- WS-Trust
- Esta especificación define una infraestructura para que los modelos de confianza puedan establecer la confianza entre servicios web.
- WS-Privacy
- Esta especificación define un modelo sobre cómo expresar una política de privacidad de un servicio web y un solicitante.
- WS-SecureConversation
- Esta especificación define cómo intercambiar y establecer un contexto seguro que deriva claves de sesión entre los servicios web.
- WS-Authorization
Esta especificación define la política de autorización para un servicio web. No obstante, la especificación de WS-Authorization no se ha publicado. La implementación existente de la seguridad de servicios web se basa en las especificaciones de servicios web para Java EE (Java Platform, Enterprise Edition) o JRS (Java Specification Requirements) 109. La implementación de la seguridad de servicios web se aprovecha de estas comprobaciones de autorización basadas en roles Java EE. Para obtener información sobre conceptos, consulte el tema sobre la autorización basada en roles. Si desarrolla un servicio web que requiera comprobaciones de autorización a nivel de método, debe utilizar beans de sesión sin estado para implementarlo. Para obtener más información, consulte el tema sobre la protección de aplicaciones enterprise bean.
Si desarrolla un servicio web que se implemente como un servlet, puede utilizar la autorización basada en URL o más general en el contenedor web. No obstante, en esta situación, no puede utilizar la identidad de la seguridad de servicios web para las comprobaciones de autorización. En su lugar, puede utilizar la identidad del transporte. Si utiliza SOAP a través de HTTP, la identidad está en el transporte HTTP.
La figura siguiente muestra la relación entre estas especificaciones:
- La especificación necesita que los procesadores de seguridad de servicios web entiendan el esquema correctamente, para que el procesador distinga entre el atributo de ID de la firma digital XML y el cifrado XML.
- La antigüedad del mensaje, que indica si el mensaje cumple con las restricciones de tiempo predefinidas, no se puede determinar.
- Las series de contraseña convertidas no aumentan la seguridad.
- Requerir un atributo de ID global para las firmas XML y el cifrado XML.
- Utilizar elementos de cabecera de indicación de la hora que indiquen la hora de la creación, la recepción o la caducidad del mensaje.
- Utilizar series de caracteres para las contraseñas que se transformen mediante un valor de conversión con una indicación de la hora y un nonce, que es una señal generada aleatoriamente.
Las especificaciones de los recuadros azules de la figura anteriores han sido propuestas por diferentes proveedores y para verificar y refinar las especificaciones propuestas estos proveedores han organizado diferentes debates sobre interoperatividad.
Actividades de OASIS
En junio de 2002, OASIS recibió una especificación de seguridad de servicios web propuesta por IBM, Microsoft y VeriSign. Se organizó un comité WSS TC (Web Services Security Technical Committee) en OASIS poco después de la entrega. El comité técnico incluía muchas empresas, entre las que se encontraban IBM, Microsoft, VeriSign, Sun Microsystems y BEA Systems.
En septiembre de 2002, WSS TC publicó su primera especificación, el borrador de trabajo número 01 denominado Web Services Security Core Specification, Working Draft 01. Esta especificación incluía el contenido de la especificación de seguridad de servicios web original y la adenda.
El alcance del comité técnico se hizo mayor con el avance de los análisis. Como la especificación principal para la seguridad de servicios web permite tipos arbitrarios de señales de seguridad, se publicaron varias propuestas como perfiles. Los perfiles describen el método para señales incorporadas, incluidas las señales SAML (Security Assertion Markup Language) y las señales Kerberos, en los mensajes de la seguridad de servicios web. Posteriormente, las definiciones de uso de las señales de nombre de usuario y las señales de seguridad binarias X.509, que se habían definido en la especificación original de la seguridad de servicios web, se dividieron en los perfiles.
- Web Services Security: SOAP Message Security Draft 13 (anteriormente Web Services Security Core Specification)
- Seguridad de servicios web: Borrador número 2 del perfil de señal de nombre de usuario
- OASIS: Web Services Security: Especificación OASIS estándar SOAP Message Security 1.1 (WS-Security 2004) 1 de Febrero de 2006
- OASIS: Especificación estándar de Web Services Security UsernameToken Profile 1.1, 1 de Febrero de 2006
- OASIS: Especificación estándar de Web Services Security X.509 Certificate Token Profile 1.1, 1 de Febrero de 2006
En la especificación siguiente se describe el uso de señales de Kerberos con respecto a las especificaciones de seguridad de mensajes de Web Services Security. La especificación define cómo utilizar una señal de Kerberos para dar soporte a la protección de autenticación y mensajes: Especificación estándar de OASIS: Web Services Security Kerberos Token Profile 1.1, 1 de febrero de 2006.
En la figura siguiente se muestran las distintas especificaciones relacionadas con la seguridad de servicios web.
WebSphere Application Server proporciona también posibilidad de conectores para permitir que los proveedores de seguridad amplíen la posibilidad del tiempo de ejecución e implementen algunas de las especificaciones de alto nivel en la pila de seguridad de servicios web. Los temas de conexión se exponen como SPI (Service Provider Programming Interfaces). Para obtener más información sobre estas SPI, consulte Implementaciones predeterminadas de las interfaces de programación de proveedores de servicio de Web Services Security.
Desarrollo de la especificación Web Services Security 1.0
- XML-Signature Syntax and Processing
Recomendación W3C, Febrero 2002 (También, IETF RFC 3275, Marzo 2002)
- XML canónico Versión 1.0
Recomendación W3C, Marzo 2001
- Exclusive
XML Canonicalization Versión 1.0
Recomendación W3C, Julio 2002
- XML-Signature
XPath Filter Versión 2.0
Recomendación W3C, Noviembre 2002
- XML Encryption Syntax and Processing
Recomendación W3C, Diciembre 2002
- Firma de Decryption Transform para XML
Recomendación W3C, Diciembre 2002
Se da soporte a estas especificaciones en WebSphere Application Server en el contexto de la seguridad de servicios web. Por ejemplo, puede firmar un mensaje SOAP especificando la opción de integridad en los descriptores de despliegue. Hay una interfaz de programación de aplicaciones (API) de cliente que una aplicación puede utilizar para habilitar Web Services Security para proteger un mensaje SOAP.
La especificación de la seguridad de servicios web OASIS Versión 1.0 define las mejoras que se utilizan para proporcionar integridad y confidencialidad. También proporciona una infraestructura general para asociar las señales de seguridad con un mensaje SOAP. La especificación está diseñada de modo que pueda ampliarse y dar soporte a varios formatos de señal de seguridad. El uso de la señal de seguridad concreta se cubre con el perfil de la señal de seguridad.
Soporte de especificación y perfiles en WebSphere Application Server
OASIS trabaja en diferentes perfiles. Para obtener más información, consulte Organization for the Advancement of Structured Information Standards Committees.
La lista siguiente incluye algunos de los borradores de perfiles publicados y el trabajo del comité técnico de OASIS Web Services Security en desarrollo.
WebSphere Application Server no da soporte a estos perfiles:
- Web Services Security: perfil de señales SAML 1.0
- Web Services Security: perfil de señales REL (Rights Expression Language) 1.0
- Web Services Security: Perfil SwA (SOAP Messages with Attachments) 1.0
El formato de cable del mensaje SOAP en la seguridad de servicios web Versión 1.0 se ha modificado y no es compatible con los borradores anteriores de la especificación de la seguridad de servicios web OASIS. La interoperatividad entre la seguridad de servicios web OASIS Versión 1.0 y los anteriores borradores de la seguridad de servicios web no está soportada. No obstante, se pueden ejecutar en una aplicación basada en el borrador número 13 de la seguridad de servicios Web en WebSphere Application Server Versión 6 y posteriores. La aplicación puede interoperar con una aplicación basada en el borrador número 13 de la seguridad de servicios Web en WebSphere Application Server Versión 5.0.2, 5.1 ó 5.1.1.
WebSphere Application Server da soporte a las especificaciones OASIS Web Services Security draft 13 y OASIS Web Services Security 1.0. Pero en WebSphere Application Server Versión 6 y posteriores, se ha abandonado el soporte del borrador número 13 de la seguridad de servicios Web OASIS. Sin embargo, las aplicaciones que se han desarrollado siguiendo el borrador 13 de la seguridad de servicios web de OASIS en WebSphere Application Server 5.0.2, 5.1.0 y 5.1.1 pueden ejecutarse en WebSphere Application Server Versión 6 y posterior. El soporte de la seguridad de servicios web OASIS Versión 1.0 sólo está disponible para las aplicaciones Java EE (Java Platform, Enterprise Edition) Versión 1.4 y posterior. El formato de la configuración para el descriptor de despliegue y el enlace es diferente del de las versiones anteriores de WebSphere Application Server. Debe migrar las aplicaciones existentes a Java EE 1.4 y migrar la configuración de la seguridad de servicios web al formato de WebSphere Application Server Versión 6.
Otro desarrollo de especificaciones de Web Services Security
- WS-Trust Versión 1.3
WS-Trust (Web Services Trust Language) utiliza los mecanismos de mensajería seguros de Web Services Security para definir primitivos y extensiones adicionales para emitir, intercambiar y validar las señales de seguridad. WS-Trust permite la emisión y la diseminación de credenciales en distintos dominios de confianza. Esta especificación define formas de establecer y evaluar la presencia de relaciones de confianza de intermediario.
- WS-SecureConversation Versión 1.3
Web Services Secure Conversation Language (WS-SecureConversation) se basa en los modelos WS-Security y WS-Policy para proporcionar una comunicación segura entre los servicios. WS-Security se centra en el modelo de autenticación de mensajes, pero no en un contexto de seguridad, por lo que es susceptible a distintas formas de ataques de seguridad. Esta especificación define mecanismos para establecer y compartir contextos de seguridad, y derivar claves de contextos de seguridad, para habilitar Secure Conversation. Gracias al uso del modelo de extensión SOAP, las especificaciones modulares basadas en SOAP están diseñadas para componerse entre ellas para proporcionar un entorno de mensajería más rico.
- WS-SecurityPolicy Versión 1.2
Web Services Security Policy (WS-Policy) proporciona un modelo de uso general y una sintaxis para describir y comunicar las políticas de un servicio web. Las confirmaciones de WS-Policy expresan las posibilidades y las restricciones de un determinado servicio web. WS-PolicyAttachments define varios métodos para asociar las expresiones WS-Policy con servicios web (como, por ejemplo, WSDL). Las especificaciones Web Services Security se han actualizado después de que se haya vuelto a publicar la política WS-Security en julio de 2005, para reflejar las restricciones y las posibilidades de los servicios web que utilizan WS-Security, WSTrust y WS-SecureConversation. La política WS-ReliableMessaging también se ha vuelto a publicar en 2005 para expresar las posibilidades y las restricciones de los servicios web que implementan WS-ReliableMessaging.
Actividades WS-I (Web Services Interoperability Organization)
WS-I (Web Services Interoperability Organization) es un proyecto abierto del sector para promocionar la interoperatividad de los servicios web entre proveedores, plataformas, idiomas de programación y aplicaciones. La organización es un consorcio de empresas de muchos sectores, incluidas IBM, Microsoft, Oracle, Sun, Novell, VeriSign, y Daimler Chrysler. WS-I ha desarrollado el (BSP) (Basic Security Profile) versiones 1.0 y 1. Las versiones BSP 1.0 y 1.1 consisten en un conjunto de especificaciones de servicios web que no son de propiedad y que clarifican y amplifican dichas especificaciones para promocionar la interoperatividad de la seguridad de servicios web entre las diferentes implementaciones de los proveedores.
- Basic Profile Versión 1.2 (BP 1.2): http://ws-i.org/profiles/basicprofile-1.2-2010-11-09.html
- Basic Profile Versión 2.0 (BP 2.0): http://ws-i.org/profiles/basicprofile-2.0-2010-11-09.html
- Basic Security Profile Versión 1.0 (BSP 1.0): http://www.ws-i.org/profiles/basicsecurityprofile-1.0.html
- Basic Security Profile Versión 1.1 (BSP 1.1): http://www.ws-i.org/profiles/basicsecurityprofile-1.1.html
- Reliable Secure Profile 1.0 (RSP 1.0): http://www.ws-i.org/profiles/ReliableSecureProfile-1.0-2010-11-09.html