私はこれに関する多くの研究を行っており、最良のアプローチが何か不思議に思っていました。多くのユーザーに配布されているWPFアプリケーションがあるシナリオを想像してください。データベースサーバーに接続します。データベースへの接続は、外部ユーザーがアプリケーションへのアクセス権を持つため、接続の安全性には問題ありません。データベースサーバーに接続するためのベストプラクティスC#
app.configファイル内で接続文字列をサーバーに割り当てることはできますが、パスワードとサーバーのIPアドレスを解放することはお勧めできません。研究から、他の人がデータの暗号化を推奨しましたが、確かにこれはまだ脆弱です。
次のアプローチはWCFを使用することですが、これは私には限られた知識しかなく、このアプローチが正しいかどうかはわかりません。
私は接続文字列を暗号化しても安全であるか、それ以上のことはありませんか?機密データを扱う際には特に注意が必要です。
暗号化されたものは復号化することができます。そうするのは難しいかもしれませんが、可能です。したがって、情報はまだユーザーに与えられています。単一のサービスアカウントではなく、個別のユーザーアカウントまたはWindows認証ドメインアカウントを持つことができます。または、データベースを公開することができず、代わりにデータベースを隠すサーバー側のAPIアプリケーションを使用することができませんでした。クライアントアプリケーションは、データベースではなくAPIに接続します。 – David