0

私は WCF サービスを利用しており、機密情報をクライアントと交換する必要があります。クライアントは、インターネット経由でサービスに接続します。バインディングが次のように構成されている場合、クライアントとサーバー間の通信は傍受や MITM 攻撃を受けやすいですか?

<bindings>
    <netTcpBinding>
        <binding name="myBinding">
            <security mode="Transport">
                <transport clientCredentialType="Windows" />
            </security>
        </binding>
    </netTcpBinding>
</bindings>

MSDNの記事で次を読みました

次のシナリオでは、トランスポート セキュリティを使用します。

アプリケーションから WCF サービスにメッセージを直接送信しており、メッセージは中間システムを介してルーティングされません。サービスとクライアントの両方がイントラネットにあります。

トランスポート セキュリティの使用には、次の欠点があります。

セキュリティはポイント ツー ポイント ベースで適用され、複数のホップや中間アプリケーション ノードを介したルーティングは提供されません。

WCF サービスに直接接続していて、サーバーがメッセージを他の場所に転送していない場合、トランスポート セキュリティは十分に安全でしょうか?

デジタル証明書を使用してメッセージ セキュリティを試してみましたが、パフォーマンスはまったく良くありませんでした。サーバーへの最速の呼び出しには 3 秒かかりますが、トランスポート セキュリティでは同じ呼び出しに 1.5 秒かかります。

4

1 に答える 1

0

インターネット経由で netTcpBinding を使用することは強くお勧めしません (あなたが投稿した記事もそうです)。トランスポート セキュリティはもちろん最もパフォーマンスの高いオプションですが、ポイント ツー ポイント接続しか保証できず、インターネット経由では知ることができないという欠点があります。クライアントとサービスの間に介在者をどのように、またどのように配置するか。イントラネット アプリケーションでは、通常、制御された環境があり、そのことを確信できます。

インターネット経由では、http トランスポートとメッセージ セキュリティを使用する必要があります。これは、オーバーヘッドとその結果としてのパフォーマンスについて支払う必要があることを意味します。

2 つの異なるバインディングのレイテンシを比較できないと言ったように、WsHttpBinding を使用する必要があります。既に証明書を使用してメッセージを暗号化しようとしたように、これはインターネット シナリオで WCF を使用してデータを送信する最も安全な方法です。それが本当に重要な場合は、それと引き換えにパフォーマンスの低下を受け入れる必要があると考えてください。

これは便利なリンク http://wcfsecurityguide.codeplex.com/になる可能性があります

于 2012-08-15T07:03:35.247 に答える