これは、「プレーンテキストのユーザーのパスワードを保存しても安全ですか?」という通常の質問ではありません。いいえ、安全ではありません。
外部システムに対して認証を行って何らかの処理を行う必要がある小さなアプリケーションを作成していますが、利用可能な唯一の認証方法はユーザー名とパスワードによるものです。これは人間用であり、変更することはできません。
私のアプリケーションにアクセスできる複数のユーザーがいて、それぞれが個別に認証されていますが、それらはすべて、理想的にはアプリケーションによって透過的に管理される外部システムに対して同じ認証データを「共有」しています。
「愚かな」解決策は、ユーザー名/パスワードをプレーンテキストで保存し、それを認証に使用することですが、明らかにこれは安全ではありません。パスワードは暗号化できますが、誰かがシステムに侵入したらどうなるでしょうか?
考えられる解決策: DPAPI を使用して、パスワード (場合によってはユーザー名も) を透過的に暗号化/復号化します。これは良い考えですか?これは安全ですか?複数のマシンでのセットアップはどうですか (マシン間での暗号化の互換性はありますか)?
追加の提案はありますか?