Flujo para establecer una señal de contexto de seguridad para proteger conversaciones
En este ejemplo se describe el flujo de cómo el iniciador establece la señal de contexto de seguridad (SCT) mediante el protocolo WS-Trust para la seguridad basada en sesiones con el destinatario. Después de establecer la señal de contexto de seguridad, se utilizan las claves derivadas de la señal de contexto de seguridad para firmar y cifrar el mensaje SOAP y proporcionar protección a nivel de mensaje. Este ejemplo se concentra en los intercambios de mensajes utilizando la señal de contexto de seguridad en el flujo global de los mensajes SOAP.
La especificación WS-SecureConversation (Web Services Secure Conversation) de OASIS (Organization for the Advancement of Structured Information Standards) describe los modos de establecer una sesión segura entre el iniciador y el destinatario de los mensajes SOAP. La especificación WS-SecureConversation también define cómo se utiliza el protocolo WS-Trust (Web Services Trust) para establecer una señal de contexto de seguridad. El producto admite tanto la Versión 1.3 como la versión de borrador de la especificación WS-SecureConversation.
WebSphere Application Server permite que un punto final emita una señal de contexto de seguridad para WS-SecureConversation y, por lo tanto, proporciona una sesión segura entre el iniciador y el destinatario de los mensajes SOAP.
En la figura siguiente se describe el flujo que es necesario para establecer un contexto protegido y para utilizar la seguridad basada en la sesión.

Intercambio de mensajes entre el iniciador y el destinatario
La figura siguiente muestra cómo se intercambian los mensajes entre el iniciador y el destinatario para establecer la señal del contexto de seguridad. Se utilizan los dos protocolos WS-Trust, RST (RequestSecurityToken) y RSTR (RequestSecurityTokenResponse) para solicitar la señal de contexto de seguridad desde el punto final del destinatario.
Se utiliza la política de rutina de arranque para proteger RST y validar la solicitud RSTR, que generalmente es diferente de la política de seguridad de aplicaciones.

Escenario que describe cómo utilizar Secure Conversation
- El cliente envía una solicitud de confianza RST
(RequestSecurityToken) de una señal de contexto de seguridad a un punto final de aplicación con su clave secreta
(entropía y tamaño de clave de destino) y solicita la clave secreta del servicio de destino.
Generalmente, esta petición está protegida por la seguridad de servicios Web asimétrica que se ha definido en la política de rutina de arranque.
- El servicio de confianza procesa el RST y si, según la política de seguridad, la solicitud es de confianza, el servicio de confianza devuelve la señal de contexto de seguridad con la clave secreta del dispositivo de destino utilizando RSTR (RequestSecurityTokenResponse) de WS-Trust.
Generalmente, esta solicitud está protegida por la seguridad de servicios web asimétrica. El cliente verifica si RSTR es de confianza, basándose en la política de rutina de arranque.
- Si RequestSecurityTokenResponse es de confianza, el cliente protege (firma y cifra) los mensajes de aplicación siguientes utilizando las claves de sesión.
Las claves de sesión se derivan del secreto de la señal de contexto de seguridad que se obtiene de los mensajes RequestSecurityToken y RequestSecurityTokenResponse de WS-Trust iniciales que el iniciador y el destinatario intercambian.
- La especificación define un algoritmo sobre cómo se deriva la clave basándose en el secreto inicial. El servicio web de destino calcula la clave de derivación a partir de los metadatos contenidos en la cabecera de seguridad del mensaje SOAP y el secreto inicial.
- El servicio web de destino utiliza la clave derivada para verificar y descifrar el mensaje basándose en la política de seguridad de la aplicación.
- El servicio web de destino utiliza la clave derivada a partir del secreto para firmar y cifrar la respuesta basándose en la política de seguridad de la aplicación.
- Repita los pasos 3 a 6 hasta que se haya completado el intercambio de mensajes.
Utilización de las claves derivadas del secreto de la señal de contexto de seguridad
Una vez establecida la señal del contexto de seguridad, los mensajes de aplicación se protegen con la protección de mensajes mediante claves derivadas a partir del secreto de la señal de contexto de seguridad. Las claves derivadas se utilizan para proteger los mensajes de aplicación firmando y cifrando los mensajes de aplicación. La señal de contexto de seguridad contiene un UUID, que se utiliza como identificación de un secreto compartido. El UUID de la señal se puede utilizar el mensaje SOPA para identificar la señal de contexto de seguridad para los intercambios de mensajes. Los participantes de la sesión (en este caso, el iniciador y el destinatario) deben mantener el secreto en la memoria y protegido. Revelar el secreto reduce la seguridad de la conversación entre los participantes.

Desde la perspectiva de WS-SecureConversation se puede obtener un escenario similar, excepto con WS-ReliableMessaging (Web Services Reliable Messaging). Consulte el ejemplo sobre cómo establecer una señal de contexto de seguridad para proteger la mensajería fiable.