Вопрос по rainbowattack, cryptography, saltedhash – Что такое радуга? [закрыто]

52

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

Ваш Ответ

7   ответов
1
15

Радужный стол взломать пароли.

Если вы беспокоитесь об этом, вы должны использоватьПоваренная соль, Также естьStack Overlow вопрос это может помочь вам понять соль немного лучше, чем в Википедии ...

9

полезная статья о Rainbow Tables для мирянина. (Не предполагая, что вы непрофессионал, но это хорошо написано и сжато.)

63

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

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

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

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

@Jeach - медленная проверка каждого пароля медленнее, и вам потребуется таблица Rainbow, созданная с учетом точного числа рекурсивных хеширований.
Хотя это не популярный выбор, это то, что я искал. У меня есть небольшой опыт работы с солями и хэшами паролей, но по какой-то причине я до сих пор не слышал об атаке радужных таблиц. Все эти ответы действительно помогли прояснить это. Спасибо Dusty
Что вы подразумеваете под & quot; и вы их хешировали только один раз ?? Я могу понять ценность использования ваших паролей, но какую выгоду я получу от рекурсивного хеширования их n-раз (как я видел иногда)?
1

количество предварительно вычисленных хэшей.

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

Лучшая защита от такого рода атак - использовать соль (случайные символы) в вашем пароле. т.е. вместо хранения md5 (пароль), сохраните md5 (пароль + соль) или, что еще лучше, md5 (соль + md5 (пароль)).

Поскольку даже с радужными столами почти невозможно хранить все возможные соленые хэши.

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

2

но я также знал, что Rainbow Tables является методом атаки на хешированные / несоленые пароли. Однако в твиттере недавноhttp://codahale.com/how-to-safely-store-a-password/ было опубликовано, и в зависимости от ваших потребностей и проблем ... вы не сможете найти надежный путь к безопасному хранению паролей.

Я надеюсь, что это информативно для вас.

1

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

Это наиболее полезно для слабых и / или несоленных хэшей паролей. Популярным примером являетсяLAN Manager хешИспользуется версиями Windows вплоть до XP для хранения паролей пользователей.

Обратите внимание, что предварительно вычисленная радужная таблица даже для чего-то такого простого, как хеш-код LM, занимает много процессорного времени для генерации и занимает довольно много места (порядка 10 с гигабайт IIRC).

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