Protección de aplicaciones de servicios web utilizando las API de WSS a nivel de mensajes

Los estándares y perfiles describen cómo proteger los mensajes que se intercambian en un entorno de servicio web. La seguridad de servicios web es un estándar de nivel de mensaje que se basa en la protección de mensajes SOAP a través de la firma XML digital, la confidencialidad a través del cifrado XML y la propagación de credenciales mediante señales de seguridad.

Antes de empezar

Para proteger los servicios web, debe considerar un amplio conjunto de requisitos de seguridad, incluyendo la autenticación, autorización, privacidad, confianza, integridad, confidencialidad, comunicaciones seguras, canales, delegación y auditoría a través de un espectro de topologías de aplicaciones y empresas. Uno de los requisitos clave del modelo de seguridad en el mundo de la empresa actual es la capacidad de interactuar entre tecnologías de seguridad que anteriormente eran incompatibles en entornos heterogéneos. La pila del protocolo completo de seguridad de servicios web y el mapa de tecnología se describen en el mapa de servicios web.

Acerca de esta tarea

La especificación de la seguridad de servicios web OASIS (Organization for the Advancement of Structured Information Standards), SOAP Message Security Versión 1.1, es el transporte de mensajería básico para todos los servicios web. SOAP 1.2 añade extensiones a las extensiones SOAP 1.1 existentes para que pueda crear servicios web seguros. Se pueden añadir adjuntos a los mensajes SOAP utilizando el mecanismo MTOM (Message Transmission Optimization Mechanism) y el paquete optimizado de XML-binario, en lugar del perfil SOAP with Attachments (SWA).

La especificación OASIS Web Services Security (WS-Security) Versión 1.1 es el bloque de creación que se utiliza junto con otros protocolos específicos de la aplicación y del servicio web para albergar una gran variedad de modelos de seguridad. La seguridad de servicios web para WebSphere Application Server se basa en estándares específicos que se incluyen en los perfiles y en la especificación OASIS Web Services Security Versión 1.1.

La especificación de la versión 1.1 define recursos adicionales para proteger la integridad y la confidencialidad de un mensaje. La especificación de la versión 1.1 también ofrece los mecanismos para asociar reclamaciones relacionadas con la seguridad con el mensaje. Los estándares de Web Services Security Versión 1.1 que están soportados por WebSphere Application Server incluyen la confirmación de firma, los elementos de cabecera cifrados, el perfil de la señal Username y el perfil de la señal X.509. Los perfiles de señal Username y X.509 se han actualizado a los perfiles de la versión 1.1. Para el perfil de la señal del certificado X.509, un tipo nuevo de referencia de señal de seguridad es la referencia del certificado de huella, que se especifica en el enlace.

El esquema XML, la Parte 1 y la Parte 2 son especificaciones que explican cómo se organizan los esquemas en documentos XML. Los dos esquemas de WS-Security versión 1.0 se han actualizado a las especificaciones de la versión 1.1, además se ha añadido un nuevo esquema de la versión 1.1. Recuerde que el esquema de la Versión 1.1 no sustituye al esquema de la Versión 1.0 sino que se genera basándose en éste definiendo un conjunto de posibilidades adicionales en un espacio de nombres de la Versión 1.1.

