FIPS-совместимое шифрование паролей для .NET - PullRequest
3 голосов
/ 01 октября 2008

Я работаю над приложением WinForms в VB.NET (3.5), которое требует от пользователя ввода учетных данных администратора домена. Чтобы упростить работу с пользователем, им нужно всего лишь один раз ввести имя пользователя и пароль, а затем просто положиться на мое приложение для сохранения этих учетных данных. Я хотел бы сохранить эти учетные данные с другими настройками пользователя, но по соображениям безопасности пароль должен быть зашифрован.

Какой простой способ зашифровать и расшифровать этот пароль? Я хочу, чтобы метод шифрования был совместимым с FIPS. Методы, которые я пробовал до сих пор, приводят к этому исключению:

System.InvalidOperationException: это реализация не является частью Платформа Windows FIPS проверена криптографические алгоритмы.

1 Ответ

3 голосов
/ 01 октября 2008

Посмотрите API защиты данных (DPAPI), который соответствует FIPS (насколько я могу судить; вы можете просмотреть оценку здесь ).

DPAPI предоставляется в .NET 2.0 и более поздних версиях с классом System.Security.Cryptography.ProtectedData. Он использует текущие учетные данные пользователя в качестве ключа шифрования. Смотрите мой более полный ответ здесь .

...