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).
En el ejemplo de Ampliación de la Libreta de direcciones, el consumidor y el proveedor tienen los mismos requisitos de seguridad:
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.
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.
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 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.