Puede utilizar los métodos siguientes para configurar la seguridad de los servicios web y para definir los tipos de políticas para proteger los mensajes SOAP:
  • Utilice la consola administrativa para configurar conjuntos de políticas.

    Este método utiliza la política de programa de arranque que se define en el conjunto de políticas. Puede utilizar conjuntos de políticas, o aserciones sobre cómo se definen los servicios, para simplificar la configuración de seguridad de los servicios web. Puede utilizar la consola administrativa para crear, modificar y suprimir los conjuntos de políticas personalizados. Está disponible un grupo de conjuntos de políticas predeterminado.

    Por ejemplo, puede definir la política de programa de arranque en el conjunto de políticas para proteger los mensajes SOAP WS-Trust (Web Services Trust).

    También puede utilizar la consola administrativa para realizar tareas de gestión de conjuntos de políticas y para proteger los servicios web utilizando el cifrado, la información de firma y las señales de seguridad.

    Los pasos siguientes de alto nivel describen cómo configurar WebSphere Application Server para utilizar WS-Security y para proteger los mensajes SOAP utilizando la consola administrativa. Las tareas de generador y de consumidor descritas en los pasos siguientes utilizan WS-Security versiones 1.0 y 1.1.
    • Crear y configurar los conjuntos de políticas de aplicación o los conjuntos de políticas del sistema para el servicio de confianza.
    • Definir los tipos de política que se utilizarán para proteger los mensajes SOAP cuando se crean y configuran los conjuntos de políticas.
    • Configurar el enlace del conjunto de políticas. Seleccionar la aserción de enlace simétrico o asimétrico para describir el tipo de señal y el algoritmo que se va a utilizar para la protección de mensajes.
    • Ensamble la aplicación habilitada para la seguridad de servicios web utilizando una herramienta de ensamblaje.

  • Utilice las API de WSS (Web Services Security API) para configurar el contexto del mensaje SOAP (sólo para el cliente).

    WebSphere Application Server utiliza un nuevo modelo de programación de API. Además del modelo de programación JAX-RPC existente, se ha añadido un nuevo modelo de programación, JAX-WS (API de Java™ para servicios web XML). El estándar de programación de JAX-WS se alinea con el modelo de mensajería orientado al documento y sustituye el modelo de programación de llamada a procedimiento remoto definido por la especificación JAX-RPC (API de Java para RPC basado en XML).

    Por ejemplo, una aplicación podría crear conjuntos de políticas del sistema y, a continuación, utilizar la API de WSS de WebSphere Application Server para adquirir la señal de contexto de seguridad para Web Services Secure Conversation (WS-SecureConversation) basado en API programada.

    También puede utilizar la consola administrativa para realizar las tareas de cifrado, firma y configuración de señales que realizan las API de WSS para proteger los servicios web.

    Los pasos siguientes de alto nivel describen cómo configurar WebSphere Application Server para utilizar WS-Security y para proteger los mensajes SOAP utilizando las API de WSS. Las tareas de generador y de consumidor descritas en los pasos siguientes utilizan WS-Security versiones 1.0 y 1.1.

    • Utilice la API WSSSignature para configurar la información de firma para el enlace del generador de solicitudes (lado del cliente).

      Se pueden especificar diferentes partes de mensaje en la protección del mensaje para una solicitud en el lado del generador. Las partes necesarias predeterminadas son BODY, ADDRESSING_HEADERS y TIMESTAMP.

      La API WSSSignature también especifica los distintos métodos de algoritmo que se van a utilizar con la firma para la protección del mensaje. El método de firma predeterminado es RSA_SHA1. El método de canonicalización predeterminado es EXC_C14N.

    • Utilice la API WSSSignPart, si desea cambiar el método de conversión y el método de transformación.

      Las partes firmadas predeterminadas son WSSSignature.BODY, WSSSignature.ADDRESSING_HEADERS y WSSSignature.TIMESTAMP.

      La API WSSSignPart también especifica los distintos métodos de algoritmo que se van a utilizar, si añade o modifica las partes firmadas. El método de conversión predeterminado es SHA1. El método de transformación predeterminado es TRANSFORM_EXC_C14N. Por ejemplo, utilice la API WSSSignPart, si desea generar la firma para el mensaje SOAP utilizando el método de conversión SHA256, en lugar del valor predeterminado de SHA1.

    • Utilice la API WSSEncryption para configurar la información de cifrado en el lado del generador de solicitudes.

      La información de cifrado en el lado del generador se utiliza para cifrar un mensaje SOAP saliente para los enlaces del generador de solicitudes (lado del cliente). Los destinos predeterminados de cifrado son BODY_CONTENT y SIGNATURE.

      La API WSSEncryption también especifica los distintos métodos de algoritmo que se van a utilizar para proteger la confidencialidad del mensaje. El método de cifrado de datos predeterminado es AES128. El método de cifrado de claves predeterminado es KW_RSA_OAEP.

    • Utilice la API WSSEncryptPart, si desea establecer sólo el método de transformación.

      Por ejemplo, si desea cambiar el método de cifrado de datos del valor predeterminado de AES128 a TRIPLE_DES.

      No son necesarios métodos de algoritmo para las partes cifradas.

    • Utilice la API WSS para configurar la señal en el lado del generador.

      Los requisitos de la señal de seguridad dependen del tipo de señal. El módulo de inicio de sesión de JAAS y CallbackHandler de JAAS son responsables de crear la señal de seguridad en el lado del generador. Se pueden enviar distintas señales autónomas en una solicitud o respuesta. La señal predeterminada es X509Token. La otra señal que se puede utilizar para firmar es DerivedKeyToken, que sólo se utiliza con Web Services Secure Conversation (WS-SecureConversation).

    • Utilice la API WSSVerification para verificar la firma del enlace del consumidor de respuestas (lado del cliente).

      Se pueden especificar distintas partes de mensaje en la protección del mensaje para una respuesta en el lado del consumidor. Los destinos necesarios de la verificación son BODY, ADDRESSING_HEADERS y TIMESTAMP.

      La API WSSVerification también especifica los distintos métodos de algoritmo que se van a utilizar para verificar la firma y para la protección del mensaje. El método de firma predeterminado es RSA_SHA1. El método de canonicalización predeterminado es EXC_C14N.

    • Utilice la API WSSVerifyPart para cambiar el método de conversión y el método de transformación. Las partes necesarias de verificación son WSSVerification.BODY, WSSVerification.ADDRESSING_HEADERS y WSSVerification.TIMESTAMP.

      La API WSSVerifyPart también especifica los distintos métodos de algoritmo que se van a utilizar, si añade o cambia las partes de verificación. El método de conversión predeterminado es SHA1. El método de transformación predeterminado es TRANSFORM_EXC_C14N.

    • Utilice la API WSSDecryption para configurar la información de descifrado para el enlace del consumidor de respuestas (lado del cliente).

      La información de descifrado sobre el lado del consumidor se utiliza para descifrar un mensaje SOAP entrante. Los destinos del descifrado son BODY_CONTENT y SIGNATURE. El método de cifrado de claves predeterminado es KW_RSA_OAEP.

      No es necesario ningún método de algoritmo para el descifrado.

    • Utilice la API WSSDecryptPart, si desea establecer sólo el método de transformación.

      Por ejemplo, si desea cambiar el método de cifrado de datos del valor predeterminado de AES128 a TRIPLE_DES.

      No es necesario ningún método de algoritmo para las partes descifradas.

    • Utilice la API de WSS para configurar la señal en el lado del consumidor.

      Los requisitos de la señal de seguridad dependen del tipo de señal. El módulo de inicio de sesión JAAS y CallbackHandler de JAAS son responsables de validar (autenticar) la señal de seguridad en el lado del consumidor. Se pueden enviar diferentes señales autónomas en una solicitud o respuesta.

      La API de WSS añade la información de la señal del candidato que se utiliza para el descifrado. La señal predeterminada es X509Token.

  • Utilice la herramienta de script administrativo wsadmin para configurar conjuntos de políticas.

    Este método le permite crear, gestionar y suprimir conjuntos de políticas desde la línea de mandatos, o bien crear scripts para automatizar las tareas. Puede utilizar la herramienta wsadmin y el grupo de mandatos PolicySetManagement para gestionar los conjuntos de políticas predeterminados, crear conjuntos de políticas personalizados, configurar políticas y gestionar conexiones y enlaces. Si desea más información, utilice los temas de scripts del conjunto de políticas de Information Center.

Para proteger los servicios web con WebSphere Application Server, debe configurar las limitaciones de seguridad del generador y del consumidor. Debe especificar varias configuraciones diferentes. Aunque no hay una secuencia concreta para especificar estas configuraciones distintas, algunas configuraciones hacen referencia a otras configuraciones. Por ejemplo, las configuraciones de descifrado hacen referencia a las configuraciones de cifrado.

Resultados

Tras completar estos pasos de alto nivel para WebSphere Application Server, ha protegido los servicios web configurando conjuntos de políticas y utilizando la API de WSS para configurar el cifrado y descifrado, la firma y la información de verificación de firma y las señales del generador y del consumidor.


Icon that indicates the type of topic Task topic



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