セキュアな会話のためのセキュリティー・コンテキスト・トークンの設定のフロー
このシナリオ例では、受信側でセッション・ベースのセキュリティー用の WS-Trust プロトコルを使用することにより、起動側でセキュリティー・コンテキスト・トークン (SCT) を設定する方法のフローが記述されています。セキュリティー・コンテキスト・トークンの設定後、SOAP メッセージを署名および暗号化してメッセージ・レベルの保護 を提供するために、セキュリティー・コンテキスト・トークンから派生した鍵が使用されます。 この例では、SOAP メッセージのフロー全体におけるセキュリティー・コンテキスト・トークンを使用したメッセージの交換に焦点を当てています。
Organization for the Advancement of Structured Information Standards (OASIS) Web Services Secure Conversation (WS-SecureConversation) 仕様には、SOAP メッセージの起動側と受信側の間でのセキュア・セッションを確立する方法が記述されています。 WS-SecureConversation 仕様には、Web Services Trust (WS-Trust) プロトコルを使用してセキュリティー・コンテキスト・トークンを設定する方法も定義されています。 本製品は、WS-SecureConversation 仕様のバージョン 1.3 およびドラフト・バージョンの両方をサポートしてます。
WebSphere® Application Server では、エンドポイントで、WS-SecureConversation のセキュリティー・コンテキスト・トークンを発行する機能をサポートしており、それにより SOAP メッセージの起動側と受信側の間のセキュアなセッションを提供します。
次の図は、保護されたコンテキストの確立とセッション・ベース・セキュリティーの使用に必要なフローを表しています。

起動側と受信側の間のメッセージ交換
以下の図は、 セキュリティー・コンテキスト・トークンを設定するための、起動側と受信側との間でメッセージが交換される方法を示しています。 2 つの WS-Trust プロトコル、RequestSecurityToken (RST) および RequestSecurityTokenResponse (RSTR) を使用して、受信側エンドポイントからセキュリティー・コンテキスト・トークンを要求します。
RST を保護するため、および RSTR 要求を検証するためには、ブートストラップ・ポリシーが使用されます。 通常、ブートストラップ・ポリシーは、アプリケーション・セキュリティー・ポリシーとは異なります。

Secure Conversation の使用方法が記述するシナリオ
- クライアントが、その秘密鍵 (エントロピーおよびターゲット鍵サイズ)
で、セキュリティー・コンテキスト・トークンの RequestSecurityToken (RST)
トラスト要求をアプリケーション・エンドポイントに送信し、ターゲット・サービスの秘密鍵を要求します。
通常、この要求はブートストラップ・ポリシーで定義された、非対称の Web Services Security で保護されます。
- RST がトラスト・サービスにより処理されます。
セキュリティー・ポリシーを基にして要求が信頼された場合、
トラスト・サービスは、WS-Trust RequestSecurityTokenResponse
(RSTR) を使用することで、ターゲット・サービスの秘密鍵でセキュリティー・コンテキスト・トークンを戻します。
通常、この要求は非対称の Web Services Security で保護されます。クライアントは、ブートストラップ・ポリシーを基に RSTR が信頼できるかどうかを検証します。
- RequestSecurityTokenResponse が信頼された場合、クライアントはセッション鍵を使用することで、
以降のアプリケーション・メッセージを保護 (署名および暗号化) します。
これらのセッション鍵は、起動側と受信側の間で交換される初期の WS-Trust RequestSecurityToken メッセージと RequestSecurityTokenResponse メッセージから取得する、 セキュリティー・コンテキスト・トークンの秘密事項から派生します。
- 仕様で、初期の秘密事項を基に鍵を派生させる方法のアルゴリズムを定義します。 ターゲット Web サービスは、SOAP メッセージのセキュリティー・ヘッダーに含まれるメタデータと初期秘密事項から派生する鍵を計算します。
- ターゲット Web サービスは、派生した鍵を使用して、アプリケーション・セキュリティー・ポリシーを基にメッセージを検証し、暗号化解除します。
- ターゲット Web サービスは、秘密事項から派生した鍵を使用して、アプリケーション・セキュリティー・ポリシーを基に応答に署名し暗号化します。
- メッセージの交換が完了するまで、ステップ 3 から 6 までを繰り返します。
セキュリティー・コンテキスト・トークンの秘密事項から派生した鍵の使用
セキュリティー・コンテキスト・トークンの確立後は、セキュリティー・コンテキスト・トークンの秘密事項から派生した鍵を使用することにより、アプリケーション・メッセージはメッセージ保護で保護されます。 派生した鍵は、アプリケーション・メッセージを署名および暗号化することでアプリケーション・メッセージを保護するため、使用されます。 セキュリティー・コンテキスト・トークンには、共有秘密事項の ID として使用される UUID が含まれます。 トークン UUID は、メッセージ交換のセキュリティー・コンテキスト・トークンを判別するために、SOAP メッセージで使用できます。 秘密事項は、セッション参加者 (この場合、起動側および受信側) によりメモリー内に保持され、 保護されなければなりません。 秘密事項の暗号漏えいは、参加者間のセキュアな会話を損ないます。

Web Services Reliable Messaging (WS-ReliableMessaging) を除いて、同様のシナリオが WS-SecureConversation の観点から使用可能です。 高信頼性メッセージングを保護するためのセキュリティー・コンテキスト・トークンの設定例を参照してください。