26

私のWFCサービスは、次のように構成されたwsHttpBindingを使用します。

<security mode="TransportWithMessageCredential">
    <message establishSecurityContext="True" clientCredentialType="UserName"/>
    <transport clientCredentialType="None" proxyCredentialType="None"/>
</security>

パートナーの1つが、MetroライブラリのJavaを使用してサービスを呼び出そうとしています。彼らはこの問題を抱えています。これを機能させるには、establishSecurityContext="False"を設定する必要があります。簡単なテストを行いましたが、falseに設定すると実際に機能します。

安全なセッションを使用しない場合の影響はどうなりますか(establishSecurityContext = "False"を設定することにより)。私はすでにhttpsで実行しています。それで、私はセキュリティの面で大丈夫でしょうか?そして、考慮すべき他の影響はありますか(おそらくパフォーマンス)?

ありがとう

4

1 に答える 1

45

違いは、SCT(セキュリティコンテキストトークン)が有効になっていないエンドポイントでは、キー交換と検証を1回実行してセッション用にキャッシュするのではなく、呼び出しごとに実行する必要があり、代わりにSCTのみがメッセージで渡されることです。SCTは対称鍵に基づいているため、メッセージの署名/暗号化がはるかに効率的になります。SCTの使用は、クライアントが連続して多くの呼び出しを行うことが予想される場合に非常に適しています。これにより、毎回1回限りのキーの交換と検証を行う必要がなくなります。

私がお勧めするのは、SCTをサポートしていないクライアントに別のエンドポイントを公開し、それを使用するように指示することです。SCTを使用できるクライアントは、デフォルトのエンドポイントを指し示し、それに伴うすべての利点を維持します。

このテーマの詳細については、WS-SecureConversationドキュメントのセクション3を確認してください。

于 2009-11-06T02:12:34.490 に答える