私は長年にわたって私を悩ませています。ユーザー名とパスワードを使用してデータベースやその他のサービス(Webサービスなど)に接続する必要がある場合は、.NETアセンブリを使用して接続する場合、この情報を保存する最も安全な場所はどこですか?私はあなたがパスワードを暗号化しなければならないことを理解していますが、あなたは一種の鶏卵問題に遭遇します。それは暗号化できますが、どこに鍵を置くのですか?Windows .NETまたはASP.NETアプリケーションを使用するときにdbパスワードを保存する場所
.NETでは、.NETコードを逆コンパイルできるので、パスワードをハードコードできません。
Isolated Storageでアセンブリベースの権利を使用してみましたが、秘密のユーザーがアクセスできるため暗号化されていない秘密アイテムを格納することをお勧めします。この場合も問題はポイントAからポイントBに移動しています。データベースの情報を知る必要がないドメイン管理者は、ドメイン上のどのワークステーションでも管理者になることができるため、アクセスできるようになります。
あなたはApp.ConfigとWeb.Configを暗号化できますが、私はpriveledgesユーザーがキーにアクセスできると信じています。
私はDPAPIで同じ問題が発生すると思います。
パスワードを保存し、リモートデータベースに暗号化し、OS認証で取得することを検討しましたが、私たちの部署ではデータベースサーバーにパスワードの格納を禁止していました。私は確かに私は立ち往生して確認を求めていると確信しています。
もう少し前ですが、暗号化されたパスワードを保存する方法について質問に答えました。見てください。 – Matt