4

WCFのnetTCPBindingは「デフォルトで保護されています」。私が理解しているように、これはそれを意味します。

  • 発信者は、Windowsの資格情報を使用して認証されます。
  • メッセージは署名されています
  • メッセージは暗号化されます。

ただし、ローカルホストに設定された非常に基本的なWCFクライアントサービスを設定できます。認証は同じマシン上で同じように機能しますが、署名と暗号化はどのように機能しますか?

WCFには、メッセージに署名して暗号化するための証明書が必要です。証明書を持っていない場合、サービスはどのように機能しますか?メッセージはどのように機能しますか?同じマシンに送信するだけでも、署名と暗号化が行われます。

ありがとう。

4

1 に答える 1

5

デフォルトでは、NetTcpBindingは、リストしたデフォルトの特性でトランスポートセキュリティを使用します。

このコンテキストでのメッセージの署名と暗号化は、メッセージセキュリティと同じことを意味するわけではありません。むしろ、ネットワークトランスポートを介して送信されるデータのすべてのパケットが署名および暗号化されていることを意味します。これは証明書に依存しません。これは、送信側と受信側のマシンのオペレーティングシステムにインストールされ、SSPI(セキュリティサポートプロバイダーインターフェイス)を介して呼び出されるセキュリティプロバイダーによって実行されます。たとえば、ドメインクレデンシャルを使用してファイルなどのリソースにアクセスする場合と同じメカニズムです。ネットワーク上の別のマシンで。

アプリケーションデータが接続で送信される前に、バインディングは送信者と受信者の間でSSPIハンドシェイクを調整し、Negotiateセキュリティパッケージを指定します(これにより、それぞれのホストマシンの機能に応じて、実際のセキュリティプロトコルとしてNTLMまたはKerberosのいずれかが選択されます)。セキュリティトークンは、このハンドシェイクの一部として接続を介して交換されます。このハンドシェイクの最後に、双方のセキュリティプロバイダーは、後続のアプリケーションメッセージの署名と暗号化に使用するセッションキーについて合意します。

于 2011-03-03T17:43:18.000 に答える