Зашифровать хешированные пароли?

Является ли здравым смыслом шифровать хешированные и засоленные пароли, которые хранятся в базе данных с надежным шифрованием (AES 192 или около того), или мы просто стремимся к звездам?

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

Большое спасибо!

3 ответа

Решение

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

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

Если вы в основном беспокоитесь о том, что кто-то может взломать ваш сервер баз данных, то сложнее ли взломать сервер приложений?

Если кто-то попытается атаковать по словарю через сервер приложений, то в любом случае потребуется одинаковое количество попыток. Вам просто нужно обнаружить и заблокировать это.

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

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

Используйте криптографическую соль для каждого пароля и используйте хороший алгоритм хэширования.
Для получения дополнительной информации см. Этот вопрос: Лучший способ сохранить пароль в базе данных

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

Другие вопросы по тегам