WS-Security

Los flujos de mensajes se importan sin que WS-Security esté habilitada. Cualquiera puede llamar al servicio web para consumir los mensajes, de forma similar a un supervisor TCP/IP con SOAP sobre HTTP. Para habilitar WS-Security en forma de cifrado (confidencialidad) y firma (integridad), consulte Ampliar el ejemplo Libreta de direcciones.

Habilitar WS-Security es una tarea administrativa que se realiza a nivel de IBM Integration Bus. No puede configurar la seguridad al desarrollar los flujos de mensajes; debe configurar políticas y enlaces en el intermediario y asociarlos con flujos de mensajes en un archivo de archivador de intermediario (BAR).

Política de seguridad y enlaces

En el ejemplo de Ampliación de la Libreta de direcciones, el consumidor y el proveedor tienen los mismos requisitos de seguridad:

  1. La integridad de los mensajes, utilizando la firma digital (criptografía de clave pública RSA) para firmar el cuerpo, la indicación de la hora y especificar las cabeceras WS-Addressing utilizando las especificaciones de WS-Security.
  2. La confidencialidad de los mensajes, utilizando el cifrado (criptografía de clave pública RSA) para cifrar el cuerpo, la firma y los elementos de firma utilizando las especificaciones de WS-Security.

Toda esta información se captura en la política de seguridad utilizando WS-Policy. Las políticas deben ser interoperables entre proveedores de WS-Security. La política que crea es la misma que la política predeterminada de WS-Security en WebSphere Application Server, de forma que, después de añadir WS-Security, puede intercambiar el proveedor y consumidor del intermediario con el proveedor y consumidor de WebSphere Application Server.

La implementación de esta política se captura en el enlace de seguridad. Los enlaces son específicos del proveedor de WS-Security y, si desea poder interoperar con WebSphere Application Server, debe crear un enlace de WebSphere Application Server para la política para el consumidor y proveedor de WebSphere Application Server. El ejemplo de Ampliación de la Libreta de direcciones muestra cómo crear la política y los enlaces para el intermediario en el entorno de trabajo.

Para una interoperabilidad efectiva entre el consumidor y el proveedor, la política de seguridad se comparte y se aplica el mismo cifrado y firma para los mensajes de salida y de entrada. Los enlaces para el consumidor y el proveedor son distintos porque sus perspectivas son distintas, y se utilizan claves distintas para el cifrado y la firma. Por ejemplo, para el proveedor el mensaje de solicitud es el mensaje entrante pero para el consumidor el mensaje de solicitud es el mensaje saliente.

Cómo funcionan el cifrado y la firma

Para comprender el ejemplo debe tener conocimientos básicos de criptografía de claves públicas, consulte Criptografía de claves públicas. El ejemplo utiliza dos certificados de clave pública X.509: una clave pública y una clave privada. Si los datos se cifran con una clave, sólo se pueden descifrar con la otra clave. Para cifrar un mensaje para alguien, debe utilizar la clave pública, y sólo se puede descifrar con la clave privada. Para firmar un mensaje debe cifrarlo con la clave privada, cualquiera puede descifrarlo utilizando la clave pública. Puede proporcionar la clave pública a la persona con la que desee comunicarse. Mantenga la clave privada en secreto.

El escenario del ejemplo

Encontrará información detallada sobre cómo firmar y cifrar partes específicas del mensaje en la sección anterior sobre política de seguridad y enlaces. El diagrama siguiente muestra que el mensaje SOAP entero está cifrado y firmado. El diagrama muestra las claves a las que el consumidor y el proveedor tienen acceso en los almacenes de claves y qué claves utilizan para el cifrado y la firma.

El consumidor tiene acceso a su clave pública (Cpub), su clave privada (Cpriv) y a la clave pública del proveedor (Ppub). El proveedor tiene acceso a su clave privada (Ppriv), su clave pública (Ppub) y a la clave pública del consumidor (Cpub).

El consumidor tiene acceso a la clave pública (Cpub), la clave privada (Cpriv) y la clave pública del proveedor (Ppub). El proveedor tiene acceso a la clave privada (Ppriv), la clave pública (Ppub) y la clave pública del consumidor (Cpub).

El consumidor firma el mensaje con la clave privada (Cpriv) y cifra el mensaje con la clave pública del proveedor (Ppub). El proveedor descifra el mensaje con su propia clave privada (Ppriv) y verifica la firma con la clave pública del consumidor (Cpub).

Al crear la respuesta, el proveedor firma el mensaje con la clave privada (Ppriv) y cifra el mensaje con la clave pública del consumidor (Cpub). El consumidor descifra el mensaje con la clave privada (Cpriv) y verifica la firma con la clave pública del proveedor (Ppub).

Los detalles sobre qué clave se debe utilizar y el orden en el que el consumidor y el proveedor deben cifrar y descifrar, están contenidos en los enlaces de seguridad. Debe crear dos enlaces de seguridad en las secciones de configuración: uno para el consumidor y otro para el proveedor, consulte Configurar el ejemplo Libreta de direcciones para utilizar HTTP o Configurar el ejemplo Libreta de direcciones para utilizar transporte JMS. Utilice el diagrama anterior como referencia.

Volver a Ampliar el ejemplo Libreta de direcciones

Volver a la página inicial del ejemplo