新しいWCFサービスとクライアントを作成したいと思います。両者は双方向SSLを使用して通信します。
認証フェーズでのみSSLを使用したい。この認証の後、暗号化は必要ありません。認証にのみSSLを使用し、接続を暗号化しないままにするようにサービス(およびクライアント)を構成できますか(パフォーマンスの問題)?
新しいWCFサービスとクライアントを作成したいと思います。両者は双方向SSLを使用して通信します。
認証フェーズでのみSSLを使用したい。この認証の後、暗号化は必要ありません。認証にのみSSLを使用し、接続を暗号化しないままにするようにサービス(およびクライアント)を構成できますか(パフォーマンスの問題)?
認証後に接続を暗号化しないままにしておきたいのはなぜですか?
ユーザー名とパスワードは何らかの方法でネットワークを介して渡されるため、その情報が漏洩しないように、接続を常に暗号化することを検討する必要があります。
編集: 証明書を使用している場合は、証明書を使用して認証を行ってから単純なHTTPに戻ることはできないため、常に暗号化する必要があります。WCFは、要求ごとにクライアントを認証する必要があります(クライアントが証明書を一時的に取得できなかった場合は、証明書を削除して、認証が不要になるため、何も起こらなかったようにWCFサービスを使用します。これは状況によっては異常です) 。
クライアント証明書を使用して認証を実行する場合(「双方向」SSLを意味すると思います)、たとえば、NULL暗号化の暗号スイートを使用できますTLS_RSA_WITH_NULL_SHA
。
それ以外の場合、認証スキームがSSL / TLS上のアプリケーション層の一部である場合は、暗号化の使用を検討する必要があります。
使用は、ハンドシェイクでのRSAキー交換を続行することに注意してくださいTLS_RSA_WITH_NULL_SHA
(最終的に共有暗号化キーが実際に使用されていない場合でも)。SSL / TLSハンドシェイクは、SSL/TLSを使用する上で最も計算量の多い部分です。実際の暗号化はパフォーマンスにそれほど影響を与えないはずなので、そのままにしておくことをお勧めします。