Использует ли объект RijndaelManaged для обеспечения безопасности паролей и места для хранения ключей - PullRequest
0 голосов
/ 03 августа 2011

Я использую объект RijndaelManaged для шифрования и хранения паролей в моей базе данных.В настоящее время у меня есть ключевые и векторные массивы, жестко запрограммированные в объекте.Очевидно, это не очень хорошо, потому что кто-то может получить ключи и расшифровать все пароли.Как лучше всего защитить пароли и где эти ключи должны храниться для максимальной защиты?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

Если бы вы могли надежно хранить ключи, тогда Рейндаэль был бы великолепен.

Но ты не можешь.

Общая практика: не хранить пароли вообще. Сохраните Hash of the Pw (+ username + salt) и пересчитайте его, когда пользователь попытается войти в систему.

0 голосов
/ 03 августа 2011

Я тоже использую rijndael для целей шифрования. То, что я делаю, генерирует мой ключ и вектор во время выполнения, а затем хранит их в отдельном заглушке. Чтобы расшифровка произошла, я прочитал ключ и вектор из заглушки. Да, ключи все еще можно найти, но почти невозможно полностью их скрыть .

Наконец, рассмотрите возможность использования частных разделителей для смешивания с ключом и вектором - так вы можете разделить по разделителю и восстановить свой ключ, в то время как внешний пользователь не будет знать, с чего начать.

...