3

これがWCFバインディングとセキュリティの質問です。私はかなり混乱しています:

法執行機関のために、http://www.contoso.comでWindows Communication Foundation (WCF) サービスをホストしています 。政府機関は、バッファリングされていないストリーミングを介した生体認証指紋データの送信をサポートする操作を追加します。サービス データは、仲介者間でルーティングされます。デフォルトで使用している WCF バインディングは、暗号化をサポートしていません。指紋データがネットワークを通過するときに公開されないようにする必要があります。あなたは何をするべきか?

  • A. https://www.contoso.com へのメッセージ セキュリティで basicHttpBinding を使用します。
  • B. https://www.contoso.com へのトランスポート セキュリティで basicHttpBinding を使用する
  • C. https://www.contoso.com へのメッセージ セキュリティで wsHttpBinding を使用する
  • D. http://www.contoso.com へのトランスポート セキュリティで wsHttpBinding を使用する

答えは B です。しかし、ここでは「サービス データは仲介者間でルーティングされます」と書かれているので、トランスポート セキュリティよりもメッセージ セキュリティを優先する必要があります。まあ、「デフォルトで使用しているWCFバインディングは暗号化をサポートしていません」とありましたが、ここのオプションはwsHttpBindingを使用して提供しているので、AとCの両方でうまくいくと思います。誰かが私が間違っていることを教えてもらえますか?

4

1 に答える 1

4

質問のこの文が鍵です:

デフォルトで使用しているWCFバインディングは、暗号化をサポートしていません

つまり、wsHttpBindingではデフォルトでWS * -Securityが有効になっているため、質問はbasicHttpBindingを使用していることを意味します。Fiddlerを介して実際に通話を検査できます。メッセージは、デフォルトでセキュリティトークンを使用して署名および暗号化されます-残酷な詳細については-これは、サービスにキャッシュされるSPNEGOトークンを説明しています。

これで、前に強調した文のためにC、Dが削除されます。

それはAとBを残します。MSDN自体がトランスポートセキュリティは通信でのみメッセージを保護すると述べているので、私はBに同意しません。メッセージが最終的な受信者に到達する前に1つ以上のSOAP仲介者にルーティングされる場合、仲介者がネットワークからメッセージを読み取ると、メッセージ自体は保護されません

質問はまた明確に言います:

サービスデータは仲介者間でルーティングされます

したがって、正解はAであると私は信じています。SOに関する一部のWCF専門家が私を訂正する可能性があります。

于 2012-08-09T00:12:17.310 に答える