Использование одной соли для нескольких полей - PullRequest
2 голосов
/ 07 июля 2010

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

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

Ответы [ 2 ]

3 голосов
/ 07 июля 2010

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

Повторное использование соли делает вашу систему более подверженной атакам.Злоумышленник может создать учетную запись, а затем извлечь свой соленый хеш из базы данных с помощью SQL-инъекции.Затем он может перебить соль (потому что знает свой пароль), используя John The Ripper .Если соль хранится в базе данных, он может извлечь соль и хеш с помощью SQL-инъекции и разорвать хэш неизвестного пароля с Джоном.Если пароль является словарным словом, его перерыв займет не более часа.

1 голос
/ 07 июля 2010

Да, но действительно ли важны данные для использования нескольких солей? Если вы используете одну соль на ряд, этого должно быть достаточно. Для получения дополнительной информации, связанной с солью, см. Эту статью: http://php -security.org / 2010/05/26 / mops-submission-10-how-to-as-php-application-users-and-passwords /

...