Двойная соль для хеширования паролей?

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

Это было бы более эффективно, чем простое хранение значений в базе данных?

Любой совет, мнения appreiated.

Спасибо

9
задан Dan 14 January 2010 в 16:13
поделиться

1 ответ

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

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

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

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

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

Очень маленькая выгода статических ключей (или солей) просто не стоит стоимости. Всегда делайте ключи и соли динамическими.

20
ответ дан 4 December 2019 в 10:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: