私はこのサービスを呼び出すWCF Webサービスとクライアントを持っています。このクライアントは多くの場所に配置されます。私は各クライアントを一意に認証して認証する必要があります。したがって、各ロケーションには一意のユーザー名とパスワードが割り当てられます。WCFクライアントアプリケーションで機密データを保護する方法は?
は今、私の質問は、一意に各クライアントを識別する方法
- ですか?
- クライアント側で機密データを保存するにはどうすればよいですか?
私は、クライアントを識別するための証明書を使用して、いくつかのアプローチ、
- について考えました。証明書を生成して展開する必要があります。
- サーバー側にアクティブなディレクトリを持ち、各クライアントにWindowsユーザーアカウントを使用させます。
- ユーザ名とパスワードを暗号化し、設定ファイルに保存します。私はaspnet_regiisを使用して設定ファイルを暗号化すると信じています。なぜなら、誰でも暗号化を解除できるからです。
秘密性と完全性 - 同意すると、私は盗聴からメッセージを保護するSSLを持っています。クライアントの資格情報を保護することが私の懸念事項です。私は機械が壊れてしまえば、私ができることはたくさんあることを理解しています。しかし、私はこの状況で行うことができる最高のは、証明書を置く、この証明書は、ユーザー名とパスワードです、または暗号化ユーザー名とパスワードを設定ファイルまたはWindowsユーザーアカウントを使用しますか? – iraSenthil
@iraSenthil:私はWindowsユーザーアカウントを提供しません。証明書をクライアントマシンにインストールする必要があります。エクスポート秘密鍵を許可しないように設定して、他のマシンに譲渡できないようにすることもできます。また、いくつかの設定では、証明書をWindowsアカウント(私はそれを試したことがない)にマップすることができるはずです。ユーザー名とパスワードははるかに簡単ですが、そのような場合はセキュリティはあなた次第です。設定セクションを暗号化できますが、クライアントアプリケーションは暗号化を解除して使用する必要があります。 –
ありがとう@ラディスラフMrnka – iraSenthil