この例では、受信側でセッション・ベースのセキュリティー用の 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) プロトコルを使用してセキュリティー・コンテキスト・トークンを設定する方法も定義されています。
WebSphere Application Server では、エンドポイントで、WS-SecureConversation のセキュリティー・コンテキスト・トークンを発行する機能をサポートしており、それにより SOAP メッセージの起動側と受信側の間のセキュアなセッションを提供します。
以下の図には、セキュアなコンテキストの設定および、セッション・ベースのセキュリティーの使用に必要なフローが記述されています。
以下の図は、 セキュリティー・コンテキスト・トークンを設定するための、起動側と受信側との間でメッセージが交換される方法を示しています。 2 つの WS-Trust プロトコル、RequestSecurityToken (RST) および RequestSecurityTokenResponse (RSTR) を使用して、受信側エンドポイントからセキュリティー・コンテキスト・トークンを要求します。
RST を保護するため、および RSTR 要求を検証するためには、ブートストラップ・ポリシーが使用されます。 通常、ブートストラップ・ポリシーは、アプリケーション・セキュリティー・ポリシーとは異なります。
通常、この要求はブートストラップ・ポリシーで定義された、非対称の Web サービス・セキュリティーで保護されます。
通常、この要求は非対称の Web サービス・セキュリティーで保護されます。 クライアントは、ブートストラップ・ポリシーを基に RSTR が信頼できるかどうかを検証します。
これらのセッション鍵は、起動側と受信側の間で交換される初期の WS-Trust RequestSecurityToken メッセージと RequestSecurityTokenResponse メッセージから取得する、 セキュリティー・コンテキスト・トークンの秘密事項から派生します。
セキュリティー・コンテキスト・トークンの確立後は、セキュリティー・コンテキスト・トークンの秘密事項から派生した鍵を使用することにより、アプリケーション・メッセージはメッセージ保護で保護されます。 派生した鍵は、アプリケーション・メッセージを署名および暗号化することでアプリケーション・メッセージを保護するため、使用されます。 セキュリティー・コンテキスト・トークンには、共有秘密事項の ID として使用される UUID が含まれます。 トークン UUID は、メッセージ交換のセキュリティー・コンテキスト・トークンを判別するために、SOAP メッセージで使用できます。 秘密事項は、セッション参加者 (この場合、起動側および受信側) によりメモリー内に保持され、 保護されなければなりません。 秘密事項の暗号漏えいは、参加者間のセキュアな会話を損ないます。
Web Services Reliable Messaging (WS-ReliableMessaging) を除いて、同様のシナリオが WS-SecureConversation の観点から使用可能です。 高信頼性メッセージングを保護するためのセキュリティー・コンテキスト・トークンの設定例を参照してください。