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