2009-05-13 1 views
2

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

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

Мой вопрос от этого comment на этом посту на MD5s. Я не уверен, что понимаю аргументы автора.

+4

Реальный вопрос, почему вы используете MD5? – BobbyShaftoe

+2

спросил и ответил: http://stackoverflow.com/questions/674904/salting-your-password-best-practices – Randolpho

+0

Я до сих пор не получил разумного объяснения относительно комментария Дрю Нельсона на блоге в skrenta о MD5. Но, по-видимому, консенсус (только по большинству) заключается в том, что размещение соли не имеет значения. Я просто не хочу что-то игнорировать (то есть, если Dru Nelson действительно что-то в своем комментарии) –

ответ

4

Независимо от того, прилагается ли соль к передней или задней части, нет никакой разницы.

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

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

кто бы ни запустил это, скажите, пожалуйста, почему? –

+4

Это был не я (я его поддержал), но я думаю, из-за вашей первой пули. Частная соль действительно не повышает безопасность. Даже если взломщик получает доступ к хешу и соли, если соль достаточно длинная и случайная для пароля, радужный стол является вычислительно запретительным. – Randolpho

+0

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

-2

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

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

+0

Я не вижу причины, чтобы уменьшить это ... –

+0

Ну, технически это делать особым образом может помешать этому мышлению, если крекер предполагает общий путь. Другими словами, префикс и постфикс более/менее уязвимы для определенных угроз, если мое исследование действительно. Таким образом, downvote может быть уместным, если вы параноик безопасности, я не претендую на то, чтобы быть экспертом по всем этим вещам.^_^ –

+2

-1 Соль хранится открыто с зашифрованным паролем для защиты от амортизации атак по многим зашифрованным паролям. Его не следует путать с закрытым ключом. – starblue

1

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

Я думаю, что комментарий должен делать конкретно уязвимость в MD5, а не хеширование вообще. Я не понимаю деталей, но это has to do with finding two prefixes that produce the same hash.

+0

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

+0

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

+0

Действительно? Выход MD5 - это просто его последнее промежуточное значение хэш-функции. Если у вас есть два разных префикса, которые сталкиваются с ним, это означает, что промежуточное значение хеш-то же самое, и это значение является целым состоянием хэша. Если два хэша MD5 в идентичном состоянии переваривают одни и те же данные, что бы вы ожидали результатов? См. Http://www.win.tue.nl/hashclash/rogue-ca/ – erickson

0

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

+1

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

+0

Вопрос был о местоположении солей - НЕ ключевое управление. Использование HMAC решает проблему местоположения. – Einstein