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.

Best practice Best practice: IBM® WebSphere Application Server soporta el modelo de programación JAX-WS (Java™ API for XML-Based Web Services) y el modelo de programación JAX-RPC (Java API for XML-based RPC). JAX-WS es la siguiente generación del modelo de programación de servicios que amplía la base proporcionada por el modelo de programación JAX-RPC. Con el modelo de programación JAX-WS estratégico, se simplifica el desarrollo de clientes y servicios web ya que se da soporte a un modelo de anotación basado en estándares. Aunque el modelo de programación JAX-RPC y las aplicaciones siguen recibiendo soporte, puede beneficiarse de la facilidad de implementación del modelo de programación JAX-WS para desarrollar nuevas aplicaciones y clientes de servicios web.best-practices
Entre las ventajas de utilizar el modelo de programación JAX-WS en WebSphere Application Server se incluyen:
  • 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

Los servicios web están teniendo una rápida aceptación como una tecnología viable para la interoperatividad y la integración. No obstante, proteger los servicios web es uno de los factores primordiales que convierte la adopción de los servicios web como una solución comercial e industrial viable para las empresas. IBM y Microsoft han publicado conjuntamente un documento técnico sobre servicios web titulado Seguridad en un mundo de servicios web: arquitectura y mapas propuestos. El documento técnico describe las siguientes especificaciones iniciales y posteriores en el mapa de seguridad de servicios web propuesto:
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:

Relación de las diferentes especificaciones

En abril de 2002, IBM, Microsoft, y VeriSign la especificación de seguridad de servicios web (WS-Security) en sus sitios web y que en la figura anterior está resaltada con el recuadro verde. Esta especificación incluía las ideas básicas de las señales de seguridad, las firmas digitales XML y el cifrado XML. La especificación también definía el formato de las señales de nombre de usuario y las señales de seguridad binarias codificadas. Después de un análisis y una prueba de interoperatividad basada en la especificación, se observaron las siguientes cuestiones:
  • 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.
En agosto de 2002, IBM, Microsoft y VeriSign publicaron la adenda Web Services Security Addendum, donde se trataban las cuestiones anteriores. En la adenda se incluyeron las siguientes soluciones:
  • 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.

La versiones 5.0.2, 5.1 y 5.1.1 de WebSphere Application Server dan soporte a las especificaciones siguientes:
  • 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
En Abril de 2004, la especificación de seguridad de servicios web (oficialmente denominada Web Services Security: SOAP Message Security Versión 1.0) pasó a ser el estándar OASIS Versión 1.0. Asimismo, los perfiles de las señales Username y X.509 son las especificaciones de la Versión 1.0. WebSphere Application Server 6 y posteriores dan soporte a las siguientes especificaciones de la seguridad de servicios web de OASIS:
En febrero de 2006, la especificación Web Service Security principal se ha actualizado y se ha convertido en el estándar OASIS Versión 1.1. Asimismo, la señal Username, el perfil de señales X.509 y el perfil de señales de Kerberos se han actualizado a las especificaciones de la versión 1.1. Se da soporte a partes de las siguientes especificaciones de seguridad de servicios web de OASIS en WebSphere Application Server, especialmente a la confirmación de firmas, la cabecera cifrada y las referencias de huella:

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 2007, WS-SX (OASIS Web Services Secure Exchange Technical Committee) produjo y aprobó las especificaciones siguientes. WebSphere Application Server Versión 7 y posteriores admiten partes de estas especificaciones.

En la figura siguiente se muestran las distintas especificaciones relacionadas con la seguridad de servicios web.

Especificaciones OASIS

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

La especificación de la seguridad de servicios web OASIS está basada en las siguientes especificaciones W3C (World Wide Web Consortium). La mayor parte de las especificaciones W3C están en el estado recomendado del texto estándar.

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
Nota: El soporte para Web Services Security draft 13 y Username token profile draft 2 está en desuso en WebSphere Application Server 5.0.2, 5.1.0 y 5.1.1. Para obtener información de migración, consulte Migración de aplicaciones JAX-RPC habilitadas para la seguridad de servicios web de Java EE versión 1.3 a la versión 1.4.

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

Se admiten las versiones actualizadas más recientemente de las siguientes especificaciones de seguridad de servicios Web de OASIS en WebSphere Application Server en el contexto de la seguridad de servicios Web:
  • 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.

WebSphere Application Server JAX-WS WS-Security da soporte a las especificaciones siguientes:

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wssv6chron
File name: cwbs_wssv6chron.html