セキュリティ保護されたメッセージ交換とセッション

Windows Communication Foundation (WCF) の特徴の 1 つは、相互に認証を行い暗号化とデジタル署名のプロセスについて同意する 2 つのエンドポイント間でセキュリティ保護されたセッションを確立する機能にあります。 たとえば、サービス エンドポイントは、クライアント エンドポイントに対して認証のために X.509 証明書に基づいたセキュリティ トークンを送信するよう要求する場合があります。 クライアントの認証が終わると、サービス エンドポイントはセキュリティ コンテキスト トークン (SCT: Security Context Token) をクライアントに返します。このセッションにおける後続のすべてのメッセージは、このセキュリティ トークンを使用してセキュリティ保護されます。 セキュリティで保護されたセッションが確立されると、SCT には対称キーが含まれるため、2 つのエンドポイント間で交換される一連のメッセージの効率が向上します。 X.509 証明書の基盤となる非対称キーでは、デジタル署名の生成やデータの暗号化を行う場合に、対称キーに比べて非常に大きな計算能力が必要になります。

WS-SecurityPolicy 標準の 6.2.7 節で定義されているブートストラップ ポリシーには、チャネルをセキュリティで保護し、クライアントを RST/SCT および RSTR/SCT 交換よりも前に認証するために使用されるメッセージ セキュリティ アサーションが含まれます。 WCF の標準バインディングの中には、セキュリティで保護されたメッセージ交換を使用するかどうかを制御する Security.Message.EstablishSecurityContext プロパティを持つものがあります。 カスタム バインディングを使用する場合、ブートストラップは、構成ファイルで <secureConversationBootstrap> を使用するか、コードで CreateSecureConversationBindingElement を呼び出して、セキュリティ バインディング要素を入れ子にすることによって示されます。

セッションの詳細については、「セッションの使用」を参照してください。

関連項目