ユーザーのメールボックスのストレージクォータを照会するために作成していたwinformsアプリに、このようなコードがあります。
DirectoryEntry mbstore = new DirectoryEntry(
@"LDAP://" + strhome,
m_serviceaccount,
[m_pwd],
AuthenticationTypes.Secure);
どのアプローチを試しても(のように)、 Reflectorを使用するか、実行可能ファイルのProcess Explorerの文字列タブを使用してパスワード( m_pwdSecureString
)を簡単に確認できます。
このコードをサーバーに配置したり、委任などのメカニズムを使用してセキュリティを強化したり、サービスアカウントに必要な権限のみを付与したりできることはわかっています。
誰かが、ハッカーにパスワードを明かさずに、ローカルアプリケーションにパスワードを保存するための合理的に安全な方法を提案できますか?
(照合目的のハッシュだけでなく)正確なパスワードを知る必要があるため、ハッシュはできません。暗号化/復号化メカニズムはマシンに依存しているため、機能していません。