У меня есть такой код, как это в приложении winforms, которое я писал, чтобы запросить почтовый ящик для хранения данных в хранилище.
DirectoryEntry mbstore = new DirectoryEntry(
@"LDAP://" + strhome,
m_serviceaccount,
[m_pwd],
AuthenticationTypes.Secure);
Независимо от того, какой подход я попробовал (например, SecureString
), я легко могу видеть пароль (m_pwd) либо с помощью Reflector, либо с помощью вкладки строк Process Explorer для исполняемого файла.
Я знаю, что могу поместить этот код на сервер или подтянуть систему безопасности с помощью таких механизмов, как делегирование, и предоставить только необходимые привилегии учетной записи службы.
Может кто-нибудь предложить разумно безопасный способ хранения пароля в локальном приложении, не раскрывая пароль для хакеров?
Хеширование невозможно, так как мне нужно знать точный пароль (а не только хэш для соответствия цели). Механизмы шифрования/дешифрования не работают, так как они зависят от машины.