.NETアプリケーションで利用者に見せられない情報の保存方法
.NETアプリケーションにおいて、アプリケーションで使用する必要があるが利用者に見せられない情報の管理方法について悩んでいます。
例えば DB の接続情報は、アプリケーションには必要ですが利用者には見せたくありません。
暗号化すれば良いとは思いますが、そうなると今度は鍵をどこに保存するのかという問題になります。
何か定石やうまい方法はないでしょうか。
以下、検討したことです。
・鍵をアセンブリに含める
→ 逆アセンブルで確認できてしまうので×
・鍵をApp.config に書いて aspnet_regiis で暗号化する
→ aspnet_regiis を使えば復号できてしまうので×
・鍵をキーコンテナーに格納する
→ アプリケーションがキーコンテナーの値を使用できるということは利用者も閲覧可能なので×