Соли и пароли - префикс или постфикс - PullRequest
2 голосов
/ 13 мая 2009

Это вопрос о соленых фразах, которые нужно хешировать.

Мне было интересно, будет ли безопаснее добавить соль к фразе или добавить ее? соль + фраза или фраза + соль

Мой вопрос возник из этого комментария к этому сообщению MD5s . Я не уверен, что понимаю причину комментария автора.

Ответы [ 5 ]

4 голосов
/ 13 мая 2009

Независимо от того, добавлена ​​ли соль на переднюю или заднюю часть, не имеет значения.

Следующие факторы будут влиять на безопасность, хотя

  1. Является ли ваша соль приватной (если да, то насколько она приватна?). Чем приватнее, тем лучше. Это означает, что если вы можете избежать хранения своей соли в вашей базе данных, вы можете обезопасить свою систему от атак грубой силы, даже если ваша база данных будет скомпрометирована.
  2. Является ли ваша соль случайной на соленую величину? Это помогает защититься от атак на радужный стол, если, скажем, ваш БД скомпрометирован и ваша соль хранится в БД. Примечание: если пароли хранятся достаточно долго, они могут быть защищены от атак методом перебора.
  3. Ваша соль достаточно длинна? Чем дольше ваша соль, тем безопаснее вы.
1 голос
/ 13 мая 2009

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

1 голос
/ 13 мая 2009

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

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

0 голосов
/ 25 февраля 2019

в отличие от того, что говорили другие, это имеет значение! и как @einstein, если вы заботитесь, используйте HMAC.

почему префикс плохой, потому что можно вычислить промежуточное состояние контрольной суммы до заданного фиксированного солевого префикса. затем начните рассчитывать остальное параллельно. Таким образом, phrase+salt более безопасен, чем salt+phrase, но HMAC(salt, phrase) еще лучше.

связанные чтения

0 голосов
/ 13 мая 2009

Технически это не имеет значения, пока соль уникальна и ее трудно угадать. Только не делайте ошибку хранения соли, как я.

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

...