я задавались вопросом безопасно ли хакерам знать алгоритм хеширования?
Когда я хэширую пароли с BlowFish
в начале есть $2y$10$
и я подумал, что не лучше, если хакеры не знают об этом и пытаются найти алгоритм, который мы используем? (for example, they have access to our database)
Хороший вопрос. Суть алгоритма в том, что он не взломан. Так что в теории это не должно иметь значения. Это, как говорится, по мере развития технологий, некоторые алгоритмы взломаны, и это проблема, если кто-то имеет необработанную строку и использует взломанный алгоритм, он может быть затем разоблачен.
Но я думаю, что если у хакеров есть доступ к вашей базе данных, тогда у вас гораздо большие проблемы 🙂
Смотрите этот ответ для аналогичного вопроса: https://security.stackexchange.com/a/197237/29307
Мы не защищаем себя неясностью безопасности. Нам нужна защита, даже злоумышленники получают доступ ко всему.
Если мы посмотрим на некоторые цифры в Hashcat, он может рассчитать 53915 H/s
Хеширование Blowfish на p3 16xlarge для одного
Tesla V100-SXM2-16GB, 4038/16152 MB allocatable, 80MCU
это может вычислить около 2 ^ 49 хешей в час.
Исходя из этого, вам нужно подготовить длину паролей и применить растяжение ключа (около 10000 итераций), чтобы сократить время поиска.
Лучше переключить Argon2, который является победитель конкурса паролей. Argon2 может противодействовать распараллеливанию и может увеличить итерацию, чтобы уменьшить возможности одиночного поиска.
Для базы данных вам нужно шифрование, которое очень важно. Если нарушен только сервер базы данных, вы будете в безопасности. Однако в сложной атаке злоумышленник может также захотеть украсть ключи шифрования. Они нуждаются в защите любой ценой для безопасности базы данных.
Вы не хотите давать какие-либо подсказки хакеру, который может помочь им взломать пароль.
Взломать возможность взломать один пароль — это даже повредить в другом месте.
Представьте, что хакер получает доступ и может взломать пароли, связанные с адресами электронной почты … Если пользователи используют один и тот же пароль для других сайтов, нарушение продолжается.
Что если взлом сайта A приведет к взлому сайта B, который может быть обманом на сайте вашего супруга?
Я говорю, да, это должно быть проблемой.